@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#f7f9fc;--surface:#fff;--surface-sunk:#eef2fa;--ink:#101828;--ink-soft:#667085;--border:#e4e8f0;--primary:#2f80ed;--primary-deep:#1f5fc4;--secondary:#3ccfcf;--success:#2a7e4c;--warning:#f4c542;--danger:#ff6b6b;--success-tint:#e4f8ed;--success-tint-ink:#1b7e49;--warning-tint:#fdf3dc;--warning-tint-ink:#b87a17;--danger-tint:#ffebeb;--danger-tint-ink:#c13f3f;--primary-tint:#eaf2ff;--primary-tint-strong:#dce8fd;--primary-tint-border:#cfe0fb;--capsule-gradient-start:#eaf2ff;--capsule-gradient-end:#e5fbfb;--capsule-nav-bg:#ffffffb3;--auth-hero-gradient:#e5f0ff;--font-display:"Inter", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"Inter", sans-serif;--text-title:32px;--text-subtitle:18px;--text-body:15px;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b1220;--surface:#141b2c;--surface-sunk:#1c2438;--ink:#edf1f9;--ink-soft:#8b96ac;--border:#2a3350;--primary:#5b9bf5;--primary-deep:#7fb0ff;--secondary:#4fdcdc;--success:#5fd895;--warning:#f7d373;--danger:#ff8585;--success-tint:#123527;--success-tint-ink:#6fe0a6;--warning-tint:#3a2e10;--warning-tint-ink:#f0c463;--danger-tint:#3a1818;--danger-tint-ink:#ff9d9d;--primary-tint:#182644;--primary-tint-strong:#223258;--primary-tint-border:#2e3f66;--capsule-gradient-start:#16233f;--capsule-gradient-end:#12303a;--capsule-nav-bg:#ffffff14;--auth-hero-gradient:#16233f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;margin:0;transition:background-color .2s,color .2s}#root{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;margin:0;font-weight:700}p{margin:0}button{font-family:var(--font-body);cursor:pointer;border:none}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,select{font-family:var(--font-body);font-size:16px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);padding:14px 20px;font-size:15px;font-weight:600;transition:transform .15s,background .15s}.btn-primary:hover{background:var(--primary-deep)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--primary);border-radius:var(--radius-sm);background:0 0;padding:10px 14px;font-size:14px;font-weight:600}.btn-ghost:hover{background:var(--surface-sunk)}.btn-with-icon{align-items:center;gap:6px;display:inline-flex}.field{text-align:left;flex-direction:column;gap:6px;min-width:0;display:flex}.field label{color:var(--ink-soft);font-size:13px;font-weight:600}.field input,.field select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-sizing:border-box;width:100%;min-width:0;padding:12px 14px}.field input:focus,.field select:focus{border-color:var(--primary)}.card{background:var(--surface);border-radius:var(--radius-lg);transition:background-color .2s;box-shadow:0 1px 2px #1018280a,0 4px 12px #1018280f}.error-text{color:var(--danger);font-size:13px;font-weight:500}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-main{flex-direction:column;flex:1;gap:16px;padding:20px 20px 110px;display:flex}.screen-center{color:var(--ink-soft);text-align:center;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-screen{background:radial-gradient(120% 60% at 50% 0%, var(--auth-hero-gradient) 0%, var(--bg) 60%);flex-direction:column;justify-content:flex-end;gap:28px;min-height:100vh;padding:32px 20px;display:flex}.auth-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.auth-hero__drop{background:linear-gradient(160deg, var(--primary), var(--secondary));border-radius:14px;width:52px;height:52px;margin-bottom:6px}.auth-hero h1{font-size:var(--text-title)}.auth-hero p{color:var(--ink-soft);font-size:var(--text-body)}.auth-card{flex-direction:column;gap:16px;padding:28px 24px;display:flex}.auth-card h2{font-size:var(--text-subtitle);margin-bottom:4px}.auth-switch{text-align:center;color:var(--ink-soft);font-size:14px}.auth-switch a{color:var(--primary);font-weight:600;text-decoration:none}.setup-screen{flex-direction:column;gap:20px;padding:24px 20px 110px;display:flex}.setup-header p{color:var(--ink-soft);margin-top:4px}.setup-form{flex-direction:column;gap:16px;padding:22px;display:flex}.field-row{gap:12px;display:flex}.field-row .field{flex:1;min-width:0}@media (width<=380px){.field-row{flex-direction:column}}.field-col{width:100%}.container-content-select{align-items:center;gap:8px;display:flex}.container-content-select__icon{color:var(--primary);align-items:center;display:inline-flex}.container-form-actions{align-items:center;gap:8px;display:flex}.container-form-actions>*{flex:1}.field-with-button{align-items:center;gap:8px;display:flex}.field-with-button input{flex:1}.setup-hint{color:var(--ink-soft);font-size:14px;line-height:1.5}.setup-containers{flex-direction:column;gap:16px;display:flex}.container-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.container-list__item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-weight:500;display:flex}.container-list__meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.container-list__name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.container-list__tag{background:var(--primary-tint);color:var(--primary-deep);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.container-list__actions{flex-shrink:0;gap:6px;display:flex}.container-list__actions .btn-ghost{padding:6px 12px;font-size:12px}@media (width<=420px){.container-list__item{flex-direction:column;align-items:stretch}.container-list__actions{justify-content:flex-end}}.container-list__vol{color:var(--primary-deep);font-weight:600}.dashboard{flex-direction:column;gap:16px;padding-bottom:8px;display:flex}.dashboard__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-size:12px;font-weight:700}.dashboard__header h1{text-transform:capitalize;font-size:24px}.dashboard__goal-explainer{padding:16px 18px;font-size:14px}.dashboard__goal-explainer strong{color:var(--primary-deep);font-size:16px}.dashboard__goal-checks{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.dashboard__goal-checks span{color:var(--success);background:var(--success-tint);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.dashboard__hero{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;display:flex}.dashboard__message{color:var(--ink-soft);max-width:34ch;font-size:14px;line-height:1.5}.dashboard__ring-button{background:0 0;border-radius:50%;padding:0;transition:transform .15s}.dashboard__ring-button:active{transform:scale(.97)}.dashboard__first-hint{color:var(--primary-deep);background:var(--surface-sunk);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600}.dashboard__weather{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.dashboard__weather-label{color:var(--ink-soft);font-size:12px}.dashboard__weather-value{color:var(--ink);font-size:15px;font-weight:600}.symptom-cta{background:linear-gradient(120deg, var(--primary), var(--primary-deep));color:#fff;border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:16px 18px;font-size:14px;font-weight:600;display:flex}.symptom-cta--assistant{background:linear-gradient(120deg, var(--secondary), var(--primary))}.assistant-screen{flex-direction:column;gap:12px;height:calc(100vh - 140px);display:flex}.assistant-chat{flex-direction:column;flex:1;gap:10px;padding:4px 2px;display:flex;overflow-y:auto}.assistant-empty{flex-direction:column;gap:12px;padding:12px 0;display:flex}.assistant-suggestions{flex-direction:column;gap:8px;display:flex}.assistant-suggestion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;color:var(--primary-deep);padding:12px 14px;font-size:14px;font-weight:600}.assistant-suggestion:hover{background:var(--surface-sunk)}.assistant-bubble{border-radius:var(--radius-md);max-width:82%;padding:11px 14px;font-size:14px;line-height:1.5}.assistant-bubble--user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.assistant-bubble--assistant{background:var(--surface);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 2px #1018280a,0 4px 12px #1018280f}.assistant-bubble--typing{gap:4px;padding:14px 16px;display:flex}.assistant-bubble--typing span{background:var(--ink-soft);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite assistant-typing}.assistant-bubble--typing span:nth-child(2){animation-delay:.15s}.assistant-bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes assistant-typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.assistant-input{gap:8px;padding:4px 2px 0;display:flex}.assistant-input input{border:1.5px solid var(--border);border-radius:var(--radius-md);flex:1;padding:12px 14px}.assistant-input input:focus{border-color:var(--primary)}@media (prefers-reduced-motion:reduce){.assistant-bubble--typing span{opacity:.7;animation:none}}.symptom-screen{flex-direction:column;gap:16px;padding:4px 0 20px;display:flex}.symptom-list{flex-direction:column;padding:8px;display:flex}.symptom-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.symptom-item:last-child{border-bottom:none}.symptom-item input{width:18px;height:18px;accent-color:var(--primary)}.symptom-result{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 20px;display:flex}.symptom-result__message{font-size:15px;line-height:1.5}.symptom-result__stats{color:var(--ink-soft);font-size:13px}.symptom-result__safety{color:var(--ink-soft);border-top:1px solid var(--border);width:100%;padding-top:10px;font-size:12px}.status-pill{border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700}.status-pill--ok{background:var(--success-tint);color:var(--success)}.status-pill--warn{background:var(--warning-tint);color:var(--warning-tint-ink)}.status-pill--alert{background:var(--danger-tint);color:var(--danger)}.theme-toggle{background:var(--surface-sunk);border-radius:var(--radius-md);flex-wrap:wrap;gap:8px;padding:4px;display:flex}.theme-toggle__btn{color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:13px;font-weight:600;display:flex}.theme-toggle__btn--active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #10182814}.history{flex-direction:column;gap:18px;display:flex}.history__toggle{background:var(--surface-sunk);border-radius:var(--radius-md);gap:8px;width:fit-content;padding:4px;display:flex}.history__toggle-btn{color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.history__toggle-btn--active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #10182814}.history__chart{flex-direction:column;gap:14px;padding:20px;display:flex}.history__row{grid-template-columns:52px 1fr 60px;align-items:center;gap:10px;display:grid}.history__row--empty{opacity:.45}.history__date{color:var(--ink-soft);text-transform:capitalize;font-size:12px}.history__bar-track{background:var(--surface-sunk);border-radius:999px;height:10px;display:flex;overflow:hidden}.history__bar{background:linear-gradient(90deg, var(--secondary), var(--primary));border-radius:999px;height:100%}.history__bar-overflow{background:var(--success);border-radius:999px;height:100%;margin-left:2px}.history__value{text-align:right;color:var(--ink-soft);font-size:12px;font-weight:600}.pending-sync-banner{background:var(--warning-tint);color:var(--warning-tint-ink);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.insights{flex-direction:column;gap:16px;display:flex}.insights-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.insights-stat{padding:16px}.insights-stat__label{color:var(--ink-soft);font-size:12px;font-weight:600}.insights-stat__value{color:var(--ink);margin-top:4px;font-size:24px;font-weight:800}.insights-stat__sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.insights-callout{align-items:flex-start;gap:10px;padding:16px 18px;font-size:14px;line-height:1.5;display:flex}.insights-callout__icon{color:var(--primary);flex-shrink:0}.bottom-nav{background:var(--surface);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:20;align-items:center;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #1018280f}.bottom-nav__item{min-height:44px;color:var(--ink-soft);border-radius:var(--radius-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:flex}.bottom-nav__item.is-active{color:var(--primary-deep);background:var(--surface-sunk)}.bottom-nav__fab-wrap{flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav__fab{background:var(--primary);color:#fff;border:4px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-top:-22px;transition:transform .15s;display:flex;box-shadow:0 8px 18px #2f80ed66}.bottom-nav__fab-wrap:active .bottom-nav__fab{transform:scale(.93)}.skeleton-block{background:linear-gradient(90deg, var(--surface-sunk) 25%, var(--border) 50%, var(--surface-sunk) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-block{background:var(--surface-sunk);animation:none}}.ring-progress{width:200px;height:200px;position:relative}.ring-progress__arc{transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1)}.ring-progress__wave{transition:transform .7s cubic-bezier(.4,0,.2,1)}.ring-progress__wave--back path{animation:7s linear infinite wave-x-back}.ring-progress__wave--front path{animation:4.5s linear infinite reverse wave-x-front}@keyframes wave-x-back{0%{transform:translate(0)}to{transform:translate(-70px)}}@keyframes wave-x-front{0%{transform:translate(0)}to{transform:translate(-55px)}}.ring-progress__center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.ring-progress__amount{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:34px;font-weight:800;display:inline-block}.ring-progress__unit{color:var(--ink);font-size:13px;font-weight:500}.ring-progress--celebrate .ring-progress__amount{animation:.45s ease-out 2 ring-pulse}.ring-progress--celebrate svg{animation:.9s ease-out ring-glow}@keyframes ring-pulse{0%{transform:scale(1)}50%{color:var(--success);transform:scale(1.12)}to{transform:scale(1)}}@keyframes ring-glow{0%{filter:drop-shadow(0 0 #2a7e4c00)}40%{filter:drop-shadow(0 0 10px #2a7e4c8c)}to{filter:drop-shadow(0 0 #2a7e4c00)}}@media (prefers-reduced-motion:reduce){.ring-progress--celebrate .ring-progress__amount,.ring-progress--celebrate svg,.ring-progress__wave--back path,.ring-progress__wave--front path{animation:none}}.status-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px 14px;display:flex}.status-card--clickable{text-align:left;border-color:var(--primary);background:var(--primary-tint);width:100%;transition:transform .1s,border-color .15s,background .15s}.status-card--clickable:hover{border-color:var(--primary-deep);background:var(--primary-tint-strong)}.status-card--clickable:active{transform:scale(.97)}.status-card--clickable .status-card__sub{color:var(--primary);font-weight:600}.status-card__body{flex:1;min-width:0}.status-card__chevron{color:var(--primary);flex-shrink:0}.status-card__icon{color:var(--primary);flex-shrink:0;display:flex}.status-card__label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.status-card__value{margin-top:1px;font-size:15px;font-weight:700}.status-card__sub{margin-top:1px;font-size:11px}.status-card--success .status-card__value{color:var(--success)}.status-card--warning .status-card__value,.status-card--warning .status-card__sub{color:var(--warning-tint-ink)}.status-card--danger .status-card__value{color:var(--danger)}.status-card--neutral .status-card__value{color:var(--ink)}.confirm-dialog__backdrop{z-index:70;background:#10182873;justify-content:center;align-items:center;padding:24px;animation:.15s confirm-backdrop-in;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:10px;width:100%;max-width:320px;padding:22px 20px;animation:.25s cubic-bezier(.16,1,.3,1) confirm-dialog-in;display:flex;box-shadow:0 20px 50px #10182840}.confirm-dialog__title{color:var(--ink);margin:0;font-size:17px}.confirm-dialog__message{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.confirm-dialog__actions{gap:10px;margin-top:6px;display:flex}.confirm-dialog__actions>*{flex:1}.confirm-dialog__confirm--danger{background:var(--danger)}.confirm-dialog__confirm--danger:hover{background:var(--danger);filter:brightness(1.05)}@keyframes confirm-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.confirm-dialog,.confirm-dialog__backdrop{animation:none}}.today-logs{padding:16px 18px}.today-logs h2{margin-bottom:10px;font-size:15px}.today-logs__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-logs__item{border-bottom:1px solid var(--border);border-radius:var(--radius-sm);opacity:1;align-items:center;gap:12px;max-height:60px;margin:0 -8px;padding:10px 8px;transition:max-height .24s,opacity .22s,transform .22s,padding .24s,margin .24s,background-color .5s;display:flex;overflow:hidden;transform:translateY(0)scale(1)}.today-logs__item:last-child{border-bottom:none}.today-logs__item--new{background-color:var(--success-tint);border-radius:var(--radius-sm)}.today-logs__item--removing{opacity:0;border-bottom-color:#0000;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translateY(-6px)scale(.98)}.today-logs__icon{color:var(--primary);flex-shrink:0;display:flex}.today-logs__info{flex-direction:column;flex:1;display:flex}.today-logs__amount{font-size:14px;font-weight:700}.today-logs__time{color:var(--ink-soft);font-size:12px}.today-logs__delete{color:var(--danger);opacity:.5;border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.today-logs__delete:hover{opacity:1;background:var(--surface-sunk)}.today-logs__more{text-align:center;width:100%;margin-top:4px}@media (prefers-reduced-motion:reduce){.today-logs__item{transition:none}}.education-capsule{background:linear-gradient(135deg, var(--capsule-gradient-start), var(--capsule-gradient-end));border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.education-capsule__header{color:var(--primary-deep);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.education-capsule__nav{gap:4px;display:flex}.education-capsule__nav button{background:var(--capsule-nav-bg);width:24px;height:24px;color:var(--primary-deep);border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.education-capsule p{color:var(--ink);font-size:14px;line-height:1.5}.bottom-sheet__backdrop{z-index:50;background:#10182873;justify-content:center;align-items:flex-end;animation:.2s sheet-backdrop-in;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--surface);width:100%;max-width:480px;padding:10px 20px calc(24px + env(safe-area-inset-bottom));scrollbar-width:none;-ms-overflow-style:none;border-radius:28px 28px 0 0;flex-direction:column;gap:16px;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) sheet-in;display:flex;position:relative;overflow-y:auto}.bottom-sheet::-webkit-scrollbar{display:none}.bottom-sheet__close{width:32px;height:32px;color:var(--ink-soft);z-index:1;background:0 0;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.bottom-sheet__close:hover{background:var(--surface-sunk);color:var(--ink)}.bottom-sheet__handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:8px auto 0}.bottom-sheet__title{text-align:center;font-size:20px}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bottom-sheet,.bottom-sheet__backdrop{animation:none}}.lcc{flex-direction:column;gap:14px;display:flex}.lcc__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lcc__name{color:var(--ink);align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.lcc__type-icon{color:var(--primary)}.lcc__refill{flex-shrink:0}.lcc__body{align-items:flex-start;gap:22px;padding-top:2px;display:flex}.lcc__visual-col{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.lcc__controls{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.lcc__section-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0;font-size:11px;font-weight:700}.lcc__content-group{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.lcc__controls-divider{background:var(--border);height:1px;margin:2px 0}.lcc__visual{border:2px solid var(--border);background:var(--surface-sunk);border-radius:var(--radius-md);width:90px;position:relative;overflow:hidden}.lcc__visual--thermos{border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-sm);height:130px}.lcc__visual--pitcher{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-md) var(--radius-md);width:110px;height:120px}.lcc__visual--dispenser{border-radius:26px 26px var(--radius-sm) var(--radius-sm);width:70px;height:150px}.lcc__liquid{background:linear-gradient(180deg, var(--secondary), var(--primary));will-change:height;transition:height .7s cubic-bezier(.5,0,.25,1);position:absolute;bottom:0;left:0;right:0}.lcc__wave{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 8' preserveAspectRatio='none'%3E%3Cpath d='M0 4 Q6 0 12 4 T24 4 T36 4 T48 4' fill='none' stroke='white' stroke-opacity='0.55' stroke-width='2'/%3E%3C/svg%3E");background-repeat:repeat-x;height:8px;animation:2.4s linear infinite lcc-wave-slide;position:absolute;top:-8px;left:-48px;right:-48px}@keyframes lcc-wave-slide{0%{transform:translate(0)}to{transform:translate(-48px)}}.lcc__empty{color:var(--ink-soft);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;position:absolute;inset:0}.lcc__readout{text-align:center;line-height:1.1}.lcc__readout strong{color:var(--primary-deep);font-size:22px;display:block}.lcc__readout span{color:var(--ink-soft);white-space:nowrap;font-size:12px}.lcc__content-chip{background:var(--surface-sunk);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;max-width:100%;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.lcc__content-chip svg{color:var(--primary);flex-shrink:0}.lcc__content-chip .lcc__content-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lcc__content-factor{color:var(--ink-soft);flex-shrink:0;font-weight:500}.amount-option--active{background:var(--primary);color:#fff;border-color:var(--primary)}.lcc__controls .amount-grid{grid-template-columns:repeat(3,1fr);gap:8px}.lcc__controls .amount-option{padding:12px 6px;font-size:14px}.lcc__slider-row{align-items:center;gap:12px;display:flex}.lcc__slider-row input[type=range]{accent-color:var(--primary);flex:1}.lcc__slider-value{color:var(--primary-deep);text-align:right;min-width:44px;font-size:14px;font-weight:700}.lcc__confirm{width:100%}@media (prefers-reduced-motion:reduce){.lcc__wave{animation:none}.lcc__liquid{transition:none}}.drink-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding-bottom:4px;display:grid}.drink-option{background:var(--surface-sunk);border-radius:var(--radius-md);color:var(--ink);flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-size:13px;font-weight:600;transition:transform .1s,background .15s;display:flex}.drink-option:hover{background:var(--primary-tint-strong)}.drink-option:active{transform:scale(.96)}.drink-option__icon{color:var(--primary);display:flex}.amount-picker{flex-direction:column;gap:16px;display:flex}.amount-picker__back{align-self:flex-start;padding:4px 0}.amount-section{flex-direction:column;gap:8px;display:flex}.amount-factor-hint{color:var(--ink-soft);background:var(--surface-sunk);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;line-height:1.4}.amount-section__label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:700}.container-quick-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.sip-container-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sip-container-row{background:var(--surface-sunk);border-radius:var(--radius-md);text-align:left;align-items:center;gap:14px;width:100%;padding:12px 14px;transition:transform .1s,background .15s;display:flex}.sip-container-row:hover{background:var(--primary-tint-strong)}.sip-container-row:active{transform:scale(.98)}.sip-container-row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sip-container-row__name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.sip-container-row__vol{color:var(--ink-soft);font-size:12px;font-weight:500}.sip-container-row__level{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:flex-end;width:8px;height:40px;display:flex;overflow:hidden}.sip-container-row__fill{background:linear-gradient(180deg, var(--secondary), var(--primary));border-radius:999px 999px 0 0;width:100%;transition:height .4s}.container-quick-option{background:var(--primary-tint);border:1.5px solid var(--primary-tint-border);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:2px;padding:12px 14px;transition:transform .1s,background .15s;display:flex}.container-quick-option:hover{background:var(--primary-tint-strong)}.container-quick-option:active{transform:scale(.96)}.container-quick-option__name{color:var(--ink);font-size:14px;font-weight:700}.container-quick-option__vol{color:var(--primary-deep);font-size:12px;font-weight:600}.container-quick-option__badge{text-transform:uppercase;letter-spacing:.03em;color:var(--secondary);margin-top:2px;font-size:10px;font-weight:700}.amount-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.amount-option{background:var(--surface-sunk);border-radius:var(--radius-md);color:var(--primary-deep);padding:18px 8px;font-size:15px;font-weight:700;transition:transform .1s,background .15s}.amount-option:hover{background:var(--primary-tint-strong)}.amount-option:active{transform:scale(.96)}.amount-custom-wrap{flex-direction:column;gap:6px;display:flex}.amount-custom{align-items:center;gap:8px;max-width:100%;display:flex}.amount-custom input{border:1.5px solid var(--border);border-radius:var(--radius-sm);flex:1;min-width:0;padding:12px 14px}.amount-custom input:focus{border-color:var(--primary)}.amount-custom .btn-primary{white-space:nowrap;flex-shrink:0}.center-alert__backdrop{z-index:60;background:#10182866;justify-content:center;align-items:center;padding:24px;animation:.15s center-alert-backdrop-in;display:flex;position:fixed;inset:0}.center-alert{background:var(--surface);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;padding:24px 22px;animation:.25s cubic-bezier(.16,1,.3,1) center-alert-in;display:flex;box-shadow:0 20px 50px #10182840}.center-alert__icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.center-alert p{color:var(--ink);font-size:14px;line-height:1.55}.center-alert__dismiss{background:var(--surface-sunk);color:var(--ink);border-radius:999px;margin-top:4px;padding:8px 20px;font-size:13px;font-weight:600}.center-alert--success .center-alert__icon{background:var(--success-tint);color:var(--success)}.center-alert--info .center-alert__icon{background:var(--surface-sunk);color:var(--primary-deep)}.center-alert--warning .center-alert__icon{background:var(--warning-tint);color:var(--warning-tint-ink)}.center-alert--danger .center-alert__icon{background:var(--danger-tint);color:var(--danger)}.center-alert--danger .center-alert__dismiss{background:var(--danger);color:#fff}.center-alert--warning .center-alert__dismiss{background:var(--warning);color:#4a3600}@keyframes center-alert-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes center-alert-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.center-alert,.center-alert__backdrop{animation:none}}.confetti{pointer-events:none;z-index:80;position:fixed;inset:0;overflow:hidden}.confetti__piece{opacity:0;border-radius:2px;width:8px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--confetti-drift), 100vh) rotate(var(--confetti-rotate))}}.history-cal{flex-direction:column;gap:14px;padding:18px;display:flex}.history-cal__header{justify-content:space-between;align-items:center;display:flex}.history-cal__month{text-transform:capitalize;font-weight:700;font-size:var(--text-body,15px)}.history-cal__nav{background:var(--surface-sunk);width:32px;height:32px;color:var(--ink);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex}.history-cal__nav:disabled{opacity:.35;cursor:default}.history-cal__weekdays{text-align:center;color:var(--ink-soft);grid-template-columns:repeat(7,1fr);font-size:11px;font-weight:700;display:grid}.history-cal__grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.history-cal__cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--ink);background:var(--surface-sunk);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:600;display:flex}.history-cal__cell--blank{cursor:default;background:0 0}.history-cal__cell--none{background:var(--surface-sunk);color:var(--ink-soft)}.history-cal__cell--success{background:var(--success-tint);color:var(--success-tint-ink)}.history-cal__cell--warning{background:var(--warning-tint);color:var(--warning-tint-ink)}.history-cal__cell--danger{background:var(--danger-tint);color:var(--danger-tint-ink)}.history-cal__cell--future{color:var(--border);cursor:default;background:0 0}.history-cal__cell--today{box-shadow:inset 0 0 0 2px var(--primary)}.history-cal__legend{color:var(--ink-soft);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.history-cal__legend span{align-items:center;gap:5px;display:inline-flex}.history-cal__dot{border-radius:50%;width:8px;height:8px;display:inline-block}.history-cal__dot--success{background:var(--success)}.history-cal__dot--warning{background:var(--warning)}.history-cal__dot--danger{background:var(--danger)}.history-cal__dot--none{background:var(--border)}.history-cal__detail{flex-direction:column;gap:10px;padding-bottom:8px;display:flex}.history-cal__detail-row{color:var(--primary-deep);align-items:center;gap:8px;display:flex}.history-cal__bar-track{background:var(--surface-sunk);border-radius:999px;height:10px;overflow:hidden}.history-cal__bar{background:linear-gradient(90deg, var(--secondary), var(--primary));border-radius:999px;height:100%}.history-cal__detail-sub{color:var(--ink-soft);font-size:12px}.history-chart{flex-direction:column;gap:6px;padding:18px;display:flex}.history-chart__title{color:var(--ink-soft);font-size:13px;font-weight:700}.history-chart__svg{touch-action:none;width:100%;height:140px;overflow:visible}.history-chart__guide{stroke:var(--ink-soft);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.history-chart__goal-line{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 4}.history-chart__line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.history-chart__dot{fill:var(--primary);cursor:pointer;transition:r .15s}.history-chart__dot--good{fill:var(--success)}.history-chart__dot--empty{fill:var(--border)}.history-chart__tooltip{color:var(--ink);min-height:16px;font-size:12px}.history-chart__tooltip--hint{color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.history-chart__dot{transition:none}}.weekday-pattern-chart{flex-direction:column;gap:4px;padding:18px;display:flex}.weekday-pattern-chart__title{color:var(--ink);font-size:13px;font-weight:700}.weekday-pattern-chart__sub{color:var(--ink-soft);margin-bottom:6px;font-size:11px}.weekday-pattern-chart__svg{width:100%;height:150px;overflow:visible}.weekday-pattern-chart__goal-line{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 4}.weekday-pattern-chart__bar{transition:height .5s cubic-bezier(.4,0,.2,1),y .5s cubic-bezier(.4,0,.2,1)}.weekday-pattern-chart__bar--success{fill:var(--success)}.weekday-pattern-chart__bar--warning{fill:var(--warning)}.weekday-pattern-chart__bar--danger{fill:var(--danger)}.weekday-pattern-chart__empty-dot{fill:var(--border)}.weekday-pattern-chart__day-label{fill:var(--ink-soft);text-anchor:middle;text-transform:capitalize;font-size:10px;font-weight:600}.weekday-pattern-chart__legend{flex-wrap:wrap;gap:14px;margin-top:4px;display:flex}.weekday-pattern-chart__legend-item{color:var(--ink-soft);align-items:center;gap:5px;font-size:11px;display:flex}.weekday-pattern-chart__legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.weekday-pattern-chart__legend-dot--success{background:var(--success)}.weekday-pattern-chart__legend-dot--warning{background:var(--warning)}.weekday-pattern-chart__legend-dot--danger{background:var(--danger)}@media (prefers-reduced-motion:reduce){.weekday-pattern-chart__bar{transition:none}}.drink-breakdown{flex-direction:column;gap:4px;padding:18px;display:flex}.drink-breakdown__title{color:var(--ink);font-size:13px;font-weight:700}.drink-breakdown__sub{color:var(--ink-soft);margin-bottom:10px;font-size:11px}.drink-breakdown__list{flex-direction:column;gap:12px;display:flex}.drink-breakdown__row-header{justify-content:space-between;margin-bottom:5px;display:flex}.drink-breakdown__label{color:var(--ink);font-size:13px;font-weight:500}.drink-breakdown__pct{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.drink-breakdown__track{background:var(--surface-sunk);border-radius:4px;height:8px;overflow:hidden}.drink-breakdown__fill{background:var(--primary);border-radius:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.drink-breakdown__fill{transition:none}}
