:root{--radius:14px;--safe-bottom:env(safe-area-inset-bottom,0px);--tap-target:48px;--font-stack:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-design=coffee]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#16120f;--surface:#221b16;--surface-raised:#2e251e;--border:#3b3027;--card-border:var(--border);--text:#f2e9e1;--text-muted:#c2b6aa;--accent:#c98a3e;--accent-strong:#e8a85c;--accent-subtle:#2e251e;--danger:#e07a6c;--caution:#d9a441;--ok:#6f9e5f}:root[data-design=volt]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:18px;--background:#07090b;--surface:#0f1317;--surface-raised:#171c22;--border:#606b77;--card-border:#1d242b;--text:#f4f7f2;--text-muted:#c4ccd4;--accent:#bcf04c;--accent-strong:#d5f584;--accent-subtle:#1b2410;--danger:#ff6b5e;--caution:#ffc247;--ok:#39e0b0;--glow-strength:30%}@media (prefers-color-scheme:light){:root[data-design=volt]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f3f5f1;--surface:#fff;--surface-raised:#e8ece4;--border:#7d8777;--card-border:#dde2d8;--text:#10140d;--text-muted:#363e32;--accent:#4d7c0f;--accent-strong:#3a5f0b;--accent-subtle:#e6f2cf;--danger:#b3261e;--caution:#8a5a00;--ok:#0f7a55;--glow-strength:16%}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--background);color:var(--text);font-family:var(--font-stack);-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{transition:opacity .1s,transform .1s}button:active{opacity:.7;transform:scale(.97)}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0 0 8px}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{flex-direction:column;height:100%;display:flex}.app-content{padding:16px 16px calc(16px + var(--safe-bottom));flex:1;position:relative;overflow-y:auto}.screen{flex-direction:column;display:flex}@media (width>=640px){.app{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:560px;margin:0 auto}}.splash{background:var(--background);height:100%;color:var(--text-muted);font-family:var(--font-stack);text-align:center;justify-content:center;align-items:center;padding:0 24px;display:flex}.splash-error{color:var(--danger)}.text-muted{color:var(--text-muted)}.tab-bar{border-top:1px solid var(--border);background:var(--surface);padding-bottom:var(--safe-bottom);display:flex}.tab-bar-button{min-height:60px;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:13px;display:flex}.tab-bar-button.is-active{color:var(--accent-strong)}.tab-bar-icon{width:24px;height:24px;display:flex}.tab-bar-icon svg{width:100%;height:100%}.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px;font-size:13px}.section-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.button{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);justify-content:center;align-items:center;margin-bottom:8px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.text-button{min-height:var(--tap-target);color:var(--accent-strong);background:0 0;border:none;margin:-12px -4px -12px 0;padding:0 4px;font-size:15px;font-weight:600}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--background)}.button:disabled{opacity:.5}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field span:first-child{color:var(--text-muted);font-size:13px}.field select,.field input[type=text],.field input[type=search],.field input[type=datetime-local],.field input[type=time]{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);appearance:none;padding:0 12px}.field input[type=search]::-webkit-search-cancel-button{appearance:none;background:var(--text-muted);cursor:pointer;width:16px;height:16px;margin-left:8px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.field-checkbox{flex-direction:row;align-items:center;gap:8px}.field-checkbox input{width:22px;height:22px}.number-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.number-field-label{color:var(--text-muted);font-size:13px}.number-field-control{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);align-items:center;gap:8px;padding:0 12px;display:flex}.number-field-control input{min-width:0;color:var(--text);background:0 0;border:none;flex:1;font-size:16px}.number-field-unit{color:var(--text-muted);font-size:13px}.segmented-control{gap:8px;margin-bottom:16px;display:flex}.segmented-control button{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);flex:1;font-weight:600}.segmented-control button.is-active{background:var(--accent);border-color:var(--accent);color:var(--background)}.confirmation-banner{background:var(--surface-raised);border:1px solid var(--ok);color:var(--ok);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px}.computed-dose{margin-bottom:12px;font-size:22px;font-weight:700}.today-current-level{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;justify-content:space-between;align-items:center;gap:12px;display:flex}.today-concentration{white-space:nowrap;margin:0;font-size:36px;font-weight:700}.today-concentration .unit{color:var(--text-muted);font-size:16px;font-weight:500}.today-concentration .approximation{color:var(--text-muted);font-size:22px;font-weight:500}.cutoff-projection,.dose-range-hint,.field-hint{margin:4px 0 0;font-size:12px;line-height:1.45}.model-info>p{margin:0 0 8px}.model-info details{border-top:1px solid var(--border);padding:10px 0}.model-info details:last-of-type{padding-bottom:0}.model-info summary{cursor:pointer;font-weight:600}.model-info details p{margin:8px 0 0;line-height:1.5}.model-info-sources{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.model-info-sources li+li{margin-top:6px}.phase-badge{border-radius:var(--radius);text-align:right;padding:6px 10px}.phase-badge-label{font-size:15px;font-weight:700;display:inline-block}.phase-badge-description{color:var(--text-muted);max-width:160px;margin:2px 0 0;font-size:12px}.phase-badge-ok .phase-badge-label{color:var(--ok)}.phase-badge-accent .phase-badge-label{color:var(--accent-strong)}.phase-badge-caution .phase-badge-label{color:var(--caution)}.phase-badge-danger .phase-badge-label{color:var(--danger)}.curve-chart{width:100%;height:auto;display:block}.curve-axis-line{stroke:var(--border);stroke-width:1px}.curve-axis-label{fill:var(--text-muted);font-size:9px}.curve-threshold-line{stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:4 4}.curve-threshold-label{fill:var(--danger);font-size:9px}.curve-area{fill:var(--accent);fill-opacity:.28}.curve-line{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-linejoin:round}.hero-title,.curve-now-dot{display:none}.curve-intake-tick{stroke:var(--text-muted);stroke-width:1.5px}.curve-bedtime-line{stroke:var(--caution);stroke-width:1.5px}.curve-now-line{stroke:var(--text);stroke-width:1.5px}.curve-marker-label{font-size:10px;font-weight:600}.curve-bedtime-label{fill:var(--caution)}.curve-now-label{fill:var(--text)}.curve-crossing-dot{fill:var(--danger);stroke:var(--surface);stroke-width:1.5px}.curve-crossing-label{fill:var(--danger);font-size:10px;font-weight:600}.curve-chart{touch-action:pan-y;-webkit-user-select:none;user-select:none}.curve-scrub-line{stroke:var(--text);stroke-width:1px}.curve-scrub-dot{fill:var(--text);stroke:var(--surface);stroke-width:2px}.curve-scrub-label{fill:var(--text)}.recommendation-list+.cutoff-summary{margin-top:12px}.cutoff-summary p{margin:0}.cutoff-warning{color:var(--danger)}.cutoff-safe{color:var(--ok)}.recommendation-list{flex-direction:column;gap:8px;display:flex}.recommendation{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);padding:10px 12px}.recommendation-warning{border-color:var(--danger)}.recommendation-caution{border-color:var(--caution)}.recommendation-info{border-color:var(--border)}.favorite-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=480px){.favorite-grid{grid-template-columns:repeat(3,1fr)}}.favorite-tile{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.favorite-tile-label{font-size:15px;font-weight:600}.favorite-tile-dose{color:var(--text-muted);font-size:13px}.favorite-tile.is-logged{border-color:var(--ok);animation:.3s ease-out favorite-logged-pulse}.favorite-tile.is-logged .favorite-tile-dose{color:var(--ok);font-weight:600}.favorite-tile.is-editing{border-style:dashed;padding-right:32px;position:relative}.favorite-tile-delete{color:var(--danger);font-size:13px;font-weight:700;position:absolute;top:8px;right:10px}@keyframes favorite-logged-pulse{50%{transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.favorite-tile.is-logged{animation:none}}.drink-results{flex-direction:column;gap:4px;max-height:260px;display:flex;overflow-y:auto}.drink-result{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);text-align:left;padding:10px 12px;font-size:15px}.drink-result.is-active{border-color:var(--accent-strong);background:var(--accent-subtle,var(--surface-raised));color:var(--accent-strong);font-weight:600}.intake-list{flex-direction:column;gap:8px;display:flex}.intake-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.intake-row:last-child{border-bottom:none}.intake-row-info{flex-direction:column;min-width:0;display:flex}.intake-row-time{color:var(--text-muted);font-size:12px}.intake-row-label{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.intake-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.intake-row-dose{font-weight:600}.icon-button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);min-height:36px;color:var(--text-muted);padding:0 10px;font-size:12px}.icon-button-danger{color:var(--danger);border-color:var(--danger)}.intake-row-editing{flex-direction:column;align-items:stretch}.intake-edit-time{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.intake-edit-time input{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);padding:0 12px}.intake-edit-actions{gap:8px;display:flex}.intake-edit-actions .button{flex:1;margin-bottom:0}.alertness-options{gap:8px;display:flex}.alertness-option{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);flex:1;font-size:16px;font-weight:700}.history-bar-chart{align-items:flex-end;gap:3px;height:120px;padding-bottom:4px;display:flex;overflow-x:auto}.history-bar-column{cursor:pointer;background:0 0;border:none;flex:0 0 8px;align-items:flex-end;height:100%;padding:0;display:flex}.history-bar{background:var(--accent);opacity:.45;border-radius:2px 2px 0 0;width:8px;min-height:2px}.history-bar-column.is-active .history-bar{opacity:1}.day-curve-navigation{gap:6px;display:flex}.day-curve-navigation .icon-button{min-width:36px;font-size:16px}.day-curve-navigation .icon-button:disabled{opacity:.4}.day-curve-summary{margin:0 0 8px;font-size:13px}.weekday-breakdown{flex-direction:column;gap:8px;display:flex}.weekday-row{grid-template-columns:40px 1fr 64px;align-items:center;gap:8px;display:grid}.weekday-row-label{color:var(--text-muted);font-size:13px}.weekday-row-bar-track{background:var(--surface-raised);border-radius:6px;height:10px;overflow:hidden}.weekday-row-bar{background:var(--accent);height:100%}.weekday-row-value{color:var(--text-muted);text-align:right;font-size:12px}.alertness-fit-bands{flex-direction:column;gap:10px;margin-top:12px;display:flex}.alertness-fit-band{grid-template-columns:1fr 72px;align-items:center;gap:4px 8px;display:grid}.alertness-fit-band-label{color:var(--text-muted);grid-column:1/-1;font-size:13px}.alertness-fit-band-track{background:var(--surface-raised);border-radius:6px;height:10px;overflow:hidden}.alertness-fit-band-fill{background:var(--accent);height:100%;display:block}.alertness-fit-band-value{text-align:right;font-size:13px}.alertness-fit-band-empty{grid-column:1/-1;font-size:13px}.alertness-fit-footnote{margin:12px 0 0;font-size:12px;line-height:1.45}.insights-big-number{margin:0 0 8px;font-size:28px;font-weight:700}.modifier-list{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.bedtime-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.bedtime-row-label{width:40px;color:var(--text-muted);font-size:13px}.bedtime-row input[type=time]{min-height:var(--tap-target);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);padding:0 8px}.backup-actions{gap:8px;display:flex}.backup-actions .button{text-align:center;cursor:pointer;flex:1}.app-version a{color:inherit}.app-version{text-align:center;margin:8px 0 0;font-size:12px}.whatif-inputs{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.planned-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.planned-row{align-items:center;gap:8px;display:flex}.planned-label{flex:1}.habit-form{flex-direction:column;gap:12px;display:flex}.curve-planned-line{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-dasharray:5 4;opacity:.8}[data-design=volt]{--tone:var(--accent)}[data-design=volt] .hero-ok,[data-design=volt] .phase-badge-ok{--tone:var(--ok)}[data-design=volt] .hero-accent,[data-design=volt] .phase-badge-accent{--tone:var(--accent)}[data-design=volt] .hero-caution,[data-design=volt] .phase-badge-caution{--tone:var(--caution)}[data-design=volt] .hero-danger,[data-design=volt] .phase-badge-danger{--tone:var(--danger)}[data-design=volt] .section-title{letter-spacing:-.01em;text-transform:none;color:var(--text);align-items:center;gap:10px;margin-bottom:14px;font-size:21px;font-weight:800;display:flex}[data-design=volt] .section-title:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:4px;height:1em}[data-design=volt] .field span:first-child{color:var(--text);font-weight:600}[data-design=volt] .curve-axis-label,[data-design=volt] .curve-threshold-label{font-size:10px}[data-design=volt] .today-current-level{border-color:var(--card-border);box-shadow:none;background:radial-gradient(120% 100% at 0% 0%, color-mix(in srgb, var(--tone) var(--glow-strength), transparent), transparent 68%), var(--surface);grid-template-columns:1fr auto;grid-template-areas:"title badge""number number""description description";align-items:center;gap:0 12px;padding:22px 22px 24px;display:grid}[data-design=volt] .hero-title{grid-area:title;margin:0;display:flex}[data-design=volt] .today-concentration{letter-spacing:-.03em;font-variant-numeric:tabular-nums;grid-area:number;margin:18px 0 10px;font-size:76px;font-weight:300;line-height:1}[data-design=volt] .today-concentration .unit{letter-spacing:0;font-size:18px;font-weight:500}[data-design=volt] .today-concentration .approximation{margin-right:4px;font-size:56px;font-weight:300;position:relative;top:-.12em}[data-design=volt] .phase-badge{text-align:left;display:contents}[data-design=volt] .phase-badge-label{color:var(--tone);background:color-mix(in srgb, var(--tone) 16%, transparent);border:1px solid color-mix(in srgb, var(--tone) 40%, transparent);border-radius:999px;grid-area:badge;justify-self:end;padding:5px 14px}[data-design=volt] .phase-badge-description{grid-area:description;max-width:none;margin:0;font-size:14px}[data-design=volt] .curve-area{fill:url(#curve-area-gradient);fill-opacity:1}[data-design=volt] .curve-area-stop-top,[data-design=volt] .curve-area-stop-bottom{stop-color:var(--text)}[data-design=volt] .curve-area-stop-top{stop-opacity:.16}[data-design=volt] .curve-area-stop-bottom{stop-opacity:0}[data-design=volt] .curve-line{stroke:var(--accent);stroke-width:2.5px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 70%, transparent))}[data-design=volt] .curve-chart{width:calc(100% + 32px);margin:0 -16px}[data-design=volt] .curve-axis-line{stroke:var(--card-border)}[data-design=volt] .curve-intake-tick{stroke-width:1px;stroke-opacity:.5}[data-design=volt] .curve-threshold-label{fill-opacity:.8}[data-design=volt] .curve-threshold-line,[data-design=volt] .curve-bedtime-line{stroke-width:1px;stroke-opacity:.6}[data-design=volt] .curve-bedtime-line{stroke-dasharray:2 3}[data-design=volt] .curve-now-line{stroke-width:1px;stroke-opacity:.5;stroke-dasharray:2 3}[data-design=volt] .curve-now-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px;filter:drop-shadow(0 0 6px var(--accent));display:block}[data-design=volt] .button-primary,[data-design=volt] .segmented-control button.is-active{box-shadow:0 0 22px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:700}[data-design=volt] .favorite-tile{border-color:var(--card-border);justify-content:space-between;min-height:88px;padding:14px}[data-design=volt] .favorite-tile-dose{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}[data-design=volt] .app{position:relative}[data-design=volt] .app:after{content:"";height:calc(112px + var(--safe-bottom));background:linear-gradient(to top, var(--background) 30%, transparent);pointer-events:none;position:absolute;bottom:0;left:0;right:0}[data-design=volt] .app-content{padding-bottom:calc(104px + var(--safe-bottom))}[data-design=volt] .tab-bar{left:12px;right:12px;bottom:calc(10px + var(--safe-bottom));z-index:1;border:1px solid var(--border);background:color-mix(in srgb, var(--surface-raised) 82%, transparent);-webkit-backdrop-filter:blur(16px);border-radius:999px;padding:4px;position:absolute}[data-design=volt] .tab-bar-button{border-radius:999px;min-height:56px}[data-design=volt] .tab-bar-button.is-active{color:var(--accent-strong);background:var(--accent-subtle)}
