:root{color-scheme:dark;--bg:#101114;--surface:#1a1c21;--text:#f5f5f7;--muted:#92959f;--blue:#8ba9ff;--line:#292b32;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}main{width:min(100% - 48px,560px);margin:auto;padding:calc(32px + env(safe-area-inset-top)) 0 calc(30px + env(safe-area-inset-bottom));min-height:100svh}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:64px}.brand{font-size:29px;font-weight:750;letter-spacing:-1px;color:var(--text);text-decoration:none;display:flex;align-items:center}.brand-dot{color:var(--blue)}.logo{background:#9ab2ff;color:#172347;border-radius:12px;width:34px;height:34px;display:inline-grid;place-items:center;font-weight:700;font-size:24px;margin-right:10px;box-shadow:0 3px 16px #7799ff18}.icon-button{height:44px;width:44px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:#bfc3cd}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:600;color:var(--muted);margin:0 0 20px}h1{font-size:clamp(36px,8.5vw,48px);line-height:1.12;letter-spacing:-1.8px;font-weight:650;margin:0 0 28px}h1>span{color:var(--blue)}.summary{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:14px}.summary p{margin:0}.summary>span{white-space:nowrap;font-variant-numeric:tabular-nums}.progress{height:3px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:15px}#progress-fill{height:100%;width:0;background:var(--blue);transition:width .5s cubic-bezier(.2,.8,.2,1)}.workspace{margin-top:43px}.category-bar{display:flex;align-items:center;gap:9px;margin:0 -4px 25px}.category-bar #categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px;flex:1}.category-bar #categories::-webkit-scrollbar{display:none}.category-chip,.category-add{border:1px solid #343740;background:#191b20;color:#aeb2bd;border-radius:12px;height:40px;padding:0 15px;white-space:nowrap;font-size:14px}.category-chip.active{background:#8ba9ff;color:#172347;border-color:#8ba9ff;font-weight:650;box-shadow:0 5px 20px #708eff1c}.category-add{flex:0 0 40px;padding:0;font-size:24px;color:#c5c8d0;background:#202228}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.list-heading h2{font-size:18px;letter-spacing:-.3px;margin:0;font-weight:600}.list-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heading-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.heading-actions>span{font-size:12px;color:#b0b3bd;background:#212329;border-radius:20px;padding:5px 10px}.mini-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#777d8a}.mini-button:hover{background:#22252b;color:#c3c6ce}.mini-button.danger:hover{color:#ff9eaa;background:#ff9eaa12}.mini-button svg{width:16px;height:16px}#add-form{display:flex;align-items:center;background:var(--surface);border:1px solid #343740;border-radius:17px;gap:12px;padding:9px 10px 9px 17px;margin-bottom:17px;transition:border-color .2s,box-shadow .2s}#add-form:focus-within{border-color:#879fe1;box-shadow:0 0 0 3px #8ba9ff12}.input-plus{font-size:25px;font-weight:300;color:var(--muted)}input{min-width:0;width:100%;background:transparent;border:0;outline:0;color:var(--text);font-size:16px;line-height:1.5}input::placeholder{color:#92959f}#add-form>button{display:grid;place-items:center;flex-shrink:0;background:var(--blue);color:#182440;border:0;border-radius:11px;width:39px;height:39px;transition:transform .2s}button:active{transform:scale(.94)}.task{display:flex;align-items:center;gap:13px;padding:16px 5px;border-bottom:1px solid var(--line);animation:arrive .28s ease both}.check{flex-shrink:0;width:25px;height:25px;border:1.5px solid #5f6471;border-radius:50%;background:transparent;color:transparent;display:grid;place-items:center;font-size:16px;position:relative}.check:before{content:"";position:absolute;inset:-10px}.task.done .check{background:#8ba9ff;border-color:#8ba9ff;color:#14213e}.task-label{padding:0;border:0;background:none;text-align:left;flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.5;color:#e3e4e9;font-size:16px}.task.done .task-label{color:#858994;text-decoration:line-through}.delete{border:0;background:none;color:#777d8a;flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:10px}.delete:hover{color:#ff9eaa;background:#ff9eaa12}.delete svg{width:17px;height:17px}.edit{flex:1;min-width:0}.edit input{border-bottom:1px solid var(--blue);padding:4px 0}#empty{text-align:center;padding:47px 4px 36px}.empty-mark{margin:0 auto 20px;width:56px;height:56px;border:1px solid #363b48;border-radius:20px;display:grid;place-items:center;font-size:28px;color:#8ba9ff;background:linear-gradient(135deg,#272e42,#171b23);transform:rotate(-7deg)}h3{font-size:16px;font-weight:500;margin:0 0 10px}#empty p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}details{margin-top:26px}summary{display:flex;justify-content:space-between;cursor:pointer;color:var(--muted);font-size:14px;padding:10px 0;list-style:none}summary::-webkit-details-marker{display:none}summary>span>span{margin-left:8px;color:#b3b6c0}details[open] summary svg{transform:rotate(180deg)}footer{display:flex;justify-content:center;align-items:center;gap:7px;color:#868b96;font-size:12px;margin-top:56px;letter-spacing:.3px}.tiny-mark{font-size:15px}dialog{width:min(420px,calc(100% - 32px));border:1px solid #3a3e48;border-radius:26px;background:#1b1d23;color:var(--text);padding:30px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#08090bb8;backdrop-filter:blur(8px)}.close{position:absolute;right:16px;top:16px;font-size:25px}.large{width:49px;height:49px;border-radius:16px;font-size:32px;margin-bottom:10px}dialog h2{font-size:26px;line-height:1.2;letter-spacing:-.7px}dialog p,li{font-size:15px;line-height:1.6;color:#bfc2cc}ol{padding-left:21px}li{padding-left:5px;margin-bottom:10px}dialog .note{font-size:13px;color:#9b9fab}.primary{width:100%;padding:14px;border:0;border-radius:13px;background:var(--blue);color:#14213e;font-weight:600;margin-top:8px}#toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);padding:15px 18px;border:1px solid #424754;border-radius:16px;background:#292d37;box-shadow:0 8px 40px #0006;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}#toast button{color:#aac0ff;background:transparent;border:0;font-size:14px;font-weight:600;padding:5px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:800px){main{padding-top:45px}header{margin-bottom:70px}}@media(max-width:360px){main{width:calc(100% - 32px)}h1{font-size:35px}#add-form{gap:8px;padding-left:12px}input{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
