:root{--ink:#18181b;--ink-secondary:#525252;--muted:#71717a;--faint:#a1a1aa;--line:#e4e4e1;--hairline:#ececea;--paper:#fbfaf7;--surface:#fff;--field:#f4f3ef;--panel:#ffffffdb;--panel-soft:#ffffff94;--chrome:#fbfaf7f0;--grid-line-x:#18181b09;--grid-line-y:#18181b06;--accent:#16a34a;--warn:#c2410c;--danger:#b91c1c;--shadow:0 18px 60px #18181b14;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ink:#f4f4f5;--ink-secondary:#d4d4d8;--muted:#a1a1aa;--faint:#71717a;--line:#3a3d47;--hairline:#2d3039;--paper:#111318;--surface:#1b1e25;--field:#232733;--panel:#191c23f0;--panel-soft:#1f232cd1;--chrome:#0f1116f0;--grid-line-x:#ffffff07;--grid-line-y:#ffffff05;--accent:#22c55e;--warn:#fb923c;--danger:#f87171;--shadow:0 18px 60px #00000061;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-feature-settings:"tnum" 1}body{background:linear-gradient(90deg, var(--grid-line-x) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-y) 1px, transparent 1px), var(--paper);background-size:34px 34px;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}a{color:inherit;text-decoration:none}.auth-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);padding:26px}.app-lock-screen{min-height:100vh;padding:calc(8px + env(safe-area-inset-top)) 0 calc(8px + env(safe-area-inset-bottom));background:var(--paper);place-items:center;display:grid}.app-lock-panel{width:min(430px,100vw - 6px);min-height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--panel);border-radius:0 0 24px 24px;padding:clamp(70px,14vh,116px) 28px 28px;box-shadow:0 12px 34px #18181b08}.app-lock-content{justify-items:center;gap:14px;display:grid}.app-lock-icon{border:1px solid var(--ink);width:58px;height:58px;color:var(--ink);border-radius:16px;place-items:center;display:grid}.app-lock-title{justify-items:center;gap:8px;margin-top:10px;display:grid}.app-lock-title span{color:var(--faint);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.app-lock-title strong{font-family:var(--font-sans);font-size:16px;font-weight:700}.app-lock-code{text-align:center;letter-spacing:.3em;font-size:20px;font-weight:700}.app-lock-dots{justify-content:center;align-items:center;gap:22px;padding:24px 0 0;display:flex}.app-lock-dots span{border:1px solid var(--ink);background:0 0;border-radius:50%;width:13px;height:13px;transition:background .14s,transform .14s}.app-lock-dots span.is-filled{background:var(--ink);transform:scale(1.08)}.app-lock-status{text-align:center;min-height:18px;color:var(--muted);font-size:11px}.app-lock-keypad-wrap{padding-top:clamp(70px,16vh,132px)}.app-lock-keypad{grid-template-columns:repeat(3,96px);justify-content:center;gap:12px 14px;display:grid}.app-lock-keypad button{background:var(--field);width:96px;height:66px;color:var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:999px;align-content:center;place-items:center;gap:2px;transition:transform .12s,background .12s,border-color .12s,opacity .12s;display:grid}.app-lock-keypad button strong{font-size:27px;font-weight:600;line-height:.92}.app-lock-keypad button em{color:#9d9da3;letter-spacing:.28em;font-size:7px;font-style:normal;font-weight:700}.app-lock-keypad button:active{background:#ebeae7;transform:scale(.96)}.app-lock-keypad-icon{color:var(--ink-secondary);font-size:0;background:0 0!important}.app-lock-keypad span{width:96px;height:66px}.app-lock-forgot{color:#c4c4c8;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;margin-top:4px;font-size:9px;font-weight:700}.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);height:100vh;padding:24px 18px;position:sticky;top:0}.brand{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:26px;font-size:12px;font-weight:700;display:flex}.brand-mark{border:1px solid var(--ink);place-items:center;width:34px;height:34px;display:grid}.nav{gap:6px;display:grid}.nav a{min-height:42px;color:var(--muted);border:1px solid #0000;align-items:center;gap:10px;padding:0 11px;font-size:12px;display:flex}.nav a.active{color:var(--ink);border-color:var(--line);background:var(--surface)}.main{min-width:0;padding:28px clamp(16px,4vw,48px) 96px}.app-bar{z-index:15;background:linear-gradient(90deg, var(--grid-line-x) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-y) 1px, transparent 1px), var(--chrome);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background-size:34px 34px;border-bottom:1px solid #e4e4e1b8;justify-content:space-between;align-items:center;gap:18px;margin:-28px calc(-1*clamp(16px,4vw,48px)) 28px;padding:28px clamp(16px,4vw,48px) 18px;display:flex;position:sticky;top:0}.page-transition{animation:.22s cubic-bezier(.2,.78,.28,1) page-slide-in}.page-transition[data-direction=back]{animation-name:page-slide-back-in}@keyframes page-slide-in{0%{opacity:0;transform:translate(14px)translateY(4px)}to{opacity:1;transform:translate(0)translateY(0)}}@keyframes page-slide-back-in{0%{opacity:0;transform:translate(-14px)translateY(4px)}to{opacity:1;transform:translate(0)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:10px}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:clamp(28px,4vw,42px);line-height:1.05}h2{letter-spacing:0;font-size:18px}h3{font-size:14px}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono-small{color:var(--ink-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.grid{gap:14px;display:grid}.today-grid{grid-template-columns:minmax(320px,430px) minmax(360px,1fr) minmax(280px,360px);align-items:start}.today-command{grid-template-columns:minmax(320px,1.05fr) minmax(360px,1.35fr);align-items:start;gap:14px;display:grid}.today-command-card{gap:12px;display:grid}.today-habits-anchor{grid-row:span 2}.today-habits-card{padding-bottom:16px}.today-habits-card .card-header{margin-bottom:12px}.today-action-grid,.today-analytics-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.two-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;padding:18px;overflow:hidden;box-shadow:0 1px #18181b05}.card-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.kpi{font-size:34px;font-weight:700;line-height:1}.button,.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;transition:transform .12s,border-color .12s,background .12s,opacity .12s;display:inline-flex}.button:active,.icon-button:active,.day-pill:active,.habit-chip:active{transform:translateY(1px)scale(.98)}.button.primary{border-color:var(--ink);background:var(--ink);color:var(--surface)}.button.danger{border-color:var(--danger);background:var(--danger);color:#fff}.icon-button{width:38px;padding:0}.field{box-sizing:border-box;border:1px solid var(--line);background:var(--field);width:100%;min-width:0;max-width:100%;min-height:42px;color:var(--ink);font:inherit;padding:0 12px}.field[type=date],.field[type=time]{text-align:left;appearance:none;border-radius:0;width:100%;min-width:0;max-width:100%;height:42px;line-height:40px;display:block}.field[type=date]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:40px;margin:0;line-height:40px;display:block}.field[type=time]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:40px;margin:0;line-height:40px;display:block}.field[type=time]::-webkit-calendar-picker-indicator{flex:none;margin-left:4px}.setting-field{gap:6px;min-width:0;display:grid}.setting-field span{font-size:12px;font-weight:700}.setting-field em{color:var(--muted);font-size:11px;font-style:normal}.view-nav{scrollbar-width:none;scroll-snap-type:x proximity;gap:7px;max-width:100%;padding:1px 0 4px;scroll-padding:14px;display:flex;overflow-x:auto}.view-nav::-webkit-scrollbar{display:none}.view-nav button{border:1px solid var(--line);background:var(--surface);min-width:112px;min-height:38px;color:var(--muted);scroll-snap-align:start;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.view-nav button.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.view-nav--compact{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;padding:0;display:grid;overflow:visible}.view-nav--compact button{min-width:0;min-height:34px;padding:0 10px}.theme-toggle{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:10px 12px;display:grid}.theme-toggle input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.theme-toggle-copy{gap:4px;min-width:0;display:grid}.theme-toggle-copy strong{color:var(--ink);font-size:13px}.theme-toggle-copy em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.theme-toggle-track{border:1px solid var(--line);background:var(--surface);width:66px;height:34px;color:var(--muted);border-radius:999px;flex:none;grid-template-columns:repeat(2,1fr);place-items:center;display:grid;position:relative}.theme-toggle-track i{background:var(--ink);border-radius:50%;width:26px;height:26px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #00000029}.theme-toggle input:checked+.theme-toggle-track i{transform:translate(32px)}.theme-toggle input:disabled+.theme-toggle-track{opacity:.55}.theme-toggle:has(input:disabled) .theme-toggle-copy{opacity:.55}.theme-toggle input:focus-visible+.theme-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.check-row{min-height:38px;color:var(--muted);align-items:center;gap:9px;font-size:12px;display:inline-flex}.day-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day-pill{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted)}.day-pill.is-selected{background:var(--ink);border-color:var(--ink);color:var(--surface)}.stack{gap:12px;display:grid}.row{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.ring-wrap{aspect-ratio:1;place-items:center;width:164px;display:grid;position:relative}.ring-center{text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.ring-center-copy{justify-items:center;gap:2px;width:min(74px,58%);display:grid;transform:translateY(1px)}.ring-center-value{color:var(--ink);letter-spacing:0;white-space:nowrap;font-size:28px;font-weight:800;line-height:.95}.ring-center-label{max-width:100%;color:var(--ink-secondary);letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere;font-size:8px;font-weight:800;line-height:1.05}.ring-track{stroke:#ececea}.ring-value{stroke:var(--ink);transition:stroke-dashoffset .68s cubic-bezier(.22,1,.36,1)}.ring-value.secondary{stroke:var(--ink-secondary)}.ring-value--habit{stroke:#16a34a}.ring-value--water{stroke:#2563eb}.today-hero{grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:14px;display:grid}.today-hero-copy{gap:10px;display:grid}.today-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.today-stat-chip{border:1px solid var(--hairline);background:var(--paper);min-width:0;color:inherit;border-radius:8px;gap:4px;padding:8px;text-decoration:none;display:grid}.today-stat-chip span,.today-priority-head span,.today-priority-list span,.today-priority-clear span,.today-money-food span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:700}.today-stat-chip strong,.today-priority-list strong,.today-priority-clear strong,.today-money-food strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:14px;line-height:1.1;overflow:hidden}.today-stat-chip em,.today-money-food em{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:10px;font-style:normal;overflow:hidden}.today-priority-panel{border:1px solid var(--hairline);background:#ffffff94;border-radius:8px;gap:7px;padding:9px;display:grid}.today-priority-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.today-priority-head em{color:var(--ink-secondary);font-size:10px;font-style:normal}.today-priority-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.today-priority-list button,.today-priority-clear{border:1px solid var(--hairline);background:var(--surface);min-width:0;color:inherit;text-align:left;border-radius:8px;gap:4px;padding:8px;display:grid}.today-priority-clear{grid-column:1/-1}.today-command-links,.today-input-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.today-command-links a,.today-input-links a{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.today-context{grid-template-columns:repeat(2,minmax(0,112px));gap:8px;margin-top:2px;display:grid}.today-context div{border:1px solid var(--hairline);background:var(--paper);min-width:0;padding:8px}.today-context span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.today-context strong{margin-top:5px;font-size:16px;line-height:1;display:block}.today-context em{color:var(--ink-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;font-style:normal;display:block;overflow:hidden}.today-protein{border:1px solid var(--hairline);background:var(--paper);gap:8px;padding:8px;display:grid}.today-protein>div:first-child{grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:7px;display:grid}.today-protein span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.today-protein strong{color:var(--ink);font-size:16px;line-height:1}.today-protein em{color:var(--ink-secondary);white-space:nowrap;font-size:10px;font-style:normal}.today-protein-progress{background:#ececeb;border-radius:999px;height:7px;overflow:hidden}.today-protein-progress span{border-radius:inherit;background:#7c3aed;height:100%;transition:width .24s;display:block}.legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.legend-item{border:1px solid var(--hairline);background:var(--paper);padding:10px}.habit-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.habit-chip{background:var(--surface);border:1px solid var(--line);min-height:112px;color:var(--ink-secondary);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;padding:10px;display:flex;position:relative;overflow:hidden}.habit-chip.is-done{color:#14532d;background:#effaf3;border-color:#16a34a52}.habit-chip.is-progress{color:var(--ink);background:#fbfbfa;border-color:#d7d7d2}.habit-chip.is-empty{color:#74747a}.habit-chip--multi{padding:10px 8px}.habit-chip--multi strong{font-size:21px;line-height:1}.habit-chip__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:inherit;padding:0 6px;font-weight:700;overflow:hidden}.habit-chip__state{color:#16a34a;place-items:center;height:16px;display:grid}.habit-chip__bar{background:var(--hairline);border-radius:999px;width:min(70px,100%);height:4px;overflow:hidden}.habit-chip__bar i{border-radius:inherit;background:#16a34a;height:100%;display:block}.habit-chip__streak{color:var(--ink-secondary);opacity:.9;font-size:10px}.habit-chip.is-done .habit-chip__streak{color:#166534}.today-habits-card .habit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.today-habits-card .habit-chip{gap:4px;min-height:82px;padding:8px 6px}.today-habits-card .habit-chip--multi strong{font-size:18px}.today-habits-card .habit-chip__label{font-size:12px}.today-habits-card .habit-chip__streak{font-size:9px}.today-habits-card .habit-chip__state{height:14px}.today-holiday-card{background:repeating-linear-gradient(135deg,#2563eb09,#2563eb09 8px,#0000 8px 16px),#ffffffb8;border:1px solid #2563eb2e;border-radius:8px;align-content:center;gap:8px;min-height:150px;padding:18px;display:grid}.today-holiday-card span{color:#5d7fdd;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.today-holiday-card strong{font-size:22px;line-height:1}.today-holiday-card p{color:var(--ink-secondary);font-size:12px}.today-holiday-card em,.today-holiday-mini p{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.today-holiday-mini{border:1px solid var(--hairline);background:var(--paper);align-content:center;gap:7px;min-height:86px;padding:14px;display:grid}.today-holiday-mini strong{font-size:14px}.today-water{gap:10px;display:grid}.today-money-food{gap:8px;display:grid}.today-money-food a{border:1px solid var(--hairline);background:var(--paper);min-width:0;color:inherit;border-radius:8px;gap:6px;padding:11px;text-decoration:none;display:grid}.today-sleep-check{margin-bottom:14px}.today-sleep-form{grid-template-columns:minmax(120px,.8fr) repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:10px;display:grid}.today-sleep-rating{grid-template-columns:repeat(5,minmax(0,34px))}.today-sleep-rating button{min-height:38px}.today-sleep-save{white-space:nowrap;min-height:42px}.today-water .row{align-items:end}.today-water .kpi{font-size:30px}.today-water .muted{font-size:12px}.water-progress{background:#ececea;border-radius:999px;height:7px;overflow:hidden}.water-progress span{border-radius:inherit;background:#2563eb;height:100%;transition:width .52s cubic-bezier(.22,1,.36,1);display:block}.mini-rings{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.mini-rings-rich{overscroll-behavior-x:contain;scrollbar-width:none;gap:14px;min-width:0;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.mini-rings-rich::-webkit-scrollbar{display:none}.mini-ring{justify-items:center;gap:6px;min-width:0;display:grid}.mini-rings-rich .mini-ring{flex:0 0 94px;min-width:94px}.mini-ring-visual{place-items:center;display:grid;position:relative}.mini-ring-visual svg+svg,.mini-ring-visual>:not(svg){position:absolute}.mini-ring strong{font-size:11px}.mini-ring em{color:var(--ink-secondary);font-size:10px;font-style:normal}.mini-rings-rich .mini-ring .label-xs{color:var(--ink);text-align:center;max-width:86px;font-weight:700}.label-xs{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.list{gap:8px;display:grid}.list-row{border:1px solid var(--hairline);background:var(--paper);gap:8px;padding:12px;display:grid}.heatmap{grid-template-columns:repeat(14,1fr);gap:4px;min-width:0;display:grid}.heat-cell{aspect-ratio:1;border:1px solid var(--hairline);background:var(--surface);min-width:0;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s}.heat-cell:active{transform:scale(.92)}.heat-cell[data-selected=true]{border-color:var(--ink);box-shadow:0 0 0 2px #18181b14}.heat-cell[data-level="1"]{background:#e4e4e1}.heat-cell[data-level="2"]{background:#c8c8c3}.heat-cell[data-level="3"]{background:#8fd19e}.heat-cell[data-level="4"]{background:#2fb463}.heat-cell[data-holiday=true]{background:repeating-linear-gradient(135deg, #2563eb5c, #2563eb5c 2px, #2563eb14 2px, #2563eb14 5px), var(--surface);border-color:#2563eb42}.heatmap-legend{color:var(--muted);justify-content:end;gap:12px;margin-top:10px;font-size:10px;display:flex}.heatmap-legend span{align-items:center;gap:5px;display:inline-flex}.heatmap-legend i{background:repeating-linear-gradient(135deg,#2563eb5c,#2563eb5c 2px,#2563eb14 2px 5px);border:1px solid #2563eb42;width:10px;height:10px}.heatmap-legend span:last-child i{border-color:var(--hairline);background:#2fb463}.pulse-modal{gap:14px}.pulse-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pulse-summary-grid>div{border:1px solid var(--hairline);background:var(--paper);padding:12px}.pulse-summary-grid span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.pulse-summary-grid strong{margin-top:7px;font-size:22px;line-height:1;display:block}.pulse-summary-grid em{color:var(--ink-secondary);margin-top:6px;font-size:11px;font-style:normal;display:block}.pulse-habit-list{gap:7px;display:grid}.pulse-habit-list>div{border:1px solid var(--hairline);background:var(--surface);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:0 10px;font-size:12px;display:grid}.pulse-habit-list>div.is-complete{background:#effaf3;border-color:#16a34a40}.pulse-habit-list span{color:var(--muted);text-transform:uppercase;font-size:10px}.pulse-habit-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pulse-habit-list em{color:var(--ink-secondary);font-style:normal;font-weight:700}.pulse-holiday-summary{min-height:96px}.habits-screen{gap:14px;width:min(430px,100%);min-width:0;margin:0 auto;display:grid;overflow-x:hidden}.habits-hero{display:none}.habits-hero h2{font-size:24px;line-height:1}.habits-hero .muted{margin-top:8px;font-size:12px}.habit-streak-pill,.habit-card-action,.habit-edit-button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12px;display:inline-flex}.habit-streak-pill svg{color:#f59e0b}.habit-card-action{justify-content:center;width:32px;padding:0}.habit-edit-button{min-height:30px;font-size:11px}.habit-form-grid{grid-template-columns:minmax(0,.85fr) minmax(0,.8fr) minmax(120px,1.35fr);gap:10px;display:grid}.habit-icon-picker{overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.habit-icon-picker::-webkit-scrollbar{display:none}.habit-icon-option{border:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink-secondary);-webkit-tap-highlight-color:transparent;border-radius:8px;flex:0 0 72px;align-content:center;place-items:center;gap:5px;padding:8px 6px;display:grid}.habit-icon-option em{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:inherit;font-size:10px;font-style:normal;overflow:hidden}.habit-icon-option.is-selected{color:#166534;background:#effaf3;border-color:#16a34a61}.habit-list-row{border-bottom:1px solid var(--hairline);grid-template-columns:42px minmax(0,1fr);gap:12px;min-width:0;padding:12px 0;display:grid}.habit-list-row:last-child{border-bottom:0}.habit-row-icon{border:1px solid var(--hairline);background:var(--field);border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.habit-row-main{gap:7px;min-width:0;display:grid;overflow:hidden}.habit-row-title{color:var(--ink);background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.habit-row-actions{color:var(--ink-secondary);align-items:center;gap:8px;font-size:11px;display:inline-flex}.habit-row-actions span{align-items:center;gap:4px;display:inline-flex}.habit-row-actions span svg{color:#f59e0b}.habit-row-actions button{color:var(--ink-secondary);background:0 0;border:0;padding:0}.spark,.bars{width:100%;height:126px;color:var(--ink);overflow:visible}.spark-goal{stroke:var(--accent)}.bar-current{fill:var(--ink)}.bar-muted{fill:var(--faint)}.bottom-nav{display:none}.quick-fab{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:32;justify-items:end;gap:10px;display:grid;position:fixed}.quick-fab-button{border:1px solid var(--ink);background:var(--ink);width:54px;height:54px;color:var(--surface);border-radius:50%;place-items:center;transition:transform .14s;display:grid;box-shadow:0 12px 34px #18181b2e}.quick-fab.is-open .quick-fab-button{transform:rotate(45deg)}.quick-fab-menu{border:1px solid var(--line);width:176px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-radius:8px;gap:5px;padding:7px;display:grid}.quick-fab-menu button{min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:0 9px;font-size:12px;display:grid}.quick-fab-menu button:active{background:var(--field)}.empty{border:1px dashed var(--line);color:var(--muted);background:#ffffff94;padding:18px}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18181b42;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid}.modal-actions{justify-content:end;align-items:center;gap:8px;display:flex}.modal-actions .button{min-width:96px}.meal-estimator{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;gap:9px;padding:10px;display:grid}.meal-estimator-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.meal-estimator-context{gap:5px;display:grid}.meal-estimator-context span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.meal-estimator-context textarea{resize:vertical;min-height:68px}.meal-estimator-actions .button{min-width:0;min-height:34px;padding:0 8px;font-size:11px}.meal-estimator-note,.meal-estimator-result p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.meal-estimator-status,.meal-estimator-error{border:1px solid var(--hairline);border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:0 10px;font-size:11px;display:flex}.meal-estimator-status{color:var(--ink-secondary);justify-content:space-between}.meal-estimator-status span{align-items:center;gap:8px;min-width:0;display:inline-flex}.meal-estimator-status span svg{animation:.9s linear infinite spin}.meal-estimator-status button,.meal-estimator-result button{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:10px;font-weight:700;display:inline-flex}.meal-estimator-error{color:var(--danger);background:#b91c1c0f}.meal-estimator-result{border-top:1px solid var(--hairline);gap:7px;padding-top:9px;display:grid}.meal-estimator-result>div{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:4px 10px;display:grid}.meal-estimator-result span{color:var(--muted);text-transform:capitalize;align-items:center;gap:5px;font-size:10px;display:inline-flex}.meal-estimator-result strong{color:var(--ink);grid-column:1;font-size:18px;line-height:1}.meal-estimator-result em{color:var(--ink-secondary);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:10px;font-style:normal}.meal-estimator-result button{grid-area:1/3/span 2;align-self:center}.skeleton-card,.skeleton-line,.skeleton-block,.skeleton-ring,.skeleton-action,.skeleton-habit{background:linear-gradient(90deg,#f0efeb 0%,#faf9f6 45%,#f0efeb 90%) 0 0/220% 100%;animation:1.2s ease-in-out infinite skeleton-shimmer;position:relative;overflow:hidden}.skeleton-card{border:1px solid var(--hairline);border-radius:8px;min-height:72px}.skeleton-line{border-radius:999px;width:100%;height:12px}.skeleton-short{width:34%}.skeleton-title{width:62%;height:28px}.skeleton-block{border-radius:8px;min-height:130px}.skeleton-ring{aspect-ratio:1;border-radius:50%;justify-self:center;width:min(168px,42vw)}.skeleton-habit{min-height:118px}.skeleton-action{min-height:112px}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.settings-section-title{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;padding:8px 4px 0;font-size:11px;font-weight:700}.settings-screen{gap:14px;width:min(860px,100%);margin:0 auto;display:grid}.settings-tab-panel{align-items:start}.settings-wide-panel{grid-column:1/-1}.settings-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-holiday-list{gap:8px;display:grid}@media (width<=520px){.settings-date-grid{grid-template-columns:1fr}}.finance-screen{width:min(430px,100%);color:var(--ink);font-family:var(--font-mono);gap:10px;margin:0 auto;display:grid}.finance-kicker,.finance-panel-head{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.finance-pill{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:11px;display:inline-flex}.finance-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px 12px;box-shadow:0 1px #18181b05}.finance-panel-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.finance-period-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:-2px 0 12px;display:grid}.finance-period-nav button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:10px;display:inline-flex}.finance-period-nav button:disabled{opacity:.45}.finance-period-nav strong{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:10px}.finance-status-pill{border:1px solid var(--hairline);background:var(--surface);min-height:54px;color:var(--accent);letter-spacing:0;text-transform:none;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;padding:0 12px;font-size:12px;display:flex}.finance-status-pill svg{vertical-align:-2px;margin-right:4px;display:inline}.finance-status-pill em{color:var(--ink-secondary);white-space:nowrap;font-size:11px;font-style:normal;display:block}.finance-spend-summary{grid-template-columns:minmax(0,1fr) 116px;align-items:end;gap:12px;margin-bottom:8px;display:grid}.finance-safe-detail{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.finance-safe-detail span{border:1px solid var(--line);color:var(--muted);background:var(--panel-soft);border-radius:999px;padding:4px 8px;font-size:10px}.finance-position-summary{border-top:1px solid var(--hairline);gap:6px;margin-top:10px;padding-top:10px;display:grid}.finance-position-summary>div{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px;display:grid}.finance-position-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:18px;line-height:1.1}.finance-position-summary>div:first-child strong{text-align:right;grid-area:1/2/span 2;font-size:clamp(24px,7vw,32px);line-height:1}.finance-position-summary span,.finance-position-summary em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.3}.finance-position-summary em{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.finance-inline-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:8px;margin-bottom:12px;display:grid}.finance-inline-form .button{justify-content:center;min-height:42px}.finance-inline-form--compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.finance-check-toggle{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#ffffffb8;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:12px;display:flex}.finance-budget-row>em{min-width:82px}.finance-income-row{grid-template-columns:82px 1fr auto auto}.finance-total{gap:4px;display:grid}.finance-total strong{letter-spacing:0;font-size:clamp(34px,9vw,42px);line-height:.95}.finance-budget-percent span,.finance-total span,.finance-track,.finance-goal-row em{color:var(--muted);font-style:normal}.finance-budget-percent{gap:5px;display:grid}.finance-budget-percent strong{font-size:20px}.finance-progress,.finance-goal-progress{background:var(--hairline);border-radius:999px;height:7px;overflow:hidden}.finance-progress span{border-radius:inherit;background:var(--ink);height:100%;display:block}.finance-track{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.finance-track span{align-items:center;gap:6px;display:inline-flex}.finance-compare-grid{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;padding-top:10px;display:grid}.finance-compare-card{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;align-content:space-between;gap:5px;min-height:62px;padding:8px;display:grid}.finance-compare-card span,.finance-compare-card em{color:var(--muted);font-size:9px;font-style:normal;line-height:1.25}.finance-compare-card span{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.finance-compare-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px;line-height:1.15}.finance-chart-label{border-top:1px solid var(--hairline);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-top:12px;padding-top:10px;font-size:10px;display:flex}.finance-chart-label em{color:var(--ink-secondary);letter-spacing:0;text-transform:none;font-style:normal}.finance-chart-wrap{position:relative}.finance-bars{align-items:end;gap:6px;height:82px;margin-top:8px;display:flex}.finance-bar-item{cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:end;align-items:center;min-width:0;height:100%;min-height:0;padding:0;display:flex;position:relative}.finance-bar-item>span{background:#d4d4d2;border-radius:2px 2px 0 0;width:min(100%,8px);transition:background .12s,transform .12s}.finance-bar-item>span.has-spend{background:#8f8f94}.finance-bar-item>span.is-today{background:#1b1b20}.finance-bar-item:focus-visible{outline:0}.finance-bar-item:hover>span,.finance-bar-item:focus-visible>span{background:var(--accent);transform:scaleX(1.35)}.finance-bar-item em{z-index:4;border:1px solid var(--line);background:var(--surface);width:max-content;max-width:148px;color:var(--ink-secondary);opacity:0;pointer-events:none;text-align:left;white-space:nowrap;border-radius:8px;gap:3px;padding:8px 9px;font-size:11px;font-style:normal;transition:opacity .12s,transform .12s;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,6px);box-shadow:0 10px 26px #18181b24}.finance-bar-item em strong{color:var(--ink);font-size:12px}.finance-bar-item em small{color:var(--muted);text-transform:uppercase;font-size:9px}.finance-bar-item:hover em,.finance-bar-item:focus-visible em{opacity:1;transform:translate(-50%)}.finance-goals{gap:9px;display:grid}.finance-goal{gap:6px;display:grid}.finance-empty-goal{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;display:grid}.finance-empty-goal span,.finance-entry-icon{background:var(--field);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.finance-empty-goal p{color:var(--ink);font-size:12px}.finance-add-goal{border:1px solid var(--line);min-height:34px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:inline-flex}.finance-goal-rich{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;column-gap:9px}.finance-goal-avatar{width:32px;height:32px;color:var(--surface);background:#1b1b20;border-radius:50%;grid-row:1/span 3;place-items:center;font-size:10px;font-weight:700;display:grid}.finance-goal-rich .finance-goal-row{grid-column:2/4}.finance-goal-rich .finance-goal-progress{grid-column:2}.finance-goal-rich .finance-goal-percent{grid-column:3;align-self:center}.finance-goal-row,.finance-entry{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.finance-goal-row span{color:var(--ink-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.finance-goal-row p{color:var(--muted);margin-top:2px;font-size:10px}.finance-goal-name{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:start;align-items:center;gap:6px;min-height:22px;padding:0;font-size:12px;display:inline-flex}.finance-goal-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.finance-goal-percent{color:var(--muted);text-align:right;font-size:10px;font-style:normal}.finance-insight-row{border:1px solid var(--hairline);border-radius:8px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:54px;margin-top:16px;padding:0 10px;display:grid}.finance-insight-row svg:first-child{background:var(--field);border-radius:50%;width:30px;height:30px;padding:7px}.finance-insight-row p{color:var(--ink-secondary);font-size:12px;line-height:1.4}.finance-goal-action{grid-template-columns:minmax(0,1fr) 34px;gap:8px;margin-top:2px;display:grid}.finance-goal-action input{border:1px solid var(--line);background:var(--field);min-width:0;min-height:34px;padding:0 10px}.finance-goal-action button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);place-items:center;display:grid}.finance-recent{padding-bottom:8px}.finance-recent>.view-nav{margin-bottom:8px}.finance-entry-list{display:grid}.finance-entry{border-bottom:1px solid var(--hairline);grid-template-columns:30px 42px minmax(0,1fr) auto 48px;min-height:44px;font-size:12px}.finance-entry span{color:var(--muted)}.finance-entry strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.finance-entry strong i{background:var(--field);color:var(--muted);border-radius:999px;margin-left:6px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:600}.finance-entry em{color:var(--ink-secondary);font-style:normal;font-weight:700}.finance-entry-actions{grid-template-columns:repeat(2,22px);gap:3px;display:grid}.finance-entry-actions button{border:1px solid var(--hairline);background:var(--surface);width:22px;height:22px;color:var(--muted);place-items:center;display:grid}.finance-view-all{width:100%;min-height:40px;color:var(--ink-secondary);background:0 0;border:0;justify-content:space-between;align-items:center;padding:6px 0 0;font-size:12px;display:flex}.finance-empty{color:var(--muted);padding:8px 0;font-size:12px}.finance-category-list{gap:12px;display:grid}.finance-category-row{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px 12px;display:grid}.finance-category-row>div:first-child{justify-content:space-between;gap:12px;font-size:12px;display:flex}.finance-category-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finance-category-row span,.finance-category-row em{color:var(--muted);font-size:11px;font-style:normal}.finance-category-track{background:var(--hairline);border-radius:999px;grid-column:1;height:7px;overflow:hidden}.finance-category-track span{border-radius:inherit;background:var(--ink);height:100%;display:block}.finance-category-row>em{text-align:right;grid-area:1/2/span 2}.finance-category-budget-row{grid-template-columns:minmax(0,1fr) minmax(86px,auto)}.finance-category-budget-row>em{color:#197149;justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.finance-category-budget-row[data-over=true]>em{color:#9f2d20}.finance-category-budget-row[data-over=true] .finance-category-track span{background:#9f2d20}.finance-entry-modal{align-content:start}.finance-sub-summary{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:14px;display:grid}.finance-sub-summary--compact{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:6px;padding:0 0 10px}.finance-sub-summary--compact .finance-pill{justify-self:end;min-height:30px;padding:0 12px}.finance-empty-action{margin-top:10px}.finance-sub-total{gap:3px;min-width:0;display:grid}.finance-sub-total strong{letter-spacing:0;font-size:clamp(24px,7vw,30px);line-height:.95}.finance-sub-total span{color:var(--muted);font-size:11px;font-style:normal}.finance-sub-list,.finance-sub-section{display:grid}.finance-sub-section+.finance-sub-section,.finance-sub-row+.finance-sub-section,.finance-sub-section-head+.finance-sub-section{margin-top:12px}.finance-sub-section-head{min-height:28px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.finance-sub-section-head span{align-items:center;gap:6px;min-width:0;display:inline-flex}.finance-sub-section-head strong{color:var(--ink-secondary);letter-spacing:0;text-transform:none;white-space:nowrap;font-size:11px}.finance-sub-row{border-bottom:1px solid var(--hairline);grid-template-columns:30px minmax(0,1fr) auto 30px;align-items:center;gap:8px;min-height:48px;font-size:13px;display:grid}.finance-sub-row:last-child{border-bottom:0}.finance-sub-row--side-hustle{grid-template-columns:30px minmax(0,1fr) auto 30px}.finance-sub-icon{background:var(--field);width:28px;height:28px;color:var(--ink-secondary);border-radius:8px;place-items:center;font-size:15px;display:grid}.finance-sub-info{gap:3px;min-width:0;display:grid}.finance-sub-info strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;font-weight:600;overflow:hidden}.finance-sub-info span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.finance-sub-freq{border:1px solid var(--hairline);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700}.finance-sub-amount{text-align:right;gap:3px;display:grid}.finance-sub-amount strong{color:var(--ink);font-size:12px;font-weight:700}.finance-sub-amount em{color:var(--muted);white-space:nowrap;font-size:10px;font-style:normal}.finance-sub-edit{border:1px solid var(--hairline);background:var(--surface);width:28px;height:28px;color:var(--muted);min-height:unset;border-radius:8px;place-items:center;padding:0;transition:color .12s,border-color .12s;display:grid}.finance-sub-edit:hover{color:var(--ink);border-color:var(--line)}.finance-sub-due-soon{color:var(--warn)!important}.finance-sub-modal{align-content:start}.finance-sub-freq-tabs{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.finance-sub-freq-tabs button{border:0;border-right:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);letter-spacing:.04em;padding:0 4px;font-size:10px}.finance-sub-freq-tabs button:last-child{border-right:0}.finance-sub-freq-tabs button.is-active{background:var(--ink);color:var(--surface)}.finance-sub-delete{border:1px solid var(--hairline);color:var(--danger);letter-spacing:.04em;background:0 0;min-height:34px;font-size:11px}.finance-sub-delete:hover{border-color:var(--danger)}.weight-screen{width:min(430px,100%);color:var(--ink);font-family:var(--font-mono);gap:14px;margin:0 auto;display:grid}.weight-hero{justify-content:space-between;align-items:end;gap:16px;padding:4px;display:flex}.weight-hero h2{margin-top:6px;font-size:20px;line-height:1}.weight-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;box-shadow:0 1px #18181b05}.weight-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:10px;display:grid}.weight-summary>div:first-child strong{letter-spacing:0;font-size:clamp(46px,13vw,58px);line-height:.95}.weight-summary>div:first-child span{color:var(--muted);text-transform:uppercase;margin-left:8px;font-size:12px;font-weight:700}.weight-summary>div:last-child{text-align:right;padding-top:12px}.weight-summary>div:last-child span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.weight-summary>div:last-child strong{font-size:18px;line-height:1.1;display:block}.weight-summary p{color:var(--muted);margin-top:3px;font-size:11px;font-weight:700}.is-good{color:var(--accent)!important}.is-up{color:var(--warn)!important}.weight-ranges{border:1px solid var(--line);border-radius:7px;grid-auto-flow:column;margin:4px 0 14px;display:inline-grid;overflow:hidden}.weight-ranges button{border:0;border-right:1px solid var(--line);background:var(--surface);min-width:40px;min-height:28px;color:var(--muted);font-size:11px}.weight-ranges button:last-child{border-right:0}.weight-ranges button.is-active{background:var(--ink);color:var(--surface)}.weight-chart{background:linear-gradient(180deg, var(--field), var(--panel-soft));color:var(--ink);grid-template-rows:minmax(0,1fr) 24px;min-height:176px;padding:12px 0 0;display:grid}.weight-chart svg{width:100%;height:136px;overflow:visible}.weight-empty-chart{min-height:136px;color:var(--muted);place-items:center;font-size:12px;display:grid}.weight-axis{color:var(--faint);justify-content:space-between;padding:0;font-size:10px;font-weight:700;display:flex}.weight-entry-list{display:grid}.weight-entry{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto auto 30px 30px;align-items:center;gap:10px;min-height:44px;font-size:12px;display:grid}.weight-entry:last-child{border-bottom:0}.weight-entry span,.weight-entry strong{color:var(--muted)}.weight-entry strong{font-weight:700}.weight-entry em{text-align:right;min-width:42px;color:var(--faint);font-style:normal;font-weight:700}.weight-entry-action{width:28px;height:28px;min-height:28px}.withings-panel{padding:15px}.withings-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.withings-body strong{font-size:14px;line-height:1.25;display:block}.withings-body p{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.withings-error{color:var(--danger)!important}.withings-actions{justify-items:stretch;gap:8px;display:grid}.withings-actions .button,.withings-body>.button{white-space:nowrap;min-height:38px;padding:0 14px}@media (width<=420px){.withings-body{grid-template-columns:1fr}.withings-actions{grid-template-columns:1fr 1fr}.finance-sub-summary--compact{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.finance-sub-total strong{font-size:clamp(26px,8vw,32px)}}.water-screen{width:min(430px,100%);color:var(--ink);font-family:var(--font-mono);gap:14px;margin:0 auto;display:grid}.water-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;box-shadow:0 1px #18181b05}.water-main-panel{gap:14px;padding:22px 16px 18px;display:grid;position:relative}.water-ring{aspect-ratio:1;place-items:center;width:min(172px,41vw);display:grid;position:relative}.water-ring svg{width:100%;height:100%;transform:rotate(-84deg)}.water-ring-track,.water-ring-value{fill:none;stroke-linecap:round}.water-ring-track{stroke:#ececeb}.water-ring-value{stroke:#7796e8;transition:stroke-dashoffset .68s cubic-bezier(.22,1,.36,1)}.water-ring-center{text-align:center;align-content:center;place-items:center;gap:6px;display:grid;position:absolute;inset:0}.water-ring-center strong{letter-spacing:0;font-size:clamp(38px,11vw,52px);line-height:.9}.water-ring-center span{color:var(--muted);text-transform:uppercase;font-size:12px}.water-ring-center em{color:#5d7fdd;font-size:14px;font-style:normal;font-weight:700}.water-streak-pill{border:1px solid var(--line);background:var(--panel-soft);min-height:34px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 11px;font-size:12px;display:inline-flex;position:absolute;top:16px;right:18px}.water-streak-pill svg{color:#e76f51}.water-progress-grid{grid-template-columns:minmax(142px,.95fr) minmax(132px,1fr);align-items:center;gap:14px;padding-top:28px;display:grid}.water-progress-grid .water-ring{grid-area:1/1;justify-self:center}.water-metrics{border-left:1px solid var(--hairline);grid-area:1/2;gap:16px;padding-left:14px;display:grid}.water-metrics>div{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;display:grid}.water-metrics span,.water-encouragement span,.water-insight>span{background:var(--field);color:#7796e8;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.water-metrics em{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-style:normal;display:block}.water-metrics strong{margin-top:3px;font-size:19px;display:block}.water-metrics p{color:var(--ink-secondary);font-size:12px}.water-encouragement{color:var(--ink);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding-top:2px;font-size:13px;line-height:1.45;display:grid}.water-actions-panel{gap:12px;display:grid}.water-add-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.water-add-card{border:1px solid var(--line);background:var(--surface);min-height:112px;color:var(--ink);border-radius:8px;align-content:center;place-items:center;gap:7px;padding:12px 8px;display:grid}.water-add-card>svg:first-child{color:var(--ink-secondary);justify-self:start;margin:-2px 0 -2px 2px}.water-add-card strong{font-size:18px;line-height:1}.water-add-card span{color:var(--ink-secondary);font-size:12px}.water-add-card-custom{color:var(--surface);background:#1b1b20;border-color:#1b1b20}.water-add-card-custom span,.water-add-card-custom>svg:first-child{color:#d8d8d8}.water-undo-row{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-secondary);border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px;font-size:12px;display:grid}.water-undo-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.water-undo-row button{color:#5d7fdd;background:0 0;border:0;font-weight:700}.water-log-table{display:grid}.water-log-head,.water-log-row{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.water-log-head{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 0 8px;font-size:10px;font-weight:700}.water-log-row{border-top:1px solid var(--hairline);min-height:42px;font-size:12px}.water-log-row span{color:var(--muted)}.water-log-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.water-log-row em{color:var(--ink-secondary);font-style:normal;font-weight:700}.water-week-bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:136px;padding-top:12px;display:grid}.water-week-item{grid-template-rows:24px 1fr 18px;place-items:end center;min-width:0;height:100%;display:grid}.water-week-item strong{color:var(--ink-secondary);font-size:10px;font-weight:700}.water-week-item span{background:#c9d6fb;border-radius:3px 3px 0 0;width:76%}.water-week-item span.is-today{background:#7796e8}.water-week-item em{color:var(--ink-secondary);font-size:11px;font-style:normal}.water-insight{border:1px solid var(--hairline);min-height:52px;color:var(--ink);border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:9px;margin-top:16px;padding:0 10px;display:grid}.water-insight>span{color:#f5a524;width:28px;height:28px}.water-insight p{font-size:12px}.water-insight strong{color:#5d7fdd;white-space:nowrap;font-size:12px}.water-actions-mini{grid-template-columns:38px repeat(2,minmax(0,1fr));align-items:center;gap:8px;display:grid}.water-actions-mini .button{min-height:38px;padding:0 10px}.golf-screen{width:min(430px,100%);color:var(--ink);font-family:var(--font-mono);gap:14px;margin:0 auto;display:grid}.golf-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;box-shadow:0 1px #18181b05}.golf-tabs{margin-bottom:14px}.golf-tabs button{min-width:80px}.golf-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.golf-stats div{border:1px solid var(--hairline);background:var(--paper);padding:10px}.golf-stats span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;display:block}.golf-stats strong{margin-top:4px;font-size:18px;display:block}.golf-chart{background:linear-gradient(180deg, var(--field), var(--panel-soft));min-height:160px;color:var(--ink);padding:12px 0}.golf-chart svg{width:100%;height:150px;overflow:visible}.golf-par-line{stroke:var(--faint);stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.golf-round-list{display:grid}.golf-round-row{border-bottom:1px solid var(--hairline);grid-template-columns:54px minmax(0,1fr) auto 42px;align-items:center;gap:12px;min-height:44px;font-size:12px;display:grid}.golf-round-row:last-child{border-bottom:0}.golf-round-row span{color:var(--muted)}.golf-round-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.golf-round-row em{font-style:normal;font-weight:700}.golf-round-row b{text-align:right;font-size:12px}.recipes-screen,.recipe-detail-screen{width:min(430px,100%);color:var(--ink);font-family:var(--font-mono);gap:12px;margin:0 auto;display:grid}.recipe-top,.recipe-detail-hero{gap:10px;display:grid}.recipe-top{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:4px 4px 0}.recipe-search{border:1px solid var(--hairline);background:var(--field);color:#9a9aa0;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.recipe-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.recipe-suggested{min-height:104px;color:var(--surface);background:#1b1b20;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.recipe-suggested span,.recipe-suggested em{color:#aaaab0;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-style:normal}.recipe-suggested h3{color:var(--surface);margin-top:10px;font-size:16px}.recipe-suggested p{color:#c6c6ca;text-transform:uppercase;margin-top:6px;font-size:11px}.recipe-suggested-action{justify-items:end;gap:16px;display:grid}.recipe-suggested-action button{background:var(--surface);width:48px;height:48px;color:var(--ink);border:0;border-radius:50%;place-items:center;display:grid}.recipe-list{gap:8px;display:grid}.recipe-card{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:70px;padding:12px;display:grid}.recipe-card strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;display:block;overflow:hidden}.recipe-card p{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px}.recipe-card-side{min-height:58px;color:var(--ink);align-content:space-between;justify-items:end;display:grid}.recipe-card-side em{color:#9a9aa0;font-size:10px;font-style:normal}.recipe-tags,.recipe-chip-list{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.recipe-tags span,.recipe-chip-list span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:9px}.recipe-back,.recipe-text-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11px;display:inline-flex}.recipe-detail-hero h2{text-overflow:ellipsis;min-width:0;overflow:hidden}.recipe-title-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.recipe-star{color:var(--ink);background:0 0;border:0;padding:4px}.recipe-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px}.recipe-panel>.view-nav{margin-bottom:12px}.recipe-ingredients,.recipe-steps{display:grid}.recipe-ingredient-row,.recipe-step{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;min-height:42px;font-size:12px;display:grid}.recipe-ingredient-row{grid-template-columns:14px minmax(0,1fr) auto}.recipe-ingredient-row span{border:1px solid var(--line);border-radius:50%;width:12px;height:12px}.recipe-ingredient-row strong,.recipe-step p{color:var(--ink-secondary);font-weight:400}.recipe-ingredient-row em{color:var(--muted);font-style:normal}.recipe-step{grid-template-columns:22px minmax(0,1fr)}.recipe-step span{color:#a0a0a6}.recipe-full-button{text-transform:uppercase;letter-spacing:.08em;width:100%;margin-top:14px;font-size:11px}.recipe-sheet-backdrop{padding:calc(16px + env(safe-area-inset-top)) 0 0;place-items:end center;overflow:hidden}.recipe-sheet{width:min(430px,100%);max-height:calc(100dvh - 16px - env(safe-area-inset-top));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:18px 18px 0 0;padding:10px 16px 18px;overflow-y:auto}.recipe-sheet-handle{background:var(--line);border-radius:999px;width:38px;height:3px;margin:0 auto 14px}.recipe-rename-sheet{gap:16px;display:grid}.recipe-text-button.is-save{color:var(--accent);font-weight:700}.recipe-meal-tabs{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.recipe-meal-tabs button{border:0;border-right:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);font-size:10px}.recipe-meal-tabs button:last-child{border-right:0}.recipe-meal-tabs button.is-active{background:var(--ink);color:var(--surface)}.recipe-form-grid,.recipe-ingredient-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recipe-ingredient-form{grid-template-columns:minmax(0,1fr) 82px auto}.recipe-ingredient-form .button{min-height:42px}.recipe-step-input{resize:vertical;min-height:78px;padding-top:10px}.recipe-form-steps{border:1px solid var(--hairline);background:var(--panel-soft);display:grid}.recipe-form-step{border-bottom:1px solid var(--hairline);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:36px;padding:8px 10px;font-size:11px;display:grid}.recipe-form-step:last-child{border-bottom:0}.recipe-form-step span{color:var(--faint)}.recipe-form-step p{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-add-step{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:start}.recipe-planner{gap:12px;display:grid}.recipe-plan-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.recipe-plan-add .button{min-height:42px;padding:0 14px}.recipe-plan-list{gap:8px;display:grid}.recipe-plan-recipe{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;min-height:58px;display:grid;overflow:hidden}.recipe-plan-recipe button{color:var(--ink);background:0 0;border:0}.recipe-plan-recipe button:first-child{text-align:left;align-content:center;gap:4px;padding:10px 12px;display:grid}.recipe-plan-recipe strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recipe-plan-recipe span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-transform:uppercase;font-size:10px;overflow:hidden}.recipe-plan-recipe button:last-child{border-left:1px solid var(--hairline);color:var(--muted);font-size:12px}.recipe-plan-day{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;gap:8px;padding:10px;display:grid}.recipe-plan-day>div:first-child{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;display:grid}.recipe-plan-day strong{font-size:11px}.recipe-plan-day select{min-height:36px}.recipe-plan-items{flex-wrap:wrap;gap:6px;display:flex}.recipe-plan-items>span{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.recipe-plan-items button{min-height:28px;color:var(--ink);background:0 0;border:0;padding:0 9px;font-size:11px}.recipe-plan-items>span button:last-child{border-left:1px solid var(--hairline);color:var(--muted);padding:0 8px}.recipe-plan-empty{color:var(--muted);background:0 0;border:0;font-size:11px}.shopping-list{gap:14px;display:grid}.shopping-group{gap:6px;display:grid}.shopping-group h3{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.shopping-group button{border:1px solid var(--hairline);background:var(--surface);min-height:42px;color:var(--ink);text-align:left;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 10px;display:grid}.shopping-group button svg{border:1px solid var(--line);color:#0000;border-radius:50%;width:15px;height:15px;padding:2px}.shopping-group button.is-checked{color:var(--muted);background:#16a34a0f}.shopping-group button.is-checked svg{background:var(--accent);border-color:var(--accent);color:var(--surface)}.shopping-group button.is-checked strong{text-decoration:line-through}.shopping-group button span{color:var(--muted);font-size:11px}.recipe-clear-checked{color:var(--ink-secondary);justify-self:start}.glow-screen{gap:10px;min-width:0;display:grid;overflow-x:hidden}.glow-plan-tabs{width:min(680px,100%);min-width:0;margin:0 auto 4px;overflow:hidden}.glow-plan-tabs .view-nav{gap:6px;padding-bottom:0}.glow-plan-tabs .view-nav button{min-width:100px;min-height:34px}.glow-optimized{gap:10px;width:min(680px,100%);min-width:0;margin:0 auto;display:grid}.glow-optimized .card{padding:14px}.glow-optimized .card-header{margin-bottom:12px}.glow-optimized .card-header h2,.glow-optimized .card-header .mono-small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.glow-today-card{gap:12px;display:grid}.glow-today-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.glow-today-summary>div{gap:4px;min-width:0;display:grid}.glow-today-summary span,.glow-compact-metrics span,.glow-trend-summary span,.glow-plan-link span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.glow-today-summary strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:22px;line-height:1;overflow:hidden}.glow-today-summary em{color:var(--ink-secondary);font-size:12px;font-style:normal}.glow-today-summary .button{white-space:nowrap;min-height:36px;padding:0 12px}.glow-compact-metrics{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:12px;display:grid}.glow-compact-metrics>div{border-right:1px solid var(--hairline);gap:5px;min-width:0;padding:0 10px;display:grid}.glow-compact-metrics>div:first-child{padding-left:0}.glow-compact-metrics>div:last-child{border-right:0;padding-right:0}.glow-compact-metrics strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:14px;overflow:hidden}.glow-compact-metrics i{background:var(--hairline);border-radius:999px;height:5px;overflow:hidden}.glow-compact-metrics b{border-radius:inherit;background:var(--accent);height:100%;display:block}.glow-compact-metrics em{color:var(--muted);font-size:10px;font-style:normal}.glow-trends-card .glow-history-bars{box-sizing:border-box;width:100%;min-width:0;height:74px;margin-bottom:0;padding-right:3px;overflow:hidden}.glow-trend-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.glow-trend-summary div{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;gap:5px;min-width:0;padding:9px;display:grid}.glow-trend-summary strong{color:var(--ink);font-size:16px;line-height:1}.glow-trend-charts{gap:10px;min-width:0;display:grid;overflow:hidden}.glow-trend-charts .glow-section-label{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;margin:12px 0 6px;display:grid}.glow-trend-charts .glow-section-label em{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.glow-trend-footer{border-top:1px solid var(--hairline);color:var(--muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;margin-top:12px;padding-top:10px;font-size:10px;display:grid}.glow-trend-footer strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:11px;overflow:hidden}.glow-trend-footer em{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.glow-plan-link{border:1px solid var(--hairline);background:var(--paper);width:100%;min-height:58px;color:inherit;text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px;display:grid}.glow-plan-link strong{color:var(--ink);margin-top:4px;font-size:16px;line-height:1;display:block}.glow-plan-link em{color:var(--ink-secondary);margin-top:5px;font-size:11px;font-style:normal;display:block}.glow-protein-card .glow-progress{margin-bottom:10px}.glow-protein-buttons{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.glow-protein-buttons button{border:1px solid var(--hairline);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:0 5px;font-size:11px;font-weight:800}.glow-protein-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:10px;display:grid}.glow-protein-form .button{grid-column:1/-1;min-height:36px}.glow-latest-entry{border-top:1px solid var(--hairline);gap:6px;margin-top:10px;padding-top:10px;display:grid}.glow-latest-entry button{min-height:34px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.glow-latest-entry span{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:12px;overflow:hidden}.glow-latest-entry strong{font-size:12px}.glow-suggestion-list{gap:6px;display:grid}.glow-suggestion-list button{border:1px solid var(--hairline);background:var(--paper);min-height:48px;color:inherit;text-align:left;border-radius:8px;grid-template-columns:24px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:8px 10px;display:grid}.glow-suggestion-list svg:first-child{color:var(--accent)}.glow-suggestion-list span{gap:3px;min-width:0;display:grid}.glow-suggestion-list strong,.glow-suggestion-list em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.glow-suggestion-list strong{color:var(--ink);font-size:12px}.glow-suggestion-list em{color:var(--muted);font-size:11px;font-style:normal}.glow-hero{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;min-height:132px;padding:20px;display:grid}.glow-hero h2{max-width:680px;font-size:clamp(24px,3vw,38px);line-height:1.04}.glow-skin-row button{border:1px solid var(--line);background:var(--surface);min-width:108px;min-height:38px;color:var(--muted);text-transform:capitalize;scroll-snap-align:start;border-radius:999px;flex:none;font-size:11px}.glow-skin-row button.is-checked{background:var(--ink);border-color:var(--ink);color:var(--surface)}.glow-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.glow-grid>.card:only-child{grid-column:1/-1}.glow-screen .weight-screen,.glow-screen .water-screen{width:100%}.glow-section-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 9px;font-size:10px;display:flex}.glow-section-label em{font-style:normal}.glow-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.glow-kpis div{border:1px solid var(--hairline);background:var(--paper);min-width:0;padding:11px}.glow-kpis span,.glow-week span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.glow-kpis strong{text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:19px;display:block;overflow:hidden}.glow-kpis em{color:var(--ink-secondary);margin-top:6px;font-size:11px;font-style:normal;display:block}.glow-history-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.glow-history-kpis div{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;align-content:center;gap:4px;min-height:68px;padding:10px;display:grid}.glow-history-kpis span,.glow-history-weeks span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.glow-history-kpis strong{color:var(--ink);font-size:18px;line-height:1.1}.glow-history-bars{border-bottom:1px solid var(--hairline);align-items:end;gap:5px;height:112px;margin:8px 0 16px;display:flex}.glow-history-bars button{background:var(--accent);cursor:pointer;border:0;border-radius:3px 3px 0 0;flex:1 1 0;min-width:0;padding:0;transition:opacity .16s,transform .16s}.glow-history-bars button:hover,.glow-history-bars button:focus-visible,.glow-history-bars button.is-active{opacity:.74;transform:translateY(-3px)}.glow-history-bars button.is-active{box-shadow:inset 0 0 0 2px var(--ink)}.glow-history-bars--sleep button{background:#8f8f94}.glow-trends-card .glow-history-bars button:hover,.glow-trends-card .glow-history-bars button:focus-visible,.glow-trends-card .glow-history-bars button.is-active{opacity:1;transform:none}.glow-trends-card .glow-history-bars button.is-active{box-shadow:none;filter:brightness(.9)}.glow-history-selected{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 16px;display:grid}.glow-history-selected div{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.glow-history-selected span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.glow-history-selected strong{overflow-wrap:anywhere;color:var(--ink);font-size:15px;line-height:1.1}.glow-history-selected em{color:var(--muted);font-size:10px;font-style:normal}.glow-history-weeks{gap:12px;display:grid}.glow-history-weeks div{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;gap:5px;padding:11px;display:grid}.glow-history-weeks strong{color:var(--ink);font-size:14px}.glow-history-weeks em{color:var(--muted);font-size:11px;font-style:normal}.glow-history-weeks i{background:var(--hairline);border-radius:999px;height:7px;overflow:hidden}.glow-history-weeks b{border-radius:inherit;background:var(--ink);height:100%;display:block}.glow-today-focus{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.glow-focus-copy{gap:5px;min-width:0;display:grid}.glow-focus-copy span,.glow-today-progress span,.glow-recovery-strip span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.glow-focus-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1.05;overflow:hidden}.glow-focus-copy em{color:var(--ink-secondary);font-size:12px;font-style:normal}.glow-today-progress{gap:8px;margin-top:12px;display:grid}.glow-today-progress>div{border:1px solid var(--hairline);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:10px;display:grid}.glow-today-progress strong{color:var(--ink);font-size:15px}.glow-today-progress em{color:var(--ink-secondary);text-align:right;font-size:11px;font-style:normal}.glow-today-progress i{background:var(--hairline);border-radius:999px;grid-column:1/-1;height:7px;overflow:hidden}.glow-today-progress b{border-radius:inherit;background:var(--accent);height:100%;display:block}.glow-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.glow-quick-actions button,.glow-recovery-strip button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.glow-recovery-strip{grid-template-columns:minmax(0,1fr) repeat(4,48px);align-items:center;gap:7px;display:grid}.glow-recovery-strip>div{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:2px 8px;min-height:48px;padding:8px 10px;display:grid}.glow-recovery-strip>div svg{color:var(--ink-secondary);grid-row:1/span 2}.glow-recovery-strip strong{font-size:13px}.glow-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.glow-preset-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.glow-preset-grid--six{grid-template-columns:repeat(6,minmax(0,1fr))}.glow-preset{border:1px solid var(--line);background:var(--surface);min-height:76px;color:var(--ink);text-align:left;border-radius:8px;align-content:center;gap:5px;padding:10px;display:grid}.glow-preset strong{font-size:18px}.glow-preset span{color:var(--ink-secondary);font-size:11px}.glow-preset--compact{align-content:center;width:100%;min-width:0;min-height:52px;padding:8px 10px}.glow-preset--compact strong{font-size:15px}.glow-preset--compact span{font-size:10px}.glow-suggestions{gap:8px;display:grid}.glow-suggestions p{border:1px solid var(--hairline);background:var(--paper);min-height:42px;color:var(--ink-secondary);border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;line-height:1.4;display:flex}.glow-progress{background:var(--hairline);border-radius:999px;height:8px;margin-bottom:14px;overflow:hidden}.glow-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.glow-inline-form{grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;margin-top:12px;display:grid}.glow-inline-form .field{min-width:0}.glow-log-list{gap:7px;margin-top:12px;display:grid}.glow-log-list button,.glow-log-list>div:not(.empty){border:1px solid var(--hairline);background:var(--paper);min-height:42px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 11px;display:grid}.glow-log-list span{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:12px;overflow:hidden}.glow-log-list strong{font-size:12px}.glow-check-list{gap:7px;display:grid}.glow-check-list button{border:1px solid var(--hairline);background:var(--surface);min-height:40px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;padding:0 10px;display:grid}.glow-check-list button span{border:1px solid var(--line);border-radius:50%;width:15px;height:15px}.glow-check-list button.is-checked{color:#166534;background:#effaf3;border-color:#16a34a38}.glow-check-list button.is-checked span{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 4px #effaf3}.glow-recipes{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.glow-recipes span{border:1px solid var(--line);background:var(--surface);color:var(--ink-secondary);border-radius:999px;padding:5px 9px;font-size:10px}.glow-exercises{gap:8px;display:grid}.glow-exercise{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;gap:10px;padding:10px;display:grid}.glow-exercise.is-done{background:#effaf3;border-color:#16a34a3d}.glow-exercise-main{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;display:grid}.glow-exercise-main .icon-button{align-self:stretch;min-height:38px}.glow-exercise-name-button,.glow-exercise-main span,.glow-exercise em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.glow-exercise-name-button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.glow-exercise-name-button:not(:disabled){cursor:pointer;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.glow-exercise-name-button:disabled{cursor:default}.glow-exercise-main span{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px}.glow-exercise em{color:#166534;margin-top:4px;font-size:10px;font-style:normal}.glow-exercise-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.glow-exercise-inputs label{gap:4px;min-width:0;display:grid}.glow-exercise-inputs label>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.glow-exercise-inputs .field{min-height:38px;padding:0 9px}.glow-week{gap:7px;display:grid}.glow-week button{border:1px solid var(--hairline);background:var(--paper);min-height:42px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:0 10px;display:grid}.glow-week button.is-today{border-color:var(--ink);background:var(--surface)}.glow-week strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.glow-rest{border:1px solid var(--hairline);background:var(--paper);min-height:120px;color:var(--ink-secondary);text-align:center;border-radius:8px;place-items:center;padding:20px;display:grid}.glow-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.glow-form-grid .button{align-self:end;min-height:42px}.glow-rating{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.glow-rating button{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--muted);border-radius:8px}.glow-rating button.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.glow-skin-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.workout-preview-modal{gap:14px}.glow-preview-note{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;gap:6px;padding:14px;display:grid}.glow-preview-note strong{font-size:14px}.glow-preview-note span{color:var(--ink-secondary);font-size:12px;line-height:1.4}.glow-preview-list{gap:7px;display:grid}.glow-preview-list div{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;align-content:center;gap:4px;min-height:48px;padding:9px 11px;display:grid}.glow-preview-list .glow-exercise-name-button{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.glow-preview-list span{color:var(--muted);text-transform:uppercase;font-size:10px}.exercise-demo-modal{gap:14px}.exercise-demo-frame{aspect-ratio:16/10;border:1px solid var(--hairline);background:var(--field);border-radius:8px;width:100%;position:relative;overflow:hidden}.exercise-demo-frame img{object-fit:cover;will-change:opacity, transform;width:100%;height:100%;position:absolute;inset:0}.exercise-demo-frame img:first-child{animation:2.4s ease-in-out infinite exercise-demo-first}.exercise-demo-frame img:last-child{animation:2.4s ease-in-out infinite exercise-demo-second}@keyframes exercise-demo-first{0%,38%{opacity:1;transform:scale(1)translate(0)}52%,86%{opacity:0;transform:scale(1.018)translate(-.8%)}to{opacity:1;transform:scale(1)translate(0)}}@keyframes exercise-demo-second{0%,38%{opacity:0;transform:scale(1.018)translate(.8%)}52%,86%{opacity:1;transform:scale(1)translate(0)}to{opacity:0;transform:scale(1.018)translate(.8%)}}.insights-screen{gap:10px;display:grid}.insights-hero{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.insights-hero h2{letter-spacing:0;margin:4px 0 6px;font-size:clamp(20px,5vw,28px);line-height:1.05}.insights-hero p{max-width:740px;color:var(--muted);margin:0;font-size:12px;line-height:1.35}.insights-hero-action{width:max-content;min-height:34px;margin-top:10px;text-decoration:none}.insights-hero>span,.insight-card-head span{color:var(--ink);text-transform:capitalize;background:#ececeb;border-radius:999px;padding:5px 9px;font-size:10px}.insights-hero>span[data-tone=risk],.insight-card-head span[data-tone=risk]{color:#8b2b1f;background:#f7ded8}.insights-hero>span[data-tone=positive],.insight-card-head span[data-tone=positive]{color:#186a44;background:#daf1e4}.insights-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.insights-metrics div{border:1px solid var(--line);background:#ffffffad;border-radius:8px;padding:9px}.insights-metrics span,.insight-card-head em,.insight-areas span{color:var(--muted);font-size:10px;font-style:normal}.insights-metrics strong{color:var(--ink);margin-top:3px;font-size:18px;display:block}.insights-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start}.insights-priority-card{padding:12px}.insights-action-list,.insights-action-stack,.insights-coverage,.insights-coverage-list,.insights-rag,.insights-rag-list,.insights-quick-list,.insights-help{gap:8px;display:grid}.insight-card{min-height:0;padding:12px}.insight-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.insight-card h3{letter-spacing:0;margin:0 0 5px;font-size:15px;line-height:1.15}.insight-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.insight-areas{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.insight-areas span{background:#ececeb;border-radius:999px;padding:3px 7px}.insight-card>strong{color:var(--ink);font-size:13px;line-height:1.35}.insight-metric-row{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;margin-bottom:7px;padding:7px 8px;display:grid}.insight-metric-row span,.insight-evidence span,.insights-coverage-list span,.insights-coverage-list em,.insights-help p{color:var(--muted);font-size:10px;font-style:normal}.insight-metric-row strong{color:var(--ink);font-size:14px}.insight-evidence{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.insight-evidence span{border:1px solid var(--hairline);background:var(--paper);border-radius:999px;padding:3px 7px}.insight-action-link{color:var(--ink);justify-self:start;align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.insights-quick-item{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.insights-quick-item>div{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.insights-quick-item span[data-tone]{width:28px;height:28px;color:var(--ink);background:#ececeb;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.insights-quick-item span[data-tone=risk]{color:#8b2b1f;background:#f7ded8}.insights-quick-item span[data-tone=positive]{color:#186a44;background:#daf1e4}.insights-quick-item strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;display:block;overflow:hidden}.insights-quick-item em{color:var(--muted);margin-top:2px;font-size:10px;font-style:normal;display:block}.insights-quick-item .insight-action-link{white-space:nowrap;justify-self:end}.insights-rag-summary{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.insights-rag-summary svg{color:var(--ink);margin-top:1px}.insights-rag-summary p,.insights-rag-list p,.insights-rag-list em{color:var(--muted);margin:0;font-size:11px;font-style:normal;line-height:1.4}.insights-rag-list{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-rag-list>div{border:1px solid var(--hairline);background:var(--paper);border-left:3px solid #d5d2c9;border-radius:8px;align-content:start;gap:6px;padding:10px;display:grid}.insights-rag-list>div[data-urgency=medium]{border-left-color:#d59c30}.insights-rag-list>div[data-urgency=high]{border-left-color:#b74632}.insights-rag-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.insights-rag-list span,.insights-rag-card-head strong{color:var(--muted);text-transform:uppercase;font-size:10px}.insights-rag-card-head strong{color:var(--ink);background:#ececeb;border-radius:999px;padding:3px 7px}.insights-rag-list>div[data-urgency=medium] .insights-rag-card-head strong{color:#7c4a03;background:#f7ead8}.insights-rag-list>div[data-urgency=high] .insights-rag-card-head strong{color:#8b2b1f;background:#f7ded8}.insights-rag-list h3{color:var(--ink);letter-spacing:0;margin:0;font-size:14px;line-height:1.2}.insights-rag-list .insights-rag-citations{background:0 0;border:0;flex-wrap:wrap;gap:5px;padding:0;display:flex}.insights-rag-list .insights-rag-citations span{border:1px solid var(--hairline);text-transform:none;background:#ffffff8c;border-radius:999px;padding:3px 7px}.insights-coverage-list div{border:1px solid var(--hairline);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px;display:grid}.insights-coverage-list strong{color:var(--ink);text-transform:capitalize;background:#ececeb;border-radius:999px;padding:3px 8px;font-size:10px}.insights-coverage-list div[data-status=good] strong{color:#186a44;background:#daf1e4}.insights-coverage-list div[data-status=missing] strong,.insights-coverage-list div[data-status=thin] strong{color:#7c4a03;background:#f7ead8}.insights-coverage-list em{grid-column:1/-1}.insights-help p{margin:0;line-height:1.45}@media (prefers-reduced-motion:reduce){.ring-value,.water-ring-value,.page-transition,.exercise-demo-frame img{transition:none;animation:none}.exercise-demo-frame img:last-child{display:none}}.toast-stack{right:clamp(14px,3vw,28px);top:calc(clamp(14px, 3vw, 28px) + env(safe-area-inset-top));z-index:60;pointer-events:none;gap:8px;width:min(320px,100vw - 28px);display:grid;position:fixed}.toast{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);border-radius:8px;padding:12px 14px;font-size:12px}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--ink-secondary)}@media (width<=1060px){.today-grid,.today-command,.two-grid,.glow-grid{grid-template-columns:1fr}.today-habits-anchor,.today-habits-card,.today-action-grid,.today-analytics-grid{grid-area:auto}.insights-grid,.insights-rag-list{grid-template-columns:1fr}.insights-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-hero,.finance-inline-form{grid-template-columns:1fr}.glow-kpis,.glow-history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){input,select,textarea{font-size:16px}.app{display:block}.sidebar{display:none}.main{padding:18px 14px calc(112px + env(safe-area-inset-bottom))}.main--plan{padding:14px 10px calc(112px + env(safe-area-inset-bottom));overflow-x:hidden}.main--plan .page-transition{min-width:0;max-width:100%;overflow-x:hidden}.app-bar{padding:calc(18px + env(safe-area-inset-top)) 14px 14px;align-items:start;margin:-18px -14px 18px}.insights-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-hero{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.insights-hero h2{font-size:21px}.insights-hero-action{width:max-content;max-width:100%}.insights-quick-item{grid-template-columns:1fr}.insights-quick-item .insight-action-link{justify-self:start}.habit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.today-command{gap:12px}.today-command-card{gap:10px}.today-hero{grid-template-columns:minmax(0,1fr) 132px;gap:10px}.today-hero .ring-wrap{justify-self:center}.today-stat-grid{gap:6px}.today-stat-chip{min-height:58px;padding:7px}.today-stat-chip strong,.today-priority-list strong,.today-priority-clear strong{font-size:13px}.today-stat-chip em{font-size:9px}.today-habits-card{padding-bottom:14px}.today-habits-card .card-header,.today-action-grid .card-header{padding-right:54px}.today-priority-list{grid-template-columns:repeat(2,minmax(0,1fr))}.today-action-grid,.today-analytics-grid{grid-template-columns:1fr}.today-priority-panel{padding:8px}.today-priority-list button,.today-priority-clear{min-height:43px;padding:7px}.today-command-links{grid-template-columns:repeat(4,minmax(0,1fr))}.today-input-links{grid-template-columns:repeat(2,minmax(0,1fr))}.today-habits-card .habit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.today-habits-card .habit-chip{min-height:70px;padding:7px 6px}.today-habits-card .habit-chip__label{font-size:11px}.today-habits-card .habit-chip__streak{font-size:8px}.today-habits-card .habit-chip--multi strong{font-size:17px}.glow-hero{min-height:0;padding:16px}.glow-screen{width:100%;max-width:100%}.glow-plan-tabs{width:100%}.glow-plan-tabs .view-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid;overflow:visible}.glow-plan-tabs .view-nav button,.glow-plan-tabs .view-nav--compact button{width:100%;min-width:0;min-height:32px;padding:0 8px;font-size:10px}.glow-optimized{gap:9px;width:100%}.glow-optimized .card{padding:11px}.glow-optimized .card-header{gap:8px;margin-bottom:10px}.glow-today-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px}.glow-today-summary strong{font-size:19px}.glow-today-summary .button{text-overflow:ellipsis;max-width:112px;min-height:32px;padding:0 9px;font-size:10px;overflow:hidden}.glow-compact-metrics>div{padding:0 5px}.glow-compact-metrics strong{font-size:11px}.glow-compact-metrics span,.glow-trend-summary span,.glow-plan-link span{letter-spacing:.08em;font-size:8px}.glow-trend-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.glow-trend-summary div{padding:8px}.glow-trend-summary strong{font-size:14px}.glow-trend-charts{overflow:hidden}.glow-trends-card .glow-history-bars{gap:3px;height:52px}.glow-trend-footer{grid-template-columns:1fr;gap:4px}.glow-protein-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.glow-protein-form{grid-template-columns:1fr}.view-nav button{min-width:118px;padding:0 12px}.view-nav--compact button{min-width:0}.glow-preset-grid,.glow-form-grid,.glow-skin-row{grid-template-columns:1fr}.glow-preset-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.glow-preset-grid--six{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.glow-preset-grid--six .glow-preset--compact{min-height:48px;padding:7px 5px}.glow-preset-grid--six .glow-preset--compact strong{font-size:12px}.glow-preset-grid--six .glow-preset--compact span{font-size:8px}.glow-history-bars{gap:3px}.glow-history-selected{grid-template-columns:1fr}.glow-today-focus{grid-template-columns:1fr;align-items:stretch}.glow-today-focus .button{width:100%}.glow-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.glow-recovery-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.glow-recovery-strip>div{grid-column:1/-1}.glow-inline-form{grid-template-columns:1fr}.habit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-form-grid .setting-field:last-child{grid-column:1/-1}.habits-screen .heatmap{grid-template-columns:repeat(14,22px);padding-bottom:2px;overflow-x:auto}.today-grid{gap:12px}.today-sleep-check{margin-bottom:12px}.today-sleep-form{grid-template-columns:1fr}.today-sleep-rating{grid-template-columns:repeat(5,minmax(0,1fr))}.water-main-panel{padding:20px 16px 18px}.water-progress-grid{grid-template-columns:minmax(126px,.9fr) minmax(130px,1fr);gap:14px}.water-ring{justify-self:center;width:min(154px,38vw)}.water-streak-pill{min-height:30px;font-size:11px;top:14px;right:14px}.water-metrics{gap:12px;padding-left:12px}.water-metrics>div{grid-template-columns:32px minmax(0,1fr);gap:8px}.water-metrics span,.water-encouragement span,.water-insight>span{width:32px;height:32px}.water-metrics strong{font-size:17px}.water-metrics p,.water-encouragement{font-size:11px}.today-water{gap:8px}.today-water .kpi{font-size:28px}.today-water .mono-small{font-size:10px}.water-actions-mini{grid-template-columns:34px repeat(2,minmax(0,1fr));gap:7px}.water-actions-mini .icon-button{width:34px;min-height:34px}.water-actions-mini .button{min-height:34px;padding:0 8px;font-size:12px}.mini-rings{grid-template-columns:repeat(5,minmax(44px,1fr));overflow-x:auto}.bottom-nav{z-index:20;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#fbfaf7f0;justify-content:space-evenly;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#777780;border-radius:999px;flex:1 1 0;place-items:center;gap:2px;min-height:58px;margin:8px 2px 10px;padding:7px 2px 11px;font-size:8px;font-weight:800;display:grid;position:relative}.bottom-nav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1;display:block;overflow:hidden}.bottom-nav a.active{color:var(--ink);background:var(--surface);box-shadow:0 1px #18181b0f}.bottom-nav a.active svg{stroke-width:2.6px}.bottom-nav a.active:after{content:"";background:var(--ink);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.quick-fab{right:calc(16px + env(safe-area-inset-right));bottom:calc(108px + env(safe-area-inset-bottom))}.quick-fab-button{width:48px;height:48px}}:root[data-theme=dark] .app-bar,:root[data-theme=dark] .bottom-nav,:root[data-theme=dark] .sidebar{background:linear-gradient(90deg, var(--grid-line-x) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-y) 1px, transparent 1px), var(--chrome);background-size:34px 34px}:root[data-theme=dark] .app-bar{border-bottom-color:#ffffff14}:root[data-theme=dark] .ring-track,:root[data-theme=dark] .water-ring-track{stroke:#ffffff1a}:root[data-theme=dark] .ring-value--habit{stroke:#22c55e}:root[data-theme=dark] .ring-value.secondary{stroke:#f4f4f5d1}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .app-lock-panel,:root[data-theme=dark] .card,:root[data-theme=dark] .finance-panel,:root[data-theme=dark] .water-panel,:root[data-theme=dark] .weight-panel,:root[data-theme=dark] .golf-panel,:root[data-theme=dark] .recipe-panel,:root[data-theme=dark] .recipe-card,:root[data-theme=dark] .glow-hero,:root[data-theme=dark] .modal,:root[data-theme=dark] .quick-fab-menu,:root[data-theme=dark] .today-priority-panel,:root[data-theme=dark] .today-holiday-card,:root[data-theme=dark] .insights-metrics div{background:var(--panel)}:root[data-theme=dark] .today-stat-chip,:root[data-theme=dark] .today-priority-list button,:root[data-theme=dark] .today-priority-clear,:root[data-theme=dark] .legend-item,:root[data-theme=dark] .meal-estimator,:root[data-theme=dark] .finance-safe-detail span,:root[data-theme=dark] .finance-position-summary>div,:root[data-theme=dark] .finance-compare-card,:root[data-theme=dark] .finance-check-toggle,:root[data-theme=dark] .water-streak-pill,:root[data-theme=dark] .water-undo-row,:root[data-theme=dark] .water-insight,:root[data-theme=dark] .glow-history-kpis div,:root[data-theme=dark] .glow-history-selected div,:root[data-theme=dark] .glow-history-weeks div,:root[data-theme=dark] .glow-trend-summary div,:root[data-theme=dark] .glow-plan-link,:root[data-theme=dark] .glow-protein-buttons button,:root[data-theme=dark] .glow-suggestion-list button,:root[data-theme=dark] .glow-today-progress>div,:root[data-theme=dark] .glow-suggestions p,:root[data-theme=dark] .glow-preview-note,:root[data-theme=dark] .insight-metric-row,:root[data-theme=dark] .insight-evidence span,:root[data-theme=dark] .insights-coverage-list div{background:var(--paper)}:root[data-theme=dark] .list-row,:root[data-theme=dark] .today-stat-chip,:root[data-theme=dark] .today-priority-list button,:root[data-theme=dark] .today-priority-clear,:root[data-theme=dark] .legend-item,:root[data-theme=dark] .finance-safe-detail span,:root[data-theme=dark] .finance-position-summary>div,:root[data-theme=dark] .finance-compare-card,:root[data-theme=dark] .finance-check-toggle,:root[data-theme=dark] .water-streak-pill,:root[data-theme=dark] .water-undo-row,:root[data-theme=dark] .water-insight,:root[data-theme=dark] .glow-history-kpis div,:root[data-theme=dark] .glow-history-selected div,:root[data-theme=dark] .glow-history-weeks div,:root[data-theme=dark] .glow-trend-summary div,:root[data-theme=dark] .glow-plan-link,:root[data-theme=dark] .glow-protein-buttons button,:root[data-theme=dark] .glow-suggestion-list button,:root[data-theme=dark] .glow-today-progress>div,:root[data-theme=dark] .glow-suggestions p,:root[data-theme=dark] .glow-preview-note,:root[data-theme=dark] .insight-metric-row,:root[data-theme=dark] .insight-evidence span,:root[data-theme=dark] .insights-coverage-list div{background:#ffffff09}:root[data-theme=dark] .finance-entry,:root[data-theme=dark] .finance-category-row,:root[data-theme=dark] .finance-sub-row{background:0 0}:root[data-theme=dark] .card{border-color:#ffffff18;box-shadow:0 1px #ffffff06}:root[data-theme=dark] .today-command-card,:root[data-theme=dark] .today-habits-card{background:linear-gradient(180deg, #ffffff05, transparent 42%), var(--panel)}:root[data-theme=dark] .today-stat-chip,:root[data-theme=dark] .today-priority-list button,:root[data-theme=dark] .today-priority-clear,:root[data-theme=dark] .today-command-links a,:root[data-theme=dark] .today-input-links a{border-color:#ffffff16}:root[data-theme=dark] .today-priority-panel{border-color:#ffffff14}:root[data-theme=dark] .meal-estimator,:root[data-theme=dark] .meal-estimator-status,:root[data-theme=dark] .meal-estimator-error{border-color:#ffffff16}:root[data-theme=dark] .finance-screen,:root[data-theme=dark] .water-screen{color:var(--ink)}:root[data-theme=dark] .finance-panel,:root[data-theme=dark] .water-panel,:root[data-theme=dark] .weight-panel,:root[data-theme=dark] .golf-panel,:root[data-theme=dark] .recipe-panel,:root[data-theme=dark] .recipe-card,:root[data-theme=dark] .glow-hero{border-color:#ffffff18;box-shadow:0 1px #ffffff06}:root[data-theme=dark] .finance-period-nav button,:root[data-theme=dark] .finance-pill,:root[data-theme=dark] .finance-status-pill,:root[data-theme=dark] .water-add-card,:root[data-theme=dark] .weight-ranges button,:root[data-theme=dark] .recipe-meal-tabs button,:root[data-theme=dark] .view-nav button,:root[data-theme=dark] .glow-preset,:root[data-theme=dark] .glow-week button,:root[data-theme=dark] .glow-quick-actions button,:root[data-theme=dark] .glow-recovery-strip button,:root[data-theme=dark] .glow-rating button,:root[data-theme=dark] .glow-check-list button,:root[data-theme=dark] .glow-exercise,:root[data-theme=dark] .glow-preview-list div{color:var(--ink);background:#121318;border-color:#ffffff1b}:root[data-theme=dark] .view-nav button.is-active,:root[data-theme=dark] .glow-skin-row button.is-checked,:root[data-theme=dark] .weight-ranges button.is-active,:root[data-theme=dark] .recipe-meal-tabs button.is-active{color:#111318;background:#e7e9ee;border-color:#e7e9ee}:root[data-theme=dark] .finance-progress,:root[data-theme=dark] .finance-goal-progress,:root[data-theme=dark] .finance-category-track,:root[data-theme=dark] .glow-progress,:root[data-theme=dark] .glow-today-progress i,:root[data-theme=dark] .glow-history-weeks i{background:#ffffff1c}:root[data-theme=dark] .finance-progress span,:root[data-theme=dark] .finance-category-track span,:root[data-theme=dark] .finance-bar-item>span.is-today{background:#f4f4f5}:root[data-theme=dark] .finance-bar-item>span{background:#ffffff29}:root[data-theme=dark] .finance-bar-item>span.has-spend{background:#f4f4f57a}:root[data-theme=dark] .water-add-card-custom{color:#09090b;background:#f4f4f5;border-color:#f4f4f5}:root[data-theme=dark] .water-add-card-custom span,:root[data-theme=dark] .water-add-card-custom>svg:first-child{color:#3f3f46}:root[data-theme=dark] .water-metrics span,:root[data-theme=dark] .water-encouragement span,:root[data-theme=dark] .water-insight>span,:root[data-theme=dark] .finance-empty-goal span,:root[data-theme=dark] .finance-entry-icon,:root[data-theme=dark] .finance-sub-icon,:root[data-theme=dark] .finance-insight-row svg:first-child{background:#ffffff14}:root[data-theme=dark] .finance-goal-avatar{color:#09090b;background:#f4f4f5;border:1px solid #ffffff29;box-shadow:0 1px #ffffff14}:root[data-theme=dark] .water-ring-track{stroke:#ffffff1f}:root[data-theme=dark] .water-week-item span{background:#7796e847}:root[data-theme=dark] .water-week-item span.is-today,:root[data-theme=dark] .water-ring-value{stroke:#86a5ff;background:#86a5ff}:root[data-theme=dark] .glow-history-bars--sleep button{background:#f4f4f575}:root[data-theme=dark] .glow-check-list button.is-checked,:root[data-theme=dark] .glow-exercise.is-done{color:#dffdea;background:#22c55e1f;border-color:#4ade804d}:root[data-theme=dark] .glow-check-list button.is-checked span{box-shadow:inset 0 0 0 4px #121318}:root[data-theme=dark] .habit-chip{color:#a7aab4;background:#121318;border-color:#ffffff1b}:root[data-theme=dark] .habit-chip.is-done{color:#dffdea;background:#22c55e1f;border-color:#4ade8057}:root[data-theme=dark] .habit-chip.is-done .habit-chip__state,:root[data-theme=dark] .habit-chip.is-done .habit-chip__streak{color:#86efac}:root[data-theme=dark] .habit-chip.is-empty{color:#8b8d98}:root[data-theme=dark] .habit-chip__bar{background:#ffffff1f}:root[data-theme=dark] .bottom-nav{border-top-color:#ffffff14;box-shadow:0 -16px 36px #0000003d}:root[data-theme=dark] .bottom-nav a.active{background:#ffffff13;box-shadow:inset 0 0 0 1px #ffffff09}:root[data-theme=dark] .quick-fab-button{color:#09090b;background:#f4f4f5;border-color:#ffffffeb;box-shadow:0 14px 34px #0000005c}:root[data-theme=dark] .habit-chip.is-progress,:root[data-theme=dark] .finance-empty,:root[data-theme=dark] .empty,:root[data-theme=dark] .insights-hero>span,:root[data-theme=dark] .insight-card-head span,:root[data-theme=dark] .insight-areas span,:root[data-theme=dark] .insights-coverage-list strong{background:var(--field);color:var(--ink-secondary)}:root[data-theme=dark] input::placeholder{color:var(--faint)}
