:root{--ink:#10243d;--muted:#62738b;--blue:#097fc6;--navy:#0a3768;--aqua:#e4f7fb;--line:#dce8f0;--paper:#f7fbfd;--white:#fff;--ease:cubic-bezier(.4,0,.2,1);--glucose-low:#7f1d1d;--glucose-low-bg:#fdeceb;--glucose-normal:#1a9d5c;--glucose-normal-bg:#e9faf1;--glucose-elevated:#c8790a;--glucose-elevated-bg:#fef4e3;--glucose-high:#d1352c;--glucose-high-bg:#fdecec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 90% -5%,#c3f3fa 0,transparent 25%),radial-gradient(circle at 0 23%,#d5ebff 0,transparent 24%),var(--paper);color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}.topbar,main,footer{max-width:1180px;margin:auto}.topbar{height:74px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.brand{color:var(--navy);font-weight:800;letter-spacing:.1em;text-decoration:none;display:flex;align-items:center;gap:8px}.brand-logo{width:34px;height:34px;border-radius:11px;object-fit:cover;box-shadow:0 6px 15px #0e4e8430}.topbar nav{display:flex;gap:26px}.topbar nav a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .2s var(--ease)}.topbar nav a:hover{color:var(--navy)}.topbar nav a.active{color:var(--blue);font-weight:700}.profile-button{border:0;background:linear-gradient(135deg,#c6f3f6,#b5d7ff);color:var(--navy);border-radius:50%;font-weight:700;width:38px;height:38px;cursor:pointer;box-shadow:0 5px 12px #0a44722b}.hero{position:relative;padding:86px 30px 58px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;overflow:hidden}.hero:before{content:"";position:absolute;right:22%;top:20px;width:300px;height:300px;background:radial-gradient(circle,#93e0ec44 0 1px,transparent 1.5px);background-size:18px 18px;transform:rotate(-12deg);pointer-events:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--blue);margin:0 0 9px}.hero h1,h2,h3{letter-spacing:-.045em}.hero h1{position:relative;font-size:clamp(40px,6vw,63px);margin:0;line-height:1.05;font-weight:850}.hero h1 span{color:var(--blue);text-shadow:0 8px 25px #087fc626}.subhead{max-width:620px;color:var(--muted);font-size:18px;margin:18px 0 0}.hero-glance{position:relative;margin-top:28px;display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:10px 15px 10px 10px;background:#ffffffb8;backdrop-filter:blur(9px);border:1px solid #e3eff5;border-radius:16px;box-shadow:0 12px 24px #0d426410}.glance-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;color:#fff;background:linear-gradient(135deg,#51cbe6,var(--blue))}.hero-glance strong,.hero-glance small{display:block}.hero-glance strong{font-size:13px}.hero-glance small{font-size:12px;color:var(--muted)}.hero-actions{z-index:1;display:flex;gap:10px;flex-wrap:wrap;padding:8px;border:1px solid #ffffffc4;border-radius:18px;background:#ffffff70;backdrop-filter:blur(12px);box-shadow:0 18px 35px #0c345114}.button{border:0;border-radius:11px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0);transition-duration:.08s}.button.primary{background:linear-gradient(135deg,#0795cc,#0759ae);color:#fff;box-shadow:0 12px 24px #087fc64b}.button.secondary{background:#e6f3f8;color:var(--navy)}.button.small{font-size:14px;padding:9px 12px}.button.full{width:100%;margin-top:8px}.notice{margin:0 30px;padding:13px 16px;display:flex;align-items:center;gap:11px;background:linear-gradient(90deg,#e6f9f3,#edf9fb);box-shadow:0 12px 26px #0b3f5f0c;border-radius:13px;color:#235945;font-size:14px}.notice span{font-size:18px}.notice p{margin:0;flex:1}.notice button,.text-action,.article-grid button{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .2s var(--ease)}.notice button:hover,.text-action:hover,.article-grid button:hover{opacity:.72}.text-action.subtle{color:var(--muted);font-weight:600;font-size:13px}.glucose-card .text-action.subtle{color:#d5f7ff}.dashboard-grid{padding:30px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px}
.dashboard-grid .water-card,.dashboard-grid .exercise-card{grid-column:span 1}
@media(min-width:761px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid .glucose-card{grid-column:span 2}}.card{position:relative;background:var(--white);border:0;border-radius:18px;padding:20px;min-height:218px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 28px #082e4b0f;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}.card:hover{transform:translateY(-5px);box-shadow:0 22px 40px #082e4b1a}.card:after{content:"";position:absolute;width:120px;height:120px;right:-42px;bottom:-45px;border-radius:50%;background:radial-gradient(circle,#5fd3e642,transparent 67%);pointer-events:none}.glucose-card{color:#fff;background:linear-gradient(135deg,#073769,#087fc6 57%,#3cc5d8)}.glucose-card .muted,.glucose-card .empty-state{color:#d5f7ff}.glucose-card .text-action,.glucose-card .pill.neutral{color:#fff}.glucose-card .pill.neutral{background:#ffffff2b}
.glucose-card .metric{margin-top:22px}
.glucose-card .pill.level-low,.glucose-card .pill.level-normal,.glucose-card .pill.level-elevated,.glucose-card .pill.level-high{color:#fff}
.pill.level-low{background:var(--glucose-low)}.pill.level-normal{background:var(--glucose-normal)}.pill.level-elevated{background:var(--glucose-elevated)}.pill.level-high{background:var(--glucose-high)}
.card-footer-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.glucose-dots{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.glucose-dot{width:10px;height:10px;border-radius:50%;transition:transform .2s var(--ease)}
.glucose-dot.level-low{background:#ff8f87}.glucose-dot.level-normal{background:#8ef0be}.glucose-dot.level-elevated{background:#ffd27a}.glucose-dot.level-high{background:#ff9d90}
.glucose-legend{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 0;font-size:12px;color:var(--muted)}
.glucose-legend span{display:flex;align-items:center;gap:6px}
.glucose-legend .swatch{width:10px;height:10px;border-radius:50%;display:inline-block}
.swatch.low{background:var(--glucose-low)}.swatch.normal{background:var(--glucose-normal)}.swatch.elevated{background:var(--glucose-elevated)}.swatch.high{background:var(--glucose-high)}
.glucose-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line);border-left:4px solid transparent}
.glucose-row:last-child{border-bottom:0}
.glucose-row.level-low{border-left-color:var(--glucose-low);background:var(--glucose-low-bg)}
.glucose-row.level-normal{border-left-color:var(--glucose-normal);background:var(--glucose-normal-bg)}
.glucose-row.level-elevated{border-left-color:var(--glucose-elevated);background:var(--glucose-elevated-bg)}
.glucose-row.level-high{border-left-color:var(--glucose-high);background:var(--glucose-high-bg)}
.glucose-badge{min-width:52px;padding:8px 6px;border-radius:11px;text-align:center;font-weight:800;font-size:15px;color:#fff}
.glucose-badge.level-low{background:var(--glucose-low)}.glucose-badge.level-normal{background:var(--glucose-normal)}.glucose-badge.level-elevated{background:var(--glucose-elevated)}.glucose-badge.level-high{background:var(--glucose-high)}
.glucose-preview{display:flex;align-items:center;gap:12px;margin:-6px 0 15px;padding:12px 14px;border-radius:13px;background:#f4f9fb;font-size:13px;color:var(--muted);transition:background .2s var(--ease)}
.glucose-preview.level-low{background:var(--glucose-low-bg)}.glucose-preview.level-normal{background:var(--glucose-normal-bg)}.glucose-preview.level-elevated{background:var(--glucose-elevated-bg)}.glucose-preview.level-high{background:var(--glucose-high-bg)}.habit-card{background:linear-gradient(145deg,#fff,#f4fbff)}.card-heading,.section-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;font-weight:700}.pill{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.pill.neutral{color:#62738b;background:#eef2f5}.pill.blue{color:var(--blue);background:#e6f5fb}.metric{font-size:54px;font-weight:800;line-height:1;margin:30px 0 7px;letter-spacing:-.07em}.metric span{font-size:18px;letter-spacing:0}.muted{color:var(--muted);font-size:14px}.card .text-action{margin-top:auto;text-align:left}.empty-state{color:var(--muted);font-size:14px;margin:24px 0}.progress{height:8px;background:#e6eef2;border-radius:999px;margin:32px 0 9px;overflow:hidden}.progress span{display:block;width:0%;height:100%;border-radius:999px;background:linear-gradient(90deg,#4ac6dc,var(--blue));transition:width .4s var(--ease)}.split-section,.learn-section{padding:40px 30px}
.health-dashboard{padding:40px 30px}
.section-heading.standalone{display:block}
.section-heading.standalone .muted{margin:8px 0 0}
.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;align-items:start}
.health-panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 14px 34px #082e4b12;transition:box-shadow .28s var(--ease)}
.health-panel:hover{box-shadow:0 20px 42px #082e4b1a}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.panel-title{display:flex;gap:12px;align-items:flex-start}
.panel-title h3{margin:0 0 3px;font-size:19px;letter-spacing:-.02em}
.panel-title .muted{font-size:13px}
.panel-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:var(--aqua);color:var(--blue);font-size:17px}
.glucose-panel .panel-icon{background:var(--glucose-normal-bg);color:var(--glucose-normal)}
.panel-stats{display:flex;gap:22px;margin:20px 0 4px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.panel-stats div{display:flex;flex-direction:column;gap:2px}
.panel-stats strong{font-size:20px;color:var(--navy);letter-spacing:-.03em}
.panel-stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.glucose-panel .glucose-legend{margin:14px 0 0}
.panel-list{margin-top:16px;max-height:340px;overflow-y:auto;border-radius:14px;box-shadow:none;background:var(--paper)}
@media(max-width:900px){.health-grid{grid-template-columns:1fr}}.section-heading h2{font-size:30px;margin:0}.section-heading .eyebrow{margin-bottom:4px}.meal-list{margin-top:20px;background:#fff;border:0;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #082e4b0e}.empty-list{padding:30px;display:flex;flex-direction:column;gap:4px;color:var(--muted)}.empty-list strong{color:var(--ink)}.meal-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}.meal-row:last-child{border:0}.meal-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--aqua);color:var(--blue);font-size:18px}.meal-detail{flex:1}.meal-detail strong,.meal-detail span{display:block}.meal-detail span{font-size:13px;color:var(--muted)}.meal-carb{font-weight:800;color:var(--navy)}.habit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:19px}.habit{border:0;background:#fff;border-radius:16px;padding:17px;display:flex;gap:12px;align-items:center;cursor:pointer;box-shadow:0 10px 25px #082e4b0c;transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .24s var(--ease)}.habit:hover{transform:translateY(-3px);box-shadow:0 16px 30px #082e4b18}.habit input{width:19px;height:19px;accent-color:var(--blue)}.habit strong,.habit span{display:block}.habit span{font-size:13px;color:var(--muted)}.habit.done{background:#f3fbf7;box-shadow:inset 0 0 0 1px #b3dfcf}
.water-card{background:linear-gradient(145deg,#eefaff,#f8fdff)}
.water-dots{display:flex;gap:6px;margin:14px 0 4px;flex-wrap:wrap}
.water-dot{width:16px;height:16px;border-radius:50%;background:#dcf0f6;border:1px solid #bfe4ee;transition:background .3s var(--ease),transform .3s var(--ease)}
.water-dot.filled{background:linear-gradient(135deg,#4ac6dc,var(--blue));border-color:transparent;transform:scale(1.05)}
.water-controls{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px}
.stepper{width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #082e4b1c;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.stepper:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 22px #082e4b26}
.stepper:active:not(:disabled){transform:scale(.92);transition-duration:.08s}
.stepper:disabled{opacity:.4;cursor:not-allowed}
.exercise-card{background:linear-gradient(145deg,#fff,#f4fbff)}
.exercise-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}
.exercise-row:last-child{border:0}
.remove-entry{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px}
.remove-entry:hover{color:#c0392b}.insight-section{position:relative;overflow:hidden;padding:40px 30px;margin:18px 0;background:linear-gradient(120deg,#083568,#0877bd 58%,#36bace);color:#fff}.insight-section:after{content:"";position:absolute;right:-80px;bottom:-115px;width:330px;height:330px;background:radial-gradient(circle,#fff4 0 1px,transparent 1.5px);background-size:17px 17px;transform:rotate(14deg)}.insight-section .eyebrow,.insight-section .insight-card p{color:#c8f5fb}.insight-section .section-heading h2{color:#fff}.insight-section .pill.blue{background:#ffffff25;color:#fff}.insight-card{position:relative;z-index:1;margin-top:20px;max-width:700px;display:flex;gap:14px}.insight-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);font-weight:800}.insight-card strong{font-size:18px}.insight-card p{margin:3px 0}.learn-section{padding-top:64px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.article-grid article{position:relative;overflow:hidden;padding:21px;border:0;background:linear-gradient(145deg,#fff,#f8fcff);border-radius:17px;box-shadow:0 12px 30px #082e4b0e;transition:transform .26s var(--ease),box-shadow .26s var(--ease)}.article-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 36px #082e4b16}.article-grid article:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#52cce1,var(--blue))}.article-tag{font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.1em}.article-grid h3{margin:13px 0 7px;font-size:21px}.article-grid p{min-height:69px;color:var(--muted);font-size:14px}.article-grid button{font-size:14px}footer{border-top:1px solid var(--line);padding:28px 30px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}footer .brand-logo{width:28px;height:28px}dialog{border:0;border-radius:19px;padding:0;max-width:525px;width:calc(100% - 32px);box-shadow:0 25px 70px #07192f45;animation:dialog-in .26s var(--ease)}dialog::backdrop{background:#06182f80;animation:backdrop-in .26s var(--ease)}
@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}}.modal-form{padding:28px;position:relative}.modal-form h2{margin:0 0 7px;font-size:30px}.modal-form label{display:block;font-size:13px;font-weight:700;margin:15px 0}.modal-form input,.modal-form select,.modal-form textarea{width:100%;margin-top:6px;border:1px solid #cddde7;border-radius:9px;padding:11px;font:inherit;color:var(--ink);background:#fff}.modal-form textarea{resize:vertical;min-height:78px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:var(--muted);font-size:29px;cursor:pointer}.modal-form li{margin:10px 0;color:#425f7d}.review-note{padding:12px;background:#fff5df;border-radius:10px;color:#735415;font-size:13px}@media(max-width:760px){.topbar{padding:0 18px}.topbar nav{display:none}.hero{padding:54px 20px 30px;display:block}.hero:before{right:-90px;top:0}.hero-actions{margin-top:22px;width:max-content}.hero-glance{margin-top:22px}.notice,.dashboard-grid,.split-section,.health-dashboard,.insight-section,.learn-section{margin-left:0;margin-right:0;padding-left:20px;padding-right:20px}.notice{border-radius:0;box-shadow:none}.dashboard-grid,.habit-grid,.article-grid{grid-template-columns:1fr}.card{min-height:185px}.card:hover,.article-grid article:hover,.habit:hover{transform:none}.hero h1{font-size:42px}.subhead{font-size:16px}.section-heading h2{font-size:27px}.form-row{grid-template-columns:1fr}footer{padding:24px 20px;gap:16px;align-items:start;flex-direction:column}}
