:root{--bg:#0b0c0e;--surface:#14161a;--surface-2:#1a1d22;--hairline:#ffffff12;--hairline-strong:#ffffff24;--text:#ecebe6;--dim:#8e9096;--faint:#5d5f66;--gold:#d4b36a;--gold-bright:#e9d29c;--gold-soft:#d4b36a59;--gold-faint:#d4b36a24;--gold-dim:#d4b36a52;--stone:#aaa79f;--stone-soft:#aaa79f47;--stone-wash:#aaa79f0b;--stone-line:#aaa79f29;--ember:#b0564b;--ember-soft:#b0564b66;--emerald:#3ba876;--emerald-soft:#3ba87659;--crimson:#cd5347;--crimson-soft:#cd534759;--wash:#ffffff04;--track:#ffffff17;--cell-empty:#ffffff0d;--chart-grid:#ffffff1a;--ring-idle:#ffffff21;--overlay:#0b0c0ee6;--nav-glass:#14161ae6;--scrim:#00000080;--serif:"New York", ui-serif, Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-display:var(--serif);--font-ui:var(--sans);--font-data:var(--sans);--nav-h:58px;--scheme:dark}html[data-theme=light]{--bg:#eae8e2;--surface:#f5f3ee;--surface-2:#edebe4;--hairline:#2d261c1a;--hairline-strong:#2d261c33;--text:#26221b;--dim:#726d63;--faint:#a29c90;--gold:#9a7a34;--gold-bright:#7c6128;--gold-soft:#9a7a346b;--gold-faint:#9a7a341f;--gold-dim:#9a7a3452;--stone:#77746d;--stone-soft:#77746d57;--stone-wash:#77746d0b;--stone-line:#77746d33;--ember:#a84a3f;--ember-soft:#a84a3f66;--emerald:#1e7a52;--emerald-soft:#1e7a5252;--crimson:#ab3529;--crimson-soft:#ab35294d;--wash:#2d261c05;--track:#2d261c1a;--cell-empty:#2d261c12;--chart-grid:#2d261c24;--ring-idle:#2d261c24;--overlay:#efece6e6;--nav-glass:#faf9f5e6;--scrim:#26221b66;--scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:15px;line-height:1.4;overflow-x:hidden}button{font-family:var(--font-ui);color:inherit;cursor:pointer;font-size:inherit;background:0 0;border:none}input,select{font-family:var(--font-ui);background:var(--surface);border:1px solid var(--hairline);color:var(--text);box-shadow:inset 0 1px 0 var(--stone-wash);border-radius:10px;outline:none;padding:9px 12px;font-size:15px}input:focus{border-color:var(--gold-soft)}input[type=time],input[type=date]{color-scheme:var(--scheme)}.app{max-width:620px;min-height:100dvh;margin:0 auto}.view{padding:max(18px, env(safe-area-inset-top)) 18px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px)}.view.has-composer{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 96px)}.day-header{justify-content:space-between;align-items:center;gap:12px;padding:6px 2px 2px;display:flex}.day-title{font-family:var(--font-display);letter-spacing:.01em;font-size:30px;font-weight:500}.day-date-nav{align-items:center;gap:4px;display:flex}.day-date-nav button{width:24px;height:30px;color:var(--faint);font-family:var(--font-display);font-size:24px;line-height:1}.day-date-nav button:active{color:var(--gold);transform:scale(.9)}.day-sub{color:var(--dim);margin-top:3px;font-size:13px}.streak-chip{text-align:right;margin-right:14px}.streak-num{color:var(--gold);font-size:24px;font-weight:500;line-height:1.1}.streak-num.zero{color:var(--faint)}.streak-label{letter-spacing:.06em;color:var(--faint);text-transform:uppercase;font-size:10px}.streak-lost{color:var(--ember);margin-top:2px;font-size:12px}.view-title{font-family:var(--font-display);padding:6px 2px 16px;font-size:26px;font-weight:500}.progress-titlebar{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.progress-titlebar .view-title{flex:none}.progress-header-stats{text-align:right;white-space:nowrap;grid-template-columns:repeat(3,auto);gap:10px;padding-top:9px;display:grid}.progress-header-stats>div{gap:1px;display:grid}.progress-header-stats span{min-height:14px;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:2px;font-size:9px;display:inline-flex}.progress-header-stats strong{color:var(--text);font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500;line-height:1}.progress-header-stats>div:first-child strong{color:var(--gold)}.section{background:var(--surface);border:1px solid var(--hairline);box-shadow:inset 0 1px 0 var(--stone-wash);border-radius:16px;margin-top:20px;transition:opacity .6s;overflow:hidden}.section-head{justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.section-name{font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--dim);font-size:12px}.section-count{font-family:var(--font-data);color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.section-count.sealed{color:var(--gold)}.daily-macros-overview{justify-content:center;align-items:center;gap:22px;padding:2px 16px 12px;display:flex}.daily-macros-card{background:linear-gradient(135deg, var(--stone-wash), transparent 48%), var(--surface);border-color:var(--stone-line)}.daily-macros-card .section-name{color:var(--stone)}.daily-macro-ring{flex:none;place-items:center;display:grid;position:relative}.daily-macro-ring svg{display:block}.daily-ring-center{justify-items:center;line-height:1;display:grid;position:absolute}.daily-ring-center strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:18px}.daily-ring-center span{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;margin-top:3px;font-size:10px}.daily-macro-legend{gap:8px;min-width:132px;display:grid}.daily-macro-legend>div{color:var(--dim);grid-template-columns:8px 1fr auto;align-items:center;gap:7px;font-size:12px;display:grid}.daily-macro-legend strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.daily-macro-dot{border-radius:2px;width:7px;height:7px}.daily-targets{border-top:1px solid var(--stone-line);gap:10px;padding:11px 16px 15px;display:grid}.daily-target-line{color:var(--dim);justify-content:space-between;margin-bottom:5px;font-size:11.5px;display:flex}.daily-target-line span:last-child{color:var(--text);font-variant-numeric:tabular-nums}.row{border-top:1px solid var(--hairline);align-items:center;gap:13px;padding:12px 16px;transition:opacity .45s;display:flex}.row.dragging{opacity:.48}.task-drag-handle{touch-action:none;cursor:grab;flex:none;place-content:center;gap:3px;width:18px;display:grid}.task-drag-handle:active{cursor:grabbing}.task-drag-handle span{background:var(--faint);width:3px;height:3px;box-shadow:6px 0 var(--faint);border-radius:50%}.task-reminder-toggle{align-items:center;gap:5px;display:inline-flex}.task-reminder-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.task-reminder-toggle.on{color:var(--gold);background:var(--gold-faint);border-color:var(--gold-soft)}.task-reminder-toggle.on svg .bell-body{fill:var(--gold);stroke:var(--gold)}.review-check:disabled{opacity:.3;cursor:not-allowed}.row-body{text-align:left;flex:1;min-width:0}.row-title{font-family:var(--font-display);letter-spacing:-.005em;overflow-wrap:break-word;font-size:15px;font-weight:500;transition:color .4s}.task-row .row-title,.view.has-composer .row-title{font-family:var(--serif);letter-spacing:.002em;font-size:16px;font-weight:500}.view.has-composer .section-name{color:var(--text);font-family:var(--serif);letter-spacing:.002em;text-transform:none;font-size:16px;font-weight:500}.row-meta{font-family:var(--font-ui);color:var(--faint);margin-top:1px;font-size:11.5px;line-height:1.35}.row.done .row-title{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--gold-soft);text-decoration-color:var(--gold-soft);text-decoration-thickness:1px}.row-side{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--faint);flex-shrink:0;font-size:12px}.row-side.gold{color:var(--gold)}.check{border:1.5px solid var(--hairline-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:border-color .25s,background .25s,transform .12s;display:flex;position:relative}.check:active{transform:scale(.86)}.check.on{background:var(--gold);border-color:var(--gold);animation:.32s cubic-bezier(.34,1.56,.64,1) check-pop}@keyframes check-pop{0%{transform:scale(.85)}60%{transform:scale(1.1)}to{transform:scale(1)}}.check.sq{border-radius:34%}.check.partial{border-color:var(--gold-soft);background:var(--gold-faint)}.check .dash{background:var(--gold-soft);border-radius:1px;width:9px;height:2px}.pillar-glyph{width:17px;height:17px;stroke:var(--faint);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.pillar-glyph.sealed{stroke:var(--gold)}.check svg{width:13px;height:13px;stroke:var(--bg);stroke-width:2.6px;fill:none;stroke-linecap:round;stroke-linejoin:round}.check.on svg path{stroke-dasharray:20;stroke-dashoffset:20px;animation:.28s ease-out 40ms forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.row-actions{border-top:none;flex-wrap:wrap;gap:8px;padding:0 16px 12px 55px;display:flex}.chip-btn{color:var(--dim);border:1px solid var(--hairline);border-radius:999px;padding:5px 12px;font-size:12px;transition:border-color .2s,color .2s}.chip-btn:active{transform:scale(.96)}.chip-btn.danger{color:var(--ember);border-color:var(--ember-soft)}.chip-btn.gold,.chip-btn.active{color:var(--gold);border-color:var(--gold-soft)}.rename-input{flex:1;padding:6px 10px;font-size:14px}.seal-banner{border:1px solid var(--gold-soft);text-align:center;border-radius:16px;margin-top:20px;padding:26px 16px 24px;animation:.8s settle}.seal-ring{border:1.5px solid var(--gold);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex}.seal-ring svg{width:22px;height:22px;stroke:var(--gold);stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round}.seal-title{font-family:var(--serif);margin-top:13px;font-size:21px}.seal-sub{color:var(--dim);margin-top:4px;font-size:12.5px}.sealed-dim{opacity:.42}@keyframes settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.seal-overlay{background:var(--overlay);z-index:60;flex-direction:column;justify-content:center;align-items:center;animation:.35s overlay-in;display:flex;position:fixed;inset:0}.seal-overlay .big-ring{width:110px;height:110px}.big-ring circle{fill:none;stroke:var(--gold);stroke-width:2px;stroke-dasharray:320;stroke-dashoffset:320px;animation:.9s ease-out .1s forwards draw-ring}.big-ring path{stroke:var(--gold);stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60px;animation:.4s ease-out .8s forwards draw}.seal-overlay .seal-title{margin-top:22px;font-size:24px}@keyframes overlay-in{0%{opacity:0}}@keyframes draw-ring{to{stroke-dashoffset:0}}.urgency{border:1px solid var(--ember-soft);color:var(--ember);text-align:center;border-radius:14px;margin-top:20px;padding:12px 16px;font-size:13px}.composer{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 10px);z-index:40;width:min(620px,100%);padding:0 14px;position:fixed;transform:translate(-50%)}.composer-card{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:16px;padding:10px 12px;box-shadow:0 10px 30px #00000080}.composer-main{align-items:center;gap:8px;display:flex}.composer input[type=text]{background:0 0;border:none;flex:1;padding:6px 4px;font-size:15px}.composer-send{background:var(--gold);width:34px;height:34px;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:transform .12s,opacity .2s;display:flex}.composer-send:disabled{opacity:.25}.composer-send:active{transform:scale(.9)}.composer-opts{flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px;display:flex}.picker-chip{color:var(--dim);border:1px solid var(--hairline);border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;display:inline-flex;position:relative;overflow:hidden}.picker-chip.set{color:var(--gold);border-color:var(--gold-soft)}.picker-chip input{opacity:0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.wk-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.repeat-config{border-top:1px solid var(--hairline);gap:10px;width:100%;margin-top:10px;padding-top:10px;display:grid}.repeat-frequency,.repeat-days{align-items:center;gap:10px;display:flex}.repeat-days{gap:6px;display:grid}.repeat-caption{color:var(--faint);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.repeat-config>select,.repeat-config>input{min-width:0;padding:7px 9px;font-size:13px}.repeat-config>input[type=number]{width:88px}.wk{border:1px solid var(--hairline);background:var(--surface);width:100%;height:35px;color:var(--faint);font-family:var(--font-ui);letter-spacing:.02em;border-radius:9px;font-size:10px}.wk.on{border-color:var(--gold-soft);background:var(--gold-faint);color:var(--gold);box-shadow:inset 0 0 0 1px #d4b36a1f}.nav{width:min(620px,100%);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--nav-glass);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--hairline);z-index:50;transition:transform .18s,opacity .16s;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}body.composer-open .nav{opacity:0;pointer-events:none;transform:translate(-50%, calc(100% + env(safe-area-inset-bottom)))}body.composer-open .composer{bottom:calc(env(safe-area-inset-bottom) + 10px)}.nav button{color:var(--faint);letter-spacing:.04em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;transition:color .2s;display:flex}.nav button.active{color:var(--gold)}.nav button.nav-settings{border-left:1px solid var(--hairline);flex:0 0 52px}.nav svg{stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.agenda-day{margin-top:18px}.agenda-head{justify-content:space-between;align-items:baseline;padding:0 4px 8px;display:flex}.agenda-name{font-family:var(--serif);font-size:17px}.agenda-name .sub{font-family:var(--sans);color:var(--faint);margin-left:8px;font-size:12px}.agenda-add{color:var(--faint);padding:2px 8px;font-size:20px;line-height:1}.agenda-empty{color:var(--faint);padding:10px 16px;font-size:13px}.cal-head{justify-content:space-between;align-items:center;margin-top:14px;padding:0 2px;display:flex}.cal-month{font-family:var(--serif);align-items:center;font-size:16px;display:flex}.calendar-view .row-title,.calendar-view .section-name{font-family:var(--serif);letter-spacing:.002em;font-weight:500}.calendar-view .section-name{color:var(--text);text-transform:none;font-size:16px}.cal-grid{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:10px;padding:10px 8px 12px;display:grid}.cal-dow{text-align:center;letter-spacing:.06em;color:var(--faint);padding-bottom:6px;font-size:10px}.cal-cell{aspect-ratio:1;color:var(--dim);border-radius:10px;justify-content:center;align-items:center;font-size:13px;transition:background .2s,color .2s;display:flex;position:relative}.cal-cell.today{color:var(--gold);font-weight:600}.cal-cell.selected{background:var(--gold-faint);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-soft)}.cal-dot{background:var(--gold-soft);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.cal-day-head{justify-content:space-between;align-items:baseline;padding:18px 4px 8px;display:flex}.timeline-wrap{overflow:hidden}.timeline{margin:14px 12px 18px;position:relative}.tl-hour{align-items:center;gap:8px;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.tl-label{color:var(--faint);text-align:right;flex-shrink:0;width:40px;font-size:10px}.tl-rule{background:var(--hairline);flex:1;height:1px}.tl-task{border:1px solid #d4b36a47;border-left:2.5px solid var(--gold);text-align:left;touch-action:none;cursor:grab;background:#d4b36a17;border-radius:9px;align-items:center;gap:10px;padding:0 12px;transition:opacity .15s,box-shadow .15s;display:flex;position:absolute;overflow:hidden}.tl-task.dragging{z-index:8;cursor:grabbing;opacity:.94;transition:none;box-shadow:0 10px 24px #0000004d}.tl-task.tall{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:8px 12px}.tl-task .tl-time{color:var(--gold-bright);font-variant-numeric:tabular-nums;letter-spacing:.045em;text-transform:uppercase;flex-shrink:0;font-size:9.5px}.tl-task .tl-title{font-family:var(--serif);letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.tl-task.done{opacity:.55}.tl-task.done .tl-title{text-decoration:line-through;-webkit-text-decoration-color:var(--gold-soft);text-decoration-color:var(--gold-soft)}.tl-check{width:13px;height:13px;stroke:var(--gold);stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-left:auto}.now-line{background:var(--gold);pointer-events:none;height:1.5px;position:absolute;left:48px;right:0;box-shadow:0 0 6px #d4b36a8c}.now-dot{background:var(--gold);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.day-clock{color:var(--gold-soft)}.budget-row{text-align:left}.budget-over{color:var(--ember)}.budget-detail{border-top:1px solid var(--hairline);background:#ffffff04;padding-top:10px}.payoff-label{color:var(--faint);flex-shrink:0;font-size:10.5px}.inline-form{border-top:1px solid var(--hairline);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.inline-form input[type=text]{flex:1;min-width:120px}.inline-form input,.inline-form select{min-width:0;max-width:100%}.drawer-toggle{background:var(--surface);border:1px solid var(--hairline);width:100%;color:var(--dim);border-radius:14px;justify-content:space-between;align-items:center;padding:13px 16px;font-size:14px;display:flex}.drawer-toggle .n{color:var(--gold)}.sheet-back{background:var(--scrim);z-index:55;animation:.25s overlay-in;position:fixed;inset:0}.sheet{background:var(--surface-2);border:1px solid var(--hairline-strong);z-index:56;width:min(620px,100%);max-height:72dvh;padding:8px 0 calc(env(safe-area-inset-bottom) + 16px);border-bottom:none;border-radius:20px 20px 0 0;animation:.3s sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%)translateY(40px)}}.sheet-grip{background:var(--hairline-strong);border-radius:2px;width:36px;height:4px;margin:6px auto 4px}.sheet-title{font-family:var(--serif);padding:10px 18px 6px;font-size:18px}.schedule-form{flex-wrap:wrap;gap:8px;padding:4px 16px 12px 55px;display:flex}.donut-wrap{flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px 6px;display:flex}.donut{flex-shrink:0;width:140px;height:140px}.donut-total{fill:var(--text);font-size:17px;font-weight:600}.donut-sub{fill:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.donut-legend{flex-direction:column;flex:1;gap:6px;min-width:140px;display:flex}.donut-key{align-items:center;gap:8px;font-size:13px;display:flex}.donut-swatch{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.donut-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.donut-val{color:var(--dim);font-variant-numeric:tabular-nums}.trend-wrap{padding:14px 16px 12px}.trend-bars{align-items:stretch;gap:10px;height:96px;display:flex}.trend-month{flex-direction:column;flex:1;min-width:0;display:flex}.trend-cols{flex:1;justify-content:center;align-items:flex-end;gap:3px;display:flex}.trend-col{border-radius:3px 3px 0 0;width:12px;min-height:2px}.trend-col.in{background:var(--gold);opacity:.9}.trend-col.out{background:var(--faint)}.trend-label{text-align:center;color:var(--dim);letter-spacing:.04em;margin-top:6px;font-size:10.5px}.trend-key{color:var(--dim);justify-content:center;gap:16px;margin-top:10px;font-size:11.5px;display:flex}.trend-key span{align-items:center;gap:6px;display:inline-flex}.stat-grid{gap:26px;padding:4px 4px 2px;display:flex}.stat-num{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:27px;font-weight:500;line-height:1.15}.stat-num.gold{color:var(--gold)}.stat-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-top:2px;font-size:10px}.progress-stats{border:1px solid var(--hairline);background:var(--surface);box-shadow:inset 0 1px 0 var(--stone-wash);border-radius:16px;grid-template-columns:1.2fr 1fr 1fr;margin:0 0 2px;display:grid;overflow:hidden}.progress-stat{border-left:1px solid var(--hairline);text-align:center;align-content:center;min-height:82px;padding:12px 10px;display:grid}.progress-stat:first-child{border-left:0}.progress-stat-value{justify-content:center;align-items:center;gap:5px;min-height:28px;display:flex}.progress-stat-value strong{color:var(--text);font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1}.streak-stat .progress-stat-value strong{color:var(--gold)}.progress-stat>span{color:var(--dim);letter-spacing:.075em;text-transform:uppercase;margin-top:6px;font-size:9.5px}.progress-stat small{color:var(--faint);white-space:nowrap;margin-top:3px;font-size:9.5px}.heatmap{grid-template-rows:repeat(7,13px);grid-auto-columns:13px;grid-auto-flow:column;justify-content:center;gap:4px;padding:20px 0 8px;display:grid}.hm-cell{border-radius:3.5px}.archive-tabs{flex-wrap:wrap;gap:8px;padding:4px 2px 8px;display:flex}.archive-tabs .chip-btn{text-transform:capitalize}.streak-flame-row{justify-content:flex-end;align-items:center;gap:5px;display:flex}.flame{flex-shrink:0;transition:width .6s,height .6s,filter .6s}.flame.max{animation:3.2s ease-in-out infinite flame-breathe}@keyframes flame-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.06)}}.journal-inner{flex-direction:column;min-height:100dvh;display:flex}.gratitude{border-bottom:1px solid var(--hairline);padding:6px 0 18px}.journal-canvas{resize:none;min-height:40dvh;color:var(--text);font-family:var(--serif);background:0 0;border:none;outline:none;flex:1;padding:18px 0;font-size:17px;line-height:1.65}.journal-canvas::placeholder{color:var(--faint)}.journal-count{color:var(--faint);text-align:right;font-variant-numeric:tabular-nums;padding-bottom:12px;font-size:12px}.journal-count.met{color:var(--gold)}.gratitude-list{gap:5px;margin-bottom:9px;display:grid}.gratitude-list>div{border:1px solid var(--hairline);background:var(--stone-wash);color:var(--text);font-family:var(--serif);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:15px;display:flex}.gratitude-list button{color:var(--faint);font-family:var(--sans);font-size:17px}.gratitude-add{gap:8px;display:flex}.gratitude-add input{flex:1;min-width:0}.hm-legend{text-align:center;color:var(--faint);padding-bottom:4px;font-size:11px}.hm-legend .dot{vertical-align:-1px;border-radius:2px;width:8px;height:8px;margin:0 4px 0 12px;display:inline-block}.setting-row{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.setting-row:first-child{border-top:none}.setting-label{font-size:14.5px}.setting-sub{color:var(--faint);margin-top:1px;font-size:12px}.toggle{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:14px;flex-shrink:0;width:46px;height:28px;transition:background .25s,border-color .25s;position:relative}.toggle:after{content:"";background:var(--dim);border-radius:50%;width:20px;height:20px;transition:transform .25s,background .25s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--gold-faint);border-color:var(--gold-soft)}.toggle.on:after{background:var(--gold);transform:translate(18px)}.setting-row input[type=time],.setting-row input[type=number]{text-align:right;width:96px;padding:6px 10px;font-size:14px}.ghost-note{color:var(--faint);padding:14px 4px 0;font-size:12.5px;line-height:1.55}.empty-state{text-align:center;color:var(--faint);padding:34px 24px;font-size:13.5px;line-height:1.6}.empty-state .serif{font-family:var(--serif);color:var(--dim);margin-bottom:6px;font-size:18px;display:block}.screen{background:var(--bg);z-index:70;animation:.28s sheet-up;position:fixed;inset:0;overflow-y:auto}.screen-inner{max-width:620px;padding:max(18px, env(safe-area-inset-top)) 18px calc(env(safe-area-inset-bottom) + 110px);margin:0 auto}.screen-head{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.screen-title{font-family:var(--font-display);font-size:24px;font-weight:500}.screen-close{color:var(--dim);padding:8px 2px 8px 16px;font-size:14px}.screen-cta{left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:71;background:var(--gold);width:min(584px,100% - 36px);color:var(--bg);text-align:center;border-radius:14px;padding:15px;font-size:15px;font-weight:500;transition:transform .12s,opacity .2s;position:fixed;transform:translate(-50%)}.screen-cta:active{transform:translate(-50%)scale(.98)}.screen-cta:disabled{opacity:.35}.screen-cta.done{border:1px solid var(--gold-soft);color:var(--gold);background:0 0}.ghost-sets{color:var(--faint);padding:2px 16px 10px;font-size:12px}.ghost-sets .g{color:var(--dim)}.set-row{border-top:1px solid var(--hairline);align-items:center;gap:10px;padding:8px 16px;font-size:14px;display:flex}.set-num{color:var(--faint);width:18px;font-size:12px}.set-val{font-variant-numeric:tabular-nums;flex:1}.pr-badge{color:var(--gold);letter-spacing:.08em;border:1px solid var(--gold-soft);border-radius:999px;padding:2px 8px;font-size:11px}.set-input{border-top:1px solid var(--hairline);align-items:center;gap:8px;padding:10px 16px 14px;display:flex}.set-input input{text-align:center;width:74px;padding:8px 6px;font-size:15px}.set-input .x{color:var(--faint);font-size:13px}.set-input .add{margin-left:auto}.macro-bars{padding:14px 16px 6px}.macro-row{margin-bottom:12px}.macro-line{color:var(--dim);justify-content:space-between;margin-bottom:5px;font-size:12.5px;display:flex}.macro-line .val{font-variant-numeric:tabular-nums}.macro-line .val.over{color:var(--ember)}.macro-line .val.ok{color:var(--gold)}.macro-track{background:var(--track);border-radius:2px;height:3px;position:relative;overflow:hidden}.macro-fill{background:var(--dim);border-radius:2px;height:100%;transition:width .4s,background .3s}.macro-fill.ok{background:var(--gold)}.macro-fill.over{background:var(--ember)}.fuel-verdict{color:var(--faint);padding:10px 16px 14px;font-size:12.5px}.fuel-verdict.fail{color:var(--ember)}.fuel-verdict.pass{color:var(--gold)}.site-grid{grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 16px;display:grid}.site-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:11px;display:block}.site-field input{text-align:center;width:100%}.photo-row{gap:10px;padding:4px 16px 16px;display:flex}.photo-slot{aspect-ratio:3/4;border:1px dashed var(--hairline-strong);color:var(--faint);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex;position:relative;overflow:hidden}.photo-slot.filled{border-style:solid;border-color:var(--gold-soft)}.photo-slot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-slot input{opacity:0;position:absolute;inset:0}.photo-slot .req{color:var(--gold);letter-spacing:.06em;font-size:10px}.compare-grid{gap:10px;padding:12px 16px 16px;display:flex}.compare-grid .photo-slot{pointer-events:none}.sparkline{margin:4px 16px 0;display:block}.debt-card{border-top:1px solid var(--hairline);padding-bottom:10px}.debt-card .row{border-top:none;padding-bottom:6px}.debt-line{padding:3px 16px;font-size:12.5px}.debt-line.ember{color:var(--ember)}.debt-line.payoff-row{align-items:center;gap:10px;margin-top:5px;display:flex}.debt-line.payoff-row .macro-track{flex:1}.priority-flag{letter-spacing:.07em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-soft);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px}.milestone-active{padding:4px 16px 14px}.milestone-title{font-family:var(--serif);margin-bottom:9px;font-size:17px}.month-nav{color:var(--dim);padding:0 6px;font-size:16px;line-height:1}.month-nav:disabled{opacity:.25}.sts-line{border:1px solid var(--hairline);color:var(--dim);border-radius:14px;justify-content:space-between;align-items:center;margin-top:14px;padding:10px 16px;font-size:13px;display:flex}.sts-line .amt{font-variant-numeric:tabular-nums;font-weight:500}.horizon .horizon-head{justify-content:space-between;align-items:flex-start;padding:14px 16px 4px;display:flex}.horizon-num{font-variant-numeric:tabular-nums;font-size:30px;font-weight:500;line-height:1.1;font-family:var(--serif)}.range-chip{letter-spacing:.05em;color:var(--faint);border:1px solid var(--hairline);border-radius:999px;padding:4px 11px;font-size:11px;transition:color .2s,border-color .2s}.range-chip.on{color:var(--gold);border-color:var(--gold-soft)}.split-wrap{flex-wrap:wrap;align-items:center;gap:14px;padding:4px 16px 14px;display:flex}.split-legend{flex:1;gap:5px;min-width:150px;display:grid}.split-key{text-align:left;align-items:center;gap:8px;font-size:12.5px;display:flex}.split-key-name{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.split-key-val{color:var(--text);font-variant-numeric:tabular-nums}.burn-wrap{flex-wrap:wrap;align-items:center;gap:14px;padding:2px 16px 8px;display:flex}.burn-bar{margin-bottom:10px}.rapid{border-color:var(--gold-soft)}.rapid-main{align-items:baseline;gap:8px;padding:14px 16px 6px;display:flex}.rapid-currency{font-family:var(--serif);color:var(--faint);font-size:22px}.rapid-amount{border:none;border-bottom:1px solid var(--hairline-strong);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;width:110px;padding:2px 4px;font-size:26px;font-weight:500}.rapid-amount:focus{border-bottom-color:var(--gold)}.rapid-note{border:none;border-bottom:1px solid var(--hairline);background:0 0;border-radius:0;flex:1;min-width:90px;padding:6px 4px;font-size:13px}.rapid-actions{gap:10px;padding:8px 16px 14px;display:flex}.rapid-btn{letter-spacing:.04em;border:1px solid var(--hairline-strong);border-radius:12px;flex:1;padding:13px;font-size:13.5px;transition:transform .12s,opacity .2s}.rapid-btn:active{transform:scale(.97)}.rapid-btn:disabled{opacity:.35}.rapid-btn.essential{color:var(--text)}.rapid-btn.discretionary{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:500}.rapid-flash{color:var(--emerald);padding:0 16px 12px;font-size:12.5px;animation:.4s settle}.freedom-line{font-family:var(--serif);padding:4px 16px 12px;font-size:16.5px}.apr-chip{letter-spacing:.05em;color:var(--crimson);border:1px solid var(--crimson-soft);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px}.mile-track{padding:12px 16px 20px}.mile-rail{background:var(--track);border-radius:3px;height:6px;margin-right:10px;position:relative}.mile-fill{background:linear-gradient(90deg, var(--emerald-soft), var(--emerald));border-radius:3px;height:100%;transition:width .5s}.mile-notch{background:var(--surface);border:1.5px solid var(--hairline-strong);border-radius:50%;width:12px;height:12px;transition:border-color .3s,background .3s;position:absolute;top:50%;transform:translate(-50%,-50%)}.mile-notch.hit{background:var(--gold);border-color:var(--gold)}.mile-notch-label{letter-spacing:.05em;color:var(--faint);white-space:nowrap;font-size:9px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.mile-notch.hit .mile-notch-label{color:var(--gold)}@media (pointer:coarse){.chip-btn,.picker-chip{min-height:40px;padding:9px 16px}.month-nav{padding:10px 12px;font-size:18px}.agenda-add{padding:8px 14px}.screen-close{padding:12px 2px 12px 20px}.check{width:30px;height:30px}.wk{width:100%;height:38px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.composer-fab{right:max(18px, env(safe-area-inset-right));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);background:var(--gold);width:54px;height:54px;color:var(--bg);z-index:40;border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:fixed;box-shadow:0 8px 22px #0000004d}.composer-fab svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:27px;height:27px}.composer-fab:active{transform:scale(.92)}.fab-in{animation:.28s cubic-bezier(.34,1.56,.64,1) fab-pop}@keyframes fab-pop{0%{opacity:0;transform:scale(.4)}}.composer-scrim{z-index:39;background:0 0;position:fixed;inset:0}.composer{animation:.22s ease-out composer-up}.composer.closing{animation:.18s ease-in forwards composer-down}@keyframes composer-up{0%{opacity:0;transform:translate(-50%)translateY(18px)}}@keyframes composer-down{to{opacity:0;transform:translate(-50%)translateY(18px)}}.screen.closing{animation:.18s ease-in forwards screen-out}@keyframes screen-out{to{opacity:0;transform:translateY(24px)}}.welcome{z-index:80;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px;animation:.5s overlay-in;display:flex;position:fixed;inset:0}.welcome-greeting{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;font-size:13px}.welcome-date{font-family:var(--serif);font-size:34px;font-weight:500}.welcome-streak{color:var(--gold);letter-spacing:.05em;margin-top:10px;font-size:13px}.welcome-rule{background:var(--gold-soft);width:44px;height:1px;margin:26px 0}.welcome-quote{font-family:var(--serif);color:var(--text);max-width:340px;font-size:18px;font-style:italic;line-height:1.6}.welcome-author{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:12px;font-size:12px}.welcome-begin{border:1px solid var(--gold-soft);color:var(--gold);letter-spacing:.08em;border-radius:999px;margin-top:40px;padding:12px 34px;font-size:14px}@media (pointer:coarse){.chip-btn,.picker-chip{min-height:40px;padding:9px 14px}.row-actions .chip-btn,.row-actions .picker-chip{min-height:36px;padding:7px 11px;font-size:11.5px}.month-nav{padding:10px 12px;font-size:18px}.agenda-add{padding:8px 14px}.screen-close{padding:12px 2px 12px 20px}.check{width:30px;height:30px}.wk{width:100%;height:38px}}.pace-hero{text-align:center;padding:14px 16px 8px;position:relative}.pace-tune{color:var(--faint);border-radius:10px;padding:7px;position:absolute;top:10px;right:10px}.pace-tune:hover{color:var(--dim)}.pace-kicker{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;padding-right:28px;font-size:10.5px;line-height:1.35}.pace-num{font-family:var(--serif);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:44px;font-weight:500;line-height:1.05}.pace-num-sub{font-family:var(--sans);color:var(--dim);letter-spacing:0;font-size:15px;font-weight:400}.pace-of{color:var(--faint);margin:5px 0 14px;font-size:12.5px}.elastic{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.elastic:hover{transform:scale(1.045)}.elastic:active{transition-duration:.1s;transform:scale(.94)}.theme-choice{background:var(--wash);border-radius:12px;gap:4px;margin:4px 0 2px;padding:4px;display:flex}.theme-opt{min-height:38px;color:var(--dim);letter-spacing:.2px;background:0 0;border:none;border-radius:9px;flex:1;font-size:14px;font-weight:500;transition:background .2s,color .2s,box-shadow .2s}.theme-opt.on{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001f}.review-card .row{align-items:center}.review-icon{color:var(--dim);flex-shrink:0;align-items:center;padding-left:16px;display:flex}.review-icon+.row-body{padding-left:10px}.review-log{background:var(--gold-faint);border:1px solid var(--gold-soft);min-height:38px;color:var(--gold);letter-spacing:.3px;border-radius:12px;padding:8px 26px;font-size:14px;font-weight:500}.review-pending{background:var(--gold-faint)}.review-cat{font-size:inherit;color:var(--gold);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.review-check{border:1px solid var(--gold-soft);width:30px;height:30px;color:var(--gold);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:12px;display:flex}.ring-row{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:4px 2px;padding:10px 12px 6px;display:grid}.ring-item{border-radius:14px;flex-direction:column;align-items:center;min-width:0;padding:6px 4px 10px;display:flex;position:relative}.ring-item.on{background:var(--wash);box-shadow:inset 0 0 0 1px var(--hairline)}.ring-icon{pointer-events:none;position:absolute;top:40px;left:50%;transform:translate(-50%,-50%)}.ring-amt{font-variant-numeric:tabular-nums;color:var(--text);margin-top:3px;font-size:13.5px;font-weight:500}.ring-sub{text-transform:uppercase;letter-spacing:.8px;color:var(--faint);font-size:10px}.ring-name{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:78px;margin-top:3px;font-size:11px;overflow:hidden}.ring-add{justify-content:flex-start}.ring-detail{border-top:1px solid var(--hairline)}.fold{overflow:hidden}.fold-head{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;display:flex}.fold-head .section-name{pointer-events:none}.fold-chev{color:var(--faint);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.fold-chev.open{transform:rotate(180deg)}.fold-body{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.32,1.28,.52,1);display:grid}.fold-body.open{grid-template-rows:1fr}.fold-inner{min-height:0;overflow:hidden}.finance-titlebar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.finance-day-stats{text-align:right;white-space:nowrap;grid-template-columns:repeat(3,auto);gap:10px;padding-top:9px;display:grid}.finance-day-stats>div{gap:1px;display:grid}.finance-day-stats span{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.finance-day-stats strong{color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.finance-day-stats strong.in,.finance-day-stats strong.left{color:var(--gold)}.finance-day-stats strong.over{color:var(--ember)}.confirm-card{border:1px solid var(--gold-soft);background:var(--gold-faint);border-radius:16px;margin:10px 14px;padding:14px 14px 12px;animation:.25s sheet-up}.confirm-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.confirm-name{font-family:var(--serif);font-size:16px}.confirm-sub{color:var(--dim);margin-top:2px;font-size:11.5px}.confirm-qty{gap:8px;margin-top:12px;display:flex}.confirm-qty input{font-variant-numeric:tabular-nums;text-align:center;flex:1;min-width:0;font-size:18px}.confirm-qty input.bad{border-color:var(--red,#b0564b)}.confirm-qty select{flex:1;min-width:0}.manual-food-name{width:100%;font-family:var(--serif);margin-top:12px;font-size:16px}.manual-serving{border:1px solid var(--hairline);background:var(--surface);border-radius:12px;margin-top:10px;padding:9px 10px 10px}.manual-serving>span{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10.5px;display:block}.manual-serving>div{gap:8px;display:flex}.manual-serving input,.manual-serving select{font-variant-numeric:tabular-nums;min-width:0;font-size:16px}.manual-serving input{text-align:center;flex:1}.manual-serving select{width:43%}.manual-food-fields{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.manual-food-fields label{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;gap:4px;font-size:10.5px;display:grid}.manual-food-fields small{color:var(--faint);font-size:inherit}.manual-food-fields input{text-align:center;font-variant-numeric:tabular-nums;min-width:0;font-size:16px}.confirm-hint{color:var(--faint);text-align:center;margin-top:6px;font-size:10.5px}.confirm-macros{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;display:grid}.confirm-macro{border:1px solid var(--hairline);background:var(--surface);border-radius:12px;justify-items:center;gap:2px;padding:8px 2px;display:grid}.cm-val{font-variant-numeric:tabular-nums;color:var(--gold);font-size:16px}.cm-label{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.confirm-cta{background:var(--gold);width:100%;color:var(--bg);text-align:center;border-radius:12px;margin-top:12px;padding:13px;font-size:15px;font-weight:500;transition:transform .12s,opacity .2s;display:block}.confirm-cta:active{transform:scale(.98)}.confirm-cta:disabled{opacity:.35}.fuel-db-head{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--hairline);padding:12px 16px 4px;font-size:11px}.fuel-db-note{color:var(--faint);padding:4px 16px 8px;font-size:12px}.fuel-brand{color:var(--dim);font-weight:400}.barcode-btn{align-items:center;display:inline-flex}.scanner-back{z-index:70;background:#000000eb;flex-direction:column;animation:.2s overlay-in;display:flex;position:fixed;inset:0}.scanner-head{padding:calc(env(safe-area-inset-top) + 14px) 18px 12px;color:#fff;font-family:var(--serif);justify-content:space-between;align-items:center;font-size:17px;display:flex}.scanner-stage{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-reticle{border:1.5px solid #ffffffd9;border-radius:14px;width:min(78vw,340px);height:150px;position:relative;overflow:hidden;box-shadow:0 0 0 100vmax #00000073}.scanner-line{background:var(--gold);opacity:0;height:2px;position:absolute;left:8px;right:8px}.scanner-line.live{opacity:.9;animation:1.6s ease-in-out infinite alternate scan-sweep}@keyframes scan-sweep{0%{top:10px}to{top:calc(100% - 12px)}}.scanner-error{text-align:center;color:#ffffffbf;padding:0 32px;font-size:14px}.scanner-manual{padding-bottom:calc(env(safe-area-inset-bottom) + 16px);border-top:none}.scanner-manual input{color:#fff;background:#ffffff14}.shelf-suggest{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px 4px 34px;display:flex}.shelf-suggest-label{color:var(--dim);font-size:11.5px}
