:root{--paper:#fbf7f2;--paper-deep:#f3ece3;--surface:#fffdfa;--surface-2:#f5efe7;--surface-3:#ece4d9;--ink:#241f1b;--ink-2:#57504a;--ink-3:#8b8279;--ink-4:#b3aaa0;--line:rgba(36,31,27,0.09);--line-2:rgba(36,31,27,0.16);--accent:#c75b45;--accent-deep:#a8442f;--accent-ink:#8e3d2e;--accent-soft:#f7e6de;--accent-soft-2:#f0d5c9;--success:#5f7a52;--success-soft:#e6ecdf;--warn:#b4703a;--warn-soft:#f6e7d6;--danger:#b23a2f;--danger-soft:#f7ddd9;--focus-ring:rgba(199,91,69,0.38);--shadow-1:0 1px 2px rgba(58,42,32,0.05),0 2px 8px rgba(58,42,32,0.04);--shadow-2:0 2px 6px rgba(58,42,32,0.07),0 12px 28px rgba(58,42,32,0.08);--shadow-3:0 8px 18px rgba(58,42,32,0.12),0 28px 60px rgba(58,42,32,0.16);--shadow-sheet:0 -2px 10px rgba(58,42,32,0.06),0 -18px 50px rgba(58,42,32,0.16);--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:30px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:44px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,"Helvetica Neue",Arial,sans-serif;--font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,ui-serif,serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;--nav-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--shell-max:480px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1)}:root[data-theme=dark]{--paper:#16130f;--paper-deep:#100e0b;--surface:#1e1a15;--surface-2:#26211a;--surface-3:#2f2921;--ink:#f3ece3;--ink-2:#c2b8ac;--ink-3:#8d8378;--ink-4:#6b6259;--line:rgba(243,236,227,0.1);--line-2:rgba(243,236,227,0.18);--accent:#e07a5f;--accent-deep:#ef8e73;--accent-ink:#f0a78f;--accent-soft:#38241c;--accent-soft-2:#482d22;--success:#8faa7c;--success-soft:#26301f;--warn:#d1914f;--warn-soft:#3a2b18;--danger:#e0685a;--danger-soft:#3d1f1b;--focus-ring:rgba(224,122,95,0.45);--shadow-1:0 1px 2px rgba(0,0,0,0.3);--shadow-2:0 2px 8px rgba(0,0,0,0.36),0 14px 32px rgba(0,0,0,0.32);--shadow-3:0 10px 24px rgba(0,0,0,0.45),0 30px 70px rgba(0,0,0,0.5);--shadow-sheet:0 -2px 12px rgba(0,0,0,0.3),0 -20px 60px rgba(0,0,0,0.5)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;overscroll-behavior-y:none}html{-webkit-text-size-adjust:100%;background:var(--paper-deep)}body{font-family:var(--font);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}blockquote,figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft-2);color:var(--ink)}input,textarea{background:transparent;border:none}input:focus,textarea:focus{outline:none}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em}.t-hero{font-size:32px;line-height:1.12;letter-spacing:-.02em;font-weight:600}.t-title{font-size:23px;line-height:1.2;letter-spacing:-.017em;font-weight:640}.t-section{font-size:17px;line-height:1.25;letter-spacing:-.01em;font-weight:640}.t-body{font-size:15.5px;line-height:1.45}.t-sm{font-size:13.5px;line-height:1.4}.t-xs{font-size:12px;line-height:1.35}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-shell{width:100%;background:var(--paper);overflow:hidden}.app-shell,.screen{position:relative;min-height:100dvh}.screen{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 18px)}.scroller{height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.scroller::-webkit-scrollbar{width:6px}.scroller::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.pad{padding-left:18px;padding-right:18px}.stack{display:flex;flex-direction:column}.between,.row{display:flex;align-items:center}.between{justify-content:space-between}.grow{flex:1 1;min-width:0}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.center{display:flex;align-items:center;justify-content:center}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:calc(var(--safe-t) + 14px) 18px 12px;background:linear-gradient(to bottom,var(--paper) 62%,transparent);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1)}.app-header.condensed{padding-top:calc(var(--safe-t) + 10px);padding-bottom:8px}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);opacity:var(--header-line,0);transition:opacity .2s ease}.app-header.scrolled:after{opacity:1}.app-header.scrolled{background:color-mix(in srgb,var(--paper) 88%,transparent)}.card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card,.card-flat{background:var(--surface)}.card-flat{border:1px solid var(--line);border-radius:var(--r-md)}.card-quiet{background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-md)}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:var(--r-full);font-size:15px;font-weight:600;letter-spacing:-.005em;border:1px solid transparent;transition:background .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out),transform .12s var(--ease-out);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:scale(.975)}.btn[disabled]{opacity:.45;pointer-events:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 10px rgba(199,91,69,.28)}:root[data-theme=dark] .btn-primary{color:#1a1210}.btn-primary:active{background:var(--accent-deep)}.btn-secondary{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:active{background:var(--surface-2)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-sm{min-height:36px;padding:0 14px;font-size:13.5px;border-radius:var(--r-full)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--r-full);color:var(--ink-2);transition:background .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.icon-btn:active{background:var(--surface-2);transform:scale(.92)}.icon-btn.solid{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);color:var(--ink)}.icon-btn.accent{background:var(--accent-soft);color:var(--accent-ink)}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid transparent;color:var(--ink-2);font-size:13px;font-weight:560;white-space:nowrap;transition:background .16s var(--ease-out),color .16s var(--ease-out),border-color .16s}.chip.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-soft-2)}.chip.tiny{height:24px;padding:0 9px}.chip.tiny,.pill{font-size:11.5px;font-weight:640}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-full);letter-spacing:.01em;background:var(--surface-2);color:var(--ink-2)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.success{background:var(--success-soft);color:var(--success)}.seg{display:inline-flex;padding:3px;background:var(--surface-2)}.seg,.seg button{border-radius:var(--r-full);position:relative}.seg button{z-index:1;min-height:34px;padding:0 14px;font-size:13.5px;font-weight:600;color:var(--ink-3);transition:color .2s var(--ease-out)}.seg button.on{color:var(--ink)}.seg .seg-thumb{position:absolute;top:3px;bottom:3px;border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-1)}.field{display:block;width:100%;padding:13px 14px;background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-md);font-size:16px;color:var(--ink);transition:border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s}.field::placeholder{color:var(--ink-4)}.field:focus{background:var(--surface);border-color:var(--accent-soft-2);box-shadow:0 0 0 4px var(--focus-ring);outline:none}textarea.field{resize:none;line-height:1.5}.field-label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}.switch{position:relative;width:48px;height:29px;border-radius:var(--r-full);background:var(--surface-3);transition:background .22s var(--ease-out);flex:none}.switch.on{background:var(--accent)}.switch span{position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .26s var(--ease-out)}.switch.on span{transform:translateX(19px)}.check{position:relative;flex:none;width:24px;height:24px;border-radius:50%;border:1.8px solid var(--line-2);background:transparent;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.check.hi,.check.on{border-color:var(--accent)}.check.on{background:var(--accent)}.check svg{position:absolute;inset:0;margin:auto}.check-tap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-10px;flex:none}.bar{height:5px;background:var(--surface-3);overflow:hidden}.bar,.bar>i{border-radius:var(--r-full)}.bar>i{display:block;height:100%;background:var(--accent)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:60;padding-bottom:var(--safe-b);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-top:1px solid var(--line)}.nav-inner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);max-width:var(--shell-max);margin:0 auto;height:var(--nav-h)}.nav-btn,.nav-inner{position:relative;align-items:center}.nav-btn{display:flex;flex-direction:column;justify-content:center;gap:3px;height:100%;color:var(--ink-3);font-size:10.5px;font-weight:620;letter-spacing:.01em;transition:color .2s var(--ease-out);-webkit-tap-highlight-color:transparent}.nav-btn.on{color:var(--accent)}.nav-btn .nav-ico{display:block;height:24px}.nav-dot{position:absolute;top:7px;width:38px;height:30px;border-radius:var(--r-full);background:var(--accent-soft);z-index:-1}.nav-center .nav-ico{transform:translateY(-1px)}.scrim{position:fixed;inset:0;z-index:70;background:rgba(30,22,17,.36);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}:root[data-theme=dark] .scrim{background:rgba(0,0,0,.58)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:80;max-width:var(--shell-max);margin:0 auto;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-sheet);border:1px solid var(--line);border-bottom:none;display:flex;flex-direction:column;max-height:92dvh;overflow:hidden}.sheet-grip{display:flex;justify-content:center;padding:9px 0 3px;flex:none;touch-action:none;cursor:-webkit-grab;cursor:grab}.sheet-grip i{width:38px;height:4px;border-radius:2px;background:var(--line-2);display:block}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 18px 12px;flex:none}.sheet-body{padding:0 18px calc(20px + var(--safe-b));overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-foot{flex:none;display:flex;gap:10px;padding:12px 18px calc(14px + var(--safe-b));border-top:1px solid var(--line)}.modal,.sheet-foot{background:var(--surface)}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:80;width:min(380px,calc(100vw - 40px));border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:var(--shadow-3);padding:22px 20px 16px}.fullpage{position:fixed;inset:0;z-index:75;background:var(--paper);display:flex;flex-direction:column}.fullpage-head{flex:none;display:flex;align-items:center;gap:10px;padding:calc(var(--safe-t) + 10px) 12px 10px;border-bottom:1px solid transparent;transition:border-color .2s}.fullpage-head.scrolled{border-color:var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullpage-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-b) + 12px);z-index:95;flex-direction:column;gap:8px;pointer-events:none;padding:0 14px}.toast,.toast-wrap{display:flex;align-items:center}.toast{pointer-events:auto;gap:12px;width:100%;max-width:440px;padding:11px 12px 11px 15px;border-radius:var(--r-md);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-2);font-size:14px;font-weight:540}:root[data-theme=dark] .toast{background:var(--surface-3);color:var(--ink);border:1px solid var(--line)}.toast .toast-action{flex:none;padding:6px 11px;border-radius:var(--r-full);background:rgba(255,255,255,.14);color:inherit;font-size:13px;font-weight:680}.toast.success{background:#3c5233;color:#eef3e8}.toast.error{background:var(--danger);color:#fff}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 24px}.empty-art{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--ink-4)}.skeleton{background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:220% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}@keyframes shimmer{to{background-position:-120% 0}}.offline-strip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-full);background:var(--warn-soft);color:var(--warn);font-size:12.5px;font-weight:620}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}*{scroll-behavior:auto!important}}@media (min-width:760px){:root{--shell-max:720px;--gutter:max(0px,calc((100vw - 720px) / 2))}.app-shell{max-width:none}.fullpage-body,.scroller{padding-left:var(--gutter);padding-right:var(--gutter)}.fullpage-head{padding-left:calc(12px + var(--gutter));padding-right:calc(12px + var(--gutter))}.nav{border-radius:0}}@media (min-width:1080px){:root{--shell-max:860px;--gutter:max(0px,calc((100vw - 860px) / 2))}}.splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;overflow:hidden;background:var(--paper)}.spl-glow{position:absolute;left:50%;top:42%;width:520px;height:520px;translate:-50% -50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 16%,transparent),transparent);pointer-events:none}.spl-stage{position:relative;display:grid;place-items:center}.spl-thread{position:absolute;left:50%;bottom:62%;width:1.5px;height:100vh;margin-left:-.75px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--ink) 45%,transparent));transform-origin:top}.spl-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 60%,transparent)}.spl-words{position:relative;display:grid;justify-items:center;grid-gap:10px;gap:10px;min-height:80px}.splash-skip{position:absolute;top:calc(var(--safe-t) + 14px);right:16px;z-index:2;padding:8px 14px;border-radius:var(--r-full);font-size:13px;font-weight:620;color:var(--ink-3);background:color-mix(in srgb,var(--surface-2) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.splash-word{display:flex;font-family:var(--font-display);font-size:48px;letter-spacing:-.035em;color:var(--ink);line-height:1}.splash-word span{display:inline-block}.splash-word .dot{color:var(--accent)}.splash-tag{font-size:14.5px;color:var(--ink-3);letter-spacing:.01em}.spl-loading{position:absolute;bottom:calc(var(--safe-b) + 44px);display:flex;gap:6px}.spl-loading i{width:6px;height:6px;border-radius:50%;background:var(--ink-4);animation:spl-dot 1.1s ease-in-out infinite}.spl-loading i:nth-child(2){animation-delay:.15s}.spl-loading i:nth-child(3){animation-delay:.3s}@keyframes spl-dot{0%,to{opacity:.3;transform:scale(.8)}45%{opacity:1;transform:scale(1.1)}}.spider-icon{display:inline-grid;place-items:center;flex:none;overflow:hidden;background:radial-gradient(90% 90% at 30% 15%,rgba(255,255,255,.14),transparent 60%),linear-gradient(145deg,#2a2622,#121110);box-shadow:0 10px 24px -12px rgba(0,0,0,.55),inset 0 0 0 .5px rgba(255,255,255,.1)}.day-strip{display:flex;gap:6px;padding:2px 18px 12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.day-strip::-webkit-scrollbar{display:none}.day-cell{flex:none;width:48px;padding:8px 0 9px;border-radius:var(--r-md);text-align:center;background:transparent;border:1px solid transparent;scroll-snap-align:center;transition:background .2s var(--ease-out),border-color .2s}.day-cell .dow{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-4);text-transform:uppercase}.day-cell .dnum{font-size:18px;font-weight:640;color:var(--ink-2);margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-cell .ddot{width:4px;height:4px;border-radius:50%;background:var(--ink-4);margin:4px auto 0;opacity:.8}.day-cell.today .dnum{color:var(--accent)}.day-cell.sel{background:var(--ink);border-color:var(--ink)}.day-cell.sel .dow{color:rgba(255,255,255,.6)}.day-cell.sel .dnum{color:#fff}.day-cell.sel .ddot{background:var(--accent)}:root[data-theme=dark] .day-cell.sel .dow{color:var(--ink-3)}:root[data-theme=dark] .day-cell.sel .dnum{color:var(--paper)}.summary-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:0 18px 16px}.summary-tile{padding:12px 12px 13px;border-radius:var(--r-md);background:var(--surface-2)}.summary-tile .n{font-size:21px;font-weight:660;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-tile .l{font-size:11.5px;color:var(--ink-3);font-weight:580;margin-top:1px}.timeline{position:relative;padding:4px 18px 8px 62px}.tl-hour{position:absolute;left:18px;width:38px;text-align:right;font-size:11px;font-weight:620;color:var(--ink-4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transform:translateY(-6px)}.tl-rule{left:62px;height:1px;background:var(--line);opacity:.6}.tl-now,.tl-rule{position:absolute;right:18px}.tl-now{left:52px;height:2px;border-radius:2px;z-index:5;pointer-events:none}.tl-now,.tl-now:before{background:var(--accent)}.tl-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%}.tl-canvas{position:relative}.tl-item{position:absolute;border-radius:var(--r-sm);padding:7px 10px 7px 12px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.tl-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-c,var(--accent))}.tl-item .tl-t{font-size:13.5px;font-weight:620;letter-spacing:-.005em;line-height:1.25}.tl-item .tl-s{font-size:11px;color:var(--ink-3);margin-top:2px}.tl-item.tint{background:color-mix(in srgb,var(--accent-c) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent-c) 22%,transparent)}.tl-item.done{opacity:.55}.tl-item.done .tl-t{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.tl-item.short{padding-top:4px;padding-bottom:4px}.tl-item.short .tl-t{font-size:12.5px}.tl-item.dragging{box-shadow:var(--shadow-3);z-index:20;cursor:-webkit-grabbing;cursor:grabbing}.tl-handle{position:absolute;left:0;right:0;bottom:0;height:14px;cursor:ns-resize;touch-action:none}.tl-handle:after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:26px;height:3px;border-radius:2px;background:var(--line-2)}.tl-gap{position:absolute;border-radius:var(--r-sm);border:1px dashed var(--line-2);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink-4);font-size:11.5px;font-weight:600;background:transparent}.tl-gap:active{background:var(--surface-2)}.task-row{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);min-height:58px;touch-action:pan-y;overflow:hidden}.task-row.flat{background:transparent;border:none;border-radius:0;padding:11px 2px;min-height:52px}.task-row.sub{padding-left:10px}.task-title{font-size:15px;font-weight:560;letter-spacing:-.006em;line-height:1.3}.task-row.done .task-title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}.task-dot{width:7px;height:7px;border-radius:50%;flex:none}.prio-flag{width:3px;height:16px;border-radius:2px;flex:none}.swipe-wrap{position:relative;border-radius:var(--r-md);overflow:hidden}.swipe-back{position:absolute;inset:0;justify-content:space-between;padding:0 18px;border-radius:var(--r-md)}.swipe-back,.swipe-back .act{display:flex;align-items:center}.swipe-back .act{gap:7px;font-size:13px;font-weight:660}.swipe-left{background:var(--success-soft);color:var(--success)}.swipe-right{background:var(--accent-soft);color:var(--accent-ink)}.drag-handle,.drag-list-item{touch-action:none}.drag-handle{color:var(--ink-4);padding:4px;margin:-4px;cursor:-webkit-grab;cursor:grab}.project-card{position:relative;display:block;width:100%;text-align:left;padding:16px 16px 15px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);overflow:hidden}.project-card .wash{position:absolute;right:-30px;top:-40px;width:140px;height:140px;border-radius:50%;background:var(--pc);opacity:.07;pointer-events:none}.project-glyph{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--pc) 14%,transparent);color:var(--pc);flex:none}.project-hero{padding:18px 18px 20px;border-radius:0 0 var(--r-xl) var(--r-xl);background:linear-gradient(170deg,color-mix(in srgb,var(--pc) 13%,var(--paper)),var(--paper))}.folder-row{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border-radius:var(--r-sm);text-align:left}.folder-row:active{background:var(--surface-2)}.folder-kids{margin-left:15px;padding-left:11px;border-left:1px solid var(--line)}.file-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-sm);width:100%;text-align:left}.file-ico{width:36px;height:36px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--ink-3);flex:none}.file-ico,.link-chip{background:var(--surface-2)}.link-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 12px 7px 9px;border-radius:var(--r-full);border:1px solid var(--line);font-size:13px;font-weight:560;color:var(--ink-2)}.link-chip .lc-ico{color:var(--ink-3);flex:none;display:flex}.tabbar{display:flex;gap:4px;padding:4px 18px 0;overflow-x:auto;scrollbar-width:none;position:relative}.tabbar::-webkit-scrollbar{display:none}.tabbar button{position:relative;flex:none;padding:9px 13px 12px;font-size:14px;font-weight:620;color:var(--ink-3);transition:color .2s var(--ease-out)}.tabbar button.on{color:var(--ink)}.tab-ink{position:absolute;bottom:0;height:2px;border-radius:2px;background:var(--accent)}.ms-row{display:flex;gap:12px;align-items:flex-start;padding:2px 0}.ms-rail{position:relative;width:22px;flex:none;display:flex;justify-content:center}.ms-rail:before{content:"";position:absolute;top:20px;bottom:-14px;width:1.5px;background:var(--line-2)}.ms-row:last-child .ms-rail:before{display:none}.ms-node{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);background:var(--paper);margin-top:2px;display:grid;place-items:center;flex:none;z-index:1}.ms-node.done{background:var(--accent);border-color:var(--accent)}.note-card{display:block;width:100%;text-align:left;padding:14px 15px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.note-body{font-size:16.5px;line-height:1.62;color:var(--ink)}.note-body h2{font-size:19px;font-weight:660;letter-spacing:-.012em;margin:22px 0 8px}.note-body h2:first-child{margin-top:0}.note-body p{margin:0 0 12px}.note-body ol,.note-body ul{margin:0 0 14px;padding-left:22px}.note-body li{margin-bottom:5px}.note-body blockquote{margin:0 0 14px;padding:2px 0 2px 14px;border-left:2.5px solid var(--accent);color:var(--ink-2);font-style:italic}.note-body b,.note-body strong{font-weight:660}.note-body:empty:before{content:attr(data-placeholder);color:var(--ink-4)}.editor-toolbar{display:flex;gap:4px;padding:8px 10px;overflow-x:auto;scrollbar-width:none;background:var(--surface);border-top:1px solid var(--line)}.editor-toolbar::-webkit-scrollbar{display:none}.editor-toolbar button{flex:none;min-width:40px;height:38px;padding:0 11px;border-radius:var(--r-xs);color:var(--ink-2);font-size:14px;font-weight:620;display:grid;place-items:center}.editor-toolbar button:active{background:var(--surface-2)}.focus-screen{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--paper);padding:28px}.focus-screen.quiet{background:#17130f;color:#efe6da}.focus-screen.quiet .focus-task{color:#cdbfae}.focus-dial{position:relative;width:min(280px,72vw);aspect-ratio:1}.focus-time{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.focus-time .big{font-size:52px;font-weight:300;letter-spacing:-.03em}.focus-task{font-size:15px;color:var(--ink-2);text-align:center;max-width:280px}.focus-mini{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-md);background:var(--ink);color:var(--paper)}:root[data-theme=dark] .focus-mini{background:var(--surface-3);color:var(--ink)}.routine-card{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);width:100%;text-align:left}.routine-glyph{width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--rc) 14%,transparent);color:var(--rc);flex:none}.week-dots{display:flex;gap:4px}.week-dots i{width:16px;height:16px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-size:8.5px;font-weight:700;color:var(--ink-4);font-style:normal}.week-dots i.on{background:color-mix(in srgb,var(--rc) 20%,transparent);color:var(--rc)}.streak-grid{display:flex;gap:3px}.streak-grid i{width:9px;height:22px;border-radius:3px;background:var(--surface-3);display:block}.streak-grid i.on{background:var(--accent)}.streak-grid i.half{background:var(--accent-soft-2)}.ai-screen{display:flex;flex-direction:column;height:100%;min-height:0}.tab-ai{height:calc(100dvh - var(--nav-h) - var(--safe-b))}.ai-thread{flex:1 1;min-height:0;overflow-y:auto;padding:8px 16px 12px;-webkit-overflow-scrolling:touch}.ai-composer{flex:none;padding:10px 14px calc(10px + var(--safe-b));background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.ai-input-wrap{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-1);transition:border-color .18s,box-shadow .18s}.ai-input-wrap:focus-within{border-color:var(--accent-soft-2);box-shadow:0 0 0 4px var(--focus-ring)}.ai-input{flex:1 1;min-height:34px;max-height:140px;padding:7px 0;font-size:16px;line-height:1.4;resize:none;border:none;background:transparent;color:var(--ink)}.ai-send{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex:none;transition:transform .16s var(--ease-out),opacity .16s}:root[data-theme=dark] .ai-send{color:#1a1210}.ai-send[disabled]{opacity:.35}.ai-send:active{transform:scale(.9)}.bubble-user{margin-left:auto;max-width:85%;padding:11px 15px;border-radius:var(--r-lg) var(--r-lg) 6px var(--r-lg);background:var(--accent);color:#fff;font-size:15.5px;line-height:1.42}:root[data-theme=dark] .bubble-user{color:#1d1310}.bubble-ai{max-width:100%;font-size:15.5px;line-height:1.55;color:var(--ink)}.bubble-ai p{margin:0 0 10px}.bubble-ai p:last-child{margin-bottom:0}.bubble-ai ul{margin:0 0 10px;padding-left:20px}.bubble-ai li{margin-bottom:4px}.bubble-ai b{font-weight:660}.ai-scope-bar{display:flex;align-items:center;gap:6px;padding:0 2px 8px;overflow-x:auto;scrollbar-width:none}.ai-scope-bar::-webkit-scrollbar{display:none}.ai-steps{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.ai-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}.ai-step .dotline{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.change-card{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);overflow:hidden}.change-head{display:flex;align-items:center;gap:9px;padding:11px 13px;background:var(--surface-2);font-size:13px;font-weight:640}.change-row{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;border-top:1px solid var(--line);font-size:13.5px}.change-row:first-child{border-top:none}.change-tag{flex:none;min-width:52px;padding:2px 7px;border-radius:var(--r-xs);font-size:10.5px;font-weight:720;letter-spacing:.04em;text-transform:uppercase;text-align:center}.change-tag.create{background:var(--success-soft);color:var(--success)}.change-tag.update{background:var(--accent-soft);color:var(--accent-ink)}.change-tag.delete{background:var(--danger-soft);color:var(--danger)}.change-tag.link{background:var(--warn-soft);color:var(--warn)}.cite{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:12.5px;font-weight:600;max-width:100%}.ai-suggest{text-align:left;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);font-size:14px;color:var(--ink-2);width:100%;line-height:1.35}.ai-suggest:active{background:var(--surface-2)}.typing{display:inline-flex;gap:4px;align-items:center}.typing i{width:5px;height:5px;border-radius:50%;background:var(--ink-4);display:block}.search-bar{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid transparent;transition:border-color .18s,background .18s}.search-bar:focus-within{background:var(--surface);border-color:var(--accent-soft-2)}.search-bar input{flex:1 1;font-size:16px}.hit-row{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--r-md);width:100%;text-align:left}.hit-row:active{background:var(--surface-2)}.hit-ico{width:32px;height:32px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--surface-2);color:var(--ink-3);flex:none}.set-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 15px;border-top:1px solid var(--line);text-align:left;min-height:56px}.set-row:first-child{border-top:none}.set-row:active,.stepper{background:var(--surface-2)}.stepper{display:inline-flex;align-items:center;gap:2px;padding:3px}.stepper,.stepper button{border-radius:var(--r-full)}.stepper button{width:34px;height:32px;display:grid;place-items:center;color:var(--ink-2)}.stepper button:active{background:var(--surface)}.stepper .val{min-width:54px;text-align:center;font-size:14px;font-weight:640;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note-body ul.cl{list-style:none;padding-left:0}.note-body ul.cl li{position:relative;padding-left:30px;margin-bottom:8px;min-height:24px}.note-body ul.cl li:before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;border:1.8px solid var(--line-2);background:transparent;transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}.note-body ul.cl li[data-done=true]{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.note-body ul.cl li[data-done=true]:before{background:var(--accent);border-color:var(--accent)}.note-body ul.cl li[data-done=true]:after{content:"";position:absolute;left:6px;top:8px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}.copilot-hero{padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent)}.copilot-hero h2{font-size:clamp(20px,3vw,28px);letter-spacing:-.04em}.copilot .field{min-width:0;width:100%}.copilot-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.copilot-action{display:flex;justify-content:space-between;text-align:left;gap:10px;padding:16px;font-weight:600}.copilot-action:hover{border-color:var(--accent)}.copilot-panel{padding:20px}.copilot-panel h3{font-size:16px;font-weight:650}.copilot-signals{margin:16px 0;display:grid;grid-gap:10px;gap:10px}.copilot-signal{display:flex;align-items:baseline;gap:10px;font-size:13px}.copilot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.copilot-metrics strong{display:block;margin-top:6px;overflow-wrap:anywhere;font-size:17px}.copilot-scenario{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:12px;gap:12px}.copilot-history{border-top:1px solid var(--line);padding-top:14px;overflow-wrap:anywhere}.copilot-json{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:300px;overflow:auto}@media (max-width:600px){.copilot-hero,.copilot-panel{padding:16px}.copilot-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.copilot-scenario{grid-template-columns:1fr}.copilot-hero form{flex-wrap:wrap}}:root{color-scheme:light;--gutter:0px}:root[data-theme=dark]{color-scheme:dark}:root[data-palette=silver]{--paper:#f5f5f7;--paper-deep:#ebebef;--surface:#fff;--surface-2:#ededf1;--surface-3:#e1e1e7;--ink:#1d1d1f;--ink-2:#52525a;--ink-3:#71717b;--ink-4:#8b8b96;--line:rgba(30,30,40,.08);--line-2:rgba(30,30,40,.17)}:root[data-palette=silver][data-theme=dark]{--paper:#141416;--paper-deep:#0e0e10;--surface:#1e1e22;--surface-2:#27272c;--surface-3:#34343b;--ink:#f5f5f7;--ink-2:#c2c2ca;--ink-3:#a0a0ab;--ink-4:#81818e;--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.18)}:root[data-accent=blue]{--accent:#006de5;--accent-deep:#0059c0;--accent-ink:#0057b8}:root[data-accent=green]{--accent:#24845a;--accent-deep:#17633f;--accent-ink:#17633f}:root[data-accent=violet]{--accent:#7954d5;--accent-deep:#6041ac;--accent-ink:#6041ac}:root[data-accent=blue][data-theme=dark]{--accent:#69aaff;--accent-deep:#8abdff;--accent-ink:#a0c8ff}:root[data-accent=green][data-theme=dark]{--accent:#6ece9e;--accent-deep:#8eddb5;--accent-ink:#9ae4bf}:root[data-accent=violet][data-theme=dark]{--accent:#b59aff;--accent-deep:#c9b6ff;--accent-ink:#d0beff}:root[data-accent]{--accent-soft:color-mix(in srgb,var(--accent) 10%,var(--surface));--accent-soft-2:color-mix(in srgb,var(--accent) 20%,var(--surface));--focus-ring:color-mix(in srgb,var(--accent) 24%,transparent)}.btn-primary{box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 20%,transparent)}.setting-caption{display:block;margin-top:3px}button:disabled{cursor:default;opacity:.5}.fullpage-body{min-height:0}.screen{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 92px)}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;overflow:visible}.day-cell{width:auto;min-width:0;min-height:64px}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:26px}.home-heading h2{font-size:clamp(26px,4vw,34px);letter-spacing:-.045em;line-height:1.15;margin:8px 0;font-weight:680}.home-heading .btn{flex:none}.home-screen .summary-tile{background:var(--surface);border:1px solid var(--line);padding:16px}.home-screen .summary-tile .n{font-size:25px}.home-screen .empty{margin:0 18px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:32px 24px}.home-screen .empty .t-sm{max-width:340px}.timeline-window{max-height:min(560px,65dvh);overflow-y:auto;margin:0 18px;padding-top:14px;border-radius:20px;border:1px solid var(--line);background:var(--surface);scrollbar-width:thin}.timeline-window .timeline{margin-right:4px}.profile-ring{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:640;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-soft-2)}.goal-row{padding:11px 13px;border-radius:var(--r-md);background:var(--surface-2)}.goal-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent)}.fact-row{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.fact-row.from-ai{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:var(--accent-soft-2)}.retry-countdown{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}.now-strip{padding:14px 15px 13px;margin-bottom:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.now-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.now-label{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.now-left{font-size:12px;color:var(--ink-3)}.now-title{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:0;background:none;border:none}.now-spine{width:3px;align-self:stretch;min-height:34px;border-radius:2px;flex:none}.now-bar{height:4px;margin-top:12px;background:var(--surface-3);overflow:hidden}.now-bar,.now-bar>i{border-radius:var(--r-full)}.now-bar>i{display:block;height:100%}.now-actions{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.now-next{font-size:12px;color:var(--ink-3);min-width:0;flex:1 1;text-align:right}.now-tasks{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.now-tasks.is-standalone{margin-top:0;padding-top:0;border-top:none}.now-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.now-task{display:flex;align-items:center;gap:11px;padding:7px 0}.now-task+.now-task{border-top:1px solid var(--line)}.now-task-title{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:0;border:none;background:none;text-align:left;color:var(--ink)}.now-task-title>span{font-size:14.5px;font-weight:560;letter-spacing:-.01em}.now-task-title>small{font-size:11.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.now-task-add{flex:none;gap:4px;padding:5px 10px;border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line-2));background:var(--accent-soft);font-size:12px;font-weight:600}.now-more,.now-task-add{display:inline-flex;align-items:center;color:var(--accent-ink)}.now-more{gap:5px;margin-top:6px;padding:4px 0;border:none;background:none;font-size:12.5px;font-weight:580}.day-meter{padding:12px 14px 13px;margin-bottom:16px;border-radius:var(--r-md);background:var(--surface-2)}.day-meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.day-meter .bar{height:5px}.tl-rule.half{opacity:.35;border-top:1px dashed var(--line);background:transparent;height:0}.tl-hour.past{opacity:.45}.tl-now-pill{position:absolute;left:-46px;top:-9px;padding:2px 7px;border-radius:var(--r-full);background:var(--accent);color:#fff;font-size:10.5px;font-weight:680;letter-spacing:.01em;box-shadow:0 2px 6px rgba(0,0,0,.16)}:root[data-theme=dark] .tl-now-pill{color:#17130f}.quota-note{display:block;margin-top:6px;font-size:12px;line-height:1.5;opacity:.85}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-studio{width:100%;isolation:isolate}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none;padding:calc(18px + var(--safe-t)) 22px 14px}.chat-header h1{font-size:18px;font-weight:680;letter-spacing:-.035em;line-height:1.5}.chat-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:var(--surface);border:1px solid var(--line);box-shadow:0 3px 10px var(--line)}.chat-status{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.chat-status i{width:5px;height:5px;border-radius:50%;background:var(--ink-4)}.chat-status i.ready{background:var(--success)}.chat-context{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:9px 22px 12px;border-bottom:1px solid var(--line);flex:none}.chat-context-label{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:11px}.chat-context .ai-scope-bar{padding:0;flex-wrap:wrap}.chat-context .chip{min-height:30px}.chat-thread-wrap{position:relative;flex:1 1;min-height:0;display:flex}.chat-studio .ai-thread{padding:0 24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;overflow-x:hidden}.chat-content{padding:24px 0;max-width:720px;margin:0 auto}.chat-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(16px,4vh,46px) 0 12px}.chat-orbit{position:relative;display:grid;place-items:center;width:100px;height:100px;margin-bottom:28px;border-radius:32px;background:radial-gradient(circle,var(--accent-soft) 0,transparent 70%)}.chat-orbit>svg{position:relative;animation:chat-float 6s ease-in-out infinite}.chat-orbit>span{position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:27px;transform:rotate(18deg);animation:orbit-breathe 8s ease-in-out infinite}.chat-orbit>span:nth-child(2){inset:0;transform:rotate(-14deg);animation-delay:-4s;opacity:.55}.chat-welcome .eyebrow{font-size:9px;letter-spacing:.12em;color:var(--accent-ink)}.chat-welcome h2{font-size:clamp(25px,4vw,34px);line-height:1.15;letter-spacing:-.055em;font-weight:650;margin-top:12px}.chat-welcome>p{max-width:340px;color:var(--ink-3);font-size:14px;line-height:1.7;margin-top:12px}.chat-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%;margin-top:30px;text-align:left}.chat-suggestions>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-align:left;transition:background .2s,border-color .2s,box-shadow .2s;min-width:0}.chat-suggestions>button>svg:first-child{color:var(--accent-ink);margin-bottom:5px}.chat-suggestions strong{font-size:13px;font-weight:620}.chat-suggestions span{font-size:11px;color:var(--ink-3);line-height:1.5}.suggest-arrow{position:absolute;top:18px;right:15px;color:var(--ink-4);transform:rotate(45deg)}.chat-message{min-width:0;margin-bottom:32px}.chat-message:last-child{margin-bottom:0}.chat-message.user{display:flex;flex-direction:column;align-items:flex-end;padding-left:28px}.chat-studio .bubble-user{display:block;max-width:88%;padding:14px 18px;border-radius:20px 20px 5px 20px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);box-shadow:none;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message-meta{display:flex;gap:9px;color:var(--ink-3);font-size:10px;padding:7px 3px 0;max-width:100%;overflow-wrap:anywhere}.message-meta time{white-space:nowrap}.assistant-answer{min-width:0;display:flex;flex-direction:column;gap:16px}.answer-byline{display:flex;align-items:center;gap:8px;font-size:12px}.answer-byline strong{font-weight:650}.answer-byline>span{color:var(--ink-3);font-size:10px;border-left:1px solid var(--line-2);padding-left:8px}.chat-working{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;min-height:25px;animation:chat-appear .3s ease-out}.thinking-dots{display:flex;gap:3px}.thinking-dots i{display:block;width:4px;height:4px;background:var(--accent);border-radius:50%;animation:thinking-pulse 1.3s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}.answer-markdown{min-width:0;font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:var(--ink-2)}.answer-markdown>:first-child{margin-top:0}.answer-markdown>:last-child{margin-bottom:0}.answer-markdown p{margin:0 0 14px;white-space:pre-wrap}.answer-markdown h1,.answer-markdown h2,.answer-markdown h3,.answer-markdown h4{color:var(--ink);margin:24px 0 9px;line-height:1.35;letter-spacing:-.025em;font-weight:650}.answer-markdown h1{font-size:22px}.answer-markdown h2{font-size:19px}.answer-markdown h3{font-size:16px}.answer-markdown h4{font-size:14px}.answer-markdown strong{font-weight:650;color:var(--ink)}.answer-markdown ol,.answer-markdown ul{padding-left:24px;margin:10px 0 16px}.answer-markdown li{padding-left:4px;margin:6px 0}.answer-markdown li::marker{color:var(--accent-ink);font-weight:600}.answer-markdown li p{margin-bottom:6px}.answer-markdown li ol,.answer-markdown li ul{margin:4px 0}.answer-markdown blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0}.answer-markdown blockquote>p:last-child{margin-bottom:0}.answer-markdown a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.answer-markdown hr{border:0;border-top:1px solid var(--line);margin:22px 0}.answer-markdown :not(pre)>code{padding:2px 5px;border:1px solid var(--line);background:var(--surface-2);border-radius:5px;font-size:.88em}.answer-code{margin:16px 0;border:1px solid var(--line-2);border-radius:13px;overflow:hidden;background:var(--surface)}.answer-code-head{display:flex;justify-content:space-between;align-items:center;padding:6px 13px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;color:var(--ink-3)}.answer-code pre{padding:16px;overflow:auto;max-width:100%;font-size:12px;line-height:1.75;white-space:pre;-moz-tab-size:2;tab-size:2}.answer-table{max-width:100%;overflow-x:auto;margin:16px 0;border:1px solid var(--line-2);border-radius:12px}.answer-table table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6}.answer-table td,.answer-table th{border-bottom:1px solid var(--line);padding:10px 13px;text-align:left;min-width:105px}.answer-table th{background:var(--surface-2);color:var(--ink);font-weight:620}.answer-table tr:last-child td{border-bottom:0}.answer-markdown .contains-task-list{list-style:none;padding-left:4px}.answer-markdown input[type=checkbox]{accent-color:var(--accent);margin-right:6px}.answer-markdown .cite{white-space:normal;line-height:1.6;vertical-align:baseline;max-width:100%;text-align:left}.answer-cursor{display:inline-block;width:6px;height:13px;margin-left:4px;background:var(--accent);border-radius:3px;animation:thinking-pulse 1.1s infinite}.answer-steps{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-3);font-size:11px}.answer-steps summary{display:flex;gap:7px;align-items:center;cursor:pointer;padding:10px 13px;list-style:none;min-height:40px}.answer-steps summary::-webkit-details-marker{display:none}.answer-steps summary:after{content:"+";margin-left:auto;font-size:15px}.answer-steps[open] summary:after{content:"−"}.answer-steps ol{padding:0 13px 10px;list-style:none}.answer-steps li{display:flex;gap:9px;padding:7px 0}.answer-steps li>svg{color:var(--success);flex:none;margin-top:2px}.answer-steps small{display:block;margin-top:4px;font-size:11px}.answer-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;color:var(--ink-3)}.answer-sources .cite{max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}.answer-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}.answer-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;min-height:34px;border-radius:8px;font-size:11px;color:var(--ink-3);transition:background .2s,color .2s}.answer-actions time{margin-left:auto;padding:0 4px;font-size:10px;color:var(--ink-3)}.answer-notice{padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:12px;line-height:1.6;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.answer-notice.error{background:var(--danger-soft);color:var(--danger)}.chat-jump{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);border-radius:30px;padding:9px 14px;box-shadow:var(--shadow-2);font-size:11px;white-space:nowrap;animation:chat-appear .2s ease}.chat-studio .ai-composer{border:0;padding:10px 22px 12px;background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.chat-studio .ai-input-wrap{display:block;padding:13px 13px 9px;border-radius:22px;border-color:var(--line-2);box-shadow:0 4px 20px color-mix(in srgb,var(--ink) 4%,transparent)}.chat-studio .ai-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.chat-studio .ai-input{display:block;width:100%;min-height:34px;max-height:160px;padding:2px 3px 8px;outline:none;line-height:1.5}.composer-tools{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-tools>span{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--ink-3);padding-left:3px}.chat-studio .ai-send{width:34px;height:34px;border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:none}.chat-studio .ai-send.stop{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-soft-2)}.composer-hint{text-align:center;font-size:9px;margin-top:9px}.chat-notice,.composer-hint{color:var(--ink-3);line-height:1.6}.chat-notice{font-size:11px;margin-bottom:9px}.chat-sheet{height:min(76dvh,820px);min-height:0;margin:-6px -18px 0;display:flex}.sheet-body-chat{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0 0 var(--safe-b)}.sheet-body-chat .chat-sheet{margin:0}.chat-embedded .chat-header{padding-top:6px}.chat-embedded .chat-welcome{padding-top:10px}.chat-embedded .chat-orbit{width:66px;height:66px;margin-bottom:20px}.chat-embedded .chat-welcome h2{font-size:25px}.chat-embedded .chat-suggestions{margin-top:20px}.chat-embedded .composer-hint{display:none}.chat-studio .change-card{border-radius:16px;box-shadow:none;border-color:var(--line-2)}.chat-studio .change-head{padding:14px;font-size:12px}.chat-studio .change-row{font-size:12px}.project-library .app-header .eyebrow{font-size:10px;margin-bottom:5px;display:block}.project-library .app-header .between{gap:12px}.project-library .app-header .btn{flex:none}.project-summary{padding:25px;margin:4px 0 22px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 95% 0,var(--accent-soft),transparent 65%),var(--surface)}.summary-kicker{font-size:8px;color:var(--accent-ink);letter-spacing:.14em;font-weight:650}.project-summary h2{font-size:clamp(22px,3vw,28px);font-weight:640;letter-spacing:-.045em;margin:10px 0 7px;line-height:1.2}.project-summary p{color:var(--ink-3);font-size:12px;line-height:1.6}.project-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.project-summary-stats>span{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--ink-3);padding:0 14px;border-left:1px solid var(--line)}.project-summary-stats>span:first-child{padding-left:0;border-left:0}.project-summary-stats strong{font-size:25px;line-height:1.1;letter-spacing:-.04em;color:var(--ink);font-weight:560;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-search{display:flex;align-items:center;gap:10px;min-height:45px;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:0 13px;color:var(--ink-3)}.project-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.project-search input{flex:1 1;width:0;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);padding:13px 0;font-size:14px}.project-search .icon-btn{width:28px;height:30px}.project-library-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:17px 0 12px}.project-filters{display:flex;gap:3px;flex-wrap:wrap}.project-filters button{display:flex;gap:6px;align-items:center;padding:9px 11px;border-radius:10px;font-size:12px;font-weight:550;color:var(--ink-3)}.project-filters button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px var(--line)}.project-filters button>span{font-size:9px;padding:2px 5px;background:var(--surface-2);border-radius:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-display{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-sort select{border:0;background:transparent;color:var(--ink-2);padding:9px 3px;font-size:11px;max-width:155px;cursor:pointer}.view-switch{display:inline-flex;align-items:center;border-radius:10px;background:var(--surface-2);padding:3px;gap:2px}.view-switch button{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:31px;gap:6px;padding:5px 9px;border-radius:7px;font-size:11px;color:var(--ink-3)}.view-switch button.on{background:var(--surface);box-shadow:0 1px 4px var(--line);color:var(--ink)}.project-result-label{font-size:10px;color:var(--ink-3);margin:0 0 12px 2px}.project-collection{display:grid;grid-gap:14px;gap:14px;padding-bottom:20px}.project-collection.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-tile{min-width:0;border:1px solid var(--line);border-radius:20px;padding:18px;background:var(--surface);display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;overflow:hidden}.project-tile.archived{background:color-mix(in srgb,var(--surface) 70%,var(--paper))}.project-tile-top{display:flex;align-items:center;gap:8px;margin-bottom:16px}.project-tile-top .project-glyph{width:40px;height:40px;border-radius:13px}.project-tile-status{flex:1 1;font-size:9px;color:var(--ink-3)}.project-tile-top>.icon-btn{width:32px;height:34px;color:var(--ink-3)}.project-tile-open{display:block;width:100%;text-align:left;min-width:0;flex:1 1}.project-tile-open h2{font-size:17px;line-height:1.4;font-weight:640;letter-spacing:-.025em;color:var(--ink);overflow-wrap:anywhere}.project-tile-open h2 svg{margin-left:6px;vertical-align:middle;color:var(--pc)}.project-tile-open p{font-size:12px;line-height:1.65;color:var(--ink-3);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px;overflow-wrap:anywhere}.project-tile-progress{margin-top:20px}.project-tile-progress .between{font-size:10px;color:var(--ink-3);margin-bottom:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-tile-progress strong{font-size:10px;font-weight:600;color:var(--ink-2)}.project-tile-progress .bar{height:4px}.project-tile-progress .bar i{background:var(--pc)}.project-tile-next{display:flex;align-items:center;gap:7px;margin:15px 0;font-size:11px;color:var(--ink-2);min-width:0}.project-tile-next>svg{flex:none;color:var(--pc)}.project-tile-next>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tile-footer{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--ink-3)}.project-tile-footer>span{display:flex;align-items:center;gap:5px}.project-tile-footer .overdue{color:var(--danger)}.project-collection.list .project-tile{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.6fr);grid-column-gap:30px;column-gap:30px}.project-collection.list .project-tile-top{grid-column:1/-1;margin-bottom:10px}.project-collection.list .project-tile-open{grid-row:span 2}.project-collection.list .project-tile-progress{margin-top:3px}.project-collection.list .project-tile-footer{grid-column:1/-1;margin-top:8px}.project-hero{margin-top:8px;padding:24px 22px;border-bottom:0;background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--pc) 10%,transparent),transparent 70%)}.project-hero h1{overflow-wrap:anywhere}.project-hero .bar{height:5px}.project-tabs{gap:5px;padding:4px 18px;margin-top:5px;border-bottom:1px solid var(--line)}.project-tabs>button{position:relative;padding:12px 10px;font-size:12px}.project-tabs>button.on{color:var(--accent-ink)}.project-tabs>button.on:after{content:"";position:absolute;bottom:0;left:10px;right:10px;height:2px;border-radius:2px;background:var(--accent);animation:chat-appear .2s ease}.project-task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.project-task-toolbar .eyebrow{font-size:10px}.project-board-wrap{min-width:0}.board-help{font-size:10px;line-height:1.6;color:var(--ink-3);margin:10px 0 16px}.project-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;grid-gap:12px;gap:12px}.board-column{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:10px;min-width:0}.board-column>header{display:flex;align-items:center;gap:7px;padding:0 2px 9px}.board-column h3{font-size:11px;font-weight:630}.board-column>header .icon-btn{width:26px;height:28px;margin-left:auto}.board-status-dot{width:6px;height:6px;background:var(--ink-4);border-radius:50%;flex:none}.doing .board-status-dot{background:var(--accent)}.done .board-status-dot{background:var(--success)}.board-count{font-size:10px;color:var(--ink-3)}.board-cards{display:flex;flex-direction:column;gap:9px}.board-card{min-width:0;border-radius:12px;border:1px solid var(--line);padding:13px 11px 9px;background:var(--surface);box-shadow:0 2px 3px color-mix(in srgb,var(--ink) 2%,transparent)}.board-card-context{display:flex;gap:5px;align-items:center;color:var(--ink-3);font-size:9px;margin-bottom:8px;overflow-wrap:anywhere}.board-card-context>svg{flex:none}.board-card-title{display:block;text-align:left;font-size:12px;font-weight:590;line-height:1.6;width:100%;overflow-wrap:anywhere}.board-card-title>svg{display:inline;vertical-align:middle;margin-right:5px;color:var(--success)}.board-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.board-card-tags:empty{display:none}.board-card-tags .pill{font-size:9px;white-space:normal;overflow-wrap:anywhere;max-width:100%}.board-move{display:flex;align-items:center;justify-content:space-between;margin-top:12px;border-top:1px solid var(--line);padding-top:7px;gap:4px}.board-move>span{font-size:9px;color:var(--ink-3)}.board-move select{min-width:0;max-width:110px;padding:5px 0;font-size:10px;color:var(--ink-2);background:transparent;border:none;cursor:pointer}.board-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:22px 8px;border:1px dashed var(--line-2);border-radius:12px;font-size:10px;color:var(--ink-3);line-height:1.6}.board-empty button{display:flex;align-items:center;gap:5px;padding:7px 9px;color:var(--accent-ink)}.board-add{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.board-add .field{font-size:13px}.board-add .row{flex-wrap:wrap}.board-add .btn{min-height:32px;font-size:10px;padding:6px 10px}@media (hover:hover){.chat-suggestions>button:hover{background:var(--accent-soft);border-color:var(--accent-soft-2);box-shadow:0 5px 20px var(--line)}.answer-action:hover{background:var(--surface-2);color:var(--ink)}.project-tile:hover{border-color:color-mix(in srgb,var(--pc) 35%,var(--line));box-shadow:0 7px 24px color-mix(in srgb,var(--ink) 5%,transparent)}.board-card-title:hover,.project-tile-open:hover h2{color:var(--accent-ink)}}@media (max-width:759px){.project-board,.project-collection.grid{grid-template-columns:minmax(0,1fr)}.board-column{padding:12px}.board-card-title,.board-column h3{font-size:13px}.board-card{padding:15px}.board-move select{font-size:12px;max-width:140px;min-height:34px}.project-display{width:100%}.project-tile{padding:20px}.chat-studio .ai-thread{padding:0 18px}.chat-studio .ai-composer{padding-left:14px;padding-right:14px}.chat-context,.chat-header{padding-left:18px;padding-right:18px}.chat-message.user{padding-left:14px}.chat-studio .bubble-user{max-width:95%}.answer-action{min-height:40px}}@media (max-width:380px){.chat-suggestions{gap:8px}.chat-suggestions>button{padding:13px}.chat-suggestions span{font-size:10px}.chat-welcome h2{font-size:25px}.project-summary{padding:20px}.project-filters button{padding:8px;gap:4px}.project-collection.list .project-tile{display:flex}.project-collection.list .project-tile-progress{margin-top:16px}.project-library .app-header .btn{padding:8px 10px;font-size:11px}.project-tabs{padding-left:10px;padding-right:10px;gap:0}.project-tabs>button{padding:12px 8px}}@keyframes thinking-pulse{0%,80%,to{opacity:.35}40%{opacity:1}}@keyframes chat-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes orbit-breathe{0%,to{scale:1}50%{scale:1.07}}@keyframes chat-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-studio *,.project-board *,.project-library *,.project-tabs *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--glass:color-mix(in srgb,var(--surface) 72%,transparent);--glass-rim:rgba(255,255,255,0.55);--glass-rim-low:rgba(36,31,27,0.06);--glass-blur:saturate(180%) blur(22px);--lift-1:0 1px 2px rgba(40,28,20,0.08),0 6px 18px -4px rgba(40,28,20,0.14);--lift-2:0 2px 5px rgba(40,28,20,0.12),0 14px 34px -8px rgba(40,28,20,0.26)}:root[data-theme=dark]{--glass:color-mix(in srgb,var(--surface-2) 74%,transparent);--glass-rim:rgba(255,255,255,0.16);--glass-rim-low:rgba(0,0,0,0.4);--lift-1:0 1px 2px rgba(0,0,0,0.5),0 6px 18px -4px rgba(0,0,0,0.55);--lift-2:0 2px 6px rgba(0,0,0,0.55),0 16px 38px -8px rgba(0,0,0,0.7)}.nav-brand{display:none}.splash{z-index:200}.lock{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;justify-content:center;background:var(--paper);color:var(--ink);overflow:hidden;padding:max(var(--safe-t),18px) 0 max(var(--safe-b),18px);-webkit-tap-highlight-color:transparent}.lock-veil{position:absolute;inset:0;pointer-events:none}.lock-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}.lock-glow-a{width:68vw;height:68vw;top:-16vw;left:-18vw;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 62%,transparent),transparent 68%);animation:lock-drift-a 17s var(--ease-in-out) infinite}.lock-glow-b{width:60vw;height:60vw;bottom:-14vw;right:-16vw;background:radial-gradient(circle,color-mix(in srgb,var(--success) 46%,transparent),transparent 68%);animation:lock-drift-b 21s var(--ease-in-out) infinite}@keyframes lock-drift-a{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vw,5vw,0) scale(1.12)}}@keyframes lock-drift-b{0%,to{transform:translateZ(0) scale(1.06)}50%{transform:translate3d(-6vw,-4vw,0) scale(1)}}.lock-inner{position:relative;width:100%;max-width:340px;margin:0 auto;flex-direction:column;justify-content:space-between;gap:22px;flex:1 1;padding:0 20px}.lock-inner,.lock-top{display:flex;align-items:center}.lock-top{flex-direction:column;gap:16px;padding-top:6vh}.lock-mark{position:relative;display:grid;place-items:center}.lock-mark-ring{position:absolute;inset:-14px;border-radius:50%;border:1.5px solid var(--accent);pointer-events:none}.lock-word{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1}.lock-word span{color:var(--accent)}.lock-dots{display:flex;gap:17px;margin-top:4px}.lock-dots span{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--ink-4);background:transparent;transition:background .18s var(--ease-out),border-color .18s var(--ease-out)}.lock-dots span.filled{background:var(--ink);border-color:var(--ink)}.lock-dots.has-error span{border-color:var(--danger)}.lock-dots.has-error span.filled{background:var(--danger)}.lock-status{min-height:19px;margin:0;font-size:13.5px;font-weight:500;color:var(--ink-3);text-align:center;letter-spacing:-.005em}.lock-status.error{color:var(--danger);font-weight:560}.lock-status.ok{color:var(--success);font-weight:560}.lock-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px 24px;gap:18px 24px;width:100%;place-items:center}.lock-key{position:relative;width:74px;height:74px;border-radius:50%;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--ink);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 -1px 0 var(--glass-rim-low),var(--lift-1);-webkit-tap-highlight-color:transparent;transition:background .14s var(--ease-out)}.lock-key:active{background:color-mix(in srgb,var(--ink) 10%,var(--glass))}.lock-key:disabled{opacity:.45}.lock-key-digit{font-size:29px;font-weight:340;line-height:1;letter-spacing:.01em}.lock-key-letters{font-size:9.5px;font-weight:620;letter-spacing:.16em;color:var(--ink-3);padding-left:.16em}.lock-key-bare{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--ink-2)}.lock-key-bare:active{background:transparent;opacity:.5}.lock-foot{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:500;color:var(--ink-4)}@media (max-height:700px){.lock-key{width:64px;height:64px}.lock-key-digit{font-size:25px}.lock-pad{gap:12px 20px}.lock-top{padding-top:2vh;gap:12px}}.ai-fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:55;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;padding:0;border:none;border-radius:var(--r-full);overflow:hidden;background:color-mix(in srgb,var(--accent) 88%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.12),0 2px 6px color-mix(in srgb,var(--accent) 26%,transparent),0 12px 30px -6px color-mix(in srgb,var(--accent) 46%,transparent);-webkit-tap-highlight-color:transparent}:root[data-theme=dark] .ai-fab{color:#17110e;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.4),0 12px 30px -6px rgba(0,0,0,.55)}.ai-fab.is-wide{width:auto;max-width:min(66vw,252px);padding:0 18px 0 15px;gap:11px;border-radius:29px}.ai-fab.is-ready{background:var(--success);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 6px color-mix(in srgb,var(--success) 30%,transparent),0 12px 30px -6px color-mix(in srgb,var(--success) 45%,transparent)}.ai-fab.is-ready .ai-fab-dot{box-shadow:0 0 0 2px var(--success)}.ai-fab-say{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0;overflow:hidden;text-align:left}.ai-fab-say b{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;font-weight:640;letter-spacing:-.008em;line-height:1.25}.ai-fab-say b,.ai-fab-say small{display:block;white-space:nowrap}.ai-fab-say small{font-size:10.5px;font-weight:560;line-height:1.2;opacity:.72;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ai-fab-dot{position:absolute;top:-2px;right:-3px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 90%,transparent)}.ai-fab-gloss{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.28) 0,rgba(255,255,255,.06) 42%,rgba(255,255,255,0) 62%)}.ai-fab-mark{position:relative;display:grid;place-items:center;flex:none}.ai-fab-ring{pointer-events:none;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent);animation:fab-breathe 1.9s var(--ease-in-out) infinite}.ai-fab-ring,.ai-fab-ring:after{position:absolute;inset:0;border-radius:inherit}.ai-fab-ring:after{content:"";background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.34) 46%,transparent 72%);transform:translateX(-100%);animation:fab-sweep 1.9s var(--ease-in-out) infinite}@keyframes fab-breathe{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}55%{box-shadow:0 0 0 8px transparent}}@keyframes fab-sweep{0%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}@media (min-width:760px){.ai-fab{right:max(16px,calc((100vw - var(--shell-max)) / 2 + 16px))}}.notes-compose{position:fixed;left:16px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:54;width:50px;height:50px;display:grid;place-items:center;border:none;border-radius:50%;color:var(--ink);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 -1px 0 var(--glass-rim-low),var(--lift-1);-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-out),background .16s var(--ease-out)}.notes-compose:active{transform:scale(.92);background:var(--surface-2)}@media (min-width:760px){.notes-compose{left:max(16px,calc((100vw - var(--shell-max)) / 2 + 16px))}}.set-tile{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;flex:none;color:#fff;background:var(--ink-3);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}:root[data-theme=dark] .set-tile{color:#17110e}.set-tile.accent{background:var(--accent)}.set-tile.blue{background:#3e7bb6;color:#fff}.set-tile.green{background:var(--success)}.set-tile.warn{background:var(--warn)}.set-tile.danger{background:var(--danger)}.set-tile.slate{background:var(--ink-2)}.set-group{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface)}.set-group,.settings-hero{box-shadow:var(--shadow-1)}.settings-hero{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:24px;border-radius:var(--r-lg);background:linear-gradient(150deg,color-mix(in srgb,var(--accent-soft) 80%,var(--surface)),var(--surface) 72%);border:1px solid var(--line)}.set-meter{padding:12px 15px 14px;display:flex;flex-direction:column;gap:8px}.set-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.set-meter-value{font-size:15px;font-weight:640;letter-spacing:-.015em}.set-meter-note{font-size:11.5px;color:var(--ink-3)}.set-meter-track{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.set-meter-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .4s var(--ease-out)}.set-meter-fill.low{background:var(--warn)}.set-meter-fill.out{background:var(--danger)}.set-row-stack{flex-direction:column;align-items:stretch;gap:9px}.set-row-stack .seg{width:100%}.set-row-stack .seg button{flex:1 1}@media (prefers-reduced-motion:reduce){.ai-fab-ring,.lock-glow{animation:none!important}.notes-compose,.set-meter-fill{transition:none!important}}