.today-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px}.today-wordmark{font-family:var(--font-wordmark);font-size:22px;line-height:1;color:var(--label);white-space:nowrap}.source-pill{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12.5px;font-weight:500;color:var(--label-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--stale)}.source-pill.is-live .source-dot{background:var(--in-range)}.viewing{margin:-6px 0 12px;font-size:13px;font-weight:600;color:var(--brand-2)}.now{margin:4px 2px 0}.now-caption{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--label-2)}.state-chip{padding:2px 9px;border:1.5px solid;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.01em}.now-row{display:flex;align-items:flex-end;gap:14px;margin-top:6px}.now-value{font-family:var(--font-display);font-size:84px;line-height:.92;font-weight:800;letter-spacing:-.03em;color:var(--glucose-value)}.now-value.is-stale{color:var(--stale)}.now-side{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;min-width:0}.now-trend{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:600;color:var(--label)}.now-delta,.now-unit{font-size:14px;color:var(--label-2)}.now-aside{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 2px 0;font-size:13.5px;color:var(--label-2)}.day-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;margin-top:16px;padding:12px 8px 12px 14px;border-radius:var(--radius-card);background:var(--info-soft);animation:rise-in .48s var(--ease) both}.day-notice.is-low{background:var(--low-soft)}.day-notice.is-high{background:var(--high-soft)}.day-notice.is-ok{background:var(--ok-soft)}.day-notice-icon{display:flex;padding-top:1px;color:var(--insulin)}.day-notice.is-low .day-notice-icon{color:var(--low)}.day-notice.is-high .day-notice-icon{color:var(--high)}.day-notice.is-ok .day-notice-icon{color:var(--in-range)}.day-notice-title{margin:0;font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1.3;color:var(--label)}.day-notice-text{margin:2px 0 0;font-size:14px;line-height:1.4;color:var(--label-2)}.day-notice-close{display:grid;place-items:center;width:36px;height:36px;margin:-6px 0;border:0;border-radius:10px;background:none;color:var(--label-3);cursor:pointer}.day-notice-close:active{background:var(--fill)}.tir{display:flex;flex-direction:column;gap:7px;margin:14px 2px 0}.tir-head{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:14px;color:var(--label-2)}.tir-head b{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--label)}.tir-bar{display:flex;gap:2px;height:8px}.tir-bar i{flex-basis:0;min-width:4px;border-radius:999px}.tir-bar .is-low{background:var(--low)}.tir-bar .is-in{background:var(--in-range)}.tir-bar .is-high{background:var(--high)}.tir-key{display:flex;justify-content:space-between;gap:8px;margin:0;font-size:12px;color:var(--label-3)}.chart-card{margin-top:22px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 6px}.chart-title{font-family:var(--font-display);font-size:17px;line-height:22px;font-weight:600;color:var(--label);white-space:nowrap}.chart-seg{flex:0 1 200px;min-height:32px}.chart-seg .seg-item{min-height:30px;font-size:13px;padding:0 6px}.chart{position:relative;width:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:12px;cursor:crosshair}.chart-svg{display:block;overflow:visible}.chart-axis{font-size:12px;font-weight:500;fill:var(--label-2);font-variant-numeric:tabular-nums}.chart-limit{font-size:12px;font-weight:600;fill:var(--in-range);stroke:var(--bg);stroke-width:3px;paint-order:stroke;font-variant-numeric:tabular-nums}.chart-marker-text{font-size:12px;font-weight:600;fill:var(--label);stroke:var(--bg);stroke-width:3px;paint-order:stroke;font-variant-numeric:tabular-nums}.chart-meal-text{font-size:11.5px;font-weight:700;fill:#fff;font-variant-numeric:tabular-nums}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 24px;text-align:center;font-size:15px;line-height:20px;color:var(--label-2)}.chart-tip{position:absolute;top:0;z-index:2;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:12px;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-thumb);pointer-events:none}.chart-tip-time{font-size:12px;line-height:16px;opacity:.85}.chart-tip-value{font-size:15px;line-height:20px;font-weight:700;white-space:nowrap}.chart-tip-state{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;font-weight:600}.chart-tip-state .dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px var(--on-primary)}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:6px 2px 0;padding:0;list-style:none;font-size:12.5px;line-height:18px;color:var(--label-2)}.lg-drop{width:8px;height:11px;border-radius:50%/62% 62% 38% 38%;background:var(--insulin)}.lg-meal{width:10px;height:10px;border-radius:50%;background:var(--carbs)}.chart-legend li{display:flex;align-items:center;gap:6px}.lg-line{width:16px;height:3px;border-radius:2px;background:var(--label)}.lg-typical{width:14px;height:10px;border-radius:3px;background:var(--typical);opacity:.55}.lg-band{width:14px;height:10px;border-radius:3px;background:var(--in-range);opacity:.22;box-shadow:inset 0 0 0 1px var(--in-range)}.stats{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,.95fr) minmax(0,1.45fr) minmax(0,.75fr);margin:16px 0 0;border-top:1px solid var(--separator);border-bottom:1px solid var(--separator)}.stats div{padding:10px 2px;min-width:0}.stats div+div{padding-left:10px;border-left:1px solid var(--separator)}.stats dt{font-size:11.5px;line-height:15px;color:var(--label-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats dd{margin:2px 0 0;font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--label)}.stats dd.is-warn{color:var(--high)}.stats dd.is-low{color:var(--low)}.stats-note{margin-top:8px;font-size:12px;line-height:16px;color:var(--label-3)}.events{margin-top:26px}.events-title{margin:0 2px 8px;font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--label)}.events-empty{margin:0 2px;font-size:14px;color:var(--label-2)}.event-list{margin:0;list-style:none}.event{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:0 14px;border-top:1px solid var(--separator)}.event:first-child{border-top:0}.event-time{font-size:13px;color:var(--label-3)}.event-main{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:baseline;column-gap:8px;min-width:0;padding:6px 0}.event-dot{flex-shrink:0;align-self:center;width:8px;height:8px;border-radius:50%;background:var(--label-3)}.event-dot.is-meal{background:var(--carbs)}.event-dot.is-insulin{background:var(--insulin)}.event-title{min-width:0;font-size:15px;font-weight:600;line-height:20px;color:var(--label);overflow-wrap:break-word}.event-sub{grid-column:2;font-size:12.5px;line-height:17px;color:var(--label-2);overflow-wrap:anywhere}.event-state{font-weight:700}.event-value{font-size:15px;font-weight:700;color:var(--label);white-space:nowrap}.event-act{grid-column:2 / -1;justify-self:start;min-height:44px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--insulin);cursor:pointer}.event-unit{font-size:12px;font-weight:500;color:var(--label-2)}@media (max-width: 360px){.now-value{font-size:68px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats div:nth-child(3){padding-left:2px;border-left:0}}.now-value{display:inline-block;animation:now-in .52s var(--spring) both}@keyframes now-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){.chart-line{stroke-dasharray:1;stroke-dashoffset:1;animation:chart-draw .9s var(--ease) 80ms forwards}}@keyframes chart-draw{to{stroke-dashoffset:0}}.chart-dot{transform-box:fill-box;transform-origin:center;animation:dot-pop .36s var(--spring) both;animation-delay:.5s}@keyframes dot-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}.chart-pulse{transform-box:fill-box;transform-origin:center;opacity:.45}@media (prefers-reduced-motion: no-preference){.chart-pulse{animation:chart-pulse 2.2s ease-out 1s infinite}}@keyframes chart-pulse{0%{opacity:.45;transform:scale(1)}80%,to{opacity:0;transform:scale(3)}}.today-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;padding:22px 20px 16px}.today-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:14px;background:var(--low-soft);color:var(--low)}.today-empty-title{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:700;color:var(--label)}.today-empty-text{font-size:15px;line-height:21px;color:var(--label-2)}.today-empty-actions{display:flex;flex-direction:column;align-self:stretch;gap:4px;margin-top:10px}:root{color-scheme:light;--bg: #F0E8D6;--card: #FFFCF5;--card-2: #E8DFCA;--label: #1F2744;--label-2: #4F5873;--label-3: #5F6781;--separator: #E2D8C2;--fill: rgba(31, 39, 68, .07);--fill-strong: rgba(31, 39, 68, .13);--seg-thumb: #1F2744;--on-seg-thumb: #F0E8D6;--row-press: rgba(31, 39, 68, .05);--chevron: #A0AEBE;--selection: rgba(69, 94, 123, .28);--shadow-card: 0 1px 2px rgba(31, 39, 68, .06);--shadow-thumb: 0 3px 8px rgba(31, 39, 68, .18);--shadow-knob: 0 3px 8px rgba(31, 39, 68, .18);--brand: #253547;--brand-2: #455E7B;--brand-3: #A0AEBE;--on-brand: #F0E8D6;--primary: #1F2744;--primary-soft: rgba(31, 39, 68, .08);--on-primary: #F0E8D6;--in-range: #2E7556;--high: #905309;--high-soft: rgba(144, 83, 9, .1);--low: #B3261E;--low-soft: rgba(179, 38, 30, .08);--danger: #B3261E;--insulin: #455E7B;--glucose-value: #2B5C8F;--info-soft: rgba(69, 94, 123, .12);--ok-soft: rgba(46, 117, 86, .1);--carbs: #B9772A;--carbs-text: #8F5B1A;--protein: #6B5B95;--fat: #C9A227;--fat-text: #7E6514;--typical: #A0AEBE;--stale: #7A8199;--switch-off: rgba(31, 39, 68, .16);--brand-glow: rgba(69, 94, 123, .16);--switch-on: #2E7556;--tabbar-bg: rgba(37, 53, 71, .96);--tabbar-border: transparent;--tabbar-item: rgba(240, 232, 214, .62);--tabbar-item-on: #F0E8D6;--tabbar-item-bg: rgba(240, 232, 214, .13);--radius-card: 18px;--radius-inner: 12px;--radius-btn: 12px;--row-min: 48px;--gutter: 16px;--maxw: 520px;--tabbar-h: 64px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .25s;--font: "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-display: "Bitter", Georgia, serif;--font-wordmark: "Abril Fatface", "Bitter", Georgia, serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #161D2E;--card: #1F2744;--card-2: #2A3557;--label: #F0E8D6;--label-2: #B9BFD0;--label-3: #8A92AB;--separator: #2E3A5E;--fill: rgba(240, 232, 214, .08);--fill-strong: rgba(240, 232, 214, .14);--seg-thumb: #F0E8D6;--on-seg-thumb: #1F2744;--row-press: rgba(240, 232, 214, .06);--chevron: #5E6A88;--selection: rgba(160, 174, 190, .32);--shadow-card: 0 0 0 1px rgba(240, 232, 214, .05);--shadow-thumb: 0 3px 8px rgba(0, 0, 0, .35);--brand: #253547;--brand-2: #A0AEBE;--primary: #F0E8D6;--primary-soft: rgba(240, 232, 214, .1);--on-primary: #1F2744;--in-range: #6FC29A;--high: #E9A85A;--high-soft: rgba(233, 168, 90, .14);--low: #F08A80;--low-soft: rgba(240, 138, 128, .14);--danger: #F08A80;--insulin: #A0AEBE;--glucose-value: #9DC6EC;--info-soft: rgba(160, 174, 190, .16);--ok-soft: rgba(111, 194, 154, .12);--carbs: #E0A35C;--carbs-text: #E0A35C;--protein: #B3A4DB;--fat: #E3C567;--fat-text: #E3C567;--typical: #5E6A88;--switch-on: #6FC29A;--switch-off: rgba(240, 232, 214, .2);--brand-glow: rgba(160, 174, 190, .18);--tabbar-bg: rgba(42, 53, 87, .94);--tabbar-border: rgba(240, 232, 214, .08);--tabbar-item: rgba(240, 232, 214, .66)}}:root[data-theme=dark]{color-scheme:dark;--bg: #161D2E;--card: #1F2744;--card-2: #2A3557;--label: #F0E8D6;--label-2: #B9BFD0;--label-3: #8A92AB;--separator: #2E3A5E;--fill: rgba(240, 232, 214, .08);--fill-strong: rgba(240, 232, 214, .14);--seg-thumb: #F0E8D6;--on-seg-thumb: #1F2744;--row-press: rgba(240, 232, 214, .06);--chevron: #5E6A88;--selection: rgba(160, 174, 190, .32);--shadow-card: 0 0 0 1px rgba(240, 232, 214, .05);--shadow-thumb: 0 3px 8px rgba(0, 0, 0, .35);--brand: #253547;--brand-2: #A0AEBE;--primary: #F0E8D6;--primary-soft: rgba(240, 232, 214, .1);--on-primary: #1F2744;--in-range: #6FC29A;--high: #E9A85A;--high-soft: rgba(233, 168, 90, .14);--low: #F08A80;--low-soft: rgba(240, 138, 128, .14);--danger: #F08A80;--insulin: #A0AEBE;--glucose-value: #9DC6EC;--info-soft: rgba(160, 174, 190, .16);--ok-soft: rgba(111, 194, 154, .12);--carbs: #E0A35C;--carbs-text: #E0A35C;--protein: #B3A4DB;--fat: #E3C567;--fat-text: #E3C567;--typical: #5E6A88;--switch-on: #6FC29A;--switch-off: rgba(240, 232, 214, .2);--brand-glow: rgba(160, 174, 190, .18);--tabbar-bg: rgba(42, 53, 87, .94);--tabbar-border: rgba(240, 232, 214, .08);--tabbar-item: rgba(240, 232, 214, .66)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--separator) transparent}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--label);font-family:var(--font);font-size:17px;line-height:1.35;font-weight:400;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{-webkit-user-select:none;user-select:none}input{caret-color:var(--primary)}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--separator);border-radius:999px;border:2px solid transparent;background-clip:content-box}.icon{display:block;flex-shrink:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--label-2)}.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{min-height:100vh;min-height:100dvh}.pressable{transition:transform .2s var(--ease)}.pressable:active{transform:scale(.97)}.screen{position:relative;max-width:var(--maxw);margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 8px) calc(var(--gutter) + env(safe-area-inset-right,0px)) calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 40px) calc(var(--gutter) + env(safe-area-inset-left,0px));animation:screen-in var(--dur) var(--ease) both}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.large-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 20px}.large-title{font-family:var(--font-display);font-size:26px;line-height:34px;font-weight:700;letter-spacing:-.02em;margin:0;min-width:0}.large-title-trailing{flex-shrink:0;padding-bottom:4px}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;min-width:0}.card-flush{padding:0;overflow:hidden}.section{margin-top:24px;min-width:0}.section-header{font-family:var(--font-display);font-size:16px;line-height:22px;font-weight:600;letter-spacing:-.01em;margin:0 4px 8px}.section-footer{font-size:13px;line-height:18px;color:var(--label-2);margin:8px 4px 0}.list{margin:0;padding:0;list-style:none;background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.list>*{position:relative}.list>*+*:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--separator);transform:scaleY(.5);transform-origin:top;pointer-events:none}.row{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:var(--row-min);padding:11px 16px;background:transparent;border:0;text-align:start;font-size:17px;line-height:22px;color:var(--label);transition:background-color .2s var(--ease)}button.row{cursor:pointer}button.row:active:not(:disabled){background:var(--row-press)}button.row:disabled,.row:disabled{opacity:.5;cursor:default}.row-label{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.row-value{flex-shrink:0;max-width:60%;color:var(--label-2);text-align:end;overflow-wrap:anywhere}.row-leading{display:inline-flex;flex-shrink:0;color:var(--primary)}.row-chevron{flex-shrink:0;color:var(--chevron)}.row-destructive,.row-destructive .row-label{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border:0;border-radius:var(--radius-btn);font-size:17px;font-weight:600;line-height:1;cursor:pointer;touch-action:manipulation;transition:transform .2s var(--ease),background-color .2s var(--ease),opacity .2s var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn-block{display:flex;width:100%}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-secondary{background:var(--primary-soft);color:var(--primary)}.btn-plain{min-height:44px;padding:0 8px;background:transparent;color:var(--primary);font-weight:500}.btn-destructive{background:var(--low-soft);color:var(--danger)}.seg{position:relative;display:flex;gap:0;padding:2px;min-height:40px;background:var(--fill);border-radius:999px;min-width:0}.seg-thumb{position:absolute;top:2px;bottom:2px;left:2px;border-radius:999px;background:var(--seg-thumb);box-shadow:var(--shadow-thumb);pointer-events:none;transition:transform .25s var(--ease),opacity .25s var(--ease)}.seg-item:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.seg-item{position:relative;z-index:1;flex:1 1 0;min-width:0;min-height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--label-2);font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;transition:color .25s var(--ease);overflow:hidden;text-overflow:ellipsis;cursor:pointer}.switch{position:relative;flex-shrink:0;width:51px;height:31px;padding:0;border:0;border-radius:999px;background:var(--switch-off);cursor:pointer;transition:background-color .25s var(--ease)}.switch:disabled{opacity:.45;cursor:default}.switch-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:var(--shadow-knob);transition:transform .25s var(--ease)}.switch.is-on{background:var(--switch-on)}.switch.is-on .switch-knob{transform:translate(20px)}.stepper{display:inline-flex;align-items:center;height:36px;background:var(--fill);border-radius:10px;overflow:hidden}.stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:36px;padding:0;border:0;background:transparent;color:var(--primary);cursor:pointer;transition:background-color .2s var(--ease)}.stepper-btn:active:not(:disabled){background:var(--fill-strong)}.stepper-btn:disabled{color:var(--label-3);cursor:default}.stepper-value{min-width:44px;padding:0 4px;text-align:center;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;font-size:15px;line-height:20px;color:var(--label)}.banner-info{background:var(--info-soft)}.connection-strip{margin-bottom:12px}.banner-info .banner-icon{color:var(--insulin)}.banner-warning{background:var(--high-soft)}.banner-warning .banner-icon{color:var(--high)}.banner-critical{background:var(--low-soft)}.banner-critical .banner-icon{color:var(--low)}.banner-icon{display:inline-flex;flex-shrink:0;margin-top:1px}.banner-body{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0}.banner-title{font-weight:600}.banner-text{color:var(--label-2)}.banner-action{align-self:flex-start;min-height:32px;padding:4px 0;border:0;background:transparent;color:var(--primary);font-size:15px;font-weight:600;cursor:pointer}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--row-min);padding:0 16px;cursor:text;border-radius:0}.field:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.field-label{flex:1 1 auto;min-width:0;font-size:17px;line-height:22px}.field-input-wrap{display:flex;flex-shrink:0;align-items:center;gap:6px;max-width:60%}.field-input{width:96px;min-width:0;padding:10px 0;border:0;outline:none;background:transparent;color:var(--label);text-align:end;font-size:17px;font-variant-numeric:tabular-nums}.field-input::placeholder{color:var(--label-3)}.field-unit{color:var(--label-2);white-space:nowrap}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0 max(12px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));pointer-events:none}.tabbar-inner{display:flex;gap:4px;max-width:440px;height:var(--tabbar-h);margin:0 auto;padding:6px;border-radius:24px;background:var(--tabbar-bg);-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);box-shadow:0 0 0 1px var(--tabbar-border),0 12px 28px -14px #0f14248c;pointer-events:auto}.tabbar-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-radius:18px;color:var(--tabbar-item);font-size:11.5px;font-weight:500;line-height:14px;text-decoration:none;transition:color .25s var(--ease),background-color .25s var(--ease)}.tabbar-item svg{transition:transform .2s var(--ease)}.tabbar-item:active svg{transform:scale(.92)}.tabbar-item[aria-current=page]{background:var(--tabbar-item-bg);color:var(--tabbar-item-on);font-weight:600}.tabbar-item:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.seg-item[aria-checked=true],.seg-item[aria-selected=true]{color:var(--on-seg-thumb)}.logo{display:inline-flex;align-items:center;gap:10px;min-width:0}.logo-mark{display:block;flex-shrink:0}.logo-word{font-family:var(--font-wordmark);font-size:24px;line-height:1;color:var(--label);white-space:nowrap}.splash{display:grid;place-items:center;min-height:100dvh}.splash .logo-mark{animation:skel-pulse 1.4s ease-in-out infinite}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.no-record{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:12vh}.no-record-title{font-family:var(--font-display);font-size:26px;line-height:32px;font-weight:800;color:var(--label)}.no-record-text{font-size:16px;line-height:23px;color:var(--label-2)}.no-record .btn{text-decoration:none;margin-top:8px}.tile{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;color:#fff}.tile .icon{width:19px;height:19px;stroke-width:2}.tile-navy{background:#253547}.tile-steel{background:#455e7b}.tile-green{background:#2e7556}.tile-red{background:#b3261e}.tile-amber{background:#b9772a}.tile-purple{background:#6b5b95}.tile-gray{background:#7a8199}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tile-navy{background:#3a4d74}}:root[data-theme=dark] .tile-navy{background:#3a4d74}.list-icons>*+*:before{left:58px}.list-icons .row-leading{color:inherit}.row-badge{display:inline-grid;place-items:center;flex-shrink:0;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--danger);color:#fff;font-size:13px;font-weight:700;line-height:1}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .row-badge{background:#d9483f}}:root[data-theme=dark] .row-badge{background:#d9483f}.navbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:44px;margin:calc(-1*(env(safe-area-inset-top,0px) + 8px)) calc(-1 * var(--gutter)) 8px;padding:env(safe-area-inset-top,0px) 8px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.navbar-back{display:inline-flex;align-items:center;justify-self:start;gap:0;min-height:44px;min-width:0;max-width:100%;padding:0 8px 0 0;border:0;background:transparent;color:var(--brand-2);font-size:17px;font-weight:500;cursor:pointer}.navbar-back span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar-measure{position:absolute;visibility:hidden;pointer-events:none;font-size:17px;font-weight:500;white-space:nowrap}.navbar-back:active{opacity:.5}.navbar-back[aria-label]{min-width:44px}.navbar-back-icon{flex-shrink:0;transform:rotate(180deg)}.navbar-title{max-width:60vw;overflow:hidden;font-size:17px;line-height:22px;font-weight:600;text-align:center;white-space:nowrap;text-overflow:ellipsis}.check-row .row-label{display:flex;flex-direction:column;gap:2px}.check-row-sub{font-size:13px;line-height:18px;color:var(--label-2)}.check-row-mark{display:inline-flex;flex-shrink:0;width:20px;color:var(--brand-2)}.tf-group{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.tf-group>*{position:relative}.tf-group>*+*:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--separator);transform:scaleY(.5);transform-origin:top;pointer-events:none}.tf{display:block;width:100%;min-height:50px;padding:13px 16px;border:0;outline:none;background:transparent;color:var(--label);font-size:17px;line-height:24px}.tf::placeholder{color:var(--label-3)}.tf-group>*+input{background-image:linear-gradient(var(--separator),var(--separator));background-repeat:no-repeat;background-position:16px 0;background-size:calc(100% - 16px) 1px}input[type=password]:not(:placeholder-shown){font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;letter-spacing:.08em}.tf:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-2)}.tf-hint{margin:8px 16px 0;font-size:13px;line-height:18px;color:var(--label-2)}.account-form{display:flex;flex-direction:column;gap:12px}.account-form .tf-hint{margin-top:-4px}.tf-row{display:flex;align-items:center;gap:12px;padding-left:16px}.tf-label{flex:1 1 auto;min-width:0;font-size:16px;line-height:21px;color:var(--label)}.tf-row .tf.tf-num{flex:0 0 96px;width:96px;padding-left:0;text-align:end;font-variant-numeric:tabular-nums}:root{--spring: cubic-bezier(.22, 1, .36, 1)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.btn{transition:transform .32s var(--spring),background-color .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease)}.btn:active:not(:disabled){transform:scale(.96);transition-duration:90ms}.btn-primary:not(:disabled){box-shadow:0 6px 18px -8px #1f27448c}.btn-primary:active:not(:disabled){box-shadow:0 2px 6px -3px #1f274480}@media (hover: hover){.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary:hover:not(:disabled),button.row:hover:not(:disabled){background-color:var(--row-press)}}button.row{transition:background-color .38s var(--ease)}button.row:active:not(:disabled){transition-duration:0ms;background:var(--fill-strong)}button.card,a.card{transition:transform .32s var(--spring),background-color .2s var(--ease)}button.card:active,a.card:active{transform:scale(.98);transition-duration:90ms}.seg-thumb{transition:transform .42s var(--spring),opacity .25s var(--ease)}.seg-item:active{opacity:.7}.switch-knob{transition:transform .32s var(--spring),width .2s var(--ease)}.switch:active:not(:disabled) .switch-knob{width:33px}.switch.is-on:active:not(:disabled) .switch-knob{transform:translate(14px)}.stepper-btn svg{transition:transform .26s var(--spring)}.stepper-btn:active:not(:disabled) svg{transform:scale(.78)}.stepper-value{transition:color .2s var(--ease)}.tabbar-item[aria-current=page] svg{animation:tab-settle .32s var(--spring)}@keyframes tab-settle{0%{transform:scale(.86)}}.screen>.section,.screen>.card{animation:rise-in .42s var(--ease) both}.screen>:nth-child(2){animation-delay:30ms}.screen>:nth-child(3){animation-delay:60ms}.screen>:nth-child(4){animation-delay:90ms}.screen>:nth-child(5){animation-delay:.12s}.screen>:nth-child(6){animation-delay:.15s}.screen>:nth-child(n+7){animation-delay:.18s}.banner{animation:rise-in .32s var(--ease) both}.confirm{width:min(340px,calc(100vw - 32px));border:0;border-radius:20px;padding:20px;background:var(--card);color:var(--label);box-shadow:0 12px 40px #0000004d}.confirm::backdrop{background:#0a0e1c80}.confirm-text{margin:0 0 20px;font-size:17px;line-height:1.4}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{flex:1;padding:0 12px}.icr-rows{margin:0;padding:0;list-style:none}.icr-row{gap:8px}.icr-from{color:var(--label-2);font-size:15px}.icr-row .time-input{width:64px;font-size:17px}.icr-kind{flex:1;min-width:0;color:var(--label-3);font-size:13px}.icr-input{width:56px;min-height:40px;padding:0 8px;border:0;border-radius:8px;background:var(--fill);color:var(--label);font:inherit;font-size:17px;text-align:right}.icr-input[aria-invalid=true],.icr-row .time-input[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--danger)}.icr-unit{color:var(--label-2);font-size:15px}.icr-row .icon-btn:disabled{opacity:.3}.icr-error{margin:0;padding:4px 16px 10px;color:var(--danger);font-size:13px}.icr-add{gap:8px;color:var(--primary);font:inherit}.dose-icr .dose-value{color:var(--label-2)}.tf-row-switch{min-height:50px;padding:9px 16px}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:20;display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;background:var(--label);color:var(--card);font-size:15px;line-height:20px;font-weight:600;box-shadow:var(--shadow-thumb);transform:translate(-50%);animation:food-toast-in .25s var(--ease) both}@keyframes food-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.range-strip{display:block;max-width:100%;overflow:visible}.range-strip-label{font-size:11px;font-weight:600;fill:var(--label-3);font-variant-numeric:tabular-nums}.range-strip-mark{transition:transform .25s var(--ease)}.screen-loading{min-height:60vh}
