:root{--aurore-violet-600:#6d28d9;--aurore-violet-500:#7c3aed;--aurore-violet-100:#ece9ff;--aurore-violet-050:#f3f0fb;--aurore-cyan-600:#0e7490;--aurore-cyan-500:#06b6d4;--aurore-cyan-100:#cffafe;--braise-teal-400:#2dd4bf;--braise-teal-300:#5eead4;--braise-teal-900:#06302a;--braise-coral-400:#fb7185;--braise-coral-500:#f43f5e;--braise-coral-900:#3a1414;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--font-sans:"Inter","Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--font-display:"Space Grotesk","Inter",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--weight-regular:400;--weight-medium:500;--weight-bold:700;--leading:1.5;--radius-sm:7px;--radius-md:11px;--radius-lg:14px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--speed:.15s;--ease:cubic-bezier(.2,.8,.2,1)}:root,[data-theme=light]{color-scheme:light;--color-bg:#fdfcff;--color-surface:#ffffff;--color-surface-2:#f7f5fc;--color-surface-3:#f3f0fb;--color-border:#e9e4f5;--color-border-strong:#d9d0ee;--color-text:#1e1b2e;--color-text-muted:#6b6480;--color-text-faint:#9a93ad;--color-on-accent:#ffffff;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-soft:#ece9ff;--color-accent-on-soft:#6d28d9;--color-accent-2:#06b6d4;--color-accent-2-soft:#cffafe;--color-accent-2-on-soft:#0e7490;--color-success-soft:#dcfce7;--color-success-text:#15803d;--color-warning-soft:#fef3c7;--color-warning-text:#b45309;--color-danger-soft:#fee2e2;--color-danger-text:#dc2626;--font-display:"Space Grotesk","Inter",sans-serif;--radius-md:11px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(30,27,46,.06);--shadow-md:0 8px 24px rgba(60,40,120,.1);--logo-fill:#7c3aed;--grad-accent:linear-gradient(135deg,#7c3aed 0%,#06b6d4 100%);--grad-soft:linear-gradient(135deg,rgba(124,58,237,.1),rgba(6,182,212,.1));--glow-accent:0 0 0 1px rgba(124,58,237,.2), 0 8px 22px -8px rgba(124,58,237,.4);--app-glow: radial-gradient(45vw 40vh at 12% -8%, rgba(124,58,237,.1), transparent 60%), radial-gradient(40vw 45vh at 110% 8%, rgba(6,182,212,.1), transparent 60%)}[data-theme=dark]{color-scheme:dark;--color-bg:#0f172a;--color-surface:#222735;--color-surface-2:#1a2132;--color-surface-3:#151c2c;--color-border:#334155;--color-border-strong:#475569;--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-text-faint:#64748b;--color-on-accent:#0f172a;--color-accent:#f59e0b;--color-accent-hover:#fbbf24;--color-accent-soft:#3a2c0a;--color-accent-on-soft:#fbbf24;--color-accent-2:#8b5cf6;--color-accent-2-soft:#2a2150;--color-accent-2-on-soft:#c4b5fd;--color-success-soft:#0c2e22;--color-success-text:#34d399;--color-warning-soft:#3a2c0a;--color-warning-text:#fbbf24;--color-danger-soft:#3a1726;--color-danger-text:#f87171;--grad-accent:linear-gradient(135deg,#f59e0b 0%,#8b5cf6 100%);--grad-soft:linear-gradient(135deg,rgba(245,158,11,.14),rgba(139,92,246,.16));--glow-accent:0 0 0 1px rgba(245,158,11,.3), 0 8px 24px -6px rgba(245,158,11,.45);--app-glow: radial-gradient(45vw 40vh at 12% -8%, rgba(245,158,11,.1), transparent 60%), radial-gradient(40vw 45vh at 110% 8%, rgba(139,92,246,.14), transparent 60%);--font-display:"Calistoga","Plus Jakarta Sans",serif;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.45);--shadow-md:0 16px 40px rgba(0,0,0,.6);--logo-fill:#f59e0b}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:#0f172a;--color-surface:#222735;--color-surface-2:#1a2132;--color-surface-3:#151c2c;--color-border:#334155;--color-border-strong:#475569;--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-text-faint:#64748b;--color-on-accent:#0f172a;--color-accent:#f59e0b;--color-accent-hover:#fbbf24;--color-accent-soft:#3a2c0a;--color-accent-on-soft:#fbbf24;--color-accent-2:#8b5cf6;--color-accent-2-soft:#2a2150;--color-accent-2-on-soft:#c4b5fd;--color-success-soft:#0c2e22;--color-success-text:#34d399;--color-warning-soft:#3a2c0a;--color-warning-text:#fbbf24;--color-danger-soft:#3a1726;--color-danger-text:#f87171;--grad-accent:linear-gradient(135deg,#f59e0b 0%,#8b5cf6 100%);--grad-soft:linear-gradient(135deg,rgba(245,158,11,.14),rgba(139,92,246,.16));--glow-accent:0 0 0 1px rgba(245,158,11,.3), 0 8px 24px -6px rgba(245,158,11,.45);--app-glow:radial-gradient(45vw 40vh at 12% -8%, rgba(245,158,11,.1), transparent 60%),radial-gradient(40vw 45vh at 110% 8%, rgba(139,92,246,.14), transparent 60%);--font-display:"Calistoga","Plus Jakarta Sans",serif;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.45);--shadow-md:0 16px 40px rgba(0,0,0,.6);--logo-fill:#f59e0b}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background var(--speed) var(--ease),color var(--speed) var(--ease)}button{font-family:inherit}::selection{background:var(--color-accent-soft);color:var(--color-accent-on-soft)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:9999px;border:3px solid var(--color-bg)}.app{display:grid;grid-template-columns:220px 1fr;height:100vh}@media (max-width: 720px){.app{grid-template-columns:1fr}.side{display:none}}.side{background:var(--color-surface-2);border-right:1px solid var(--color-border);padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.logo{width:28px;height:28px;border-radius:8px;background:var(--color-accent);display:grid;place-items:center;color:var(--color-on-accent);font-weight:700;font-size:16px}.brand b{font-size:16px;font-weight:700}.side-label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);padding:12px 8px 6px}.nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--color-text-muted);cursor:pointer;transition:.12s;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--color-surface);color:var(--color-text)}.nav-item.active{background:var(--color-surface);color:var(--color-text);font-weight:600}.nav-item .pdot{width:8px;height:8px;border-radius:50%;flex:none}.nav-item .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-proj{margin-top:6px;padding:8px 10px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);font-size:12.5px;color:var(--color-text-faint);cursor:pointer;text-align:center;background:transparent;width:100%;font-family:inherit}.new-proj:hover{border-color:var(--color-accent);color:var(--color-accent)}.side-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding-top:12px}.side-foot .av{position:static}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--color-border)}.topbar h1{font-size:20px;font-weight:700}.seg{margin-left:auto;display:flex;gap:4px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px}.seg span{font-size:12.5px;padding:5px 12px;border-radius:7px;cursor:pointer;color:var(--color-text-muted)}.seg span.on{background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.kbd{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;padding:5px 8px;cursor:pointer;background:transparent}.content{padding:18px 22px;flex:1;overflow:auto}.qadd{display:flex;align-items:center;gap:10px;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:6px 6px 6px 14px;margin-bottom:8px}.qadd:focus-within{border-color:var(--color-accent)}.qadd .pl{color:var(--color-accent);font-size:18px}.qadd input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text);font-size:14px;padding:9px 0;font-family:inherit}.qadd input::placeholder{color:var(--color-text-faint)}.qadd button{background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-md);padding:9px 16px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.qhint{color:var(--color-text-faint);font-size:11.5px;margin:0 4px 18px}.qhint b{color:var(--color-text-muted);font-weight:500}.qhint code{font-family:var(--font-mono);color:var(--color-accent-on-soft)}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}@media (max-width: 820px){.board{grid-template-columns:1fr}}.col{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px;min-height:120px}.col.over{border-color:var(--color-accent);background:var(--color-accent-soft)}.col-h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:11px;padding:0 2px}.col-h .cd{width:8px;height:8px;border-radius:50%}.col-h .cnt{margin-left:auto;font-size:11px;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:1px 8px}.cards{display:flex;flex-direction:column;gap:9px;min-height:30px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;cursor:grab;box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s,border-color .12s}.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card.drag{opacity:.4}.card .ct{display:flex;gap:8px;align-items:flex-start}.ck{width:15px;height:15px;border-radius:50%;border:2px solid var(--color-text-faint);flex-shrink:0;margin-top:1px;cursor:pointer;background:transparent;padding:0;display:grid;place-items:center;color:transparent}.ck:hover{border-color:var(--color-accent)}.ck.done{background:var(--color-success);border-color:var(--color-success)}.card .ctitle{font-size:13px;line-height:1.4}.card.done .ctitle{text-decoration:line-through;color:var(--color-text-faint)}.meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:9px}.lab{font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-on-soft);display:inline-flex;align-items:center;gap:4px}.lab.co{background:var(--color-accent-2-soft);color:var(--color-accent-2-on-soft)}.pri{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px}.pri.u{background:var(--color-accent-2-soft);color:var(--color-accent-2-on-soft)}.pri.h{background:var(--color-warning-soft);color:var(--color-warning-text)}.due{font-size:11px;color:var(--color-text-faint)}.av{width:20px;height:20px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.meta .av{margin-left:auto}.list{display:flex;flex-direction:column;gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.row{display:flex;align-items:center;gap:12px;background:var(--color-surface-2);padding:12px 14px;cursor:grab;touch-action:pan-y}.row:hover{background:var(--color-surface)}.row.drag{opacity:.4}.row .ctitle{flex:1;font-size:13.5px}.row.done .ctitle{text-decoration:line-through;color:var(--color-text-faint)}.row-menu{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:6px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:4px 8px;box-shadow:var(--shadow-md);z-index:10}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05040373;z-index:1050}.detail{position:fixed;top:0;right:0;width:420px;max-width:92%;height:100%;background:var(--color-surface-2);border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:20px 22px;overflow:auto;display:flex;flex-direction:column;gap:16px;z-index:1060;animation:slide-in .18s var(--ease)}@keyframes slide-in{0%{transform:translate(20px);opacity:.6}to{transform:translate(0);opacity:1}}.detail .x{position:absolute;top:16px;right:18px;color:var(--color-text-muted);cursor:pointer;font-size:18px;background:none;border:none}.dtitle{font-size:18px;font-weight:700;line-height:1.3;padding-right:24px;width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit}.dtitle:hover{background:var(--color-surface)}.dtitle:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface-3)}.drow{display:flex;align-items:center;gap:10px;font-size:13px}.drow .k{color:var(--color-text-faint);width:90px;flex-shrink:0}.chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 10px;font-size:12.5px;color:var(--color-text);display:inline-flex;align-items:center;gap:6px}select.chip,.chip select{background:var(--color-surface);border:none;color:var(--color-text);font-family:inherit;outline:none;cursor:pointer}.dlabel{font-size:12px;color:var(--color-text-faint);margin-bottom:6px}.ddesc{background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;font-size:13px;color:var(--color-text-muted);line-height:1.6;width:100%;font-family:inherit;resize:vertical}.ddesc code{font-family:var(--font-mono);color:var(--color-accent-on-soft)}.subtask{display:flex;align-items:center;gap:9px;font-size:13px;padding:6px 0}.subtask.done span{text-decoration:line-through;color:var(--color-text-faint)}.sub-pct{height:5px;background:var(--color-surface-3);border-radius:var(--radius-pill);overflow:hidden;margin:4px 0 8px}.sub-pct i{display:block;height:100%;background:var(--color-accent);transition:width var(--speed) var(--ease)}.sub-add{background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:13px;padding:4px 0;outline:none;width:100%}.comment{display:flex;gap:9px;margin-top:8px}.comment .av{width:26px;height:26px;font-size:11px}.cbody{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 11px;font-size:12.5px;flex:1}.chip-x{background:none;border:none;color:inherit;cursor:pointer;opacity:.55;padding:0 0 0 2px;font-size:11px}.chip-x:hover{opacity:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0504039e;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:1000}.palette{width:min(520px,90%);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.palette input{width:100%;background:transparent;border:none;outline:none;color:var(--color-text);font-size:15px;padding:15px 18px;border-bottom:1px solid var(--color-border);font-family:inherit}.pitem{display:flex;align-items:center;gap:12px;padding:11px 18px;font-size:13.5px;color:var(--color-text);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.pitem.sel,.pitem:hover{background:var(--color-surface)}.pitem .pic{width:20px;color:var(--color-accent)}.pitem .pk{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--color-text-faint)}.pal-empty{padding:14px 18px;color:var(--color-text-faint)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,var(--color-surface-2),var(--color-bg))}.login-card{width:360px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:30px 28px;box-shadow:var(--shadow-md)}.login .logo{margin:0 auto 16px}.login h2{font-size:20px;font-weight:700;text-align:center;margin-bottom:4px}.login p.sub{color:var(--color-text-muted);font-size:13px;text-align:center;margin-bottom:22px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:5px}.field input{width:100%;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--color-text);font-size:13.5px;font-family:inherit;outline:none}.field input:focus{border-color:var(--color-accent)}.btn-primary{width:100%;background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-md);padding:11px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;margin-top:6px}.btn-primary:disabled{opacity:.6;cursor:progress}.oauth{display:flex;gap:8px;margin-top:14px}.oauth button{flex:1;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px;color:var(--color-text);font-size:12.5px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}.oauth button:hover{border-color:var(--color-accent)}.sep{display:flex;align-items:center;gap:10px;color:var(--color-text-faint);font-size:11px;margin:16px 0}.sep:before,.sep:after{content:"";flex:1;height:1px;background:var(--color-border)}.link{color:var(--color-accent);cursor:pointer}.alert{background:var(--color-danger-soft);color:var(--color-danger-text);border-radius:var(--radius-sm);padding:8px 11px;font-size:12.5px;margin:6px 0}.panel{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.panel+.panel{margin-top:16px}.panel-h{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--color-border);font-weight:600;font-size:14px}.panel-h button{margin-left:auto;background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-sm);padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.trow{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--color-border);font-size:13px}.trow:last-child{border-bottom:none}.mono{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted)}.scope{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-on-soft);margin-right:4px;display:inline-block}.scope.w{background:var(--color-warning-soft);color:var(--color-warning-text)}.muted{color:var(--color-text-muted)}.pill-role{font-size:11px;padding:2px 9px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.danger{color:var(--color-danger-text);cursor:pointer;font-size:12px;background:none;border:none;font-family:inherit}.switch{width:38px;height:22px;border-radius:var(--radius-pill);background:var(--color-accent);position:relative;cursor:pointer;border:none;flex:none}.switch i{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#fff;display:block}.switch.off{background:var(--color-surface);border:1px solid var(--color-border)}.switch.off i{right:auto;left:2px;background:var(--color-text-faint)}.settings-row{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--color-border)}.settings-row:last-child{border-bottom:none}.settings-row .sk{flex:1}.settings-row .sk b{font-weight:600}.settings-row .sk div{font-size:12px;color:var(--color-text-faint);margin-top:2px}.theme-swatch{display:inline-flex;gap:6px;margin-left:auto}.theme-swatch span{width:26px;height:26px;border-radius:7px;border:2px solid transparent;cursor:pointer}.theme-swatch span.sel{border-color:var(--color-accent)}.scope-pick{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:var(--radius-pill);border:1px solid var(--color-border);cursor:pointer;background:transparent;color:var(--color-text-muted);margin-right:4px}.scope-pick.on{background:var(--color-accent-soft);color:var(--color-accent-on-soft);border-color:transparent}.secret-box{display:flex;align-items:center;gap:10px;background:var(--color-surface-3);border:1px dashed var(--color-accent);border-radius:var(--radius-md);padding:12px 14px;margin:0 16px 14px}.secret-box code{font-family:var(--font-mono);font-size:12px;flex:1;word-break:break-all;color:var(--color-text)}.empty{color:var(--color-text-faint);text-align:center;padding:30px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:10px 16px;box-shadow:var(--shadow-md);z-index:900;animation:slide-in .2s var(--ease)}.toast-undo{background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-sm);padding:5px 12px;font-family:inherit;font-weight:600;cursor:pointer}.toast-x{background:none;border:none;color:var(--color-text-faint);cursor:pointer}.dropzones{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 0}.dropzones .dz-label{font-size:11.5px;color:var(--color-text-faint)}.dropzone{padding:7px 13px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:12px;background:var(--color-surface-2);transition:all var(--speed) var(--ease)}.dropzone.over{border-color:var(--color-accent);border-style:solid;background:var(--color-accent-soft);color:var(--color-accent-on-soft);box-shadow:var(--glow-accent);transform:translateY(-1px)}.app{background:var(--app-glow),var(--color-bg);background-attachment:fixed}.login{background:var(--app-glow),radial-gradient(60vw 60vh at 50% -12%,var(--color-surface-2),var(--color-bg))}.login-card{box-shadow:var(--shadow-md),var(--glow-accent)}.logo{background:var(--grad-accent);color:#fff;box-shadow:0 6px 18px -6px var(--color-accent)}.btn-primary{background:var(--grad-accent);box-shadow:var(--glow-accent);transition:transform var(--speed) var(--ease),filter var(--speed) var(--ease)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.btn-primary:active{transform:translateY(0)}.qadd button,.panel-h button{background:var(--grad-accent);box-shadow:var(--glow-accent);transition:filter var(--speed) var(--ease)}.qadd button:hover,.panel-h button:hover{filter:brightness(1.06)}.toast-undo{background:var(--grad-accent)}.seg span.on{background:var(--grad-accent);box-shadow:0 4px 12px -5px var(--color-accent)}.switch{background:var(--grad-accent)}.nav-item.active{background:var(--grad-soft),var(--color-surface);box-shadow:inset 2px 0 0 var(--color-accent)}.col{box-shadow:inset 0 1px #ffffff05}.card:hover{transform:translateY(-2px);border-color:var(--color-accent);box-shadow:var(--shadow-md),var(--glow-accent)}.card.drag,.row.drag{opacity:.16}.drag-ghost{opacity:.72;box-shadow:var(--shadow-md),var(--glow-accent);border:1px solid var(--color-accent)!important}.nav-item,.seg span,.panel-h button,.qadd button,.qadd .pl,.kbd,.proj-star,.proj-more,.pdot-btn,.detail .x,.pic{display:inline-flex;align-items:center}.nav-item{gap:9px}.seg span,.panel-h button,.qadd button,.kbd{gap:6px}.nav-item svg,.seg span svg,.panel-h button svg,.qadd button svg,.qadd .pl svg,.kbd svg,.pri svg,.due svg,.pic svg{vertical-align:middle}.pri svg,.due svg{vertical-align:-1px}.pic svg{display:block}.kbd{gap:3px}.card,.col,.panel,.login-card,.palette,.detail,.pop,.row-menu,.toast,.secret-box{background-image:linear-gradient(180deg,#ffffff0d,#fff0);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card,.col,.panel,.login-card,.palette,.detail{border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0d,var(--shadow-sm)}.panel,.login-card,.palette,.detail,.col{border-radius:20px}.card{border-radius:16px}.panel-h{padding:16px 18px}.trow,.settings-row{padding:15px 18px}.content{padding:22px 26px}.col{padding:14px}.card{padding:12px 14px}.field input,.qadd,.ddesc,.palette input{background-color:#ffffff06}.field input:focus,.qadd:focus-within{box-shadow:0 0 0 3px var(--color-accent-soft)}.topbar{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card:hover{box-shadow:var(--shadow-md),var(--glow-accent)}.proj-row{position:relative}.pdot-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;flex:none}.proj-rename{flex:1;min-width:0;background:var(--color-surface-3);border:1px solid var(--color-accent);border-radius:7px;color:var(--color-text);font:inherit;font-size:13.5px;padding:2px 7px;outline:none}.proj-star,.proj-more{background:none;border:none;color:var(--color-text-faint);cursor:pointer;display:flex;align-items:center;opacity:0;flex:none;padding:0 2px}.nav-item:hover .proj-star,.nav-item:hover .proj-more{opacity:.75}.proj-star:hover,.proj-more:hover{opacity:1;color:var(--color-text)}.proj-star.fav{opacity:1;color:var(--color-warning-text)}.pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.pop{position:absolute;top:100%;left:6px;margin-top:6px;z-index:50;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:10px;display:flex;gap:7px;flex-wrap:wrap;width:max-content;max-width:180px}.pop.menu{flex-direction:column;gap:2px;padding:6px;min-width:150px}.pop.menu button{background:none;border:none;text-align:left;color:var(--color-text);font:inherit;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer}.pop.menu button:hover{background:var(--color-surface-2)}.pop.menu button.danger{color:var(--color-danger-text)}.swatch-btn{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch-btn.sel{border-color:var(--color-text)}.swatch-btn.none{background:var(--color-surface-3);display:grid;place-items:center;color:var(--color-text-faint);font-size:11px}.btn-primary,.qadd button,.panel-h button,.toast-undo,.seg span.on{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary{box-shadow:var(--glow-accent)}.switch{background:var(--color-accent)}.logo{background:var(--grad-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.field input:focus-visible{outline:none}.brand b,.topbar h1,.login h2{font-family:var(--font-display);letter-spacing:.005em}.logo{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#3a2c0a}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}body{touch-action:manipulation}button,[role=button],label,select,.nav-item,.seg span,.theme-swatch span,.swatch-btn,.pdot-btn{cursor:pointer}button:disabled{cursor:not-allowed}.proj-star,.proj-more,.pdot-btn,.modal-x,.toast-x{min-width:30px;min-height:30px;display:inline-flex;align-items:center;justify-content:center}.icon-btn{min-width:36px;min-height:36px}.dropzones{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:1000;max-width:92vw;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-item.over,.side-drop.over{background:var(--color-accent-soft)!important;box-shadow:inset 0 0 0 1.5px var(--color-accent);color:var(--color-accent-on-soft)}.side-drop{color:var(--color-text-muted)}.side-plan .side-drop{color:var(--color-text-faint)}.side-plan.active .side-drop{color:var(--color-text-muted);border:1px dashed var(--color-border-strong)}.topbar .seg{margin-left:16px}.clock{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.12}.clock-time{font-family:var(--font-mono);font-size:13px;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock-date{font-size:10.5px;color:var(--color-text-faint);text-transform:capitalize}.detail,.toast{animation:none!important}.subbadge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:var(--radius-pill);background:var(--color-surface-3);border:1px solid var(--color-border);color:var(--color-text-muted)}.subbadge.done{background:var(--color-success-soft);color:var(--color-success-text);border-color:transparent}.row .subbadge{margin-left:2px}
