:root{--bg:#f2f2f7;--surface:#fff;--text:#000;--muted:#3c3c43a3;--separator:#3c3c432e;--fill:#7676801f;--accent:#007aff;--accent-text:#fff;--accent-tint:#007aff1f;--red:#ff3b30;--danger-bg:#ff3b301f;--danger-text:#c4150b;--warn:#ff9500;--warn-bg:#ff950029;--warn-text:#8a4600;--info-bg:#007aff17;--ok-bg:#34c75926;--ok-text:#1d7a35;--segment-on:#fff;--bar:#f2f2f7cc;--hypo-bg:#c4150b;--radius:12px;--gutter:16px;--rounded:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--surface:#1c1c1e;--text:#fff;--muted:#ebebf5a3;--separator:#54545899;--fill:#7676803d;--accent:#0a84ff;--accent-tint:#0a84ff33;--red:#ff453a;--danger-bg:#ff453a33;--danger-text:#ff6961;--warn:#ff9f0a;--warn-bg:#ff9f0a33;--warn-text:#ffc266;--info-bg:#0a84ff29;--ok-bg:#30d1582e;--ok-text:#4cd964;--segment-on:#636366;--bar:#161618cc}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}body.is-hypo{background:var(--hypo-bg)}#app{max-width:520px;min-height:100dvh;padding:0 max(var(--gutter), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}button,.label,.chip,.segment,.tile,.nav-title{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.topbar{z-index:10;min-height:calc(44px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);margin:0 calc(-1 * max(var(--gutter), env(safe-area-inset-left)));padding-left:max(8px, env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));border-bottom:.5px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;transition:background-color .2s,border-color .2s;display:grid;position:sticky;top:0}.topbar.scrolled{background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom-color:var(--separator)}.nav-left{justify-self:start;display:flex}.nav-right{justify-self:end;display:flex}.nav-title{opacity:0;white-space:nowrap;text-overflow:ellipsis;max-width:50vw;font-weight:600;transition:opacity .2s;overflow:hidden}.topbar.scrolled .nav-title{opacity:1}.nav-back{align-items:center;gap:6px;padding:10px 8px;display:flex}.nav-chevron{border-bottom:2.5px solid;border-left:2.5px solid;border-radius:1px;width:12px;height:12px;margin-left:6px;transform:rotate(45deg)}.is-hypo .topbar{color:#fff;background:0 0;border-color:#0000}.is-hypo .disclaimer{color:#ffffffd9}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 0 10px 16px}.link:active,.link:disabled{opacity:.4}.is-hypo .link{color:#fff;text-decoration:underline}.screen{flex-direction:column;flex:1;gap:12px;padding-bottom:8px;display:flex}h1{letter-spacing:.01em;margin:2px 0 6px;font-size:34px;font-weight:700;line-height:1.2}h2{padding:0 var(--gutter);color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:14px 0 -4px;font-size:13px;font-weight:400}.hint{color:var(--muted);margin:0;font-size:15px;line-height:1.35}.screen>.hint,.section>.hint,.field>.hint{padding:0 var(--gutter)}.section{flex-direction:column;gap:8px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.label{padding:0;font-weight:400}legend.label,.label-row .label{padding:0 var(--gutter);color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:13px}.label-row{justify-content:space-between;align-items:flex-end;display:flex}.label-row .label{margin-bottom:0}.label-row .link{padding:4px var(--gutter) 0 16px;font-size:15px}div.field{min-height:56px;padding:4px var(--gutter);background:var(--surface);border-radius:var(--radius);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;transition:box-shadow .15s}div.field>.label{flex:none;max-width:55%}div.field:focus-within{box-shadow:0 0 0 2px var(--accent)}div.field:has([aria-invalid=true]){box-shadow:0 0 0 2px var(--red)}div.field:has([aria-invalid=true])>.label{color:var(--red)}.row{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.field-note{color:var(--muted);white-space:nowrap;font-size:15px}.input-box{background:0 0;border:0;flex:1;align-items:center;min-width:0;min-height:44px;padding:0;display:flex}.input-box input{width:0;min-width:0;color:var(--text);font-family:var(--rounded);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;flex:1;padding:6px 0;font-size:24px;font-weight:600}.input-box input::placeholder{color:var(--muted);font-weight:400}.unit{color:var(--muted);padding-left:6px;font-size:17px}div.field:has(.input-text){flex-direction:column;align-items:stretch;gap:0;padding-top:10px}div.field:has(.input-text)>.label{color:var(--muted);max-width:none;font-size:13px}.input-text input{text-align:left;font-family:inherit;font-size:19px;font-weight:400}div.field:has(.select){flex-direction:column;align-items:stretch;gap:0;padding:10px 0 2px}div.field:has(.select)>.label{color:var(--muted);max-width:none;padding:0 var(--gutter);font-size:13px}div.field .select{background-color:#0000;min-height:44px}.pair{gap:10px;display:flex}.pair>.field{flex:1;min-width:0}.pair div.field{flex-direction:column;align-items:stretch;gap:0;padding-top:10px}.pair div.field>.label{color:var(--muted);max-width:none;font-size:13px}.pair .row{flex-wrap:wrap;justify-content:flex-start;row-gap:0}.pair .field-note{flex-basis:100%;padding-bottom:6px;font-size:13px}.pair .input-box input{text-align:left}.select{border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;width:100%;min-height:52px;color:var(--text);font:inherit;padding:0 40px 0 var(--gutter);appearance:none;border:0}.segmented{background:var(--fill);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.segmented-2{grid-template-columns:repeat(2,1fr)}.segment{min-height:40px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 4px;font-size:15px;font-weight:600;transition:background-color .2s,box-shadow .2s}.segment[aria-checked=true]{background:var(--segment-on);box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.btn{width:100%;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:14px;font-size:17px;font-weight:600;transition:opacity .1s}.btn:active{opacity:.6}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-secondary{background:var(--accent-tint);color:var(--accent)}.btn-danger{background:var(--danger-bg);color:var(--red)}.action-bar{z-index:5;margin:auto calc(-1 * max(var(--gutter), env(safe-area-inset-left))) 0;padding:10px max(var(--gutter), env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--separator);position:sticky;bottom:0}.is-hypo .action-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.stack{flex-direction:column;gap:8px;display:flex}.action-bar.stack{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:auto 0 0;padding:12px 0 4px;position:static}.banner{border-radius:var(--radius);padding:14px var(--gutter);line-height:1.35}.banner p{margin:0 0 10px}.banner p:last-child{margin-bottom:0}.banner ul{margin:0;padding-left:20px}.banner-danger{background:var(--danger-bg);color:var(--danger-text);font-weight:600}.banner-warn{background:var(--warn-bg);color:var(--warn-text);font-weight:600}.banner-info{background:var(--info-bg);font-size:15px}.banner-ok{background:var(--ok-bg);color:var(--ok-text);font-weight:600}.banner .hint{padding:0}.ns-card{padding:12px var(--gutter) 14px;background:var(--surface);border-radius:16px;grid-template-columns:1fr auto;grid-template-areas:"label refresh""value refresh""msg msg";align-items:center;column-gap:12px;display:grid}.ns-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;grid-area:label;font-size:13px;font-weight:600}.ns-value{font-family:var(--rounded);font-variant-numeric:tabular-nums;grid-area:value;font-size:40px;font-weight:700;line-height:1.15}.ns-arrow{color:var(--accent);font-weight:600}.ns-msg{color:var(--muted);grid-area:msg;font-size:15px}.ns-refresh{grid-area:refresh;padding:10px 0 10px 12px}.ns-problem{background:var(--warn-bg)}.ns-problem .ns-msg{color:var(--warn-text);font-weight:600}.ns-problem .ns-value{color:var(--muted);text-decoration:line-through}.chip-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.chips{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;padding:8px 12px;font-size:15px;line-height:1.25;transition:background-color .15s,color .15s;display:flex}.chip:active{opacity:.6}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.chip-name{font-weight:600}.chip-detail{color:var(--muted);font-size:13px}.chip[aria-pressed=true] .chip-detail{color:#ffffffd9}.chip-heavy .chip-name:before{content:"";background:var(--warn);vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.chip-heavy[aria-pressed=true] .chip-name:before{background:#fff}.rec{background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.rec .hint{padding:0}.rec div.field{background:var(--fill)}.rec legend.label{padding:0}.rec-title{margin:0;font-size:19px;font-weight:700;line-height:1.3}.question p{margin:0 0 10px;font-size:17px;font-weight:600}.question .btn{background:var(--surface);min-height:48px}.tiles{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;display:grid}.tile{background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;min-width:0;padding:16px 6px 14px;display:flex}.tile-big{font-family:var(--rounded);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(34px,11vw,46px);font-weight:700;line-height:1.1}.tile-small{color:var(--muted);text-align:center;font-size:15px}.when-title{text-transform:uppercase;letter-spacing:.02em;color:var(--accent);margin:0 0 4px;font-size:13px;font-weight:600}.when p{margin:0 0 4px}.why{margin:0}.steps{padding:14px var(--gutter) 14px 40px;background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0;font-size:19px;font-weight:600;display:flex}.working{padding:0 var(--gutter) 0 34px;color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;margin:0;font-size:15px;display:flex}.screen-hypo{color:#fff;text-align:center;justify-content:center}.hypo-title{font-family:var(--rounded);letter-spacing:.04em;margin:0;font-size:72px;font-weight:800}.hypo-value{font-family:var(--rounded);margin:0;font-size:34px;font-weight:700}.hypo-text{margin:0;font-size:19px}.screen-hypo .btn-secondary{color:var(--hypo-bg);background:#fff}.reminder-banner{width:100%;min-height:56px;padding:10px var(--gutter);border-radius:var(--radius);background:var(--info-bg);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.reminder-banner:active{opacity:.6}.reminder-banner-title{font-weight:600}.reminder-banner-time{font-family:var(--rounded);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent);font-weight:700}.reminder-banner.is-due{background:var(--danger-bg);color:var(--danger-text)}.reminder-banner.is-due .reminder-banner-time{color:inherit}.countdown{background:var(--surface);border-radius:20px;flex-direction:column;align-items:center;padding:24px 12px;display:flex}.countdown-time{font-family:var(--rounded);font-variant-numeric:tabular-nums;text-align:center;font-size:clamp(36px,11vw,52px);font-weight:700;line-height:1.15}.countdown-at{color:var(--muted);font-size:17px}.countdown.is-due{background:var(--danger-bg);color:var(--danger-text)}.countdown.is-due .countdown-at{color:inherit}.reminder-detail{margin:0;padding:0 4px;font-size:19px;font-weight:600}.advice{font-size:17px}.preset-list{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.preset-list li+li .preset-row{border-top:.5px solid var(--separator)}.preset-row{text-align:left;width:100%;min-height:60px;padding:10px var(--gutter);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;grid-template-areas:"name chev""detail chev";align-items:center;display:grid}.preset-row:active{background:var(--fill)}.preset-row .chip-name{grid-area:name}.preset-row .chip-detail{grid-area:detail}.chevron{color:var(--muted);opacity:.6;grid-area:chev;font-size:24px}.auth-screen{text-align:center;padding-top:env(safe-area-inset-top);justify-content:center;align-items:center}.auth-screen .action-bar{width:calc(100% + 2 * max(var(--gutter), env(safe-area-inset-left)));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin-top:12px}.auth-screen .banner{text-align:left;width:100%}.auth-icon{border-radius:22.5%;width:96px;height:96px;box-shadow:0 8px 24px #00000026}.auth-foot{margin-top:auto;padding-bottom:8px}.disclaimer{color:var(--muted);text-align:center;padding:8px var(--gutter) calc(12px + env(safe-area-inset-bottom));font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
