:root{--bg:#0b0c0e;--surface:#14161a;--surface-2:#1a1d22;--hairline:#ffffff12;--hairline-strong:#ffffff24;--text:#ecebe6;--dim:#8e9096;--faint:#73757c;--gold:#d4b36a;--gold-bright:#e9d29c;--gold-soft:#d4b36a59;--gold-faint:#d4b36a24;--gold-dim:#d4b36a52;--on-gold:#0b0c0e;--on-ember:#fffaf8;--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;--radius-card:18px;--radius-control:12px;--radius-sheet:22px;--content-pad:16px;--shadow-card:0 1px 0 #ffffff06, 0 10px 28px #00000017;--shadow-float:0 18px 48px #00000047;--shadow-nav:0 -10px 32px #0000001f;--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;--keyboard-inset:0px;--scheme:dark}html[data-theme=light]{--bg:#eae8e2;--surface:#f5f3ee;--surface-2:#edebe4;--hairline:#2d261c1a;--hairline-strong:#2d261c33;--text:#26221b;--dim:#726d63;--faint:#7a756a;--gold:#8b6d2d;--gold-bright:#7c6128;--gold-soft:#9a7a346b;--gold-faint:#9a7a341f;--gold-dim:#9a7a3452;--on-gold:#fffdf8;--on-ember:#fffaf8;--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;--shadow-card:0 1px 0 #fffc, 0 8px 24px #3a33290e;--shadow-float:0 18px 48px #3a33292e;--shadow-nav:0 -10px 30px #3a332912;--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}::selection{background:var(--gold-faint);color:var(--text)}button{font-family:var(--font-ui);color:inherit;cursor:pointer;font-size:inherit;-webkit-user-select:none;user-select:none;background:0 0;border:none}input,select,textarea{font-family:var(--font-ui);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-control);color:var(--text);box-shadow:inset 0 1px 0 var(--stone-wash);outline:none;padding:9px 12px;font-size:15px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:40px}input[type=number],input[type=time],input[type=date],input[inputmode=decimal],input[inputmode=numeric]{font-family:var(--font-data);font-variant-numeric:tabular-nums}input:focus,select:focus,textarea:focus{border-color:var(--gold-soft);box-shadow:0 0 0 3px var(--gold-faint), inset 0 1px 0 var(--stone-wash)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed}input[type=time],input[type=date]{color-scheme:var(--scheme)}::placeholder{color:var(--faint);opacity:1}.app{max-width:620px;min-height:100dvh;margin:0 auto}.view{padding:max(20px, env(safe-area-inset-top)) 18px calc(var(--nav-h) + env(safe-area-inset-bottom) + 26px)}.view.has-composer{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 96px)}.day-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 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:0;display:flex}.day-date-nav button{width:44px;height:44px;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-date-nav .day-title-calendar{width:auto;min-height:44px;color:var(--text);letter-spacing:.01em;padding:0 2px;font-size:30px;font-weight:500}.day-date-nav .day-title-calendar:active{color:var(--gold);transform:none}.day-sub{color:var(--dim);margin-top:3px;font-size:13px}.streak-history{color:var(--faint);letter-spacing:.01em;margin-top:5px;font-size:10.5px}.day-pulse{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);background:var(--stone-wash);align-items:center;gap:10px;min-height:64px;margin-top:14px;padding:10px 12px;display:flex}.day-pulse-dot{background:var(--stone);width:7px;height:7px;box-shadow:0 0 0 4px var(--stone-wash);border-radius:50%;flex:none}.day-pulse.minimum-met .day-pulse-dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-faint)}.day-pulse.future .day-pulse-dot{background:var(--gold-dim)}.day-pulse-copy{gap:1px;min-width:0;display:grid}.day-pulse-copy>span{color:var(--faint);letter-spacing:.09em;text-transform:uppercase;font-size:9.5px;font-weight:650}.day-pulse-copy strong{color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:500;line-height:1.08}.day-pulse-copy small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3;overflow:hidden}.day-return-today{border:1px solid var(--gold-soft);min-height:34px;color:var(--gold);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 10px;font-size:11.5px;font-weight:650}.day-return-today:active{transform:scale(.96)}.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}.day-ring{flex:none}.view-title{font-family:var(--font-display);letter-spacing:-.012em;padding:6px 2px 18px;font-size:28px;font-weight:500;line-height:1}.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);border-radius:var(--radius-card);box-shadow:var(--shadow-card), inset 0 1px 0 var(--stone-wash);margin-top:18px;transition:opacity .6s,border-color .2s,box-shadow .2s;overflow:hidden}.section-head{min-height:46px;padding:13px var(--content-pad) 10px;justify-content:space-between;align-items:center;display:flex}.section-head>*{min-width:0}.section-name{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:10.5px;font-weight:650;line-height:1.3}.section-count{font-family:var(--font-data);color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px}.section-count.sealed{color:var(--gold)}.financial-path{background:linear-gradient(135deg, var(--stone-wash), transparent 52%), var(--surface);border-color:var(--stone-line)}.financial-goal-hero{justify-content:space-between;align-items:flex-end;gap:14px;padding:2px 16px 10px;display:flex}.financial-goal-name{font-family:var(--serif);color:var(--text);font-size:21px;line-height:1.12}.financial-goal-amount{color:var(--stone);font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-top:5px;font-size:22px}.financial-goal-amount span{color:var(--faint);font-family:var(--font-ui);font-size:12px}.financial-goal-percent{justify-items:end;line-height:1;display:grid}.financial-goal-percent strong{color:var(--gold);font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:26px;font-weight:500}.financial-goal-percent span{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:9px}.financial-goal-track{background:var(--track);border-radius:99px;height:5px;margin:0 16px;overflow:hidden}.financial-goal-track>div{border-radius:inherit;background:var(--gold);min-width:0;height:100%;transition:width .45s}.financial-path-copy{color:var(--dim);padding:9px 16px 2px;font-size:12px;line-height:1.35}.financial-trajectory{padding:0 8px 7px}.financial-trajectory svg{display:block;overflow:visible}.goal-target-line{stroke:var(--gold-soft);stroke-width:1px;stroke-dasharray:4 4}.goal-actual-line{stroke:var(--stone);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.goal-projection-line{stroke:var(--gold);stroke-width:1.7px;stroke-dasharray:4 4;stroke-linecap:round}.goal-current-dot{fill:var(--stone);stroke:var(--surface);stroke-width:1.8px}.goal-chart-label{fill:var(--faint);font-size:9px;font-family:var(--font-data)}.goal-chart-key{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;gap:12px;padding:0 8px;font-size:10px;display:flex}.goal-chart-key span{align-items:center;gap:5px;display:inline-flex}.goal-key{background:var(--stone);width:11px;height:2px;display:inline-block}.goal-key.projected{border-top:2px dashed var(--gold);background:0 0}.financial-foundation{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:13px;display:grid}.financial-foundation>div{border-right:1px solid var(--hairline);min-width:0;padding:11px 10px 12px 16px}.financial-foundation>div:last-child{border-right:0;padding-right:16px}.financial-foundation span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:9px;display:block}.financial-foundation strong{color:var(--text);font-family:var(--font-data);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:3px;font-size:14px;font-weight:500;display:block;overflow:hidden}.financial-foundation strong.debt{color:var(--crimson)}.financial-foundation em{font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px;font-style:normal;display:block}.financial-foundation em.up{color:var(--emerald)}.financial-foundation em.down{color:var(--crimson)}.financial-milestone{border-top:1px solid var(--hairline);color:var(--dim);padding:8px 16px 12px;font-size:11px;line-height:1.35}.financial-resilience{background:linear-gradient(135deg, #9c917a17, transparent 55%), var(--surface)}.resilience-hero{justify-content:space-between;align-items:end;gap:16px;padding:2px 16px 11px;display:flex}.resilience-hero>div:first-child{gap:2px;display:grid}.resilience-hero strong{color:var(--stone);font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:31px;font-weight:500;line-height:1}.resilience-hero>div:first-child span{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.resilience-copy{max-width:180px;color:var(--dim);text-align:right;font-size:12px;line-height:1.35}.resilience-scale{padding:0 16px 13px}.resilience-rail{background:var(--track);border-radius:99px;height:7px;overflow:hidden}.resilience-fill{border-radius:inherit;background:var(--stone);min-width:2px;height:100%;transition:width .45s}.resilience-fill.low{background:var(--ember)}.resilience-ticks{color:var(--faint);font-size:9px;font-family:var(--font-data);letter-spacing:.03em;justify-content:space-between;margin-top:5px;display:flex}.resilience-stats{margin-top:0}.financial-progress-deck{margin-top:20px}.financial-progress-pages{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:12px;display:flex;overflow-x:auto}.financial-progress-pages::-webkit-scrollbar{display:none}.financial-progress-page{scroll-snap-align:start;flex:0 0 100%;min-width:0}.financial-progress-page>.section{height:100%;margin-top:0}.financial-progress-dots{justify-content:center;gap:6px;padding-top:9px;display:flex}.financial-progress-dots button{background:var(--hairline);border-radius:999px;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.financial-progress-dots button.on{background:var(--stone);width:17px}.nutrition-card{background:radial-gradient(circle at 85% 6%, #858b8624, transparent 33%), linear-gradient(145deg, var(--stone-wash), transparent 46%), var(--surface);border-color:var(--stone-line);overflow:hidden}.nutrition-head{justify-content:space-between;align-items:center;padding:16px 16px 8px;display:flex}.nutrition-head>div{gap:2px;display:grid}.nutrition-head .section-name{color:var(--stone)}.nutrition-date{color:var(--faint);font-size:11px}.nutrition-add{border:1px solid var(--stone-line);min-height:36px;color:var(--stone);letter-spacing:.01em;background:var(--stone-wash);border-radius:999px;align-items:center;padding:7px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.nutrition-add:active{background:var(--stone-wash);transform:scale(.96)}.nutrition-balance{text-align:left;align-items:center;gap:16px;width:100%;padding:8px 16px 17px;display:flex}.nutrition-wheel{flex:0 0 136px;place-items:center;display:grid;position:relative}.nutrition-wheel svg{width:136px;height:136px;display:block;overflow:visible}.nutrition-wheel circle{fill:none}.nutrition-wheel-calorie-track{stroke:var(--stone-soft);stroke-width:5px}.nutrition-wheel-calorie-progress{stroke:var(--gold);stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .35s,stroke .25s}.nutrition-wheel-calorie-progress.over{stroke:var(--ember)}.nutrition-wheel-macro-track{stroke:var(--stone-wash);stroke-width:15px}.nutrition-wheel-macro-segment{stroke-width:15px;stroke-linecap:round;transition:stroke-dasharray .35s,stroke-dashoffset .35s}.nutrition-wheel-center{place-items:center;gap:3px;line-height:1;display:grid;position:absolute}.nutrition-wheel-center strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:500}.nutrition-wheel-center span{color:var(--faint);font-size:10px}.nutrition-balance-copy{gap:5px;min-width:0;display:grid}.nutrition-balance-copy>span{color:var(--stone);letter-spacing:.01em;font-size:12px;font-weight:650}.nutrition-balance-copy>span.over{color:var(--ember)}.nutrition-balance-copy strong{color:var(--text);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:500;overflow:hidden}.nutrition-balance-copy small{color:var(--faint);font-size:11px}.nutrition-wheel-legend{border-top:1px solid var(--stone-line);gap:0;margin-top:5px;display:grid}.nutrition-wheel-legend>div{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.nutrition-wheel-legend>div+div{border-top:1px solid color-mix(in srgb, var(--stone-line) 70%, transparent)}.nutrition-wheel-legend>div>span{min-width:0;color:var(--faint);align-items:center;gap:6px;font-size:10.5px;display:flex}.nutrition-wheel-legend i{border-radius:99px;flex:none;width:6px;height:6px}.nutrition-wheel-legend strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;font-weight:600}.nutrition-wheel-legend strong small{color:var(--faint);font-size:9.5px;font-weight:500}.nutrition-pacing{border-top:1px solid var(--stone-line);background:var(--stone-wash);grid-template-columns:55px 1fr;gap:8px;padding:12px 16px;display:grid}.nutrition-pacing>span{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.nutrition-pacing p{color:var(--dim);margin:0;font-size:12px;line-height:1.35}.nutrition-log-head{justify-content:space-between;align-items:baseline;padding:18px 16px 7px;display:flex}.nutrition-log-head>span{color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:500}.nutrition-log-head button{color:var(--stone);font-size:11.5px;font-weight:600}.nutrition-log{border-top:1px solid var(--stone-line)}.nutrition-meal{text-align:left;grid-template-columns:52px 1fr auto;align-items:center;gap:9px;width:100%;padding:11px 16px;display:grid}.nutrition-meal+.nutrition-meal{border-top:1px solid var(--stone-line)}.nutrition-meal-time{color:var(--faint);font-variant-numeric:tabular-nums;font-size:10.5px}.nutrition-meal-name{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.nutrition-meal strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.nutrition-meal strong small{color:var(--faint);font-size:10px;font-weight:500}.nutrition-more,.nutrition-empty{border-top:1px solid var(--stone-line);width:100%;color:var(--stone);text-align:left;padding:12px 16px;font-size:12px}.nutrition-empty{color:var(--dim);justify-content:space-between;display:flex}.nutrition-empty span{color:var(--stone);font-size:17px;line-height:12px}.training-card{border-color:var(--stone-line);background:linear-gradient(160deg, #858b861a, transparent 41%), var(--surface);overflow:hidden}.training-head{justify-content:space-between;align-items:flex-start;padding:16px 16px 12px;display:flex}.training-head>div:first-child{gap:2px;display:grid}.training-head .section-name{color:var(--text)}.training-head>div:first-child>span:last-child{color:var(--faint);font-size:11px}.training-head-count{align-items:baseline;gap:3px;padding-top:1px;display:flex}.training-head-count strong{color:var(--stone);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.training-head-count span{color:var(--faint);font-size:10.5px}.training-week{grid-template-columns:repeat(7,1fr);gap:3px;padding:2px 16px 15px;display:grid}.training-day{color:var(--faint);justify-items:center;gap:6px;display:grid}.training-day>span{font-size:10px;font-weight:600}.training-day>i{border:1px solid var(--hairline);background:0 0;border-radius:99px;width:11px;height:11px}.training-day>small{font-variant-numeric:tabular-nums;font-size:10px}.training-day.done{color:var(--stone)}.training-day.done>i{border-color:var(--stone);background:var(--stone);box-shadow:0 0 0 3px var(--stone-wash)}.training-day.planned>i{border-color:var(--gold-dim);background:#d4b36a29}.training-day.missed>i{border-color:var(--stone-line);background:var(--stone-soft)}.training-summary{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);grid-template-columns:repeat(3,1fr);display:grid}.training-summary>div{gap:2px;padding:11px 12px;display:grid}.training-summary>div+div{border-left:1px solid var(--stone-line)}.training-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.training-summary span{color:var(--faint);font-size:10.5px}.training-today-head{justify-content:space-between;align-items:baseline;padding:16px 16px 7px;display:flex}.training-today-head>span{color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:500}.training-today-head button{color:var(--stone);font-size:11.5px;font-weight:600}.training-picker{flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.training-picker button{border:1px solid var(--stone-line);color:var(--dim);background:var(--stone-wash);border-radius:99px;padding:7px 10px;font-size:11.5px}.training-picker button:active{color:var(--stone);transform:scale(.96)}.training-today{border-top:1px solid var(--stone-line)}.training-today-row{text-align:left;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px 16px;display:grid}.training-today-row+.training-today-row{border-top:1px solid var(--stone-line)}.training-status{border:1px solid var(--stone-line);width:17px;height:17px;color:var(--surface);border-radius:99px;place-items:center;font-size:10px;font-weight:700;display:grid}.training-status.done{border-color:var(--stone);background:var(--stone)}.training-status.steps.done{border-color:var(--gold-dim);background:var(--gold-dim)}.training-today-label{gap:2px;min-width:0;display:grid}.training-today-label strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.training-today-label small{color:var(--faint);font-size:10.5px}.training-today-row em{color:var(--stone);white-space:nowrap;font-size:10.5px;font-style:normal}.training-rest-day{color:var(--faint);padding:13px 16px;font-size:12px}.body-card{border-color:var(--stone-line);background:linear-gradient(145deg, #d4b36a1a, transparent 42%), var(--surface);overflow:hidden}.body-card-head{justify-content:space-between;align-items:flex-start;padding:16px 16px 5px;display:flex}.body-card-head>div{gap:3px;display:grid}.body-card-head .section-name{color:var(--text)}.body-card-head small{color:var(--faint);font-size:10.5px}.body-due-dot{background:var(--gold);width:8px;height:8px;box-shadow:0 0 0 4px var(--gold-faint);border-radius:99px;margin:4px 3px 0 0}.body-hero{justify-content:space-between;align-items:flex-end;gap:14px;padding:8px 16px 2px;display:flex}.body-hero>div:first-child{gap:2px;display:grid}.body-hero>div:first-child>strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:38px;font-weight:500;line-height:.95}.body-hero>div:first-child>strong.body-hero-empty{color:var(--faint)}.body-hero>div:first-child>span{color:var(--faint);font-size:10.5px}.body-target{text-align:right;gap:3px;max-width:145px;padding-bottom:3px;display:grid}.body-target span{color:var(--faint);text-transform:uppercase;letter-spacing:.065em;font-size:10px}.body-target strong{color:var(--stone);font-size:11.5px;font-weight:600;line-height:1.2}.body-target.reached strong{color:var(--gold)}.body-trend{padding:8px 16px 11px}.body-trend svg{height:64px;display:block}.body-trend>div{color:var(--faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-1px;font-size:9.5px;display:flex}.body-target-line{stroke:var(--gold-soft);stroke-dasharray:3 4;stroke-width:1px}.body-trend-line{stroke:var(--stone);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.body-trend-dot{fill:var(--gold);stroke:var(--surface);stroke-width:1.5px}.body-chart-empty{color:var(--faint);padding:14px 16px 16px;font-size:12px;line-height:1.4}.body-actions{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.body-actions button{min-width:0;color:var(--dim);text-align:left;gap:3px;padding:12px 10px;transition:background .2s,color .2s;display:grid}.body-actions button+button{border-left:1px solid var(--stone-line)}.body-actions button:active{background:var(--stone-wash);transform:none}.body-actions button>span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.body-actions button>small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.body-actions button.due{background:#d4b36a0f}.body-actions button.due>span,.body-actions button.due>small{color:var(--gold)}.body-actions button.done>span,.body-actions button.done>small{color:var(--stone)}.body-signals{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.body-signals>div{gap:3px;min-width:0;padding:11px 12px 12px;display:grid}.body-signals>div+div{border-left:1px solid var(--stone-line)}.body-signals span{color:var(--faint);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.body-signals strong{color:var(--text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.body-signals strong.good{color:var(--gold)}.body-signals strong.warm{color:var(--ember)}.compound-card{border-color:var(--stone-line);background:radial-gradient(circle at 94% 0%, var(--gold-faint), transparent 42%), var(--surface);overflow:hidden}.compound-card.trajectory-softer{background:radial-gradient(circle at 94% 0%, #b0564b14, transparent 42%), var(--surface)}.compound-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 5px;display:flex}.compound-head>div{gap:3px;display:grid}.compound-head .section-name{color:var(--text)}.compound-head small{color:var(--faint);font-size:10.5px}.compound-state{color:var(--stone);letter-spacing:.07em;text-align:right;text-transform:uppercase;padding-top:2px;font-size:9.5px;font-weight:650}.compound-hero{gap:6px;padding:9px 16px 17px;display:grid}.compound-hero strong{color:var(--text);font-family:var(--font-display);letter-spacing:-.014em;font-size:24px;font-weight:500;line-height:1.08}.compound-hero p{color:var(--dim);margin:0;font-size:12px;line-height:1.45}.compound-periods{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.compound-period{gap:4px;min-width:0;padding:12px 11px 13px;display:grid}.compound-period+.compound-period{border-left:1px solid var(--stone-line)}.compound-period.selected{background:var(--stone-wash)}.compound-period>span{color:var(--faint);letter-spacing:.065em;text-transform:uppercase;font-size:9px}.compound-period>strong{color:var(--text);font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:17px;font-weight:650}.compound-period>small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.compound-period>em{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.compound-period-bands{gap:3px;margin:2px 0 1px;display:grid}.compound-period-bands:before,.compound-period-bands:after{content:"";background:var(--stone-soft);border-radius:99px;grid-area:1/1;height:3px}.compound-period-bands:after{grid-area:2/1}.compound-period-bands>i,.compound-period-bands>b{z-index:1;border-radius:99px;height:3px;display:block}.compound-period-bands>i{background:var(--stone);grid-area:1/1}.compound-period-bands>b{background:var(--gold);grid-area:2/1}.compound-evidence-head{color:var(--faint);letter-spacing:.065em;text-transform:uppercase;justify-content:space-between;gap:12px;padding:13px 16px 6px;font-size:9.5px;display:flex}.compound-evidence-head>small{color:var(--faint);font-size:inherit}.compound-evidence{border-top:1px solid var(--hairline)}.compound-evidence-row{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) minmax(62px,auto) minmax(62px,auto);align-items:center;gap:10px;padding:11px 16px;display:grid}.compound-evidence-row:first-child{border-top:0}.compound-evidence-label{gap:2px;min-width:0;display:grid}.compound-evidence-label>span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.compound-evidence-label>small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.25;overflow:hidden}.compound-evidence-value{text-align:right;gap:2px;min-width:0;display:grid}.compound-evidence-value>span{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;font-size:8.5px}.compound-evidence-value>strong{color:var(--text);font-family:var(--font-data);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.compound-evidence-value.prior>strong{color:var(--dim)}.compound-evidence-row.up .compound-evidence-value:not(.prior)>strong{color:var(--gold)}.compound-evidence-row.down .compound-evidence-value:not(.prior)>strong{color:var(--ember)}.consistency-card{border-color:var(--stone-line);background:linear-gradient(145deg, var(--stone-wash), transparent 44%), var(--surface);overflow:hidden}.consistency-head{justify-content:space-between;align-items:flex-start;padding:15px 16px 10px;display:flex}.consistency-head>div:first-child{gap:3px;display:grid}.consistency-head .section-name{color:var(--text)}.consistency-head small{color:var(--faint);font-size:10.5px}.consistency-head>span{color:var(--faint);padding-top:2px;font-size:10px}.consistency-pages{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.consistency-pages::-webkit-scrollbar{display:none}.consistency-page{scroll-snap-align:start;flex:0 0 100%;min-width:0}.consistency-heatmap{grid-template-columns:12px minmax(0,1fr);gap:7px;padding:1px 16px 13px;display:grid}.consistency-weekdays{grid-template-rows:14px repeat(7,20px);align-items:center;gap:3px;display:grid}.consistency-weekdays:before{content:""}.consistency-weekdays span{color:var(--faint);font-size:9px;line-height:1}.consistency-columns{min-width:0}.consistency-months{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:3px;height:14px;display:grid}.consistency-months span{color:var(--faint);white-space:nowrap;font-size:9px;line-height:1;overflow:visible}.consistency-grid{grid-template-rows:repeat(7,20px);grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;display:grid}.consistency-cell{background:0 0;border:0;border-radius:5px;width:100%;min-width:0;height:20px;padding:0;display:block;position:relative;transform:none}.consistency-cell:after{border:1px solid var(--stone-line);background:var(--stone-wash);content:"";border-radius:4px;transition:transform .16s,background .16s;position:absolute;inset:2px}.consistency-cell.sealed:after{border-color:var(--gold);background:var(--gold)}.consistency-cell.partial:after{border-color:var(--gold-soft);background:var(--gold-dim)}.consistency-cell.future{pointer-events:none}.consistency-cell.future:after{background:0 0;border-color:#0000}.consistency-cell.today:after{box-shadow:0 0 0 1px var(--text)}.consistency-cell.selected:after{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--stone);transform:scale(.88)}.consistency-cell:focus-visible{outline:2px solid var(--text);outline-offset:1px}.consistency-detail{border:1px solid var(--stone-line);background:var(--stone-wash);color:var(--dim);border-radius:9px;align-items:center;gap:7px;margin:0 16px 10px;padding:8px 10px;font-size:10.5px;display:flex}.consistency-detail strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.consistency-detail button{width:20px;height:20px;color:var(--faint);border:0;border-radius:99px;margin-left:auto;padding:0;font-size:16px;line-height:1}.consistency-foot{border-top:1px solid var(--stone-line);color:var(--faint);flex-wrap:wrap;align-items:center;gap:9px;padding:10px 16px 12px;font-size:10px;display:flex}.consistency-foot>span{align-items:center;gap:4px;display:inline-flex}.consistency-foot>span:last-child{color:var(--dim);margin-left:auto}.consistency-foot i{border-radius:2px;width:7px;height:7px}.consistency-foot i.sealed{background:var(--gold)}.consistency-foot i.partial{background:var(--gold-dim);border:1px solid var(--gold-soft)}.consistency-pager{justify-content:center;gap:6px;padding:0 0 12px;display:flex}.consistency-pager button{background:var(--stone-soft);border:0;border-radius:99px;width:5px;height:5px;padding:0;transition:width .18s,background .18s}.consistency-pager button.active{background:var(--stone);width:16px}.consistency-trajectory-empty{align-content:center;gap:6px;min-height:196px;padding:0 24px 12px;display:grid}.consistency-trajectory-empty strong{color:var(--text);font-family:var(--font-display);font-size:21px;font-weight:500}.consistency-trajectory-empty span{max-width:245px;color:var(--dim);font-size:12px;line-height:1.45}.consistency-trajectory-chart{padding:4px 16px 10px}.consistency-trajectory-chart svg{width:100%;height:156px;display:block}.consistency-chart-guide{stroke:var(--stone-line);stroke-dasharray:2 4;stroke-width:1px}.consistency-chart-meaningful,.consistency-chart-full{stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.consistency-chart-meaningful{stroke:var(--stone)}.consistency-chart-full{stroke:var(--gold)}.consistency-chart-label{fill:var(--faint);font-family:var(--font-data);font-size:9px}.consistency-chart-key{color:var(--faint);gap:13px;padding:0 1px;font-size:10px;display:flex}.consistency-chart-key span{align-items:center;gap:5px;display:inline-flex}.consistency-chart-key i{border-radius:99px;width:12px;height:2px}.consistency-chart-key i.meaningful{background:var(--stone)}.consistency-chart-key i.full{background:var(--gold)}.personal-records-link{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);width:100%;min-height:45px;color:var(--dim);text-align:left;align-items:center;margin:-2px 0 4px;padding:0 16px;display:flex}.personal-records-link>span{font-size:12px;font-weight:600}.personal-records-link>strong{color:var(--faint);font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:600}.personal-records-link>i{color:var(--stone);margin-left:8px;font-size:15px;font-style:normal}.personal-records-link:active{background:var(--stone-wash);transform:none}.weight-goal-card,.performance-trajectory-card{border-color:var(--stone-line);background:linear-gradient(145deg, var(--stone-wash), transparent 48%), var(--surface);overflow:hidden}.weight-goal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 8px;display:flex}.weight-goal-head>div{gap:3px;display:grid}.weight-goal-head .section-name{color:var(--text)}.weight-goal-head small,.weight-goal-head>span{color:var(--faint);font-size:10.5px}.weight-goal-head>span{padding-top:2px}.weight-goal-hero{align-items:flex-end;gap:12px;padding:11px 16px 15px;display:flex}.weight-goal-hero>strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:43px;font-weight:500;line-height:.85}.weight-goal-hero>strong small{color:var(--stone);font-family:var(--font-ui);letter-spacing:0;font-size:17px;font-weight:600}.weight-goal-hero>div{gap:3px;padding-bottom:1px;display:grid}.weight-goal-hero span{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;font-size:10px}.weight-goal-hero>div strong{color:var(--gold);font-size:12px;font-weight:650}.weight-goal-rail{background:var(--stone-soft);border-radius:99px;height:5px;margin:0 16px;position:relative}.weight-goal-rail i{border-radius:inherit;background:var(--gold);height:100%;transition:width .5s;display:block}.weight-goal-rail b{border:2px solid var(--surface);background:var(--gold);width:11px;height:11px;box-shadow:0 0 0 1px var(--gold-soft);border-radius:99px;transition:left .5s;position:absolute;top:50%;transform:translate(-50%,-50%)}.weight-goal-values{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 16px 13px;display:grid}.weight-goal-values>div{gap:2px;display:grid}.weight-goal-values>div:nth-child(2){text-align:center}.weight-goal-values>div:last-child{text-align:right}.weight-goal-values span{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;font-size:9.5px}.weight-goal-values strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.weight-goal-values>div:nth-child(2) strong{color:var(--stone)}.weight-goal-values>div:last-child strong{color:var(--gold)}.weight-goal-empty{gap:5px;padding:20px 16px 22px;display:grid}.weight-goal-empty strong{color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:500}.weight-goal-empty span{color:var(--dim);font-size:12px;line-height:1.4}.trajectory-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 7px;display:flex}.trajectory-head>div{gap:3px;display:grid}.trajectory-head .section-name{color:var(--text)}.trajectory-head small,.trajectory-head>span{color:var(--faint);font-size:10.5px}.trajectory-head>span{white-space:nowrap;padding-top:2px}.trajectory-hero{justify-content:space-between;align-items:flex-end;gap:16px;padding:8px 16px 4px;display:flex}.trajectory-hero>div{gap:3px;display:grid}.trajectory-hero>div:first-child strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:37px;font-weight:500;line-height:.95}.trajectory-hero>div>span{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;font-size:10px}.trajectory-hero>div:last-child{text-align:right;max-width:138px;padding-bottom:2px}.trajectory-hero>div:last-child strong{color:var(--stone);font-size:12px;font-weight:650;line-height:1.25}.trajectory-hero>div.toward strong{color:var(--gold)}.trajectory-chart{border-top:1px solid #0000}.trajectory-chart svg{padding:4px 8px 0!important}.trajectory-caption{color:var(--dim);padding:3px 16px 14px;font-size:11.5px;line-height:1.4}.trajectory-empty{gap:5px;padding:20px 16px 22px;display:grid}.trajectory-empty strong{color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:500}.trajectory-empty span{color:var(--dim);font-size:12px;line-height:1.4}.body-records{border-top:1px solid var(--stone-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.body-records>div{gap:3px;min-width:0;padding:12px 16px 13px;display:grid}.body-records>div+div{border-left:1px solid var(--stone-line)}.body-records span{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;font-size:9.5px}.body-records strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.body-records small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.performance-focus{border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.performance-focus.solo{grid-template-columns:minmax(0,1fr)}.performance-focus>div{gap:4px;min-width:0;padding:16px;display:grid}.performance-focus>div+div{border-left:1px solid var(--stone-line)}.performance-focus span{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.performance-focus strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:26px;font-weight:500;line-height:1;overflow:hidden}.performance-focus strong small{color:var(--stone);font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:600}.performance-focus em{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-style:normal;overflow:hidden}.performance-note{color:var(--faint);justify-content:space-between;gap:12px;padding:12px 16px 13px;font-size:10.5px;display:flex}.performance-note span:last-child{text-align:right}.confirm-layer{z-index:90;overscroll-behavior:contain;position:fixed;inset:0}.confirm-backdrop{-webkit-backdrop-filter:blur(2px);background:#221f1b52;width:100%;position:absolute;inset:0}.confirm-dialog{right:max(16px, env(safe-area-inset-right));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);left:max(16px, env(safe-area-inset-left));border:1px solid var(--stone-line);border-radius:var(--radius-card);background:var(--surface);max-width:430px;box-shadow:var(--shadow-float);margin:auto;padding:18px;position:absolute}.confirm-dialog-title{color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:500}.confirm-dialog p{color:var(--dim);margin:6px 0 16px;font-size:13px;line-height:1.4}.confirm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.row{min-height:56px;padding:12px var(--content-pad);border-top:1px solid var(--hairline);align-items:center;gap:13px;transition:opacity .45s,background .2s,transform .18s,box-shadow .18s;display:flex}.row.dragging{z-index:4;opacity:.98;background:var(--surface-2);outline:1px solid var(--stone-line);transform:translateY(var(--drag-y,0)) scale(1.012);will-change:transform;transition:none;position:relative;box-shadow:0 16px 32px #00000038}.task-drag-handle{touch-action:none;cursor:grab;width:44px;min-height:44px;color:var(--faint);border-radius:8px;flex:none;place-content:center;gap:3px;margin:-6px -10px -6px 0;display:grid}.task-drag-handle:active{cursor:grabbing;background:var(--stone-wash)}.task-drag-handle:focus-visible{outline-offset:-3px}.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)}.row-body{text-align:left;flex:1;min-width:0}.row>.chip-btn,.row>.picker-chip{flex:none}.row-title{font-family:var(--font-ui);letter-spacing:0;overflow-wrap:break-word;font-size:14px;font-weight:600;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(--dim);font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;font-size:10.5px;font-weight:650}.row-meta{font-family:var(--font-ui);color:var(--dim);margin-top:3px;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}.view.has-composer .row.done{background:var(--wash)}.view.has-composer .row.done .row-meta,.view.has-composer .row.done .pillar-tail,.view.has-composer .row.done>.pillar-glyph,.view.has-composer .row.done .row-side{color:var(--faint);opacity:.66}.view.has-composer .row.done .check{opacity:.82}.today-pillar{margin-top:14px}.today-pillar .row{min-height:64px}.today-tasks{margin-top:14px}.today-tasks .section-head{padding-bottom:8px}.task-list-label{min-height:29px;padding:7px var(--content-pad) 5px;border-top:1px solid var(--stone-line);color:var(--faint);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:9.5px;font-weight:650;display:flex}.task-list-label.check-in-label{color:var(--dim);background:var(--stone-wash)}.task-list-label.completed-label{background:var(--wash)}.task-list-label+.task-row{border-top:none}.today-tasks .empty-state{padding:30px 24px}.task-row.expanded{background:var(--stone-wash)}.task-row.expanded+.row-actions{background:var(--stone-wash);border-bottom:1px solid var(--hairline)}.today-tasks:has(.task-row.dragging){overflow:visible}.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)}.pillar-tail{color:var(--faint);flex:none;align-items:center;gap:5px;display:inline-flex}.pillar-tail .pillar-glyph{width:18px;height:18px}.pillar-tail i{color:currentColor;font-family:var(--serif);margin-top:-1px;font-size:20px;font-style:normal;line-height:1}.check svg{width:13px;height:13px;stroke:var(--on-gold);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{min-height:32px;color:var(--dim);border:1px solid var(--hairline);border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:12px;transition:background .2s,border-color .2s,color .2s,transform .12s;display:inline-flex}@media (hover:hover){.chip-btn:hover{background:var(--stone-wash);border-color:var(--hairline-strong);color:var(--text)}.chip-btn.gold:hover,.chip-btn.active:hover{background:var(--gold-faint);border-color:var(--gold-soft);color:var(--gold-bright)}.row-body:hover .row-title{color:var(--gold-bright)}}.chip-btn:active{transform:scale(.96)}.chip-btn.danger{color:var(--ember);border-color:var(--ember-soft)}.chip-btn.danger.solid{border-color:var(--ember);background:var(--ember);color:var(--on-ember);font-weight:650}.chip-btn.gold,.chip-btn.active{color:var(--gold);border-color:var(--gold-soft)}.chip-btn.quiet{color:var(--faint);border-color:#0000}.rename-input{flex:1;padding:6px 10px;font-size:14px}.seal-banner{border:1px solid var(--gold-soft);background:var(--gold-faint);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}.seal-return{margin:14px auto 0;display:inline-flex}@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}.seal-overlay-dismiss{border:1px solid var(--gold-soft);min-height:42px;color:var(--gold);border-radius:999px;margin-top:22px;padding:8px 16px;font-size:12px;font-weight:650}@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(--stone-line);border-radius:var(--radius-card);box-shadow:var(--shadow-float);padding:10px 12px}.composer-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px;display:flex}.composer-heading>span{color:var(--faint);letter-spacing:.09em;text-transform:uppercase;font-size:9.5px;font-weight:650}.composer-dismiss{min-height:32px;color:var(--faint);padding:4px 2px 4px 9px;font-size:11.5px}.composer-main{align-items:center;gap:8px;display:flex}.composer input[type=text]{background:0 0;border:none;flex:1;min-height:44px;padding:8px 4px;font-size:15px}.composer-send{background:var(--gold);width:44px;height:44px;color:var(--on-gold);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{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;padding-top:8px;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:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-faint)}.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);box-shadow:var(--shadow-nav);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;position:relative}.nav button.active{color:var(--gold)}.nav button.active svg{stroke-width:1.9px}.nav button.active:after{content:"";background:currentColor;border-radius:999px;width:3px;height:3px;position:absolute;bottom:5px}@media (hover:hover){.nav button:hover{color:var(--dim)}.nav button.active:hover{color:var(--gold-bright)}}.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(--dim);padding:15px var(--content-pad) 17px;background:var(--wash);font-size:12.5px;line-height:1.45}.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;align-items:center;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{left:50%;bottom:var(--keyboard-inset);width:min(620px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - 12px - var(--keyboard-inset));background:var(--surface-2);border:1px solid var(--stone-line);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;z-index:56;box-shadow:var(--shadow-float);border-bottom:none;flex-direction:column;padding:7px 0 0;animation:.3s sheet-up;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%)translateY(40px)}}.sheet-grip{background:var(--hairline-strong);border-radius:2px;width:38px;height:4px;margin:7px auto 3px}.sheet-head{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:4px 12px 9px 18px;display:flex}.sheet-title{font-family:var(--serif);letter-spacing:-.01em;min-width:0;padding:0;font-size:20px;font-weight:500}.sheet-close{min-width:44px;min-height:44px;color:var(--dim);text-align:right;padding:8px 6px 8px 12px;font-size:12px;font-weight:650}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;scroll-padding:16px 0 calc(env(safe-area-inset-bottom) + 100px);flex:auto;overflow-y:auto}.sheet-body input,.sheet-body select,.sheet-body textarea,.screen input,.screen select,.screen textarea{scroll-margin-bottom:calc(env(safe-area-inset-bottom) + 112px + var(--keyboard-inset))}.sheet-footer{padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--stone-line);background:color-mix(in srgb, var(--surface-2) 92%, var(--bg));flex:none}.sheet-primary{border:1px solid var(--gold-soft);border-radius:var(--radius-control);background:var(--gold);width:100%;min-height:46px;color:var(--on-gold);font-size:14px;font-weight:650;transition:transform .12s,opacity .2s;display:block}.sheet-primary:active{transform:scale(.985)}.sheet-primary:disabled{opacity:.35}.sheet-lede{color:var(--dim);padding:10px 16px 5px;font-size:12px;line-height:1.45}.sheet-discard-layer{z-index:58;position:fixed;inset:0}.sheet-discard-back{background:#0000002e;border-radius:0;width:100%;position:absolute;inset:0}.sheet-discard{right:14px;bottom:calc(var(--keyboard-inset) + env(safe-area-inset-bottom) + 14px);border:1px solid var(--stone-line);border-radius:var(--radius-card);background:var(--surface);max-width:430px;box-shadow:var(--shadow-float);margin:auto;padding:17px;position:absolute;left:14px}.sheet-discard-title{color:var(--text);font-family:var(--font-display);font-size:19px;font-weight:500}.sheet-discard p{color:var(--dim);margin:5px 0 15px;font-size:12.5px;line-height:1.4}.sheet-discard-actions{justify-content:flex-end;gap:8px;display:flex}.form-row{border-top:1px solid var(--hairline);gap:9px;padding:12px 16px;display:grid}.form-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row--action{grid-template-columns:minmax(0,1fr) auto;align-items:end}.form-field{gap:5px;min-width:0;display:grid}.form-field>span,.form-fieldset-label{color:var(--faint);letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:650}.form-field input,.form-field select,.form-row input,.form-row select{font-variant-numeric:tabular-nums;width:100%;min-width:0;min-height:44px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--ember-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--ember) 12%, transparent)}.form-hint,.form-error{margin:-3px 16px 11px;font-size:11.5px;line-height:1.4}.form-hint{color:var(--faint)}.form-error{color:var(--ember)}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.form-inline-primary{min-height:44px}.food-entry-anchor{scroll-margin-block:14px}.manual-food-progress{color:var(--faint);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;gap:12px;padding:8px 16px 0;font-size:10.5px;font-weight:650;display:flex}.form-set-input .form-field>span{font-size:9px}.form-set-input .form-field input{width:100%;min-width:0}.journal-save-state{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.confirmed-edit-form{border:1px solid var(--stone-line);border-radius:var(--radius-control);background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 16px;display:grid}.confirmed-edit-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.confirmed-edit-form .form-actions{grid-column:1/-1;justify-content:flex-end}.tap-money-editor{border:1px solid var(--stone-line);border-radius:var(--radius-control);background:var(--surface-2);gap:7px;min-width:min(100%,152px);padding:8px;display:grid}.tap-money-editor .form-actions{justify-content:flex-end}.tap-money-editor .form-error{margin:0}.bill-form{border-top:1px solid var(--stone-line);background:color-mix(in srgb, var(--surface-2) 75%, transparent)}.bill-form-actions{justify-content:flex-end}.review-error{color:var(--ember);margin-top:5px;font-size:11px;line-height:1.35}.account-form{border-top:1px solid var(--stone-line);background:color-mix(in srgb, var(--surface-2) 75%, transparent)}.account-form-actions{justify-content:flex-end}.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{min-height:60px;padding:13px var(--content-pad);border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;display:flex}.setting-row>div:first-child{min-width:0}.setting-row:first-child{border-top:none}.setting-label{font-size:14px;font-weight:600;line-height:1.25}.setting-sub{color:var(--faint);margin-top:3px;font-size:11.5px;line-height:1.35}.toggle{background:0 0;border:none;flex-shrink:0;width:56px;height:44px;transition:background .25s,border-color .25s;position:relative}.toggle:before{content:"";border:1px solid var(--hairline-strong);background:var(--surface-2);border-radius:14px;width:46px;height:28px;transition:background .25s,border-color .25s;position:absolute;top:8px;left:5px}.toggle:after{content:"";background:var(--dim);border-radius:50%;width:20px;height:20px;transition:transform .25s,background .25s;position:absolute;top:12px;left:9px}.toggle.on{background:0 0;border-color:#0000}.toggle.on:before{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}.settings-screen .screen-inner>.section{margin-top:14px}.settings-screen .screen-inner>.settings-first-section{margin-top:12px}.settings-screen .screen-inner>.section+.ghost-note{margin-top:2px}.finance-view .row-title,.finance-config-screen .row-title,.confirmed-transactions-screen .row-title{font-family:var(--font-ui);letter-spacing:0}.finance-view .row-side,.finance-config-screen .row-side,.confirmed-transactions-screen .row-side,.finance-view .donut-total,.finance-view .donut-val,.finance-view .trend-label{font-family:var(--font-data);font-variant-numeric:tabular-nums}.ghost-note{color:var(--dim);padding:14px 4px 0;font-size:12px;line-height:1.55}.empty-state{text-align:center;color:var(--faint);padding:34px 24px;font-size:13px;line-height:1.6}.empty-state .serif{font-family:var(--serif);color:var(--text);margin-bottom:6px;font-size:18px;display:block}.screen{background:var(--bg);z-index:70;overscroll-behavior:contain;scroll-padding-bottom:calc(env(safe-area-inset-bottom) + 128px + var(--keyboard-inset));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 + var(--keyboard-inset));margin:0 auto}.screen-head{justify-content:space-between;align-items:center;min-height:48px;padding-bottom:10px;display:flex}.screen-title{font-family:var(--font-display);letter-spacing:-.012em;font-size:26px;font-weight:500}.screen-close{color:var(--dim);min-height:44px;padding:8px 4px 8px 16px;font-size:13px;font-weight:600}.screen-cta{left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px + var(--keyboard-inset));z-index:71;background:var(--gold);width:min(584px,100% - 36px);color:var(--on-gold);border-radius:var(--radius-control);text-align:center;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}@media (hover:hover){.screen-cta:hover,.confirm-cta:hover,.rapid-btn.discretionary:hover{filter:brightness(1.04);box-shadow:0 8px 20px var(--gold-faint)}.chip-btn.danger.solid:hover{background:var(--crimson);border-color:var(--crimson);color:var(--on-ember)}}.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(--dim);background:var(--wash);border-top:1px solid var(--hairline);padding:10px 16px 14px;font-size:12.5px;line-height:1.4}.fuel-verdict.fail{color:var(--ember);background:color-mix(in srgb, var(--ember) 7%, transparent)}.fuel-verdict.pass{color:var(--gold);background:var(--gold-faint)}.status-banner{margin:10px var(--content-pad) 12px;border:1px solid var(--stone-line);border-radius:var(--radius-control);background:var(--stone-wash);color:var(--dim);padding:10px 12px;font-size:12px;line-height:1.4}.status-banner.success{border-color:var(--gold-soft);background:var(--gold-faint);color:var(--gold)}.status-banner.error{border-color:var(--ember-soft);background:color-mix(in srgb, var(--ember) 7%, transparent);color:var(--ember)}.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(--on-gold);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:var(--gold);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 (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=700px){body{background:linear-gradient(135deg, var(--bg), var(--surface))}.app{border-right:1px solid var(--hairline);border-left:1px solid var(--hairline);box-shadow:0 0 80px #00000014}.nav{border-right:1px solid var(--hairline);border-left:1px solid var(--hairline)}}.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(--on-gold);z-index:40;border:1px solid var(--gold-soft);border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:fixed;box-shadow:0 10px 26px #00000047}.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:var(--stone-wash);-webkit-backdrop-filter:blur(1px);border:0;border-radius:0;width:100%;position:fixed;inset:0}@media (width>=700px){.composer-fab{right:max(18px,50% - 292px)}}.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:44px;padding:9px 14px}.row-actions .chip-btn,.row-actions .picker-chip{min-height:40px;padding:7px 11px;font-size:11.5px}.month-nav{padding:10px 12px;font-size:18px}.agenda-add{padding:8px 14px}.screen-close{min-height:44px;padding:12px 2px 12px 20px}.check{width:36px;height:36px}.nutrition-add{min-height:40px}.wk{width:100%;height:38px}}.pace-hero{text-align:center;padding:14px 16px 8px;position:relative}.pace-tune{color:var(--faint);border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:grid;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:flex-start}.review-icon{color:var(--dim);flex-shrink:0;align-items:center;padding:14px 0 0 16px;display:flex}.review-icon--income{color:var(--gold)}.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-lede{color:var(--dim);padding:2px 16px 12px;font-size:12.5px;line-height:1.45}.review-lede-prior{color:var(--stone)}.review-quiet{text-align:center;color:var(--dim);gap:4px;padding:18px 16px 20px;font-size:13px;line-height:1.45;display:grid}.review-quiet .serif{font-family:var(--serif);color:var(--text);margin-bottom:2px;font-size:17px;display:block}.review-group-head{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:10px;padding:10px 16px 4px;display:flex}.review-group-name{letter-spacing:.04em;text-transform:uppercase;color:var(--stone);font-size:12px;font-weight:600}.review-group-hint{color:var(--faint);text-align:right;font-size:11.5px}.review-row{padding-top:10px;padding-bottom:12px}.review-row--uncategorized{background:var(--stone-wash);box-shadow:inset 3px 0 0 var(--stone-soft)}.review-row--ready{background:var(--gold-faint);box-shadow:inset 3px 0 0 var(--gold-soft)}.review-row--income{background:var(--gold-faint);box-shadow:inset 3px 0 0 var(--gold-dim)}.review-row--pending{opacity:.78;background:0 0}.review-row--confirmed{background:0 0}.review-row--ambiguous{box-shadow:inset 3px 0 0 var(--ember-soft)}.review-row--prior .review-impact{color:var(--stone)}.review-title{font-size:13.5px}.review-meta{margin-top:2px}.review-file{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:7px;font-size:12.5px;display:flex}.review-file-label{color:var(--faint);letter-spacing:.02em}.review-why{color:var(--stone);margin-top:5px;font-size:12px;line-height:1.35}.review-impact{color:var(--faint);margin-top:4px;font-size:11.5px;line-height:1.35}.review-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 12px 0 0;display:flex}.review-amt{font-variant-numeric:tabular-nums}.review-amt--muted{color:var(--stone)}.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-cat.needs{color:var(--stone)}.review-cat-select{max-width:160px;font-size:12.5px}.review-check{border:1px solid var(--gold-soft);background:var(--gold-faint);width:36px;height:36px;color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.review-check:disabled{opacity:.28;cursor:not-allowed;border-color:var(--stone-line);color:var(--stone);background:0 0}.review-actions{flex-wrap:wrap}.confirmed-lede{color:var(--dim);padding:0 16px 10px;font-size:12.5px;line-height:1.45}.confirmed-impact{color:var(--stone);font-size:11.5px;line-height:1.35}.confirmed-row--editing{padding-top:12px;padding-bottom:12px}.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(--surface);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(--sans);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-destination{color:var(--stone);text-align:center;margin-top:7px;font-size:11px}.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(--on-gold);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-head.section-with-note{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fuel-db-head.section-with-note small{color:var(--faint);letter-spacing:normal;text-transform:none;font-size:10px;font-weight:400}.fuel-db-note{color:var(--dim);padding:4px 16px 8px;font-size:12px}.fuel-brand{color:var(--dim);font-weight:400}.fuel-result-brand{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:600}.fuel-suggestions{flex-wrap:wrap;gap:6px;padding:8px 16px 2px;display:flex}.fuel-suggestions .chip-btn{font-size:12px}.meal-destination{border-bottom:1px solid var(--hairline);padding:2px 16px 12px}.meal-destination>span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.meal-destination>div{background:var(--stone-wash);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:5px;padding:3px;display:grid}.meal-destination button{min-width:0;color:var(--dim);border-radius:9px;padding:7px 3px;font-size:11.5px}.meal-destination button.on{color:var(--gold);background:var(--bg);box-shadow:inset 0 0 0 1px var(--gold-soft)}.fuel-day-total{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 16px 10px;display:flex}.fuel-day-total span{color:var(--dim);font-family:var(--serif);font-size:14px}.fuel-day-total strong{color:var(--stone);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.meal-section{border-top:1px solid var(--hairline)}.meal-section-head{justify-content:space-between;align-items:baseline;gap:12px;padding:9px 16px 4px;display:flex}.meal-section-head span{font-family:var(--serif);font-size:14px}.meal-section-head strong{color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;font-size:10.5px;font-weight:500}.meal-move{width:92px;min-width:0;color:var(--dim);padding:6px 4px;font-size:11px}.food-favorite{width:30px;height:30px;color:var(--stone);flex:none;font-size:18px;line-height:1}.food-favorite.on{color:var(--gold)}.food-search-bar{z-index:4;border-top:0;border-bottom:1px solid var(--stone-line);background:color-mix(in srgb, var(--surface-2) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-wrap:nowrap;position:sticky;top:0}.food-search-bar input[type=search]{min-width:0;min-height:44px;font-family:var(--sans);flex:auto}.food-search-bar .chip-btn{min-width:44px;min-height:44px}.food-result-row{border-top:1px solid var(--hairline);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 16px;display:grid}.food-result-row:active{background:var(--stone-wash)}.food-result-main,.food-result-nutrition{gap:2px;min-width:0;display:grid}.food-result-main strong{color:var(--text);font-family:var(--sans);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.food-result-main>span{color:var(--dim);font-size:11.5px}.food-result-main small{color:var(--faint);font-size:10.5px;line-height:1.35}.food-result-nutrition{text-align:right;font-variant-numeric:tabular-nums;justify-items:end}.food-result-nutrition strong{color:var(--stone);font-size:12.5px;font-weight:650}.food-result-nutrition small{color:var(--dim);white-space:nowrap;font-size:10.5px}.search-state{flex-wrap:wrap;align-items:center;gap:8px;line-height:1.45;display:flex}.search-empty .chip-btn{margin-top:10px}.food-row-nutrition{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:3px;display:flex}.food-row-nutrition strong{color:var(--stone);font-size:12px;font-weight:650}.food-row-nutrition span{color:var(--faint);font-size:10.5px}.quantity-basis,.quantity-quick{background:var(--stone-wash);border-radius:12px;gap:5px;margin-top:12px;padding:3px;display:grid}.quantity-basis{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.quantity-quick{grid-template-columns:repeat(4,1fr)}.quantity-basis button,.quantity-quick button{min-height:40px;color:var(--dim);font-family:var(--sans);border-radius:9px;font-size:12px}.quantity-basis button.on,.quantity-quick button.on{color:var(--gold);background:var(--bg);box-shadow:inset 0 0 0 1px var(--gold-soft)}.confirm-qty{align-items:center}.confirm-qty>span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:650}.confirm-qty>strong{min-width:56px;color:var(--dim);font-size:12px;font-weight:500}.serving-picker,.manual-gram-weight{gap:5px;margin-top:10px;display:grid}.serving-picker>span,.manual-gram-weight>span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:650}.serving-picker select{width:100%;min-width:0;min-height:44px}.manual-gram-weight>span small{letter-spacing:0;text-transform:none;font-size:9.5px;font-weight:400}.manual-gram-weight>div{align-items:center;gap:8px;display:flex}.manual-gram-weight input{font-variant-numeric:tabular-nums;flex:1;min-width:0}.manual-gram-weight strong{color:var(--dim);font-size:12px}.manual-serving-summary{color:var(--stone);margin-top:8px;font-size:11.5px;line-height:1.4}.nutrition-progress{border-bottom:1px solid var(--hairline);padding:12px 16px 10px}.calorie-progress{gap:6px;display:grid}.calorie-progress>div:first-child{justify-content:space-between;gap:12px;display:flex}.calorie-progress span{color:var(--dim);font-size:12px}.calorie-progress strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:12px}.calorie-progress-track{background:var(--track);border-radius:99px;height:5px;overflow:hidden}.calorie-progress-track>span{border-radius:inherit;background:var(--gold);height:100%;display:block}.nutrition-goal-rings{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-top:12px;display:grid}.nutrition-goal-ring{align-items:center;gap:5px;min-width:0;display:flex}.nutrition-goal-ring svg{flex:0 0 62px}.nutrition-goal-ring circle{fill:none;stroke-width:6px}.nutrition-goal-ring .track{stroke:var(--stone-soft)}.nutrition-goal-ring.protein .progress{stroke:var(--stone)}.nutrition-goal-ring.carbs .progress{stroke:var(--gold-dim)}.nutrition-goal-ring.fat .progress{stroke:color-mix(in srgb, var(--stone) 55%, var(--gold))}.nutrition-goal-ring>div{gap:2px;min-width:0;display:grid}.nutrition-goal-ring span{color:var(--dim);font-size:10.5px}.nutrition-goal-ring strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;font-weight:600}.goal-number-field{justify-items:end;gap:3px;display:grid;position:relative}.goal-number-field input{font-variant-numeric:tabular-nums}.goal-number-error{color:var(--ember);white-space:nowrap;font-size:9.5px}.setting-divider-label{border-top:1px solid var(--hairline);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;padding:10px 16px 3px;font-size:10px;font-weight:650}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.fuel-sheet .confirm-cta{bottom:calc(env(safe-area-inset-bottom) + 6px);z-index:3;box-shadow:0 -8px 18px color-mix(in srgb, var(--surface) 78%, transparent);position:sticky}@media (width<=480px){.fuel-sheet .row{flex-wrap:wrap;align-items:center;gap:4px;padding-block:8px}.fuel-sheet .row-body{flex-basis:calc(100% - 42px)}.fuel-sheet .meal-move{margin-left:auto}.food-result-row{gap:8px}.food-result-nutrition small{white-space:normal}.confirm-card{margin-inline:10px;padding-inline:12px}.confirm-macros{gap:4px}.confirm-macro{padding-inline:0}.cm-val{font-size:14px}.nutrition-goal-rings{grid-template-columns:1fr}}.personal-records-card{background:radial-gradient(circle at 92% 0%, var(--gold-faint), transparent 42%), var(--surface)}.horizon-goals-card{background:radial-gradient(circle at 100% 0%, var(--gold-faint), transparent 42%), var(--surface);overflow:hidden}.horizon-goals-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:15px 16px 11px;display:flex}.horizon-goals-head>div{gap:2px;display:grid}.horizon-goals-head small{color:var(--faint);font-family:var(--serif);font-size:12px;font-style:italic}.horizon-goals-head>span{color:var(--stone);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding-top:2px;font-size:9.5px}.horizon-focus-button{border:1px solid var(--stone-line);min-height:28px;color:var(--stone);border-radius:99px;margin-top:-2px;padding:0 9px;font-size:10px;font-weight:650}.horizon-focus-button:active{background:var(--stone-wash);transform:none}.horizon-goals-pages{border-top:1px solid var(--hairline);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.horizon-goals-pages::-webkit-scrollbar{display:none}.horizon-goals-page{scroll-snap-align:start;flex:0 0 100%;min-width:0}.horizon-goal-row{border-top:1px solid var(--hairline);padding:13px 16px 14px}.horizon-goals-page .horizon-goal-row{border-top:0}.horizon-goal-meta{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:9.5px;display:flex}.horizon-goal-row>strong{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.25;display:block}.horizon-goal-row>p{color:var(--dim);margin:4px 0 0;font-size:11.5px;line-height:1.45}.horizon-goal-progress{background:var(--stone-soft);border-radius:999px;height:3px;margin-top:9px;overflow:hidden}.horizon-goal-progress>i{border-radius:inherit;background:var(--gold);height:100%;display:block}.horizon-goals-empty{border-top:1px solid var(--hairline);color:var(--dim);padding:18px 16px;font-size:12px;line-height:1.45}.horizon-goals-pager{border-top:1px solid var(--hairline);justify-content:center;gap:6px;padding:1px 0 12px;display:flex}.horizon-goals-pager button{background:var(--stone-soft);border:0;border-radius:99px;width:5px;height:5px;padding:0;transition:width .18s,background .18s}.horizon-goals-pager button.active{background:var(--stone);width:16px}.horizon-records-page .personal-records-link{background:0 0;border:0;min-height:86px;margin:0}.horizon-records-page .personal-records-link>span:after{color:var(--faint);font-family:var(--font-display);content:"A quiet timeline of what you have built.";margin-top:3px;font-size:11px;font-style:italic;font-weight:400;display:block}.horizon-focus-intro{color:var(--dim);margin:0 0 15px;font-size:12px;line-height:1.5}.horizon-focus-list{border-top:1px solid var(--stone-line)}.horizon-focus-option{border-top:1px solid var(--hairline);width:100%;min-height:63px;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.horizon-focus-option:first-child{border-top:0}.horizon-focus-option>span{gap:3px;display:grid}.horizon-focus-option strong{font-size:13px;font-weight:650}.horizon-focus-option small{color:var(--faint);font-size:11px}.horizon-focus-option>i{border:1px solid var(--stone-line);width:23px;height:23px;color:var(--surface);border-radius:50%;place-items:center;font-size:12px;font-style:normal;display:grid}.horizon-focus-option.active>i{border-color:var(--gold);background:var(--gold)}.horizon-focus-option:active{color:var(--stone);background:0 0;transform:none}.personal-records-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.personal-records-head>div{gap:2px;display:grid}.personal-records-head small{color:var(--faint);font-family:var(--serif);font-size:12px;font-style:italic}.personal-record-highlights{border-top:1px solid var(--hairline)}.personal-record-row{border-top:1px solid var(--hairline);grid-template-columns:10px minmax(0,1fr);gap:10px;padding:14px 16px;display:grid}.personal-record-row:first-child{border-top:0}.personal-record-row.compact{padding-top:12px;padding-bottom:12px}.personal-record-mark{border:1px solid var(--gold);background:var(--gold-faint);border-radius:50%;width:7px;height:7px;margin-top:19px}.personal-record-row.upcoming .personal-record-mark{border-color:var(--stone);background:0 0}.personal-record-copy{min-width:0}.personal-record-meta{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:3px;font-size:9.5px;display:flex}.personal-record-meta time{letter-spacing:normal;text-transform:none}.personal-record-copy>strong{font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.3;display:block}.personal-record-title-line{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.personal-record-title-line>strong{min-width:0}.personal-record-value{color:var(--stone);font-family:var(--font-data);letter-spacing:.02em;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.personal-record-copy>p{color:var(--dim);margin:4px 0 0;font-size:11.5px;line-height:1.45}.personal-record-row.compact .personal-record-copy>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.personal-record-source{color:var(--faint);margin-top:6px;font-size:10px;line-height:1.35;display:block}.personal-record-progress{background:var(--stone-soft);border-radius:999px;height:3px;margin-top:9px;overflow:hidden}.personal-record-progress i{border-radius:inherit;background:var(--gold);height:100%;display:block}.personal-record-empty{border-top:1px solid var(--hairline);gap:4px;padding:18px 16px;display:grid}.personal-record-empty strong{font-family:var(--serif);font-size:16px;font-weight:500}.personal-record-empty span{color:var(--dim);font-size:12px}.personal-record-nearby{border:1px solid var(--stone-line);background:var(--stone-wash);text-align:left;border-radius:13px;gap:2px;width:calc(100% - 28px);margin:10px 14px 12px;padding:11px 12px;display:grid}.personal-record-nearby>span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:9.5px}.personal-record-nearby>strong{font-family:var(--serif);font-size:14px;font-weight:500}.personal-record-nearby>small{color:var(--dim);font-size:11px}.personal-record-nearby>i{background:var(--stone-soft);border-radius:999px;height:3px;margin-top:7px;overflow:hidden}.personal-record-nearby>i>b{border-radius:inherit;background:var(--gold);height:100%;display:block}.personal-record-all{border-top:1px solid var(--hairline);width:100%;color:var(--stone);text-align:left;padding:10px 16px 13px;font-size:11.5px;display:block}.personal-records-intro{color:var(--dim);padding:0 16px 14px;font-size:12px;line-height:1.5}.personal-records-group{border-top:1px solid var(--hairline);margin-bottom:14px}.personal-records-recent{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--stone-wash);margin-bottom:14px}.personal-records-recent .personal-record-row{border-color:var(--stone-line)}.personal-record-tree{border-top:1px solid var(--hairline)}.personal-tree-category{border-bottom:1px solid var(--hairline)}.personal-tree-category-head{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:62px;padding:12px 16px;display:flex}.personal-tree-category-head>span{gap:3px;display:grid}.personal-tree-category-head strong{font-family:var(--serif);font-size:17px;font-weight:500}.personal-tree-category-head small{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.personal-tree-category-head>i{border:1px solid var(--stone-line);width:26px;height:26px;color:var(--stone);font-family:var(--serif);border-radius:50%;place-items:center;font-size:19px;font-style:normal;line-height:1;display:grid}.personal-tree-group{border-top:1px solid var(--hairline)}.personal-tree-group>h3{color:var(--stone);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:11px 16px 5px;font-size:10px;font-weight:650}.personal-tree-group .personal-record-row:first-of-type{border-top:0}.personal-records-empty-state{margin:18px 16px}.personal-records-group-head{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px 5px;display:flex}.personal-records-group-head>span{font-family:var(--serif);font-size:16px}.personal-records-group-head>small{color:var(--faint);font-size:10.5px}.fuel-log-head{border-top:1px solid var(--hairline);color:var(--dim);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 5px;font-size:11px;display:flex}.saved-meal-select{border:1px solid var(--stone-soft);width:36px;height:36px;color:var(--on-gold);border-radius:8px;flex:none;margin-left:10px}.saved-meal-select.on{background:var(--gold);border-color:var(--gold)}.save-meal-form,.saved-meal-editor{border:1px solid var(--gold-soft);background:var(--gold-faint);border-radius:16px;margin:8px 14px 12px;padding:14px}.save-meal-form-title{font-family:var(--serif);margin-bottom:10px;font-size:16px}.save-meal-form>input,.saved-meal-name{width:100%;font-family:var(--serif);font-size:16px}.save-meal-form-meta,.saved-meal-meta-fields{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:8px;margin-top:8px;display:grid}.save-meal-form-meta>*,.saved-meal-meta-fields>*{min-width:0}.save-meal-hint{color:var(--dim);margin-top:7px;font-size:10.5px;line-height:1.4}.saved-meals{border-top:1px solid var(--hairline);position:relative}.saved-meals-head{border-top:0;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.saved-meals-head small{color:var(--faint);letter-spacing:normal;text-transform:none;font-size:10.5px;font-weight:400}.saved-meals-empty{color:var(--dim);padding:4px 16px 14px;font-size:12px;line-height:1.45}.saved-meal-row{padding-top:13px;padding-bottom:12px;display:block}.saved-meal-note{color:var(--stone);font-family:var(--serif);margin-top:3px;font-size:12px;font-style:italic}.saved-meal-row-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.saved-meal-log{min-width:62px;margin-right:auto}.saved-meal-editor{animation:.2s sheet-up}.saved-meal-editor-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.saved-meal-editor-head>div{gap:2px;display:grid}.saved-meal-editor-head span{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px}.saved-meal-editor-head strong{color:var(--gold);font-size:12px;font-weight:500}.saved-meal-editor-label{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;margin:13px 0 5px;font-size:10.5px}.saved-meal-ingredient{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px 0;display:grid}.saved-meal-ingredient-copy{align-content:center;min-width:0;display:grid}.saved-meal-ingredient-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.saved-meal-ingredient-copy span{color:var(--dim);font-size:10.5px}.saved-meal-ingredient-fields{gap:6px;display:flex}.saved-meal-ingredient-fields input{font-variant-numeric:tabular-nums;width:72px}.saved-meal-ingredient-fields select{max-width:100px}.saved-meal-ingredient-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.saved-meal-ingredient-actions .chip-btn{min-width:32px}.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 + var(--keyboard-inset));border-top:none}.scanner-manual.has-error{padding-bottom:8px}.scanner-manual input{color:#fff;background:#ffffff14}.scanner-manual-error{padding:0 16px calc(env(safe-area-inset-bottom) + 12px + var(--keyboard-inset));color:#ffd3c8;font-size:12px}.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}.lock-veil{z-index:400;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lock-panel{text-align:center;max-width:320px;color:var(--dim);flex-direction:column;align-items:center;gap:14px;display:flex}.lock-title{color:var(--text);font-size:22px}.lock-passcode{justify-content:center;gap:8px;width:100%;display:flex}.lock-passcode input{text-align:center;flex:1;min-width:0;max-width:180px}.lock-note{color:var(--faint);font-size:12px;line-height:1.5}.lock-note--warn{color:var(--ember)}
