@font-face{font-family:JetBrains Mono;font-weight:400;font-display:block;src:url(/quest_log_desktop/assets/JetBrainsMono-Regular-CtxPQfgF.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-display:block;src:url(/quest_log_desktop/assets/JetBrainsMono-Medium-XfjSvX7f.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:700;font-display:block;src:url(/quest_log_desktop/assets/JetBrainsMono-Bold-DxpIpPQ0.woff2)format("woff2")}:root{--bg:#000;--surface:#060d08;--surface-raised:#0b160d;--line:#12301a;--xp-wash:#092903;--text-dim:#2b903f;--text:#2fb344;--accent:#39ff14;--text-bright:#b6ffb0;--backdrop:#0009;--glow-inset:inset 0 0 6px 0 #39ff1459;--glow:0 0 6px 0 #39ff1459;--glow-faint:0 0 8px 0 #39ff1438;--glow-bright:0 0 6px 0 #39ff1499;--glow-text:0 0 6px #39ff1459;--glow-text-bright:0 0 6px #39ff1499;--glow-text-faint:0 0 6px #39ff1433;--accent-05:#39ff140d;--accent-10:#39ff141a;--accent-12:#39ff141f;--accent-20:#39ff1433;--accent-35:#39ff1459;--accent-60:#39ff1499;--bright-08:#b6ffb014;--accent-deep:#1f8f2c;--flash:#fff;--line-lit:#145907;--phosphor:radial-gradient(130% 100% at 0% 0%, var(--accent-10), transparent 62%);--scanlines:repeating-linear-gradient(to bottom, var(--accent-05) 0 1px, transparent 1px 3px);--lit-rule:linear-gradient(90deg, transparent, var(--line) 15%, var(--accent-35) 50%, var(--line) 85%, transparent);--fade-rule:linear-gradient(90deg, var(--line), transparent);--fade-rule-lit:linear-gradient(90deg, var(--accent-35), transparent);--text-scale:1;--font:"JetBrains Mono", ui-monospace, monospace;--fs-title:calc(22px * var(--text-scale));--fs-display:calc(18px * var(--text-scale));--fs-body:calc(14px * var(--text-scale));--fs-quest:calc(13px * var(--text-scale));--fs-meta:calc(12px * var(--text-scale));--fs-small:calc(11px * var(--text-scale));--lh-body:calc(20px * var(--text-scale));--lh-meta:calc(16px * var(--text-scale));--s-xs:4px;--s-sm:8px;--s-md:12px;--s-lg:16px;--s-xl:24px;--radius:2px;--hairline:1px;--caret:calc(24px * var(--text-scale));--check:calc(27px * var(--text-scale) - 6px);--indent:calc(var(--check) + var(--s-sm));--fast:.12s;--base:.2s;--slow:.32s;--ease:cubic-bezier(.33, 1, .68, 1);--ease-exit:cubic-bezier(.32, 0, .67, 0);--ease-fold:cubic-bezier(.25, .1, .25, 1);--loops:running;--sidebar:288px;--detail:380px;--head:56px;--detail-min:40px;--control:32px;--row:32px;--nav-x:12px;--nav-icon:16px;--setting-control:calc(200px * var(--text-scale))}@media (prefers-reduced-motion:reduce){:root:not([data-reduce-motion=off]){--fast:0s;--base:0s;--slow:0s;--loops:paused}}:root[data-reduce-motion=on]{--fast:0s;--base:0s;--slow:0s;--loops:paused}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:400 var(--fs-body) / var(--lh-body) var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:var(--hairline) dashed var(--accent);outline-offset:2px;box-shadow:var(--glow)}.page-body:focus-visible{outline-offset:-2px;box-shadow:none}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.nav-item,.nav-section-head,.icon-btn,.text-btn,.switch-btn,.prio-btn,.seg-btn,.check,.caret,.add-sub,.link,.area-project,.quick-add,.search,.field select,.field input,.setting select,.setting input,.notes-field{transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--fast);transition-timing-function:var(--ease)}h1,h2,h3,p,dl,dd{margin:0}mark{color:var(--accent);background:0 0;text-decoration:underline}.dim{color:var(--text-dim)}.bright{color:var(--text-bright)}.accent{color:var(--accent)}.glow-text{text-shadow:var(--glow-text)}.small{font-size:var(--fs-meta);line-height:var(--lh-meta)}.empty{padding:var(--s-xl) var(--s-lg);color:var(--text-dim)}.empty.all-clear{color:var(--accent);text-shadow:var(--glow-text-faint)}.welcome{gap:var(--s-md);padding:var(--s-xl) var(--s-lg);color:var(--text);flex-direction:column;display:flex}.welcome p{max-width:68ch}.welcome b{color:var(--text-bright)}.welcome .button-row{align-items:center;gap:var(--s-md);display:flex}.welcome-keys{gap:var(--s-xs) var(--s-lg);font-size:var(--fs-meta);grid-template-columns:max-content 1fr;margin:0;display:grid}.welcome-keys>div{display:contents}.welcome-keys dt{color:var(--accent)}.welcome-keys dd{color:var(--text-dim);margin:0}.app{grid-template-columns:var(--sidebar) minmax(0, 1fr) var(--detail);height:100vh;transition:grid-template-columns var(--base) var(--ease);display:grid}.app.detail-collapsed{grid-template-columns:var(--sidebar) minmax(0, 1fr) var(--detail-min)}.app.on-page,.app.on-page.detail-collapsed{grid-template-columns:var(--sidebar) minmax(0, 1fr) 0px}.app.on-page>.detail,.app>.drawer-btn,.app>.drawer-scrim{display:none}.sidebar{--row:36px;--nav-icon:20px;--nav-fs:calc(15px * var(--text-scale));--nav-glyph-fs:calc(17px * var(--text-scale));--nav-count-fs:calc(13px * var(--text-scale));--nav-head-fs:calc(12px * var(--text-scale));gap:var(--s-xs);padding:var(--s-md) var(--s-sm) var(--s-sm);border-right:var(--hairline) solid var(--line);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.sidebar-scroll{gap:var(--s-xs);min-height:0;margin:0 calc(-1 * var(--s-sm));padding:var(--s-xs) var(--s-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.masthead{margin-bottom:var(--s-xs);padding:var(--s-md) calc(var(--nav-x) - var(--hairline));border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--phosphor), var(--surface);flex-direction:column;gap:6px;display:flex;position:relative}.masthead-scan{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.masthead-scan:before{content:"";background:var(--scanlines);animation:1.8s linear infinite scan-drift;animation-play-state:var(--loops);will-change:transform;position:absolute;inset:-3px 0 0}@keyframes scan-drift{to{transform:translateY(3px)}}.masthead-scan:after{content:"";background:linear-gradient(to bottom, transparent, var(--accent-05) 60%, var(--bright-08) 70%, transparent);height:45%;animation:7s linear infinite scan-band;animation-play-state:var(--loops);position:absolute;top:0;left:0;right:0;transform:translateY(-110%)}@keyframes scan-band{0%{transform:translateY(-110%)}40%,to{transform:translateY(240%)}}.masthead>:not(.masthead-scan){z-index:1;position:relative}.masthead:before,.masthead:after{content:"";border:0 solid var(--accent);width:12px;height:12px;filter:drop-shadow(0 0 3px var(--accent-60));pointer-events:none;position:absolute}.masthead:before{border-top-width:var(--hairline);border-left-width:var(--hairline);top:-1px;left:-1px}.masthead:after{border-right-width:var(--hairline);border-bottom-width:var(--hairline);bottom:-1px;right:-1px}.brand{text-align:left;font:700 var(--fs-title) / 28px var(--font);white-space:nowrap;letter-spacing:-.5px;align-items:baseline;display:flex}.brand-bracket{color:var(--text-dim)}.brand-level{text-align:center;min-width:.6em;color:var(--text-bright);text-shadow:var(--glow-text-bright);display:inline-block}.brand-level.level-up{animation:level-pop calc(var(--slow) * 3) var(--ease)}@keyframes level-pop{0%{transform:scale(1)}30%{color:var(--flash);transform:scale(1.6)}to{transform:scale(1)}}.brand-name{color:var(--accent);text-shadow:var(--glow-text)}.brand:hover .brand-name{text-shadow:var(--glow-text-bright)}.xp{gap:var(--s-xs);margin-top:var(--s-sm);flex-direction:column;display:flex}.xp-bar{align-items:center;gap:var(--s-xs);display:flex}.xp-bracket{color:var(--text-dim);font-size:var(--fs-meta);flex:none;line-height:1}.xp-track{flex:1;height:10px;position:relative}.xp-cells{background:var(--accent-12);position:absolute;inset:0;overflow:hidden;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 calc(5% - 2px),#0000 calc(5% - 2px) 5%);mask-image:repeating-linear-gradient(90deg,#000 0 calc(5% - 2px),#0000 calc(5% - 2px) 5%)}.xp-track{filter:drop-shadow(0 0 3px var(--accent-35))}.xp-fill{background:linear-gradient(90deg, var(--accent-deep), var(--accent));transform:translateX(calc((var(--xp) - 1) * 100%));transition:transform var(--slow) var(--ease);position:absolute;inset:0}.xp-fill.spent{animation:fade-out calc(var(--slow) * 1.5) var(--ease) forwards;transform:none}.xp-fill.grow{animation:xp-fill-grow var(--slow) var(--ease)}@keyframes xp-fill-grow{0%{transform:translate(-100%)}}.xp-numbers{text-align:center;font-size:var(--fs-small);letter-spacing:.5px}.xp-into{color:var(--text-bright);display:inline-block;position:relative}.xp-into-glow{color:var(--accent);text-shadow:var(--glow-text-bright);opacity:0;pointer-events:none;animation:xp-into-glow calc(var(--slow) * 3) var(--ease);position:absolute;top:0;left:0}@keyframes xp-into-glow{20%{opacity:1}}.nav-section{padding-top:var(--s-sm);flex-direction:column;display:flex;position:relative}.nav-section+.nav-section:before{content:"";top:0;left:var(--s-sm);right:var(--s-sm);height:var(--hairline);background:var(--lit-rule);position:absolute}.nav-section.bottom{border-top:var(--hairline) solid var(--line);margin-top:auto}.nav-section.bottom:before{display:none}.nav-section-head{align-items:center;gap:var(--s-sm);width:100%;min-height:var(--row);padding:0 var(--nav-x);border:var(--hairline) solid transparent;border-radius:var(--radius);color:var(--text-dim);font-size:var(--nav-head-fs);letter-spacing:1.5px;text-align:left;font-weight:700;display:flex}.nav-section-head:hover{color:var(--accent)}.nav-section-head .caret{width:var(--nav-icon);font-size:calc(21px * var(--text-scale));color:var(--accent);opacity:.7}.sidebar-scroll{--head-boost:1.17}.sidebar-scroll .nav-section-head{font-size:calc(var(--nav-head-fs) * var(--head-boost))}.sidebar-scroll .nav-section-head .caret{font-size:calc(21px * var(--head-boost) * var(--text-scale))}.sidebar-scroll .nav-section-head .count{font-size:calc(var(--fs-meta) * var(--head-boost))}.nav-section-head:hover .caret{opacity:1;text-shadow:var(--glow-text)}.nav-section-head .nav-glyph{color:var(--accent)}.nav-section-title{flex:1}.nav-section-head .count{font-weight:400;font-size:var(--fs-meta)}.nav-section-dot{background:var(--accent);width:6px;height:6px;box-shadow:var(--glow-bright);border-radius:50%}.nav-section-body{transition:grid-template-rows var(--base) var(--ease-fold), opacity var(--base) var(--ease-fold);grid-template-rows:1fr;display:grid}.nav-section.collapsed .nav-section-body{opacity:0;visibility:hidden;transition:grid-template-rows var(--base) var(--ease-fold), opacity var(--base) var(--ease-fold), visibility 0s var(--base);grid-template-rows:0fr}.nav-section-inner{flex-direction:column;min-height:0;display:flex;overflow:hidden}.nav-item{align-items:center;gap:var(--s-sm);width:100%;min-height:var(--row);padding:0 var(--nav-x);border:var(--hairline) solid transparent;border-radius:var(--radius);color:var(--text);text-align:left;font-size:var(--nav-fs);letter-spacing:.5px;font-weight:700;display:flex}.nav-item:hover{background:var(--surface);color:var(--text-bright);box-shadow:inset 2px 0 0 var(--accent-20)}.nav-item:hover .nav-glyph{text-shadow:var(--glow-text-bright)}.nav-item.on{border-color:var(--accent);background:var(--surface);color:var(--text-bright);box-shadow:var(--glow-faint)}.nav-item .nav-glyph{width:var(--nav-icon);font-size:var(--nav-glyph-fs);text-align:center;color:var(--accent);text-shadow:var(--glow-text);flex:none}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-weight:inherit;flex:1;overflow:hidden}.nav-item .count{color:var(--text-dim);font-weight:400;font-size:var(--nav-count-fs)}.nav-item.on .count{color:var(--accent)}.nav-item .count.hot{color:var(--accent);text-shadow:var(--glow-text)}.nav-item.area .caret{width:var(--nav-icon);font-size:calc(22px * var(--text-scale))}.nav-item.project{padding-left:calc(var(--nav-x) + var(--nav-icon) + var(--s-sm) + var(--s-md));letter-spacing:0;color:var(--text);font-weight:400}.nav-item.add-area{color:var(--text-dim)}.nav-item.archived-area{padding-left:calc(var(--nav-x) + var(--nav-icon) + var(--s-sm));color:var(--text-dim)}.nav-item.archived-area.on{color:var(--text-bright)}.nav-empty{min-height:var(--row);padding:0 var(--nav-x) 0 calc(var(--nav-x) + var(--nav-icon) + var(--s-sm));font-size:var(--nav-head-fs);align-items:center;display:flex}.nav-item.add-area:hover{color:var(--accent)}.new-area input{min-width:0;color:var(--text-bright);background:0 0;border:0;outline:none;flex:1}.caret{width:var(--caret);color:var(--text);font-size:calc(15px * var(--text-scale));transition:transform var(--base) var(--ease-fold);flex:none;justify-content:center;display:inline-flex}.caret.open{transform:rotate(90deg)}.caret.hidden{visibility:hidden}.center{flex-direction:column;min-width:0;min-height:0;display:flex}.center-head{align-items:center;gap:var(--s-md);min-height:var(--head);padding:var(--s-sm) var(--s-lg);border-bottom:var(--hairline) solid var(--line);background:var(--scanlines), var(--phosphor);display:flex;position:relative}.center-head:after{content:"";left:0;right:0;bottom:calc(-1 * var(--hairline));height:var(--hairline);background:var(--lit-rule);pointer-events:none;position:absolute}.view-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-bright);font:700 var(--fs-display) / 26px var(--font);text-shadow:var(--glow-text-faint);flex:1;overflow:hidden}.center-body{--list-end:96px;min-height:0;padding-bottom:var(--list-end);flex:1;overflow-y:auto}.center-body:after{content:"";bottom:calc(-1 * var(--list-end));height:var(--s-xl);margin-bottom:calc(-1 * var(--s-xl));background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;display:block;position:sticky}.switch{gap:var(--s-sm);display:flex}.switch-btn{height:var(--control);padding:0 var(--s-sm);color:var(--text-dim);font-size:var(--fs-small);letter-spacing:.5px;align-items:center;display:inline-flex;position:relative}.switch-btn:after{content:"";background:var(--line);height:2px;position:absolute;inset:auto 0 0}.switch-btn:hover:not(.on){color:var(--text)}.switch-btn:hover:not(.on):after{background:var(--text-dim)}.switch-btn.on{color:var(--accent)}.switch-btn.on:after{background:var(--accent);box-shadow:var(--glow)}.icon-btn{width:var(--control);height:var(--control);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--accent);text-shadow:var(--glow-text);flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface);border-color:var(--accent-35);box-shadow:var(--glow-faint)}.icon-btn:active,.text-btn:active:not(:disabled),.prio-btn:active,.seg-btn:active{background:var(--accent-10)}.text-btn{justify-content:center;align-items:center;gap:var(--s-xs);height:var(--control);padding:0 var(--s-md);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--text);font-size:var(--fs-meta);letter-spacing:.5px;white-space:nowrap;display:inline-flex}.text-btn:hover{background:var(--surface);border-color:var(--text-dim);color:var(--text-bright)}.text-btn.primary{color:var(--accent);text-shadow:var(--glow-text)}.text-btn.primary:hover{border-color:var(--accent-35);box-shadow:var(--glow-faint);color:var(--accent)}.text-btn.danger{color:var(--text-dim)}.text-btn.danger:hover,.text-btn.danger:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-10);box-shadow:var(--glow-faint)}.link{color:var(--text);text-align:left}.link:hover:not(:disabled){color:var(--accent);text-decoration:underline}.link[aria-pressed=true]{color:var(--accent);text-shadow:var(--glow-text-faint)}.link:disabled{color:var(--text-dim);opacity:.5}.search,.breadcrumb{align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-lg);border-bottom:var(--hairline) solid var(--line);font-size:var(--fs-meta);display:flex}.search:focus-within{border-bottom-color:var(--accent-35)}.search input{color:var(--text-bright);font-size:var(--fs-body);background:0 0;border:0;outline:none;flex:1}.prompt{color:var(--accent);text-shadow:var(--glow-text)}.crumb{color:var(--accent);letter-spacing:.5px;font-weight:700}.crumb.current{color:var(--text-bright);cursor:default}.quick-add{align-items:flex-start;gap:var(--s-sm);margin:var(--s-sm) var(--s-lg) var(--s-md);padding:var(--s-sm) var(--s-md) var(--s-sm) calc(var(--caret) + var(--s-sm) - var(--hairline));border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--surface);flex:none;display:flex;position:relative}.quick-add:hover:not(.focused){border-color:var(--text-dim)}.quick-add.focused{border-color:var(--accent);box-shadow:var(--glow-faint)}.quick-add textarea{resize:none;color:var(--text-bright);field-sizing:content;min-height:var(--lh-body);line-height:var(--lh-body);background:0 0;border:0;outline:none;flex:1}.quick-add textarea::placeholder{color:var(--text-dim)}.quick-add>.prompt{width:var(--check);text-align:center;line-height:var(--lh-body);flex:none}.quick-add .cursor{left:calc(var(--caret) + var(--s-sm) - var(--hairline) + var(--check) + var(--s-sm));top:var(--s-sm);color:var(--text-dim);pointer-events:none;animation:1.06s step-end infinite blink;position:absolute}@keyframes blink{50%{opacity:0}}.list{flex-direction:column;display:flex}.row-wrap{grid-template-rows:1fr;display:grid}.row-clip{min-height:0}.row-wrap.leaving>.row-clip{overflow:hidden}.quest-list{margin-top:calc(-1 * (var(--s-xs) + var(--hairline)))}.fold{grid-template-rows:1fr;display:grid}.fold-clip{min-height:0}.fold.unfolding,.fold.folding{transition:grid-template-rows var(--slow) var(--ease-fold)}.fold.unfolding>.fold-clip,.fold.folding>.fold-clip{overflow:hidden}.fold.unfolding .row,.fold.folding .row{content-visibility:visible}.fold.unfolding>.fold-clip{transition:opacity var(--slow) var(--ease-fold)}.quest-list>.fold.rest:not(:has(.editing)){content-visibility:auto;contain-intrinsic-size:auto 160px}.fold.folding{grid-template-rows:0fr}.fold.folding>.fold-clip{opacity:0;transition:opacity var(--base) var(--ease)}@starting-style{.fold.unfolding{grid-template-rows:0fr}.fold.unfolding>.fold-clip{opacity:0}}.row{align-items:flex-start;gap:var(--s-sm);min-height:36px;padding:var(--s-sm) var(--s-lg);cursor:default;content-visibility:auto;contain-intrinsic-size:auto 40px;display:flex;position:relative;overflow:hidden}.row:hover{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent-20)}.row.selected{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent), inset 14px 0 14px -14px var(--accent-35)}.row.editing{background:var(--surface);box-shadow:var(--glow-inset);content-visibility:visible;overflow:visible}.row.quest-gap{border-top:var(--hairline) solid var(--line);margin-top:var(--s-xs)}.row.context{opacity:.5}.row>.caret,.row>.check{height:var(--lh-body);line-height:var(--lh-body)}.row>.caret{font-size:calc(19.5px * var(--text-scale));align-items:center}.check{width:var(--check);text-align:center;color:var(--text);font-size:calc(15px * var(--text-scale));letter-spacing:-2px;white-space:nowrap;flex:none}.check:hover{color:var(--accent);text-shadow:var(--glow-text)}.check[aria-checked=false]:hover{position:relative}.check[aria-checked=false]:hover:after{content:"x";opacity:.5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.caret:not(:disabled):hover{color:var(--accent);text-shadow:var(--glow-text)}.row.done .check{color:var(--text-dim)}.title-col{flex:1;min-width:0;position:relative}.title-line,.title-editor,.title-col>.title,.title-col>.meta,.title-col>.notes{max-width:96ch}.title{width:100%;color:var(--text);overflow-wrap:anywhere;transition:color var(--base) var(--ease);display:block}.title.quest-title{color:var(--text-bright);font-size:var(--fs-quest);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.row.done .title{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1.5px}textarea.title{resize:none;field-sizing:content;min-height:var(--lh-body);caret-color:var(--accent);background:0 0;border:0;outline:none;margin:0;padding:0}.meta{align-items:center;gap:var(--s-xs) var(--s-md);color:var(--text-dim);font-size:var(--fs-meta);line-height:var(--lh-meta);flex-wrap:wrap;margin-top:2px;display:flex}.meta.path{letter-spacing:0}.meta-btn{color:var(--text)}.prio-3{color:var(--accent);text-shadow:var(--glow-text)}.prio-2{color:var(--text)}.due.overdue,.overdue{color:var(--accent);text-shadow:var(--glow-text-faint)}.meta .due.overdue,.plan-row .due.overdue{padding:0 var(--s-xs);border:var(--hairline) solid var(--accent-35);border-radius:var(--radius);background:var(--accent-10)}.due.today,.plan-row .due.today{color:var(--text)}.notes{margin-top:var(--s-xs);color:var(--text-dim);white-space:pre-wrap}.title-line>.title{display:inline}.add-sub{width:20px;height:20px;margin-left:var(--s-sm);vertical-align:top;border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--accent);opacity:0;transition:opacity var(--fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.add-sub:hover{border-color:var(--accent-35);box-shadow:var(--glow-faint)}.row:hover .add-sub,.add-sub:focus-visible{opacity:1}.meter{padding:0 var(--s-sm);border:var(--hairline) solid var(--line);border-radius:var(--radius);display:inline-flex;position:relative;overflow:hidden}.meter-fill{background:var(--xp-wash);transform:translateX(calc((var(--p) - 1) * 100%));transition:transform var(--slow) var(--ease);position:absolute;inset:0}.meter-text{position:relative}.meter-xp{color:var(--text)}.meter.full{border-color:var(--accent-35);color:var(--accent);box-shadow:var(--glow-faint)}.meter.full .meter-xp{color:var(--accent)}.plan-section{padding-top:var(--s-sm)}.section-title{align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-lg) var(--s-xs);color:var(--text-dim);font-size:var(--fs-small);letter-spacing:1px;font-weight:700;display:flex}.section-title:after{content:"";height:var(--hairline);background:var(--fade-rule);flex:1}.section-count{font-weight:400}.section-title.overdue{color:var(--accent);text-shadow:var(--glow-text-faint)}.section-title.overdue:after{background:var(--fade-rule-lit)}.plan-row .due{color:var(--text-dim);font-size:var(--fs-meta);flex:none}.plan-row .due.overdue{color:var(--accent)}.title-editor,.quick-add{position:relative}.float-chips{z-index:5;pointer-events:none;position:absolute;bottom:calc(100% + 4px);left:0}.quick-add .float-chips{left:calc(var(--caret) + var(--s-sm) - var(--hairline) + var(--check) + var(--s-sm))}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:22px;padding:0 var(--s-sm);border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--glow);color:var(--accent);font-size:var(--fs-small);pointer-events:auto;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chip-clear{color:var(--text-dim)}.chip-clear:hover{color:var(--accent)}.pop{animation:pop var(--slow) var(--ease);display:inline-block}@keyframes pop{0%{color:var(--accent);transform:scale(1)}37%{color:var(--accent);transform:scale(1.3)}to{transform:scale(1)}}.scan{pointer-events:none;background:var(--accent-12);border-right:2px solid var(--accent);box-shadow:var(--glow-bright);animation:scan calc(var(--slow) * 2) var(--ease) forwards;position:absolute;inset:0}@keyframes scan{0%{opacity:1;transform:translate(-100%)}50%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}.xp-float{color:var(--accent);font-weight:700;font-size:var(--fs-meta);text-shadow:var(--glow-text-bright);pointer-events:none;animation:float calc(var(--fast) + .45s + var(--slow)) var(--ease) forwards;position:absolute;top:6px;right:56px}@keyframes float{0%{opacity:0;transform:translateY(0)}14%{opacity:1}64%{opacity:1}to{opacity:0;transform:translateY(-24px)}}.row-wrap.leaving{transition:grid-template-rows var(--slow) var(--ease) calc(.6s + var(--fast) / 3);grid-template-rows:0fr}.row-wrap.leaving .row{opacity:0;transition:opacity var(--base) var(--ease-exit) .6s, transform var(--base) var(--ease-exit) .6s;transform:translate(48px)}:root[data-reduce-motion=on] .row-wrap.leaving,:root[data-reduce-motion=on] .row-wrap.leaving .row{transition:none}.detail{border-left:var(--hairline) solid var(--line);background:var(--bg);position:relative;overflow:hidden}.detail-full{width:min(var(--detail), 100vw);transition:opacity var(--base) var(--ease), transform var(--base) var(--ease);position:absolute;inset:0 auto 0 0;overflow-y:auto}.detail.minimized .detail-full{opacity:0;visibility:hidden;transition:opacity var(--fast) var(--ease-exit), transform var(--base) var(--ease-exit), visibility 0s var(--base);transform:translate(16px)}.many-list{gap:var(--s-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.many-list>li{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.many-list>li:before{content:"› ";color:var(--accent)}.empty-detail{gap:var(--s-sm);padding:var(--s-md) var(--s-lg) var(--s-xl);flex-direction:column;display:flex}.detail-head-empty{justify-content:flex-end}.detail-min-btn{align-items:center;gap:var(--s-md);width:var(--detail-min);padding:var(--s-md) 0;opacity:0;visibility:hidden;transition:opacity var(--fast) var(--ease), visibility 0s var(--fast);flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0}.detail.minimized .detail-min-btn{opacity:1;visibility:visible;transition:opacity var(--base) var(--ease) var(--fast)}.detail-min-btn:hover{background:var(--surface)}.detail-min-btn:hover .icon-btn{border-color:var(--accent-35);box-shadow:var(--glow-faint)}.detail-min-label{writing-mode:vertical-rl;font-size:var(--fs-small);letter-spacing:.15em;color:var(--text-dim)}.detail-min-btn:hover .detail-min-label{color:var(--accent)}.details{gap:var(--s-md);padding:var(--s-md) var(--s-lg) var(--s-xl);flex-direction:column;display:flex}.detail-head{align-items:center;gap:var(--s-sm);min-height:var(--head);margin:calc(-1 * var(--s-md)) calc(-1 * var(--s-lg)) 0;padding:var(--s-sm) var(--s-lg);border-bottom:var(--hairline) solid var(--line);display:flex}.detail-path{min-width:0;font-size:var(--fs-meta);flex:1}.detail-title-row{align-items:flex-start;gap:var(--s-sm);display:flex}.detail-title-row>.check{height:calc(6px + 22px * var(--text-scale));line-height:calc(6px + 22px * var(--text-scale))}.detail-title{resize:none;border:var(--hairline) solid transparent;border-radius:var(--radius);padding:2px var(--s-xs);color:var(--text-bright);font-size:calc(16px * var(--text-scale));line-height:calc(22px * var(--text-scale));field-sizing:content;cursor:text;background:0 0;outline:none;flex:1}.detail-title:hover:not(:focus){border-color:var(--line)}.detail-title:focus{border-color:var(--accent);box-shadow:var(--glow-faint)}.detail-title.quest-title{text-transform:uppercase;font-weight:700;font-size:calc(15px * var(--text-scale));text-shadow:var(--glow-text-faint)}.fields{gap:var(--s-sm);flex-direction:column;display:flex}.field{align-items:start;gap:var(--s-sm);grid-template-columns:88px minmax(0,1fr);display:grid}.field dt{min-height:var(--control);color:var(--text-dim);transition:color var(--fast) var(--ease);font-size:var(--fs-small);letter-spacing:1px;align-items:center;display:flex}.field select,.field input,.setting select,.setting input,.dialog input{height:var(--control);padding:0 var(--s-sm);border:var(--hairline) solid var(--line);border-radius:var(--radius);background-color:var(--surface);color:var(--text-bright);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none}.field select:focus,.field input:focus,.setting select:focus,.setting input:focus,.dialog input:focus,.notes-field:focus{border-color:var(--accent);box-shadow:var(--glow-faint)}.field select:hover:not(:focus),.field input:hover:not(:focus,:disabled),.setting select:hover:not(:focus),.setting input:hover:not(:focus),.notes-field:hover:not(:focus){border-color:var(--text-dim)}.field:focus-within dt,.setting:focus-within>:first-child{color:var(--accent)}.field select,.setting select{--chevron:var(--text);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--chevron) 50%), linear-gradient(135deg, var(--chevron) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.field select:hover,.setting select:hover,.field select:focus,.setting select:focus{--chevron:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;background:var(--text);width:14px;height:14px;-webkit-mask:var(--picker-icon) center / 14px no-repeat;-webkit-mask:var(--picker-icon) center / 14px no-repeat;mask:var(--picker-icon) center / 14px no-repeat}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;background:var(--text);width:14px;height:14px;-webkit-mask:var(--picker-icon) center / 14px no-repeat;-webkit-mask:var(--picker-icon) center / 14px no-repeat;mask:var(--picker-icon) center / 14px no-repeat}input[type=date]::-webkit-calendar-picker-indicator{--picker-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1.75' y='3' width='12.5' height='11.25' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M1.75 6.75h12.5M5 1v3.5M11 1v3.5' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}input[type=time]::-webkit-calendar-picker-indicator{--picker-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.25' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8 4.25V8l2.75 1.75' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}input[type=date]::-webkit-calendar-picker-indicator:hover{background:var(--accent)}input[type=time]::-webkit-calendar-picker-indicator:hover{background:var(--accent)}.field dd>select,.field dd>input{width:100%}.due-inputs{gap:var(--s-sm);display:grid}.due-inputs input{width:100%;min-width:0}.presets{justify-content:space-between;align-items:center;gap:0 var(--s-sm);min-height:var(--control);font-size:var(--fs-small);flex-wrap:wrap;display:flex}.presets>.link{white-space:nowrap}.seg{gap:var(--s-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.seg-btn,.prio-btn{height:var(--control);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--text)}.seg-btn:hover,.prio-btn:hover{background:var(--surface);border-color:var(--text-dim)}.seg-btn.on,.prio-btn.on{border-color:var(--accent);background:var(--surface);color:var(--accent);box-shadow:var(--glow-faint)}.notes-field{resize:vertical;width:100%;min-height:96px;padding:var(--s-sm);border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);field-sizing:content;outline:none}.objectives .section-title{padding-left:0}.objective{align-items:flex-start;gap:var(--s-sm);padding:4px 0;display:flex}.objective>.check,.objective>.objective-title{line-height:var(--lh-body)}.objective.done .objective-title{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.add-objective{align-items:center;gap:var(--s-sm);min-height:28px;display:flex}.add-objective>.prompt{width:var(--check);text-align:center;flex:none}.add-objective input{border:0;border-bottom:var(--hairline) solid var(--line);color:var(--text-bright);background:0 0;outline:none;flex:1}.add-objective input:focus{border-bottom-color:var(--accent)}.crash{gap:var(--s-md);max-width:760px;padding:var(--s-xl) var(--s-lg);color:var(--text);flex-direction:column;margin:0 auto;display:flex}.crash-error{max-height:50vh;padding:var(--s-sm);border:var(--hairline) solid var(--line);background:var(--surface);color:var(--text-dim);font-size:var(--fs-small);white-space:pre-wrap;-webkit-user-select:text;user-select:text;overflow:auto}.archived-note{padding:var(--s-sm) var(--s-lg);border-bottom:var(--hairline) solid var(--line)}input.area-name{width:calc(100% + 2 * (var(--hairline) + var(--s-xs)));margin:0 calc(-1 * (var(--hairline) + var(--s-xs)));text-transform:uppercase;font-weight:700}.area-projects{flex-direction:column;display:flex}.area-projects .section-title{padding-left:0}.area-project{justify-content:space-between;align-items:center;gap:var(--s-sm);min-height:28px;color:var(--text);text-align:left;display:flex}.area-project:hover{color:var(--accent)}.detail-foot{gap:var(--s-sm);padding-top:var(--s-md);border-top:var(--hairline) solid var(--line);flex-direction:column;display:flex}.button-row{gap:var(--s-sm);flex-wrap:wrap;display:flex}.detail-actions{gap:var(--s-sm);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.menu-layer,.dialog-layer{z-index:50;position:fixed;inset:0}.dialog-layer{background:var(--backdrop);justify-content:center;align-items:center;display:flex}.menu{min-width:240px;max-height:calc(100vh - 16px);padding:var(--s-xs) 0;border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--lit-rule) top / 100% var(--hairline) no-repeat border-box, linear-gradient(var(--line), var(--line)) top / 100% var(--hairline) no-repeat border-box, var(--surface-raised);box-shadow:var(--glow);animation:rise var(--fast) var(--ease);border-top-color:#0000;position:fixed;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}.menu-title{align-items:center;gap:var(--s-sm);min-height:var(--control);max-width:320px;margin-bottom:var(--s-xs);padding:0 var(--s-md);color:var(--text-bright);border-bottom:var(--hairline) solid var(--line);display:flex}.menu-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.menu-heading{min-height:var(--control);padding:0 var(--s-md) 0 calc(var(--s-md) + var(--nav-icon) + var(--s-sm));color:var(--text-dim);font-size:var(--fs-small);letter-spacing:1px;align-items:center;display:flex}.menu-item,.menu-row{align-items:center;gap:var(--s-sm);width:100%;min-height:var(--control);padding:0 var(--s-md);text-align:left;color:var(--text);display:flex}.menu-row{padding-block:var(--s-xs)}.menu-row .prio-btn{flex:1}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--surface);color:var(--text-bright);box-shadow:inset 2px 0 0 var(--accent);outline:none}.menu-item:hover:not(:disabled) .menu-glyph,.menu-item:focus-visible .menu-glyph{text-shadow:var(--glow-text-bright)}.menu-item:disabled{color:var(--line)}.menu-glyph{width:var(--nav-icon);text-align:center;color:var(--accent);text-shadow:var(--glow-text);flex:none}.menu-sep{height:1px;margin:var(--s-xs) 0;background:var(--line)}.dialog{gap:var(--s-md);width:min(440px,100vw - 32px);padding:var(--s-lg);border:var(--hairline) solid var(--accent-35);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--glow);animation:rise var(--base) var(--ease);flex-direction:column;display:flex}.dialog-form{display:contents}.dialog-title{color:var(--text-bright);font-size:var(--fs-body)}.dialog-message{color:var(--text-dim)}.dialog-choices{gap:var(--s-xs);flex-direction:column;display:flex}.dialog-choice{align-items:center;gap:var(--s-sm);accent-color:var(--accent);display:flex}.dialog-buttons{justify-content:flex-end;gap:var(--s-sm);display:flex}.toast{left:50%;bottom:calc(var(--control) + var(--s-lg) * 2 + var(--s-md) + var(--s-sm));z-index:40;align-items:center;gap:var(--s-lg);padding:var(--s-sm) var(--s-sm) var(--s-sm) var(--s-lg);border:var(--hairline) solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:inset 2px 0 0 var(--accent), var(--glow-faint);color:var(--text-bright);font-size:var(--fs-meta);animation:toast-in var(--base) var(--ease);display:flex;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}}.toast{overflow:hidden}.toast-clock{height:var(--hairline);background:var(--accent-60);transform-origin:0;will-change:transform;animation:linear forwards toast-clock;position:absolute;bottom:0;left:0;right:0}.toast.held .toast-clock{animation-play-state:paused}@keyframes toast-clock{to{transform:scaleX(0)}}:root[data-reduce-motion=on] .toast-clock{display:none}@media (prefers-reduced-motion:reduce){:root:not([data-reduce-motion=off]) .toast-clock{display:none}}.toast.leaving{animation:toast-out var(--base) var(--ease-exit) forwards}@keyframes toast-out{to{opacity:0;transform:translate(-50%,12px)}}.menu-layer.leaving .menu,.dialog-layer.leaving{animation:fade-out var(--fast) var(--ease-exit) forwards}.dialog-layer.leaving .dialog{animation:sink var(--fast) var(--ease-exit) forwards}@keyframes fade-out{to{opacity:0}}@keyframes sink{to{transform:translateY(4px)}}.dialog-layer{animation:fade-in var(--base) var(--ease)}@keyframes fade-in{0%{opacity:0}}.page-body{gap:var(--s-lg);padding:var(--s-lg) var(--s-lg) var(--s-xl);flex-direction:column;display:flex}.page-body p{max-width:68ch}.page-body p.small{max-width:none}.page .section-title{color:var(--text-bright);padding-left:0}.page .section-title:after{background:var(--fade-rule-lit)}.settings-group{gap:var(--s-sm);flex-direction:column;display:flex}.setting{justify-content:space-between;align-items:center;gap:var(--s-lg);min-height:calc(var(--control) + var(--s-sm));border-bottom:var(--hairline) solid var(--line);display:flex}.setting>select,.setting>input,.setting>.text-btn{width:var(--setting-control);flex:none}.page-body .button-row>.text-btn{min-width:var(--setting-control)}.import-preview{gap:var(--s-sm);padding:var(--s-md);border:var(--hairline) solid var(--accent);border-radius:var(--radius);box-shadow:var(--glow-faint);flex-direction:column;display:flex}.trash-row{border-bottom:var(--hairline) solid var(--line);align-items:center;padding-left:0;padding-right:0}.trash-row>.text-btn{min-width:96px}.trash-actions{justify-content:flex-end;display:flex}.help p{margin-bottom:var(--s-md);max-width:68ch}.help b{color:var(--text-bright)}.keys>div{gap:var(--s-md);padding:var(--s-xs) 0;border-bottom:var(--hairline) solid var(--line);grid-template-columns:240px minmax(0,1fr);display:grid}.keys dt{color:var(--accent);text-shadow:var(--glow-text-faint)}.keys>div:hover{background:var(--surface)}.keys{max-width:calc(240px + var(--s-md) + 80ch)}@media (max-width:1100px){.app{grid-template-columns:var(--sidebar) minmax(0, 1fr)}.detail{z-index:20;width:min(var(--detail), 100vw);transition:transform var(--base) var(--ease), width var(--base) var(--ease);position:fixed;inset:0 0 0 auto;transform:translate(100%)}.has-selection .detail{box-shadow:var(--glow);transform:none}.app.detail-collapsed{grid-template-columns:var(--sidebar) minmax(0, 1fr);padding-right:var(--detail-min)}.detail-collapsed .detail{width:var(--detail-min);box-shadow:none;transform:none}}@media (max-width:900px){.app,.app.detail-collapsed,.app.on-page,.app.on-page.detail-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:30;width:var(--sidebar);transition:transform var(--base) var(--ease);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open .sidebar{box-shadow:var(--glow);transform:none}.quick-add{margin-left:calc(var(--s-sm) + var(--control) + var(--s-sm))}.app>.drawer-btn{left:var(--s-sm);bottom:var(--s-sm);z-index:25;background:var(--bg);display:inline-flex;position:fixed}.app.drawer-open>.drawer-scrim{z-index:29;background:var(--backdrop);display:block;position:fixed;inset:0}}.drag-area{position:relative}.drag-area.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.handle{width:12px;color:var(--text-dim);cursor:grab;opacity:0;transition:opacity var(--fast) var(--ease);position:absolute;top:8px;left:2px}.row:hover .handle{opacity:1}.row.dragged{opacity:.35}.drop-line{top:0;right:var(--s-lg);background:var(--accent);height:2px;box-shadow:var(--glow);pointer-events:none;margin-top:-1px;position:absolute}.drag-ghost{z-index:60;will-change:transform;max-width:320px;padding:var(--s-xs) var(--s-sm);border:var(--hairline) solid var(--accent);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--glow);color:var(--text-bright);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;position:fixed;top:0;left:0;overflow:hidden;transform:scale(1.02)}.row.multi{background:var(--surface-raised);box-shadow:inset 2px 0 0 var(--accent)}.selection-bar{align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-lg);border-bottom:var(--hairline) solid var(--accent);background:var(--surface);box-shadow:var(--glow-faint);font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.nowrap{white-space:nowrap}.release{gap:var(--s-sm);flex-direction:column;display:flex}.release.current .section-title{color:var(--accent)}.release b{color:var(--text-bright)}.release .change{padding-left:var(--s-lg);position:relative}.release .change:before{content:"·";left:var(--s-xs);color:var(--accent);position:absolute}.release .change.nested{margin-left:var(--s-lg)}.link-btn{color:var(--accent);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-shadow:var(--glow-text-faint)}
