@font-face{font-family:Geist;src:url(/assets/Geist-Variable-Bj2R_7yk.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-Dispecij.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg: oklch(.17 .008 62);--bg-2: oklch(.19 .009 62);--surface: oklch(.205 .01 62);--surface-2: oklch(.235 .01 62);--surface-3: oklch(.27 .012 62);--border: oklch(.3 .01 62);--border-lit: oklch(.37 .012 62);--text: oklch(.9 .015 78);--text-dim: oklch(.64 .018 72);--text-faint: oklch(.52 .02 72);--spice: oklch(.72 .12 58);--spice-lit: oklch(.77 .12 58);--spice-dim: oklch(.58 .1 58);--spice-ink: oklch(.2 .02 60);--spice-tint: oklch(.72 .12 58 / .14);--spice-border: oklch(.72 .12 58 / .35);--spice-ring: oklch(.72 .12 58 / .45);--steel: oklch(.66 .02 240);--ok: oklch(.66 .07 135);--warn: oklch(.74 .1 75);--danger: oklch(.58 .16 25);--danger-tint: oklch(.58 .16 25 / .14);--tier-s: var(--spice);--tier-s-tint: var(--spice-tint);--tier-s-bd: var(--spice-border);--tier-a: oklch(.8 .06 78);--tier-a-tint: oklch(.8 .06 78 / .12);--tier-a-bd: var(--border-lit);--tier-b: oklch(.72 .02 240);--tier-b-tint: oklch(.72 .02 240 / .1);--tier-b-bd: var(--border);--tier-c: oklch(.66 .02 72);--tier-c-tint: oklch(.66 .02 72 / .1);--tier-c-bd: var(--border);--font-display: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--gap: 16px;--radius: 8px;--radius-sm: 6px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}body{background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}.tabular{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--spice);outline-offset:2px}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.eyebrow--spice{color:var(--spice)}.shell{min-height:100vh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px 24px;background:color-mix(in oklch,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand__link{display:flex;align-items:center;gap:10px}.brand__mono{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--spice-border);background:var(--spice-tint);font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--spice)}.brand__text{display:flex;flex-direction:column;gap:1px;line-height:1.2}.brand__mark{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--text)}.brand__sub{font-family:var(--font-body);font-size:11px;color:var(--text-dim)}.navlink{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-dim);padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.navlink:hover{color:var(--text)}.navlink.is-active{color:var(--text);border-bottom-color:var(--spice)}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 24px 80px}.pagehead{margin-bottom:26px}.pagehead--section{margin-top:28px;margin-bottom:12px}.pagehead__desc{margin:6px 0 0;font-size:13px}.pagehead__row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.pagehead h1{margin:6px 0 0;font-family:var(--font-display);font-size:clamp(28px,4vw,44px);font-weight:600;letter-spacing:-.02em;line-height:1.05}.pagehead__rule{height:0;margin-top:18px;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:500;padding:9px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover{background:var(--surface-3);border-color:var(--border-lit)}.btn--spice{background:var(--spice);border-color:var(--spice);color:var(--spice-ink);font-weight:600}.btn--spice:hover{background:var(--spice);border-color:var(--spice);opacity:.9}.btn--ghost{background:transparent}.btn--danger{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn--danger:hover{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.btn--sm{padding:5px 10px;font-size:12px}.btn--icon{padding:4px 8px;font-size:13px;line-height:1;min-width:30px;justify-content:center}.btn:disabled{opacity:.35;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tier{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 7px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.04em;border-radius:var(--radius-sm);border:1px solid}.tier[data-tier=S]{background:var(--tier-s-tint);color:var(--tier-s);border-color:var(--tier-s-bd)}.tier[data-tier=A]{background:var(--tier-a-tint);color:var(--tier-a);border-color:var(--tier-a-bd)}.tier[data-tier=B]{background:var(--tier-b-tint);color:var(--tier-b);border-color:var(--tier-b-bd)}.tier[data-tier=C]{background:var(--tier-c-tint);color:var(--tier-c);border-color:var(--tier-c-bd)}.gauge{display:flex;align-items:center;gap:10px}.gauge__track{position:relative;flex:1;height:6px;background:var(--surface-3);border-radius:999px;overflow:hidden}.gauge__fill{height:100%;border-radius:999px;background:var(--spice);transition:width .4s cubic-bezier(.2,.7,.3,1)}.gauge--done .gauge__fill{background:var(--ok)}.gauge__count{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-dim);min-width:44px;text-align:right}.status{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-family:var(--font-body);font-size:12px;color:var(--text-dim);background:var(--surface-3)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status[data-status=active]{color:var(--spice);background:var(--spice-tint)}.status[data-status=paused]{color:var(--text-dim);background:var(--surface-3)}.status[data-status=done]{color:var(--ok);background:color-mix(in oklch,var(--ok) 16%,transparent)}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--gap)}.statcell{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.statcell__value{font-family:var(--font-mono);font-size:24px;font-weight:600;color:var(--text)}.goalgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap)}.goalcard{display:block;padding:18px;transition:border-color .15s ease}.goalcard:hover{border-color:var(--spice-border)}.goalcard__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.goalcard__title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em}.goalcard__topright{display:flex;align-items:center;gap:8px}.goalcard__delete{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;padding:0;line-height:1;font-size:12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.goalcard__delete:hover{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.goalcard__resume{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-dim);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goalcard__resume .eyebrow{display:block;margin-bottom:4px}.empty{text-align:center;padding:64px 24px;border:1px dashed var(--border-lit);border-radius:var(--radius);background:var(--surface)}.empty--compact{padding:40px}.empty h2{font-family:var(--font-display);font-weight:600;margin:12px 0 6px}.empty p{color:var(--text-dim);margin:0 0 22px}.chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;padding:3px 8px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border);color:var(--text-dim)}.newgoal-title-panel{padding:20px}.newgoal-title-panel .input{width:100%;margin-top:8px}.gearpicker-scroll{max-height:460px;overflow-y:auto;padding-right:4px;margin-right:-4px}.gearpicker{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.gearoption{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;padding:12px 14px;cursor:pointer;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}.gearoption:hover{border-color:var(--border-lit)}.gearoption.is-selected{border-color:var(--spice);background:var(--spice-tint)}.gearoption--set{border-color:var(--spice-border)}.gearoption__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gearoption__name{font-family:var(--font-display);font-weight:600;font-size:14px}.gearoption__meta{font-family:var(--font-body);font-size:11px;color:var(--text-faint)}.gearoption__focus{color:var(--text-dim);font-size:12px}.gearoption__mark{width:16px;flex-shrink:0;text-align:center;color:var(--spice);font-weight:600}.pickerhint{font-family:var(--font-body);font-size:13px;color:var(--spice)}.input,.textarea,.select{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--spice);box-shadow:0 0 0 2px var(--spice-ring)}.textarea{width:100%;resize:vertical;min-height:84px;line-height:1.55}.select{cursor:pointer}.input--grow{flex:1;min-width:180px}.detailhead{padding:20px;margin-bottom:24px;margin-top:12px}.detailhead__top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.detailhead__progress{margin-top:16px;max-width:460px}.title-input{flex:1;min-width:200px;font-family:var(--font-display);font-size:clamp(22px,3vw,30px);font-weight:600;letter-spacing:-.02em;color:var(--text);background:transparent;border:none;border-bottom:2px solid transparent;padding:2px 0}.title-input:hover{border-bottom-color:var(--border-lit)}.title-input:focus{outline:none;border-bottom-color:var(--spice)}.detailhead__note{margin-top:18px}.detailhead__note .eyebrow{display:block;margin-bottom:6px}.manifest{display:flex;flex-direction:column;gap:8px}.manifest__head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}.taskrow{display:grid;grid-template-columns:auto auto auto 1fr auto auto;align-items:center;gap:10px;padding:4px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.taskrow.is-done{opacity:.78}.reorder{display:flex;flex-direction:column;gap:1px}.reorder button{width:20px;height:11px;line-height:1;padding:0;font-size:8px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.reorder button:hover:not(:disabled){color:var(--spice);border-color:var(--spice-dim)}.reorder button:disabled{opacity:.25;cursor:default}.check{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1.5px solid var(--border-lit);border-radius:var(--radius-sm);background:var(--bg-2);cursor:pointer;position:relative;transition:background .12s ease,border-color .12s ease}.check:hover{border-color:var(--spice)}.check:checked{background:var(--spice);border-color:var(--spice)}.check:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--spice-ink);font-size:13px;font-weight:900}.taskrow__body{display:flex;flex-direction:row;align-items:baseline;gap:8px;min-width:0}.taskrow__meta{display:flex;align-items:center;gap:6px;padding-left:2px;flex-shrink:0}.taskrow__meta .tier{min-width:20px;height:17px;padding:0 5px;font-size:10px}.taskrow__loc{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskrow__set{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap}.label-input{font-family:var(--font-body);font-size:14px;color:var(--text);background:transparent;border:none;border-bottom:1px solid transparent;padding:1px 2px;width:100%;flex:1;min-width:0}.label-input:hover{border-bottom-color:var(--border)}.label-input:focus{outline:none;border-bottom-color:var(--spice)}.is-done .label-input{text-decoration:line-through;color:var(--text-dim)}.label-display{display:inline-block;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-display:hover{border-bottom-color:var(--border)}.label-display:focus{outline:none;border-bottom-color:var(--spice)}.grade-select{width:52px;text-align:center;cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px}.grade-select:focus{outline:none;border-color:var(--spice)}.taskrow__actions{display:flex;align-items:center;gap:4px}.taskrow__ref{grid-column:1 / -1}.refcard{margin-top:6px;padding:14px 16px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.refcard__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.refcard__name{font-family:var(--font-display);font-weight:600;font-size:15px}.refcard__focus{color:var(--text-dim);font-size:12px}.refgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px}.reffield .eyebrow{display:block;margin-bottom:3px}.reffield p{margin:0;font-size:13px;color:var(--text)}.reffield--full{grid-column:1 / -1}.reffield__survival{margin-top:3px;font-size:12px}.refaugs{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#080603b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:10vh 20px 20px}.modal{width:100%;max-width:560px;max-height:74vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-lit);border-radius:var(--radius);box-shadow:0 30px 80px -30px #000}.modal__head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal__head .eyebrow{margin-right:auto}.modal__search{padding:14px 18px;border-bottom:1px solid var(--border)}.modal__search .input{width:100%}.modal__results{overflow-y:auto;padding:8px}.result{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius);background:transparent;border:1px solid transparent;color:inherit;cursor:pointer}.result:hover{background:var(--surface-2);border-color:var(--border-lit)}.result__name{font-size:14px;font-weight:600}.result__meta{font-family:var(--font-body);font-size:11px;color:var(--text-faint);margin-left:auto}.result__empty{padding:24px;text-align:center;color:var(--text-dim)}.tabs{display:flex;gap:18px;margin:6px 0 20px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.tab{font-family:var(--font-body);font-size:14px;font-weight:500;padding:10px 2px;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-dim);cursor:pointer}.tab:hover{color:var(--text)}.tab.is-active{color:var(--text);border-bottom-color:var(--spice)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.dtable{width:100%;border-collapse:collapse}.dtable th{text-align:left;padding:8px 12px;font-family:var(--font-body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--text-faint);border-bottom:1px solid var(--border)}.dtable td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}.dtable tr:hover td{background:var(--surface)}.dtable .cell-name{font-weight:600;color:var(--text)}.dtable .cell-dim{color:var(--text-dim)}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.msg{padding:40px 8px;color:var(--text-dim);font-size:14px}.msg--error{color:var(--warn)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row--split{justify-content:space-between;margin-top:20px}.spacer{flex:1}.muted{color:var(--text-dim)}.backlink{font-family:var(--font-body);font-size:13px;color:var(--text-dim)}.backlink:hover{color:var(--text)}@media (max-width: 560px){.taskrow{grid-template-columns:auto auto auto 1fr}.taskrow .grade-select,.taskrow .tier,.taskrow .taskrow__actions{grid-column:span 4}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.taskrow__collapse{background:none;border:0;color:var(--text-dim);cursor:pointer;font-size:12px;width:18px;padding:0}.taskrow__collapse--spacer{cursor:default}.taskrow.is-child{opacity:.96}.taskrow.is-child .label-display{font-size:.95em}.setband{margin:14px 0 4px;padding-left:4px}.viewtoggle{display:inline-flex;gap:4px;border:1px solid var(--border);border-radius:var(--radius);padding:2px}.viewtoggle__btn{background:none;border:0;color:var(--text-dim);padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.viewtoggle__btn.is-active{background:var(--spice-tint);color:var(--spice)}.locbucket{margin:14px 0}.locbucket__head{margin-bottom:6px}.locrow{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--border)}.locrow.is-done .locrow__label{text-decoration:line-through;opacity:.55}.locrow__pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--spice);font-size:13px}.locrow__for{font-size:12px}.setpicker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}.sharewrap{position:relative;display:inline-block}.sharepop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:flex;flex-direction:column;gap:8px;padding:12px;min-width:280px;background:var(--surface-2);border:1px solid var(--border-lit);border-radius:var(--radius);box-shadow:0 20px 48px -20px #000}.sharepop__row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim)}.sharepop__url{width:100%;font-family:var(--font-mono);font-size:12px}.importbar{display:flex;gap:8px;align-items:center}.importbar__input{min-width:200px}.importlist{list-style:none;padding:0;margin:16px 0}.importlist__item{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:14px}.importlist__item--child{padding-left:28px;color:var(--text-dim)}.msg--warn{padding:10px 12px;border-radius:var(--radius);background:color-mix(in oklch,var(--warn) 14%,transparent);border:1px solid color-mix(in oklch,var(--warn) 40%,transparent);color:var(--warn);font-size:13px}.tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;padding:2px 7px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border);color:var(--text-dim)}.tag--warn{background:color-mix(in oklch,var(--warn) 18%,transparent);border-color:color-mix(in oklch,var(--warn) 45%,transparent);color:var(--warn)}.actions{display:flex;gap:12px;margin-top:16px}
