:root{--db-paper:#08090A;--db-paper-sunk:#101113;--db-instrument:#0E0F11;--db-raised:#141517;--db-ink:#EDEDED;--db-ink-soft:#C4C4C6;--db-ink-muted:#9B9BA0;--db-ink-faint:#7F7F87;--db-rule:rgba(255,255,255,0.09);--db-rule-strong:rgba(255,255,255,0.16);--db-trace:#5B9BFF;--db-trace-wash:rgba(91,155,255,0.1);--db-glow:rgba(91,155,255,0.16);--db-safe:#3ECF8E;--db-caution:#F5B449;--db-danger:#FF6166;--db-inverse-bg:#F4F4F5;--db-inverse-ink:#08090A;--db-inverse-muted:#52525B;--db-inverse-rule:rgba(8,9,10,0.12);--blue-900:#061E4E;--blue-800:#082C6B;--blue-700:#0B3B8C;--blue-600:#1450B0;--blue-500:#1E63D4;--blue-400:#4A87E6;--blue-300:#7FB2FF;--blue-200:#B8D3FF;--blue-100:#EAF1FF;--blue-50:#F5F8FF;--ink-900:#0A0F1C;--ink-800:#131A2C;--ink-700:#1E2638;--ink-500:#4A5567;--ink-400:#6B7A95;--ink-300:#9BA7BE;--ink-200:#D8DFEC;--ink-100:#EEF2F9;--ink-50:#F7F9FD;--white:#FFFFFF;--amber:#B78100;--amber-bg:#FFF4D6;--green:#0E7A3E;--green-bg:#DDF3E4;--red:#B42318;--red-bg:#FEE4E2;--radius-s:8px;--radius-m:14px;--radius-l:22px;--radius-xl:28px;--radius-full:999px;--shadow-xs:0 1px 1px rgba(10,15,28,.04);--shadow-sm:0 1px 2px rgba(10,15,28,.05),0 1px 1px rgba(10,15,28,.03);--shadow-md:0 14px 32px -16px rgba(10,15,28,.16),0 2px 6px rgba(10,15,28,.05);--shadow-lg:0 36px 70px -28px rgba(10,15,28,.28),0 12px 24px -12px rgba(10,15,28,.10);--shadow-xl:0 50px 100px -40px rgba(10,15,28,.34),0 20px 40px -20px rgba(10,15,28,.14);--shadow-ring:0 0 0 1px rgba(10,15,28,.06);--grad-brand:linear-gradient(135deg,var(--blue-700) 0%,var(--blue-500) 100%);--grad-ink:linear-gradient(135deg,#0A0F1C,#1E2638);--ease-out:cubic-bezier(.2,.7,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-fast:120ms;--dur:200ms;--dur-slow:320ms;--focus-ring:0 0 0 3px rgba(30,99,212,.32)}::selection{background:rgba(30,99,212,.22);color:var(--ink-900)}[data-theme=dark] ::selection{background:rgba(127,178,255,.28);color:#F2F5FB}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--ink-200);border:3px solid var(--white);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}::-webkit-scrollbar-track{background:var(--white)}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:72px}html[data-theme=dark]{background:#0B1020;color-scheme:dark}html[data-theme=dark] body{background:#0B1020!important;color:#F2F5FB!important}html[data-theme=dark] .app-shell{background:radial-gradient(80% 40% at 0 0,rgba(30,99,212,.08),transparent 60%),#0B1020!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink-900);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5;font-size:16px;font-feature-settings:"ss01","cv11","kern"}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}img,svg{display:block}a{color:inherit;text-decoration:none}h3,h4{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;letter-spacing:-.02em}h3{font-size:20px;margin:0 0 8px}h3,h4{font-weight:600}h4{font-size:17px;margin:0 0 6px}h5{font-family:var(--font-inter),"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}h5,p{color:var(--ink-500)}p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 16px;font:500 14px/1 var(--font-inter),Inter,sans-serif;cursor:pointer;border:1px solid transparent;transition:transform var(--dur) var(--ease-out),background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.btn:active{transform:translateY(0) scale(.98)}.btn-lg{padding:14px 22px;font-size:15px;border-radius:12px}.btn-block{width:100%}.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px -10px rgba(11,59,140,.55),0 1px 2px rgba(10,15,28,.1)}.btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px -10px rgba(11,59,140,.55),0 2px 4px rgba(10,15,28,.12)}.btn-dark{background:var(--grad-ink);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px -10px rgba(0,0,0,.5)}.btn-dark:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 26px -10px rgba(0,0,0,.55)}.btn-ghost{background:var(--white);color:var(--ink-900);border-color:var(--ink-200);box-shadow:var(--shadow-xs)}.btn-ghost:hover{background:var(--ink-50);border-color:var(--ink-300);transform:translateY(-1px)}.btn-white{background:#fff;color:var(--ink-900);box-shadow:0 8px 24px -12px rgba(0,0,0,.35)}.btn-white:hover{background:var(--blue-50);transform:translateY(-1px)}.btn-link{color:var(--blue-700);font-size:14px;font-weight:500;padding:10px 2px;position:relative}.btn-link:after{content:"";position:absolute;left:2px;right:2px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform var(--dur) var(--ease-out)}.btn-link:hover{color:var(--blue-900)}.btn-link:hover:after{transform:scaleX(1)}.btn-soon-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:5px}.btn-soon-wrap .btn{pointer-events:none;opacity:.6;cursor:default}.soon-badge{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue-700);background:var(--blue-100);border:1px solid rgba(11,59,140,.14);border-radius:100px;padding:2px 9px;pointer-events:none;white-space:nowrap}.soon-badge--light{color:rgba(255,255,255,.9);background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}:root[data-theme=dark]{--blue-900:#B8D3FF;--blue-700:#7FB2FF;--blue-500:#4B8FE8;--blue-300:#2E5FA8;--blue-100:#182749;--blue-50:#0F1A33;--ink-900:#F2F5FB;--ink-700:#D8DFEC;--ink-500:#A3AEC5;--ink-400:#7A869E;--ink-300:#5A6680;--ink-200:#2D3650;--ink-100:#1A2138;--ink-50:#131A2C;--white:#0B1020;--amber:#FFC866;--amber-bg:#3A2B08;--green:#6FDDA0;--green-bg:#0E2D1C;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 10px 30px -12px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3);--shadow-lg:0 30px 60px -24px rgba(0,0,0,.6),0 10px 20px -10px rgba(0,0,0,.4)}[data-theme=dark] body{background:#0B1020;color:#F2F5FB}[data-theme=dark] .btn-dark{background:#F2F5FB;color:#0B1020}[data-theme=dark] .btn-ghost{border-color:rgba(255,255,255,.15);color:#F2F5FB}[data-theme=dark] .btn-ghost:hover{background:rgba(255,255,255,.08)}[data-theme=dark] .btn-white{background:#F2F5FB;color:#0B1020}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:640px){.danger-input,.field input,.field select,.field textarea,.glucose-context-select,.glucose-input,.profile-form input,.profile-form select,.profile-form textarea{font-size:16px}}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:radial-gradient(80% 40% at 0 0,rgba(30,99,212,.04),transparent 60%),var(--ink-50)}.app-main{width:100%;max-width:720px;margin:0 auto;padding:24px 20px calc(88px + env(safe-area-inset-bottom))}@media (min-width:900px){.app-main{max-width:calc(720px + 72px);padding-left:calc(72px + 36px);padding-right:36px;padding-bottom:40px}}@media (min-width:1280px){.app-main{max-width:calc(960px + 72px)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--ink-100);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:50}.bottom-nav ul{display:flex;justify-content:space-around;align-items:center;list-style:none;margin:0;padding:0}.bottom-nav li{flex:1 1;display:flex;justify-content:center}.nav-tab{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;color:var(--ink-400);text-decoration:none;font-size:11px;line-height:1.2;transition:color var(--dur-fast) var(--ease-out)}.nav-tab svg{width:24px;height:24px;stroke:currentColor;fill:none}.nav-tab:hover{color:var(--ink-700)}.nav-tab.active{color:var(--blue-600)}@media (min-width:900px){.bottom-nav{top:0;right:auto;bottom:0;width:72px;border-top:0;border-right:1px solid var(--ink-100);padding:20px 0}.bottom-nav ul{flex-direction:column;gap:4px;padding-top:0}.bottom-nav li{flex:0 0 auto;width:100%}.nav-tab{padding:10px 8px}}.dashboard{display:grid;gap:16px}.hero-ration{padding:24px 20px 28px;border-radius:var(--radius-xl);background:radial-gradient(120% 90% at 0 0,rgba(30,99,212,.08),transparent 60%),linear-gradient(180deg,#F4F8FF 0,var(--white) 75%);border:1px solid rgba(30,99,212,.08);box-shadow:var(--shadow-md)}.hero-ration-header{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.hero-ration-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-ration-header h2{font-family:var(--font-inter-tight),sans-serif;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--ink-900)}.hero-ration-header p{font-size:13px;color:var(--ink-400);margin:0}.today-pill{display:inline-block;padding:6px 14px;border-radius:var(--radius-full);background:var(--blue-600);color:var(--white);font-size:13px;font-weight:600;letter-spacing:-.01em;border:0;box-shadow:0 4px 10px -4px rgba(20,80,176,.45)}[data-theme=dark] .today-pill{background:rgba(127,178,255,.15);color:var(--blue-300)}.hero-ration-rings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;padding:4px 0 0}.ring{display:flex;flex-direction:column;align-items:center;gap:10px}.ring svg{display:block}.ring-label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-700);text-align:center}@media (max-width:540px){.hero-ration-rings{gap:4px}.hero-ration-rings .ring svg{width:96px!important;height:96px!important}}@media (max-width:480px){.ring-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px 8px!important}.ring-grid .ring svg{width:84px;height:84px}.ring-grid .ring span{top:32px;font-size:15px}}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.risk-ok{color:var(--green);font-weight:500}[data-theme=dark] .risk-ok{color:#4FCB85}.bento-card{padding:16px 18px;border-radius:var(--radius-l);background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--ink-100);display:flex;flex-direction:column;gap:6px;min-height:96px}.bento-card .label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-700)}.bento-card .value{font-family:var(--font-inter-tight),sans-serif;font-size:28px;font-weight:600;line-height:1.1;color:var(--ink-900);display:inline-flex;align-items:baseline;gap:6px;letter-spacing:-.01em;min-height:32px}.bento-card .value-empty{font-size:22px;font-weight:400;color:var(--ink-300);letter-spacing:.4em;display:inline-block;transform:translateY(-3px)}.bento-card--empty .value{opacity:.95}[data-theme=dark] .bento-card .value-empty{color:#A3AEC5}.bento-card .value--sm{font-size:18px;font-weight:600;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bento-card .value-unit{font-size:13px;color:var(--ink-400);font-weight:500;font-family:var(--font-inter),sans-serif;letter-spacing:0}.bento-card .hint{font-size:12px;color:var(--ink-400)}.streak-flame{font-size:22px;line-height:1}.bento-link{color:var(--blue-600);text-decoration:none;font-weight:500}.bento-link:hover{text-decoration:underline}.risk-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:500}.risk-badge.risk-safe{background:var(--green-bg);color:var(--green)}.risk-badge.risk-caution{background:var(--amber-bg);color:var(--amber)}.risk-badge.risk-dangerous{background:var(--red-bg);color:var(--red)}.risk-badge .dot{width:6px;height:6px;background:currentColor}.dot,.risk-badge .dot{border-radius:999px;display:inline-block}.dot{width:8px;height:8px}.dot.risk-safe{background:var(--green)}.dot.risk-caution{background:var(--amber)}.dot.risk-dangerous{background:var(--red)}.stats-bar{display:flex;background:var(--white);border-radius:var(--radius-l);padding:14px 4px;box-shadow:var(--shadow-sm);border:1px solid var(--ink-100)}.stat-item{flex:1 1;text-align:center;border-left:1px solid var(--ink-100);padding:0 8px}.stat-item:first-child{border-left:0}.stat-value{font-family:var(--font-jetbrains),monospace;font-size:24px;font-weight:600;color:var(--ink-900);line-height:1.1}.stat-label{font-size:12px;font-weight:600;color:var(--ink-700);margin-top:4px;letter-spacing:.04em}.meal-card{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-m);background:var(--ink-100);display:block;text-decoration:none;color:inherit}.meal-card img{object-fit:cover;width:100%;height:100%}.meal-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--ink-100),var(--ink-200))}.meal-overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);color:white}.meal-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-meta{gap:6px;font-size:12px;margin-top:2px;opacity:.9}.cta-primary,.meal-meta{display:inline-flex;align-items:center}.cta-primary{justify-content:center;padding:13px 28px;background:linear-gradient(180deg,#3B82F6 0,var(--blue-600) 100%);color:var(--white);border-radius:var(--radius-full);text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.01em;min-height:48px;box-shadow:0 8px 20px -8px rgba(30,99,212,.45),inset 0 1px 0 rgba(255,255,255,.18);transition:filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.cta-primary:hover{filter:brightness(1.04);box-shadow:0 10px 24px -8px rgba(30,99,212,.55),inset 0 1px 0 rgba(255,255,255,.18)}.cta-primary:active{transform:translateY(1px)}[data-theme=dark] .app-shell{background:radial-gradient(80% 40% at 0 0,rgba(30,99,212,.08),transparent 60%),#0B1020}[data-theme=dark] .bottom-nav{background:rgba(19,26,44,.78);border-top-color:rgba(255,255,255,.06)}@media (min-width:900px){[data-theme=dark] .bottom-nav{border-right-color:rgba(255,255,255,.06)}}[data-theme=dark] .nav-tab{color:var(--ink-300)}[data-theme=dark] .nav-tab:hover{color:#D8DFEC}[data-theme=dark] .hero-ration{background:linear-gradient(180deg,rgba(30,99,212,.12),rgba(30,99,212,.04)),#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .hero-ration-header h2{color:#F2F5FB}[data-theme=dark] .hero-ration-header p{color:var(--ink-300)}[data-theme=dark] .ring-number{fill:#F2F5FB}[data-theme=dark] .ring-label{color:var(--ink-400)}[data-theme=dark] .bento-card,[data-theme=dark] .stats-bar{background:#131A2C;border-color:rgba(255,255,255,.08);color:#A3AEC5}[data-theme=dark] .bento-card .value,[data-theme=dark] .stat-value{color:#F2F5FB}[data-theme=dark] .bento-card .hint,[data-theme=dark] .bento-card .value-unit{color:var(--ink-300)}[data-theme=dark] .bento-card .label,[data-theme=dark] .stat-label{color:var(--ink-200)}[data-theme=dark] .stat-item{border-left-color:rgba(255,255,255,.06)}[data-theme=dark] .stat-item:first-child{border-left:0}[data-theme=dark] .meal-card{background:#131A2C}.history-header{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.history-header h1{font-family:var(--font-inter-tight),sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--ink-900);margin:0}.history-page{display:grid;gap:16px}.history-filter{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-full);font-size:13px;color:var(--ink-700);align-self:flex-start;width:fit-content}.history-filter strong{color:var(--ink-900);font-weight:600}.history-filter-clear{color:var(--blue-700);font-weight:600;text-decoration:none}.history-filter-clear:hover{text-decoration:underline}[data-theme=dark] .history-filter{background:rgba(127,178,255,.1);border-color:rgba(127,178,255,.18);color:var(--ink-200)}[data-theme=dark] .history-filter strong{color:#F2F5FB}[data-theme=dark] .history-filter-clear{color:var(--blue-300)}.history-list{display:grid;gap:20px}.history-group{display:grid;gap:10px}.history-date{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400);font-weight:500;margin:4px 0 0}.history-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}.history-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius-m);background:var(--white);border:1px solid var(--ink-100);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.history-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.history-thumb{width:56px;height:56px;flex:0 0 56px;aspect-ratio:1;border-radius:var(--radius-s);overflow:hidden;background:var(--ink-100)}.history-thumb img{width:100%;height:100%;object-fit:cover}.history-thumb-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--ink-100),var(--ink-200))}.history-info{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.history-name{font-size:15px;font-weight:500;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-400)}.history-cta{font-family:var(--font-jetbrains),monospace;font-size:14px;font-weight:600;color:var(--ink-900);white-space:nowrap}.history-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center;color:var(--ink-400)}.pagination{display:flex;justify-content:center;padding:20px 0}.stats-page{display:grid;gap:20px}.stats-subtitle{font-size:14px;color:var(--ink-400);margin:0}.stats-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-kpi{padding:18px 16px;background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;min-height:96px}.stat-kpi-value{font-family:var(--font-jetbrains),monospace;font-size:32px;font-weight:700;color:var(--ink-900);line-height:1.1;letter-spacing:-.01em}.stat-kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:500}.chart-card{padding:20px;background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm)}.chart-title{font-family:var(--font-inter-tight),sans-serif;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900);margin:0 0 16px}.chart-hint{font-size:12px;color:var(--ink-400);margin:14px 0 0;display:inline-flex;align-items:center;gap:6px}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 20px}.chart-card-head .chart-title{margin:0}.chart-card-sub{margin:4px 0 0;font-size:13px;color:var(--ink-500);font-feature-settings:"tnum"}.chart-legend{display:inline-flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400)}.chart-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-500);box-shadow:0 0 0 3px rgba(46,105,255,.18)}.bar-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;min-height:200px;padding-top:18px;position:relative}.bar-chart:after{content:"";position:absolute;left:4px;right:4px;bottom:28px;height:1px;background:var(--ink-100)}.bar-col{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;border-radius:var(--radius-m);padding:6px 2px;transition:background-color .15s var(--ease-out),transform .15s var(--ease-out);cursor:pointer}.bar-col:hover{background:rgba(46,105,255,.06)}.bar-col:hover .bar-fill{filter:brightness(1.05)}.bar-col:active{transform:translateY(1px)}.bar-track{width:60%;max-width:36px;height:140px;display:flex;flex-direction:column-reverse}.bar-fill{width:100%;background:linear-gradient(to top,var(--blue-500),var(--blue-400,#5b8dff));border-radius:8px 8px 4px 4px;min-height:0;box-shadow:0 2px 6px rgba(46,105,255,.18);transition:height var(--dur-fast) var(--ease-out),box-shadow .2s var(--ease-out)}.bar-col--empty .bar-track{position:relative}.bar-col--empty .bar-track:before{content:"";position:absolute;left:50%;bottom:0;width:16px;height:3px;border-radius:2px;background:var(--ink-200);transform:translateX(-50%)}.bar-col--today .bar-fill{background:linear-gradient(to top,var(--blue-600),var(--blue-500));box-shadow:0 4px 14px rgba(46,105,255,.32)}.bar-col--today .bar-label{color:var(--blue-600);font-weight:700}.bar-col--high .bar-fill{background:linear-gradient(to top,var(--red),#ff7a85);box-shadow:0 2px 6px rgba(244,63,94,.22)}.bar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400)}.bar-label,.bar-value{font-size:11px;font-weight:600}.bar-value{font-family:var(--font-jetbrains),monospace;color:var(--ink-700);background:var(--ink-50);padding:2px 6px;border-radius:var(--radius-full);font-feature-settings:"tnum";line-height:1.2}.bar-value--zero{background:transparent;color:var(--ink-300);font-weight:500}.bar-col--today .bar-value{background:var(--blue-500);color:#fff;box-shadow:0 2px 6px rgba(46,105,255,.32)}[data-theme=dark] .bar-col:hover{background:rgba(127,178,255,.06)}[data-theme=dark] .bar-col--empty .bar-track:before{background:rgba(255,255,255,.12)}[data-theme=dark] .bar-value{background:rgba(255,255,255,.06);color:var(--ink-200)}[data-theme=dark] .bar-value--zero{background:transparent;color:var(--ink-500)}[data-theme=dark] .bar-chart:after{background:rgba(255,255,255,.06)}[data-theme=dark] .chart-legend-dot{box-shadow:0 0 0 3px rgba(127,178,255,.16)}.profile-form{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:24px;display:grid;gap:16px}.profile-form label{display:grid;gap:6px;font-size:14px;color:var(--ink-700)}.profile-form label>span{font-weight:500}.profile-form input,.profile-form select{width:100%;padding:10px 12px;border:1px solid var(--ink-200);border-radius:var(--radius-s);font:inherit;background:var(--white);color:var(--ink-900)}.profile-form input:focus,.profile-form select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(30,99,212,.15)}.profile-form input:disabled,.profile-form input[readonly]{background:var(--ink-50);color:var(--ink-500);cursor:not-allowed}.profile-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:10px;cursor:pointer}.profile-check input[type=checkbox]{width:auto;margin:0;accent-color:var(--blue-600)}.profile-toast{font-size:14px;padding:10px 14px;border-radius:var(--radius-s)}.profile-toast--ok{background:var(--green-bg);color:var(--green)}.profile-toast--err{background:var(--red-bg);color:var(--red)}.danger-zone{margin-top:8px;padding:20px 24px;background:var(--white);border:1px solid var(--ink-100);border-top:2px solid var(--red);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);display:grid;gap:12px}.danger-zone h3{font-family:var(--font-inter-tight),sans-serif;font-size:16px;font-weight:600;color:var(--red);margin:0}.danger-zone p{font-size:14px;color:var(--ink-500);margin:0}.btn-danger{display:inline-block;padding:10px 18px;background:var(--red);color:var(--white);border:0;border-radius:var(--radius-s);font-weight:600;font-size:14px;transition:filter var(--dur-fast) var(--ease-out);justify-self:start}.btn-danger:hover{filter:brightness(.95)}.btn-danger:active{transform:translateY(1px)}.btn-danger:disabled{opacity:.6}.danger-confirm{display:grid;gap:10px}.danger-confirm-text{font-size:14px;color:var(--ink-700);margin:0}.danger-input{padding:10px 12px;border:1px solid var(--ink-200);border-radius:var(--radius-s);background:var(--white);color:var(--ink-900);font:inherit}.danger-input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(180,35,24,.18)}.danger-actions{display:flex;gap:10px;flex-wrap:wrap}[data-theme=dark] .history-header h1{color:#F2F5FB}[data-theme=dark] .history-date{color:var(--ink-300)}[data-theme=dark] .history-item{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .history-cta,[data-theme=dark] .history-name{color:#F2F5FB}[data-theme=dark] .history-meta{color:var(--ink-300)}[data-theme=dark] .history-thumb{background:rgba(255,255,255,.06)}[data-theme=dark] .chart-card,[data-theme=dark] .danger-zone,[data-theme=dark] .profile-form,[data-theme=dark] .stat-kpi{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .chart-title,[data-theme=dark] .stat-kpi-value{color:#F2F5FB}[data-theme=dark] .bar-label,[data-theme=dark] .chart-hint,[data-theme=dark] .stat-kpi-label,[data-theme=dark] .stats-subtitle{color:var(--ink-300)}[data-theme=dark] .profile-form label{color:var(--ink-400)}[data-theme=dark] .danger-input,[data-theme=dark] .profile-form input,[data-theme=dark] .profile-form select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:var(--white)}[data-theme=dark] .profile-form input:disabled,[data-theme=dark] .profile-form input[readonly]{background:rgba(255,255,255,.03);color:var(--ink-300)}[data-theme=dark] .danger-zone p{color:var(--ink-300)}[data-theme=dark] .danger-confirm-text{color:var(--ink-400)}.scan-page{display:flex;flex-direction:column;gap:18px;max-width:560px;margin:0 auto;width:100%}.scan-header h1{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink-900);margin:0 0 6px}.scan-sub{font-size:14px;color:var(--ink-400);margin:0;max-width:40ch}.scan-drop{width:100%;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border:2px dashed var(--ink-200);border-radius:var(--radius-l);background:var(--white);color:var(--blue-600);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);font:inherit}.scan-drop:hover{background:var(--blue-50);border-color:var(--blue-300)}.scan-drop:active{transform:scale(.995)}.scan-drop svg{color:var(--blue-600);opacity:.9}.scan-drop-title{font-size:16px;font-weight:500;color:var(--ink-900);margin-top:4px}.scan-drop-hint{font-size:13px;color:var(--ink-400)}.scan-preview-wrap{display:flex;flex-direction:column;gap:16px}.scan-preview{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-l);background:var(--ink-100);box-shadow:var(--shadow-sm)}.scan-preview img{width:100%;height:100%;object-fit:cover;display:block}.scan-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);border-radius:var(--radius-m);font-size:14px;font-weight:500}.scan-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--blue-200);border-top-color:var(--blue-600);animation:scan-spin .9s linear infinite;display:inline-block}@keyframes scan-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scan-alert{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--red-bg);border:1px solid rgba(180,35,24,.18);color:var(--red);border-radius:var(--radius-m);font-size:14px}.scan-alert strong{font-weight:600}.scan-alert span{font-size:13px;color:rgba(180,35,24,.85)}.scan-actions{display:flex;gap:10px;flex-wrap:wrap}.scan-actions .btn-danger,.scan-actions .btn-primary,.scan-actions .btn-secondary{flex:1 1 auto}.btn-primary:not(.btn){display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;background:linear-gradient(180deg,#3B82F6 0,var(--blue-600) 100%);color:var(--white);border:0;border-radius:var(--radius-full);font:700 15px/1 var(--font-inter),Inter,sans-serif;letter-spacing:.01em;cursor:pointer;text-decoration:none;min-height:50px;box-shadow:0 8px 20px -8px rgba(30,99,212,.45),inset 0 1px 0 rgba(255,255,255,.18);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.btn-primary:not(.btn):hover:not(:disabled){filter:brightness(1.04);box-shadow:0 10px 24px -8px rgba(30,99,212,.55),inset 0 1px 0 rgba(255,255,255,.18)}.btn-primary:not(.btn):active:not(:disabled){transform:translateY(1px)}.btn-primary:not(.btn):disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;background:var(--white);color:var(--ink-900);border:1px solid var(--ink-200);border-radius:var(--radius-full);font:600 15px/1 var(--font-inter),Inter,sans-serif;cursor:pointer;min-height:50px;box-shadow:0 1px 2px rgba(10,15,28,.04);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn-secondary:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300);box-shadow:0 4px 12px -4px rgba(10,15,28,.1)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:transparent;color:var(--red);border:1px solid rgba(180,35,24,.35);border-radius:var(--radius-full);font:500 14px/1 var(--font-inter),Inter,sans-serif;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn-danger:hover:not(:disabled){background:var(--red-bg);border-color:var(--red)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.food-result{display:flex;flex-direction:column;gap:0;overflow:hidden;background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-md)}.food-result-image{width:100%;aspect-ratio:4/3;background:var(--ink-100);overflow:hidden}.food-result-image img{width:100%;height:100%;object-fit:cover;display:block}.food-result-body{padding:20px;display:flex;flex-direction:column;gap:16px}.food-result-title{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900);margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width:560px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}.metric-cell{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--ink-50);border:1px solid var(--ink-100);border-radius:var(--radius-m)}.metric-label{font-size:11px;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em}.metric-label,.metric-value{font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.metric-value{font-size:22px;font-weight:700;color:var(--ink-900);line-height:1.1;letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:3px}.metric-value em{font-style:normal;font-size:12px;color:var(--ink-400);font-weight:500}.food-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--ink-50);border:1px solid var(--ink-100);border-radius:var(--radius-m);flex-wrap:wrap}.gi-line{display:flex;flex-direction:column;gap:2px}.gi-label{font-size:11px;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em}.gi-label,.gi-value{font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.gi-value{font-size:20px;font-weight:700;color:var(--ink-900)}.meal-detail{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto;width:100%}.meal-detail-top{display:flex}.meal-back{display:inline-flex;align-items:center;gap:6px;padding:8px 12px 8px 8px;border-radius:var(--radius-full);text-decoration:none;color:var(--ink-500);font-size:14px;font-weight:500;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.meal-back:hover{background:var(--ink-100);color:var(--ink-900)}.meal-detail-image{width:100%;aspect-ratio:4/3;border-radius:var(--radius-l);overflow:hidden;background:var(--ink-100);box-shadow:var(--shadow-sm)}.meal-detail-image img{width:100%;height:100%;object-fit:cover;display:block}.meal-detail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ink-100),var(--ink-200));color:var(--ink-400)}.meal-detail-header h1{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--ink-900);margin:0 0 4px;overflow-wrap:anywhere}.meal-notes p{overflow-wrap:anywhere}.meal-detail-date{margin:0;font-size:13px;color:var(--ink-400);font-family:var(--font-jetbrains),"JetBrains Mono",monospace;letter-spacing:.02em}.meal-notes{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-m);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.meal-notes h3{margin:0;font-family:var(--font-inter),"Inter",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500)}.meal-notes p{margin:0;font-size:14px;color:var(--ink-700);line-height:1.5}.meal-delete-wrap{display:flex;flex-direction:column;gap:10px;margin-top:4px}[data-theme=dark] .food-result-title,[data-theme=dark] .meal-detail-header h1,[data-theme=dark] .scan-header h1{color:#F2F5FB}[data-theme=dark] .meal-detail-date,[data-theme=dark] .scan-drop-hint,[data-theme=dark] .scan-sub{color:var(--ink-300)}[data-theme=dark] .scan-drop{background:#131A2C;border-color:rgba(255,255,255,.15);color:#7FB2FF}[data-theme=dark] .scan-drop:hover{background:rgba(30,99,212,.1);border-color:var(--blue-400)}[data-theme=dark] .scan-drop-title{color:#F2F5FB}[data-theme=dark] .meal-detail-image,[data-theme=dark] .scan-preview{background:rgba(255,255,255,.04)}.meal-edit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.meal-edit-form{margin-top:16px;padding:20px;background:var(--surface);border:1px solid var(--ink-200);border-radius:16px}.meal-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meal-edit-actions{display:flex;gap:10px;margin-top:4px}.meal-edit-actions .btn-ghost{flex:1 1}.meal-edit-actions .btn-primary{flex:2 1}[data-theme=dark] .meal-edit-form{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .scan-status{background:rgba(30,99,212,.12);border-color:rgba(127,178,255,.18);color:var(--blue-300)}[data-theme=dark] .scan-spinner{border-color:rgba(127,178,255,.25);border-top-color:var(--blue-300)}[data-theme=dark] .scan-alert{background:rgba(180,35,24,.14);border-color:rgba(254,228,226,.14);color:#FFB4AB}[data-theme=dark] .scan-alert span{color:rgba(255,180,171,.85)}[data-theme=dark] .btn-secondary{color:var(--ink-100);border-color:rgba(255,255,255,.14)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.24)}[data-theme=dark] .btn-danger{color:#FFB4AB;border-color:rgba(255,180,171,.32)}[data-theme=dark] .btn-danger:hover:not(:disabled){background:rgba(180,35,24,.18);border-color:#FFB4AB}[data-theme=dark] .food-result{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06)}[data-theme=dark] .food-result-row,[data-theme=dark] .metric-cell{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06)}[data-theme=dark] .gi-label,[data-theme=dark] .metric-label,[data-theme=dark] .metric-value em{color:var(--ink-300)}[data-theme=dark] .gi-value,[data-theme=dark] .metric-value{color:#F2F5FB}[data-theme=dark] .meal-back{color:var(--ink-300)}[data-theme=dark] .meal-back:hover{background:rgba(255,255,255,.06);color:var(--white)}[data-theme=dark] .meal-notes{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .meal-notes h3{color:var(--ink-300)}[data-theme=dark] .meal-notes p{color:var(--ink-400)}.app-header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(238,242,249,.6);z-index:30}.app-header-inner{justify-content:space-between;width:100%;max-width:720px;margin:0 auto;padding:calc(10px + env(safe-area-inset-top, 0px)) 20px 10px;min-height:56px}.app-header-inner,.header-left{display:flex;align-items:center;gap:12px}.header-left{flex:1 1;min-width:0}.header-left .greeting{text-align:left;flex:none;font-size:15px;line-height:1.3}.greeting strong{color:var(--ink-900);font-weight:600}[data-theme=dark] .greeting strong{color:#F2F5FB}.streak-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);background:var(--amber-bg);color:var(--amber);font-size:12px;font-weight:500;flex:none}[data-theme=dark] .streak-chip{background:rgba(183,129,0,.15);color:#FFCB67}@media (min-width:900px){.app-header-inner{max-width:calc(720px + 72px);padding-left:calc(72px + 36px);padding-right:36px}}@media (min-width:1280px){.app-header-inner{max-width:calc(960px + 72px)}}.avatar-initial{width:40px;height:40px;border-radius:var(--radius-full);background:var(--grad-brand);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;letter-spacing:-.01em;box-shadow:var(--shadow-sm);flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar-initial,.greeting{font-family:var(--font-inter-tight),"Inter Tight",sans-serif}.greeting{text-align:left;font-weight:400;font-size:15px;letter-spacing:-.005em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.greeting,.icon-btn{color:var(--ink-700)}.icon-btn{width:40px;height:40px;border-radius:var(--radius-full);background:transparent;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);flex-shrink:0}.icon-btn:hover{background:var(--ink-100)}.icon-btn:active{transform:scale(.96)}.icon-btn svg{width:24px;height:24px}.icon-btn{position:relative}.icon-btn[data-has-notification=true]:after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--blue-500);box-shadow:0 0 0 2px var(--white);pointer-events:none}[data-theme=dark] .icon-btn[data-has-notification=true]:after{box-shadow:0 0 0 2px rgba(19,26,44,.9)}.week-strip{display:flex;flex-direction:column;gap:14px;padding:18px 16px 14px;background:linear-gradient(180deg,rgba(244,248,255,.6) 0,var(--white) 70%),var(--white);border:1px solid rgba(30,99,212,.08);border-radius:var(--radius-l);box-shadow:0 14px 32px -22px rgba(10,15,28,.18),0 2px 6px -2px rgba(10,15,28,.05)}.week-strip-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.week-strip-month{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:17px;font-weight:700;color:var(--ink-900);letter-spacing:-.02em}.week-strip-nav{display:inline-flex;gap:4px}.week-strip-nav-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--ink-50);color:var(--ink-500);cursor:pointer;border-radius:50%;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.week-strip-nav-btn:hover{background:var(--blue-100);color:var(--blue-700)}.week-strip-nav-btn:active{transform:scale(.92)}.week-strip-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}[data-theme=dark] .week-strip{background:linear-gradient(180deg,rgba(30,99,212,.05),transparent 70%),rgba(255,255,255,.04);border-color:rgba(255,255,255,.06)}[data-theme=dark] .week-strip-month{color:#F2F5FB}[data-theme=dark] .week-strip-nav-btn{background:rgba(255,255,255,.06);color:var(--ink-300)}[data-theme=dark] .week-strip-nav-btn:hover{background:rgba(127,178,255,.16);color:var(--blue-300)}.day-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:10px 0 8px;border-radius:14px;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ink-700);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.day-cell:hover{background:var(--ink-50)}.day-cell:active{transform:scale(.96)}.day-letter{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400)}.day-letter,.day-num{font-weight:600;line-height:1;position:relative;z-index:1}.day-num{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:16px;letter-spacing:-.02em;color:var(--ink-900);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.day-cell.today .day-num{background:linear-gradient(180deg,#3B82F6 0,var(--blue-600) 100%);color:var(--white);box-shadow:0 6px 16px -4px rgba(20,80,176,.45),inset 0 0 0 1px rgba(255,255,255,.18);transform:scale(1.02)}.day-cell:not(.today):hover .day-num{background:var(--ink-100)}.day-dot{width:4px;height:4px;border-radius:var(--radius-full);background:transparent;display:block;position:relative;z-index:1;margin-top:-2px}.day-dot.has-entry{background:var(--green)}.day-cell.today .day-dot.has-entry{background:var(--blue-600)}a.day-cell{text-decoration:none;color:inherit}.day-cell.is-future{opacity:.7}.day-cell.is-future:hover{opacity:1}.day-cell.is-future .day-num{color:var(--ink-400)}.day-cell.is-future:hover .day-num{color:var(--ink-900)}[data-theme=dark] .day-cell.is-future .day-num{color:#A3AEC5}[data-theme=dark] .day-cell.is-future:hover .day-num{color:#F2F5FB}.meal-sections{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:720px){.meal-sections{grid-template-columns:1fr 1fr;gap:16px}}.meal-section{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-height:116px;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.meal-section:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.meal-section-header{display:flex;align-items:center;gap:10px}.meal-section-header h3{flex:1 1;margin:0;font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:16px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em}.meal-emoji{font-size:22px;line-height:1;width:32px;height:32px;display:inline-flex;border-radius:10px;background:var(--blue-50)}.meal-emoji,.meal-plus-btn{align-items:center;justify-content:center}.meal-plus-btn{width:40px;height:40px;border-radius:50%;background:var(--blue-100);color:var(--blue-700);display:flex;text-decoration:none;transition:background .2s var(--ease-out),transform .2s var(--ease-out);flex-shrink:0;-webkit-tap-highlight-color:transparent}@media (max-width:640px){.meal-plus-btn{width:44px;height:44px}}.meal-plus-btn:hover{background:var(--blue-600);color:var(--white)}.meal-plus-btn:active{transform:scale(.92)}.meal-plus-btn svg{width:18px;height:18px}.meal-section-empty-row{color:var(--ink-400);font-size:13px;padding:4px 0 2px;font-style:italic}[data-theme=dark] .meal-emoji{background:rgba(127,178,255,.1)}[data-theme=dark] .meal-plus-btn:hover{background:var(--blue-500);color:#fff}.kpi-progress{width:100%;height:4px;background:var(--ink-100);overflow:hidden;margin-top:6px}.kpi-progress,.kpi-progress>div{border-radius:var(--radius-full)}.kpi-progress>div{height:100%;background:var(--grad-brand);transition:width .4s var(--ease-out)}.kpi-progress--low>div{background:var(--green)}.kpi-progress--medium>div{background:var(--amber)}.kpi-progress--high>div{background:var(--red)}[data-theme=dark] .kpi-progress{background:rgba(255,255,255,.08)}[data-theme=dark] .kpi-progress--low>div{background:#4FCB85}.week-bento{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:768px){.week-bento{grid-template-columns:1fr 1fr;gap:16px}}.week-bento>.week-strip{width:100%}.week-chart{display:block;padding:16px;background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),border-color .15s var(--ease-out)}.week-chart:hover{border-color:var(--blue-200);box-shadow:var(--shadow-md,0 4px 12px rgba(0,0,0,.06))}.week-chart:active{transform:scale(.995)}.week-chart-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.week-chart-head h3{font-size:14px;font-weight:600;color:var(--ink-700);margin:0}.week-chart-chevron{color:var(--ink-300);transition:color .15s var(--ease-out),transform .15s var(--ease-out)}.week-chart:hover .week-chart-chevron{color:var(--blue-500);transform:translateX(2px)}.week-chart-graph{display:flex;flex-direction:column;gap:6px}.week-chart-svg{width:100%;height:120px;display:block;overflow:visible}.week-chart-baseline{stroke:var(--ink-100);stroke-width:1;stroke-dasharray:3 4}.week-chart-line{stroke:var(--blue-500);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.week-chart-dot{fill:var(--white);stroke:var(--blue-500);stroke-width:2}.week-chart-dot.today{fill:var(--blue-600);stroke:var(--blue-600)}.week-chart-dot.empty{fill:var(--ink-100);stroke:var(--ink-200);stroke-width:1}.week-chart-days{display:grid;grid-template-columns:repeat(7,1fr);padding:0 calc(24 / 700 * 100%)}.week-chart-day{font-size:10px;color:var(--ink-400);text-transform:uppercase;text-align:center;letter-spacing:.03em}.week-chart-day.today{color:var(--blue-600);font-weight:600}.week-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100px;color:var(--ink-400);text-align:center;font-size:13px}.week-chart-empty p{margin:0}.week-chart-empty svg{width:56px;height:56px;opacity:.5}[data-theme=dark] .week-chart-empty{color:var(--ink-400)}[data-theme=dark] .week-chart{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .week-chart-head h3{color:var(--ink-400)}[data-theme=dark] .week-chart:hover{border-color:rgba(127,178,255,.3)}[data-theme=dark] .week-chart-chevron{color:var(--ink-500,#4b5563)}[data-theme=dark] .week-chart-baseline{stroke:rgba(255,255,255,.08)}[data-theme=dark] .week-chart-line{stroke:var(--blue-400)}[data-theme=dark] .week-chart-dot{fill:#131A2C;stroke:var(--blue-400)}[data-theme=dark] .week-chart-dot.today{fill:var(--blue-400);stroke:var(--blue-400)}[data-theme=dark] .week-chart-dot.empty{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.12)}.meal-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}.meal-strip::-webkit-scrollbar{display:none}.meal-strip>a{flex:0 0 auto;min-width:140px;width:140px;scroll-snap-align:start;aspect-ratio:4/3}.hero-ration--dim .ring--dim svg circle:first-of-type{opacity:.4}.hero-ration--dim .hero-ration-header h2{opacity:.85}.ring--dim{opacity:.6}.nav-tab{position:relative;border-radius:var(--radius-full);transition:color .25s var(--ease-out),background .25s var(--ease-out),transform .25s var(--ease-out)}.nav-tab svg{transition:transform .25s var(--ease-out),width .25s var(--ease-out),height .25s var(--ease-out)}.nav-tab.active{background:var(--blue-100);color:var(--blue-700);transform:scale(1.05)}.nav-tab.active svg{width:28px;height:28px}@media (min-width:900px){.nav-tab{width:100%;border-radius:var(--radius-l)}.nav-tab.active{background:var(--blue-100);color:var(--blue-700)}}[data-theme=dark] .app-header{background:rgba(19,26,44,.78);border-bottom-color:rgba(255,255,255,.06)}[data-theme=dark] .greeting,[data-theme=dark] .icon-btn{color:var(--ink-400)}[data-theme=dark] .icon-btn:hover{background:rgba(255,255,255,.06)}[data-theme=dark] .day-cell{color:var(--ink-400)}[data-theme=dark] .day-cell:hover{background:rgba(255,255,255,.04)}[data-theme=dark] .day-letter{color:var(--ink-400)}[data-theme=dark] .day-num{color:#F2F5FB}[data-theme=dark] .day-cell.today .day-num{background:var(--blue-500);color:#fff;box-shadow:0 4px 14px -4px rgba(127,178,255,.4)}[data-theme=dark] .day-cell:not(.today):hover .day-num{background:rgba(255,255,255,.08)}[data-theme=dark] .day-dot.has-entry{background:#4FCB85}[data-theme=dark] .day-cell.today .day-dot.has-entry{background:#F2F5FB}[data-theme=dark] .meal-section{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .meal-section-header h3{color:#F2F5FB}[data-theme=dark] .meal-plus-btn{background:rgba(127,178,255,.15);color:#7FB2FF}[data-theme=dark] .week-strip{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .nav-tab.active{background:rgba(127,178,255,.16);color:var(--blue-300)}.profile-page{display:grid;gap:16px;width:100%;max-width:720px;margin:0 auto;box-sizing:border-box}.profile-form-v2,.profile-section{display:grid;gap:14px}.profile-section{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:20px}.profile-section h3{font-family:var(--font-inter-tight),sans-serif;font-size:16px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin:0}.field{display:grid;gap:6px;font-size:14px;color:var(--ink-700)}.field>span{font-weight:500}.field input[type=date],.field input[type=email],.field input[type=number],.field input[type=text],.field select{width:100%;padding:10px 12px;border:1px solid var(--ink-200);border-radius:var(--radius-s);font:inherit;background:var(--white);color:var(--ink-900);box-sizing:border-box}.field input:focus,.field select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(30,99,212,.15)}.field input:disabled,.field input[readonly]{background:var(--ink-50);color:var(--ink-500);cursor:not-allowed}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-with-action{display:flex;gap:8px;align-items:stretch}.field-with-action input{flex:1 1;min-width:0}.profile-avatar-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.profile-avatar{position:relative;width:96px;height:96px;flex:0 0 96px;border-radius:50%;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--grad-brand);color:var(--white);font-family:var(--font-inter-tight),sans-serif;font-size:36px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-initial{display:inline-flex;align-items:center;justify-content:center}.profile-avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,15,28,.55);color:var(--white);font-size:12px;font-weight:500;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.profile-avatar:focus-visible .profile-avatar-overlay,.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-avatar:disabled{cursor:progress;opacity:.8}.profile-avatar-meta{flex:1 1;min-width:180px}.profile-avatar-meta p{margin:0;font-size:13px;color:var(--ink-500)}.profile-toggle{display:inline-flex;flex-direction:row;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ink-700);font-weight:500}.profile-toggle input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--blue-600)}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--ink-200);background:var(--white);color:var(--ink-700);font:inherit;font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}@media (max-width:640px){.chip{min-height:40px;padding:10px 16px}}.chip:hover{border-color:var(--blue-300);color:var(--blue-700)}.chip.active{background:var(--blue-600);color:var(--white);border-color:var(--blue-600)}.chip.active:hover{background:var(--blue-500);color:var(--white);border-color:var(--blue-500)}.chip:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);border-radius:var(--radius-s);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:nowrap}.btn-ghost:hover{background:var(--blue-100);border-color:var(--blue-300)}.btn-ghost:disabled{opacity:.6;cursor:not-allowed}.bmi-card{padding:20px;border-radius:var(--radius-l);background:linear-gradient(135deg,var(--blue-50),var(--white));border:1px solid var(--ink-100);box-shadow:var(--shadow-sm);display:grid;gap:6px}.bmi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bmi-title{font-size:13px;font-weight:600;color:var(--ink-700);letter-spacing:.02em;text-transform:uppercase}.bmi-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--ink-100);color:var(--ink-700)}.bmi-card.bmi-low{background:linear-gradient(135deg,rgba(255,184,0,.1),var(--white))}.bmi-card.bmi-low .bmi-badge{background:var(--amber-bg);color:var(--amber)}.bmi-card.bmi-normal{background:linear-gradient(135deg,rgba(11,138,70,.1),var(--white))}.bmi-card.bmi-normal .bmi-badge{background:var(--green-bg);color:var(--green)}.bmi-card.bmi-over{background:linear-gradient(135deg,rgba(255,184,0,.14),var(--white))}.bmi-card.bmi-over .bmi-badge{background:var(--amber-bg);color:var(--amber)}.bmi-card.bmi-obese{background:linear-gradient(135deg,rgba(180,35,24,.12),var(--white))}.bmi-card.bmi-obese .bmi-badge{background:var(--red-bg);color:var(--red)}.bmi-value{font-family:var(--font-inter-tight),sans-serif;font-size:32px;font-weight:700;color:var(--ink-900);line-height:1.1;letter-spacing:-.02em}.bmi-hint{font-size:12px;color:var(--ink-400)}.bmi-empty{font-size:14px;color:var(--ink-500)}.profile-save{justify-self:end}.settings-section{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:20px;display:grid;gap:14px;scroll-margin-top:80px}.settings-section h2{font-family:var(--font-inter-tight),sans-serif;font-size:18px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin:0}.settings-list{display:grid;gap:8px}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--ink-100);flex-wrap:wrap}.settings-list>.settings-row:first-child{border-top:0;padding-top:4px}.settings-row-text{display:grid;gap:2px;flex:1 1;min-width:200px}.settings-row-title{font-size:14px;font-weight:600;color:var(--ink-900)}.settings-row-hint{font-size:12px;color:var(--ink-500)}.settings-row-err{font-size:12px;color:var(--red)}.settings-link{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ink-100);text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out)}.settings-link:hover .settings-link-title{color:var(--blue-600)}.settings-link-icon{font-size:22px;width:36px;text-align:center;flex:0 0 36px}.settings-link-text{display:grid;gap:2px;flex:1 1;min-width:0}.settings-link-title{font-size:14px;font-weight:600;color:var(--ink-900)}.settings-link-hint{font-size:12px;color:var(--ink-500)}.settings-link-chevron{font-size:24px;color:var(--ink-400);line-height:1}.app-version{font-size:11px;color:var(--ink-400);text-align:center;margin:4px 0 0;letter-spacing:.04em}.profile-logout-row{display:flex;justify-content:flex-start}.logout-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:var(--white);color:var(--ink-700);border:1px solid var(--ink-200);border-radius:var(--radius-full);font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:44px;box-shadow:0 1px 2px rgba(10,15,28,.04);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.logout-btn:hover{background:var(--ink-50);border-color:var(--ink-300);color:var(--ink-900)}.logout-btn:disabled{opacity:.6;cursor:not-allowed}.profile-form-v2 .profile-toast{font-size:14px;padding:10px 14px;border-radius:var(--radius-s)}[data-theme=dark] .profile-section,[data-theme=dark] .settings-section{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .profile-section h3,[data-theme=dark] .settings-section h2{color:#F2F5FB}[data-theme=dark] .field{color:var(--ink-200)}[data-theme=dark] .field input[type=date],[data-theme=dark] .field input[type=email],[data-theme=dark] .field input[type=number],[data-theme=dark] .field input[type=text],[data-theme=dark] .field select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#F2F5FB}[data-theme=dark] .field input:disabled,[data-theme=dark] .field input[readonly]{background:rgba(255,255,255,.03);color:var(--ink-300)}[data-theme=dark] .chip{background:#192038;border-color:rgba(255,255,255,.12);color:#D8DFEC}[data-theme=dark] .chip:hover{border-color:#4A87E6;color:#7FB2FF}[data-theme=dark] .chip.active{background:#1E63D4;color:#fff;border-color:#1E63D4}[data-theme=dark] .btn-ghost{background:rgba(127,178,255,.12);border-color:rgba(127,178,255,.2);color:var(--blue-300)}[data-theme=dark] .btn-ghost:hover{background:rgba(127,178,255,.2);border-color:rgba(127,178,255,.3)}[data-theme=dark] .bmi-card{background:linear-gradient(135deg,rgba(127,178,255,.1),rgba(30,99,212,.04)),#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .bmi-value{color:#F2F5FB}[data-theme=dark] .bmi-title{color:var(--ink-400)}[data-theme=dark] .bmi-empty,[data-theme=dark] .bmi-hint{color:var(--ink-300)}[data-theme=dark] .bmi-card.bmi-low .bmi-badge,[data-theme=dark] .bmi-card.bmi-over .bmi-badge{background:rgba(255,184,0,.18);color:#FFC451}[data-theme=dark] .bmi-card.bmi-normal .bmi-badge{background:rgba(14,122,62,.18);color:#5FD28C}[data-theme=dark] .bmi-card.bmi-obese .bmi-badge{background:rgba(180,35,24,.18);color:#FF7A6E}[data-theme=dark] .profile-toggle{color:var(--ink-400)}[data-theme=dark] .settings-link,[data-theme=dark] .settings-row{border-top-color:rgba(255,255,255,.06)}[data-theme=dark] .settings-link-title,[data-theme=dark] .settings-row-title{color:#F2F5FB}[data-theme=dark] .settings-link-hint,[data-theme=dark] .settings-row-hint{color:var(--ink-300)}[data-theme=dark] .app-version,[data-theme=dark] .settings-link-chevron{color:var(--ink-400)}[data-theme=dark] .logout-btn{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:var(--ink-100)}[data-theme=dark] .logout-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#F2F5FB}.onboarding-page{min-height:100dvh;background:linear-gradient(180deg,var(--blue-50) 0,var(--white) 50%);display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.onboarding-card{width:100%;max-width:520px;background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:32px}@media (max-width:640px){.onboarding-page{padding:0;align-items:stretch}.onboarding-card{border-radius:0;box-shadow:none;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));min-height:100dvh;display:flex;flex-direction:column}.onboarding-card h1{font-size:24px!important}.onboarding-card .sub{font-size:14px!important;margin-bottom:20px!important}.onboarding-fields{margin-bottom:auto!important;padding-bottom:24px}.onboarding-actions{position:sticky;bottom:0;padding-top:12px;background:linear-gradient(to top,var(--white) 80%,transparent)}[data-theme=dark] .onboarding-actions{background:linear-gradient(0deg,rgba(19,26,44,1) 80%,transparent)}.onboarding-field input,.onboarding-field select{font-size:16px;padding:14px;min-height:48px}.onboarding-field-large input{font-size:22px!important}.onboarding-toggle{padding:16px;min-height:56px}.onboarding-next{padding:14px 28px;min-height:48px}.chip{padding:10px 14px!important;min-height:44px;font-size:14px}.dob-picker{grid-template-columns:.8fr 1.4fr 1fr;gap:6px}.dob-picker select{font-size:16px;min-height:48px;padding:14px 32px 14px 12px}}@media (max-width:380px){.dob-picker{grid-template-columns:1fr;gap:8px}}.onboarding-progress{display:flex;gap:4px;margin-bottom:8px}.onboarding-progress-bar{flex:1 1;height:4px;background:var(--ink-100);border-radius:var(--radius-full);transition:background .3s var(--ease-out)}.onboarding-progress-bar.active{background:var(--blue-600)}.onboarding-step-label{font-size:12px;color:var(--ink-400);margin-bottom:24px}.onboarding-card h1{font-size:28px;font-weight:700;color:var(--ink-900);margin:0 0 8px}.onboarding-card .sub{font-size:15px;color:var(--ink-500);margin:0 0 24px}.onboarding-fields{display:grid;gap:16px;margin-bottom:32px}.onboarding-field{display:grid;gap:6px}.onboarding-field label{font-size:13px;font-weight:500;color:var(--ink-700)}.onboarding-field input,.onboarding-field select{padding:12px 14px;border:1px solid var(--ink-200);border-radius:var(--radius-s);font:inherit;background:var(--white);color:var(--ink-900);transition:border-color .15s}.onboarding-field input:focus,.onboarding-field select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(30,99,212,.15)}.onboarding-field-large input{font-size:24px;font-family:var(--font-jetbrains),monospace;font-weight:600}.onboarding-actions{display:flex;gap:12px;justify-content:space-between;align-items:center}.onboarding-back{background:transparent;border:0;color:var(--ink-500);cursor:pointer;padding:12px 0;font:inherit}.onboarding-back:hover{color:var(--ink-900)}.onboarding-skip{color:var(--ink-400);font-size:13px;text-decoration:none;cursor:pointer;background:none;border:0}.onboarding-next{padding:12px 32px;background:var(--blue-600);color:var(--white);border:0;border-radius:var(--radius-full);font:inherit;font-weight:500;cursor:pointer;transition:background .15s}.onboarding-next:hover:not(:disabled){background:var(--blue-700)}.onboarding-next:disabled{opacity:.5;cursor:not-allowed}.onboarding-summary{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius-l);padding:20px;display:grid;gap:12px;margin-bottom:24px}.onboarding-summary .row{display:flex;justify-content:space-between;align-items:baseline}.onboarding-summary .row .label{font-size:13px;color:var(--ink-500)}.onboarding-summary .row .value{font-size:18px;font-weight:600;color:var(--ink-900);font-family:var(--font-jetbrains),monospace}.onboarding-bmi-hint{font-size:13px;color:var(--ink-500);margin-top:4px}.onboarding-bmi-hint .bmi-low{color:var(--blue-600)}.onboarding-bmi-hint .bmi-normal{color:var(--green)}.onboarding-bmi-hint .bmi-over{color:var(--amber)}.onboarding-bmi-hint .bmi-obese{color:var(--red)}.onboarding-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ink-50);border-radius:var(--radius-m);cursor:pointer}.onboarding-toggle input{accent-color:var(--blue-600);width:20px;height:20px}.option-list{display:grid;gap:8px}.option-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--ink-200);border-radius:var(--radius-m);background:var(--white);cursor:pointer;text-align:left;font:inherit;color:var(--ink-900);transition:all .15s var(--ease-out);width:100%}.option-card:hover{border-color:var(--blue-400)}.option-card.active{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 0 0 3px rgba(30,99,212,.15)}.option-card-label{font-size:15px;font-weight:600;color:var(--ink-900)}.option-card.active .option-card-label{color:var(--blue-700)}.option-card-desc{font-size:13px;color:var(--ink-500);line-height:1.4}[data-theme=dark] .option-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:var(--white)}[data-theme=dark] .option-card.active{background:rgba(127,178,255,.1);border-color:var(--blue-400)}[data-theme=dark] .option-card-label{color:var(--white)}[data-theme=dark] .option-card.active .option-card-label{color:var(--blue-300)}[data-theme=dark] .option-card-desc{color:var(--ink-300)}.dob-picker{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:8px}.dob-picker select{width:100%;border:1px solid var(--ink-200);border-radius:var(--radius-s);font:inherit;background:var(--white);color:var(--ink-900);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%236B7A95' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding:12px 32px 12px 14px;cursor:pointer;transition:border-color .15s}.dob-picker select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(30,99,212,.15)}[data-theme=dark] .dob-picker select{background-color:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:var(--white)}[data-theme=dark] .onboarding-page{background:linear-gradient(180deg,rgba(30,99,212,.08),#0B1020)}[data-theme=dark] .onboarding-card{background:#131A2C;border:1px solid rgba(255,255,255,.08)}[data-theme=dark] .onboarding-card h1{color:#F2F5FB}[data-theme=dark] .onboarding-card .sub{color:var(--ink-300)}[data-theme=dark] .onboarding-field input,[data-theme=dark] .onboarding-field select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#F2F5FB}[data-theme=dark] .onboarding-field label{color:var(--ink-400)}[data-theme=dark] .onboarding-summary{background:rgba(127,178,255,.08);border-color:rgba(127,178,255,.2)}.glucose-section{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:20px 16px 16px;display:flex;flex-direction:column;gap:16px}.glucose-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.glucose-section-header h2{font-size:17px;font-weight:700;color:var(--ink-900);margin:0 0 2px}.period-toggle{gap:2px;padding:3px;background:var(--ink-50);border-radius:var(--radius-full);border:1px solid var(--ink-100)}.period-toggle,.period-toggle-item{display:inline-flex;align-items:center}.period-toggle-item{justify-content:center;min-width:44px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink-500);text-decoration:none;border-radius:var(--radius-full);transition:background-color .15s var(--ease-out),color .15s var(--ease-out),box-shadow .15s var(--ease-out);font-feature-settings:"tnum"}.period-toggle-item:hover{color:var(--ink-700)}.period-toggle-item.is-active{background:var(--white);color:var(--blue-600);box-shadow:0 1px 3px rgba(0,0,0,.08)}[data-theme=dark] .period-toggle{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}[data-theme=dark] .period-toggle-item{color:var(--ink-400)}[data-theme=dark] .period-toggle-item:hover{color:var(--ink-200)}[data-theme=dark] .period-toggle-item.is-active{background:rgba(127,178,255,.16);color:var(--blue-400);box-shadow:none}.glucose-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);border-radius:var(--radius-m);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast)}.glucose-add-btn:hover{background:var(--blue-100)}.glucose-form{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--ink-50);border-radius:var(--radius-m)}.glucose-form-row{display:flex;gap:8px;align-items:center}.glucose-input-wrap{display:flex;align-items:center;gap:6px;background:var(--white);border:1.5px solid var(--ink-200);border-radius:var(--radius-s);padding:0 10px;flex:0 0 110px;transition:border-color var(--dur-fast)}.glucose-input-wrap:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(30,99,212,.12)}.glucose-input{border:none;background:none;outline:none;font-size:20px;font-weight:600;width:60px;padding:8px 0;color:var(--ink-900);font-family:var(--font-jetbrains,monospace)}.glucose-unit{font-size:11px;color:var(--ink-400);white-space:nowrap}.glucose-context-select{flex:1 1;padding:8px 32px 8px 12px;border:1.5px solid var(--ink-200);border-radius:var(--radius-s);font-size:14px;color:var(--ink-800);background:var(--white);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%236B7A95' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.glucose-error{font-size:13px;color:var(--red);margin:0}.glucose-form-actions{display:flex;justify-content:flex-end;gap:8px}.glucose-cancel-btn{padding:7px 14px;border:1.5px solid var(--ink-200);border-radius:var(--radius-s);background:var(--white);font-size:14px;color:var(--ink-600);cursor:pointer}.glucose-save-btn{padding:7px 18px;background:var(--blue-600);color:var(--white);border:none;border-radius:var(--radius-s);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--dur-fast)}.glucose-save-btn:disabled{opacity:.5;cursor:not-allowed}.glucose-save-btn:not(:disabled):hover{background:var(--blue-700)}.glucose-chart-wrap{display:flex;flex-direction:column;gap:12px}.glucose-chart-meta{display:flex;gap:16px}.glucose-meta-item{display:flex;flex-direction:column;gap:2px}.glucose-meta-label{font-size:11px;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em}.glucose-meta-value{font-size:20px;font-weight:700;color:var(--ink-900)}.glucose-svg-wrap{height:100px;width:100%;background:var(--ink-50);border-radius:var(--radius-s);overflow:hidden;padding:4px 8px;box-sizing:border-box}.glucose-svg{width:100%;height:100%}.glucose-readings-list{display:flex;flex-direction:column;gap:6px}.glucose-reading-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--ink-50);border-radius:var(--radius-s)}.glucose-reading-value{font-size:16px;font-weight:700;min-width:60px}.glucose-reading-unit{font-size:11px;font-weight:400;color:var(--ink-400)}.glucose-reading-context{flex:1 1;font-size:13px;color:var(--ink-600)}.glucose-reading-time{font-size:12px;color:var(--ink-400);white-space:nowrap}.glucose-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--ink-400);font-size:14px}[data-theme=dark] .glucose-section{background:#131A2C;border-color:rgba(255,255,255,.08)}[data-theme=dark] .glucose-add-btn{background:rgba(30,99,212,.15);border-color:rgba(127,178,255,.2);color:#7FB2FF}[data-theme=dark] .glucose-form{background:#192038}[data-theme=dark] .glucose-input-wrap{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}[data-theme=dark] .glucose-input{color:#F2F5FB}[data-theme=dark] .glucose-context-select{background-color:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#F2F5FB}[data-theme=dark] .glucose-cancel-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#7A869E}[data-theme=dark] .glucose-reading-row,[data-theme=dark] .glucose-svg-wrap{background:#192038}[data-theme=dark] .glucose-section-header h2,[data-theme=dark] .onboarding-summary .value{color:#F2F5FB}[data-theme=dark] .onboarding-toggle{background:#192038}[data-theme=dark] .onboarding-progress-bar{background:rgba(255,255,255,.1)}.header-left-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.header-greet{display:flex;flex-direction:column;line-height:1.2}.greeting-line{font-size:13px;color:var(--ink-400,#6B7280);font-weight:500}.greeting-name{font-size:17px;color:var(--ink-900,#111827);font-weight:700;letter-spacing:-.3px}[data-theme=dark] .greeting-name{color:#FFFFFF}[data-theme=dark] .greeting-line{color:#9CA3AF}.cal-card{background:var(--surface,#FFFFFF);border:1px solid var(--border,#f3f4f6);border-radius:16px;padding:16px 18px;margin-bottom:16px}[data-theme=dark] .cal-card{background:#1C1C1E;border-color:#2C2C2E}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-title{font-size:16px;font-weight:600;color:var(--ink-900,#111827)}[data-theme=dark] .cal-title{color:#FFFFFF}.cal-nav{display:flex;gap:6px}.cal-nav-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink-400,#6B7280);font-size:20px;line-height:1;transition:background .15s;-webkit-tap-highlight-color:transparent}.cal-nav-btn:hover{background:rgba(0,0,0,.04)}[data-theme=dark] .cal-nav-btn:hover{background:rgba(255,255,255,.06)}.cal-days{display:flex;justify-content:space-between;gap:4px}.cal-day{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;flex:1 1}.cal-day-name{font-size:11px;color:var(--ink-400,#9CA3AF);font-weight:500;text-transform:uppercase}.cal-date{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--ink-900,#111827)}[data-theme=dark] .cal-date{color:#FFFFFF}.cal-date.active{background:#3B82F6;color:#FFFFFF}.cal-date.today{border:2px solid #3b82f6;color:#3B82F6}.scan-meal-chip{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:999px;background:rgba(59,130,246,.12);color:#3B82F6;font-size:13px;font-weight:600}[data-theme=dark] .scan-meal-chip{background:rgba(59,130,246,.2);color:#60A5FA}.notif-page{padding:16px 18px 100px}.notif-empty{margin-top:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.notif-empty-emoji{font-size:48px}.notif-empty h2{margin:0;font-size:20px;font-weight:700}.notif-empty p{margin:0;color:var(--ink-400,#6B7280);white-space:pre-line;max-width:320px}[data-theme=dark] .notif-empty p{color:#9CA3AF}.logout-row{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;cursor:pointer;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.28);font:inherit;color:#DC2626;padding:14px 16px;border-radius:14px;font-weight:600;font-size:15px;transition:background .15s,border-color .15s,transform .05s}.logout-row:hover{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.5)}.logout-row:active{transform:translateY(1px)}.logout-row:disabled{opacity:.6;cursor:progress}.logout-row .settings-link-icon{color:#DC2626;font-size:18px}.logout-row .settings-row-title{color:inherit;font-weight:600}[data-theme=dark] .logout-row{background:rgba(252,165,165,.08);border-color:rgba(252,165,165,.3);color:#FCA5A5}[data-theme=dark] .logout-row:hover{background:rgba(252,165,165,.14);border-color:rgba(252,165,165,.5)}[data-theme=dark] .logout-row .settings-link-icon{color:#FCA5A5}.price-wip{display:flex;justify-content:center;margin-top:24px}.price-wip-card{width:100%;max-width:520px;padding:40px 32px;text-align:center;background:radial-gradient(60% 100% at 50% 0,rgba(30,99,212,.08),transparent 70%),var(--white,#FFFFFF);border:1px dashed rgba(30,99,212,.35);border-radius:var(--radius-l,18px);box-shadow:var(--shadow-sm);display:grid;gap:14px;justify-items:center}.price-wip-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:rgba(30,99,212,.1);font-size:26px;margin-bottom:4px}.price-wip-card h3{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:22px;font-weight:700;color:var(--ink-900,#111827);margin:0}.price-wip-card p{font-size:15px;line-height:1.5;color:var(--ink-500,#6B7280);margin:0;max-width:380px}.price-wip-card .btn{margin-top:6px;max-width:280px}[data-theme=dark] .price-wip-card{background:radial-gradient(60% 100% at 50% 0,rgba(127,178,255,.12),transparent 70%),#0F1A33;border-color:rgba(127,178,255,.3)}[data-theme=dark] .price-wip-card h3{color:#F2F5FB}[data-theme=dark] .price-wip-card p{color:var(--ink-300)}[data-theme=dark] .price-wip-badge{background:rgba(127,178,255,.18)}.install-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;min-height:46px;border-radius:8px;font-family:inherit;font-weight:500;font-size:15px;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .16s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out),transform .1s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.install-btn:active{transform:scale(.98)}.install-btn--primary{background:var(--db-ink);color:var(--db-paper)}.install-btn--primary:hover{background:#FFFFFF}.install-btn--secondary{background:transparent;color:var(--db-ink);border-color:var(--db-rule-strong)}.install-btn--secondary:hover{border-color:var(--db-ink-faint);background:var(--db-paper-sunk)}.install-btn--ghost{background:transparent;color:var(--db-ink-muted)}.install-btn--ghost:hover{color:var(--db-ink)}.install-overlay{position:fixed;inset:0;background:rgba(4,5,6,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:16px;animation:install-fade .15s ease-out}@media (min-width:640px){.install-overlay{align-items:center;padding:32px}}@keyframes install-fade{0%{opacity:0}to{opacity:1}}.install-modal{position:relative;width:100%;max-width:460px;background:linear-gradient(180deg,var(--db-raised) 0,var(--db-instrument) 60%);border:1px solid var(--db-rule);border-bottom:0;border-radius:14px 14px 0 0;padding:28px 22px max(28px,calc(env(safe-area-inset-bottom) + 16px));display:grid;gap:18px;max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:install-slide .22s ease-out}.install-modal:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:999px;background:var(--db-rule-strong)}@media (min-width:640px){.install-modal{border:1px solid var(--db-rule);border-radius:14px;padding:28px 28px 32px}.install-modal:before{display:none}}@keyframes install-slide{0%{transform:translateY(20px);opacity:.5}to{transform:translateY(0);opacity:1}}.install-modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--db-ink-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.install-modal-close:hover{background:var(--db-paper-sunk);border-color:var(--db-rule);color:var(--db-ink)}.install-modal-head{display:grid;gap:6px;text-align:left;padding-right:44px}.install-modal-pictogram{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:6px;color:var(--db-ink-faint)}.install-modal-head h2{font-family:var(--font-inter-tight),"Inter Tight",sans-serif;font-size:23px;font-weight:600;letter-spacing:-.028em;color:var(--db-ink);margin:0}.install-modal-head p{font-size:14.5px;line-height:1.55;color:var(--db-ink-muted);margin:0}.install-benefits{list-style:none;margin:0;padding:16px 18px;display:grid;gap:9px;background:var(--db-paper);border:1px solid var(--db-rule);border-radius:10px;font-size:13.5px;color:var(--db-ink-soft);line-height:1.5}.install-benefits li{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start}.install-benefit-dot{width:6px;height:6px;border-radius:50%;margin-top:7px}.install-benefit-dot--blue{background:var(--db-trace)}.install-benefit-dot--emerald{background:var(--db-safe)}.install-benefit-dot--amber{background:var(--db-caution)}.install-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;background:var(--db-paper);border:1px solid var(--db-rule);border-radius:10px;padding:4px}.install-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;min-height:42px;border-radius:7px;border:1px solid transparent;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--db-ink-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.install-tab:hover{color:var(--db-ink)}.install-tab.is-active{background:var(--db-raised);border-color:var(--db-rule-strong);color:var(--db-ink)}.install-tab svg{flex-shrink:0}.install-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.install-step{display:grid;grid-template-columns:22px 30px 1fr;gap:12px;align-items:center;padding:12px 14px;background:var(--db-paper);border:1px solid var(--db-rule);border-radius:10px;font-size:14px;line-height:1.45;color:var(--db-ink-soft)}.install-step-num{font-family:var(--font-jetbrains),ui-monospace,monospace;font-weight:500;font-size:11px;letter-spacing:.11em;color:var(--db-ink-faint)}.install-step-icon,.install-step-num{display:inline-flex;align-items:center;justify-content:center}.install-step-icon{width:30px;height:30px;border-radius:7px;background:var(--db-raised);color:var(--db-ink-muted);border:1px solid var(--db-rule)}.install-step-text{min-width:0}.install-modal-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:14px 18px;border-radius:8px;border:none;background:var(--db-ink);color:var(--db-paper);font-family:inherit;font-weight:500;font-size:16px;letter-spacing:-.01em;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.install-modal-cta:hover{background:#FFFFFF}.install-modal-cta:active{transform:scale(.99)}.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-100,#f3f4f6);background:#FFFFFF;color:var(--ink-700,#374151);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px -6px rgba(11,16,32,.2);opacity:0;transform:translateY(8px) scale(.94);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background .15s,color .15s;z-index:60;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.back-to-top:active{transform:translateY(0) scale(.92)}.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{background:var(--blue-600,#2563EB);color:#FFFFFF;border-color:var(--blue-600,#2563EB)}.back-to-top:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35),0 6px 20px -6px rgba(11,16,32,.2)}@supports (padding:max(0px)){.back-to-top{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}}[data-theme=dark] .back-to-top{background:#131A2C;border-color:rgba(255,255,255,.08);color:var(--ink-200,#E5E7EB);box-shadow:0 6px 20px -6px rgba(0,0,0,.6)}[data-theme=dark] .back-to-top:hover{background:#7FB2FF;color:#0B1020;border-color:#7FB2FF}@media (max-width:640px){.back-to-top{right:16px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity .15s;transform:none}}@media print{.back-to-top{display:none!important}}