:root{color-scheme:light;--ink:#142440;--muted:#4e607b;--blue:#174bc5;--sky:#c9edff;--bg:#eff4fb;--line:#dbe5f2;--navy:#101e38;--white:#fff;font:16px/1.5 system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid #278bff;outline-offset:3px}
.frame{width:min(100% - 32px,760px);margin-inline:auto}.top{background:var(--navy);color:white;border-bottom:3px solid #2879ef}.top-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:850;font-size:1.22rem;line-height:1.16}.brand small{display:block;font-size:.69rem;color:#b9cee9;font-weight:500;margin-top:4px}.top-actions{display:flex;gap:8px;align-items:center}.mode{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;background:#243b60;color:#d6eaff;padding:5px 8px;border-radius:20px;white-space:nowrap}.profile-link{background:#243b60;border:0;border-radius:11px;color:white;width:42px;height:42px;font-size:1.4rem}
main{padding-block:22px calc(106px + env(safe-area-inset-bottom));outline:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.7rem,6vw,2.55rem);line-height:1.1;letter-spacing:-.045em}h2{font-size:1.12rem;line-height:1.24;letter-spacing:-.015em}.eyebrow{font-size:.69rem;letter-spacing:.15em;font-weight:850;color:var(--blue);margin-bottom:7px}.intro{margin-bottom:17px}.muted,.intro>p:last-child{color:var(--muted)}.intro>p:last-child{margin-top:6px}.card,.hero,.metrics>article{border-radius:19px;padding:17px;margin-bottom:12px}.card,.metrics>article{background:#fff;border:1px solid var(--line);box-shadow:0 3px 12px #18376208}.hero{background:linear-gradient(120deg,#103b9d,#2069dd);color:white;padding:20px;box-shadow:0 7px 18px #163c8b30}.hero .eyebrow{color:#d8eaff}.hero-row{display:flex;justify-content:space-between;align-items:end;gap:8px}.hero strong{font-size:clamp(2rem,9vw,3.25rem);letter-spacing:-.055em;line-height:1.1}.hero strong small{font-size:.52em;letter-spacing:0}.hero-goal{text-align:right;color:#e2eeff;font-size:.78rem;white-space:nowrap}.hero-goal b{display:block;font-size:1.04rem;color:#fff}.hero progress{display:block;width:100%;height:9px;appearance:none;border:none;border-radius:10px;overflow:hidden;margin:14px 0 8px;background:#ffffff38}.hero progress::-webkit-progress-bar{background:#ffffff38}.hero progress::-webkit-progress-value{background:#a8e8ff}.hero progress::-moz-progress-bar{background:#a8e8ff}.hero>p:last-child{font-size:.81rem;color:#e3f0ff}
.metrics,.quick,.row{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.metrics strong{display:block;font-size:1.38rem}.metric-icon{color:var(--blue);margin-right:4px}.metrics p{font-size:.8rem;color:var(--muted)}.quick{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.primary,.soft,.danger,.plain{padding:9px 12px;border:1px solid transparent;border-radius:11px;font-weight:750;min-height:44px}.primary{background:var(--blue);color:white}.soft{background:#eaf2ff;color:#164397}.danger{background:#ffedf0;color:#9b2439}.plain{background:white;border-color:var(--line)}.card h2+ p{margin-top:6px}.card h2+.list,.card h2+form,.card h2+.chart{margin-top:12px}.alarm-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#101e38;color:#fff}.alarm-card p{font-size:.8rem;color:#c6d8f3}.alarm-card button{flex-shrink:0}.alarm-icon{display:inline-grid;place-items:center;background:#274577;border-radius:11px;width:36px;height:36px;margin-right:9px}.alarm-label{display:flex;align-items:center}
nav{position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:2}.tabs{display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,760px)}.tabs button{background:transparent;border:0;min-height:62px;font-size:.71rem;color:var(--muted);font-weight:700}.tabs span{display:block;font-size:1.35rem;line-height:1.14}.tabs [aria-current=page]{color:var(--blue);background:#edf4ff}
form{display:grid;gap:10px}label{display:grid;gap:4px;font-size:.86rem;font-weight:700}label.check{display:flex;align-items:center;gap:8px}input:not([type=checkbox]),select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #9aacbf;background:#fff;color:var(--ink);border-radius:9px;font-size:16px}input[type=checkbox]{width:18px;height:18px}form .actions,.actions{display:flex;flex-wrap:wrap;gap:8px}.list{padding:0;margin-bottom:0;list-style:none}.list li{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.list small{display:block;color:var(--muted)}.list button{flex-shrink:0}.filters{display:flex;align-items:end;gap:8px;margin:12px 0}.filters label{flex:1}
.chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:4px;text-align:center;font-size:.69rem;margin-bottom:8px}.chart span:not(.plot){display:block;white-space:nowrap}.plot{height:92px;display:flex;align-items:end;justify-content:center;background:#edf4ff;border-radius:6px 6px 0 0;margin:3px 0}.plot i{display:block;width:62%;border-radius:5px 5px 0 0;background:linear-gradient(to top,#2766d6,#83bbff)}.plot i.goal-reached{background:#2766d6}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:5px}
#notice:not(:empty){position:fixed;z-index:3;bottom:calc(72px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);border-radius:12px;padding:12px 16px;background:#10372f;color:white;box-shadow:0 5px 20px #14243e55}#notice.error:not(:empty){background:#8b2334}
dialog{border:1px solid var(--line);border-radius:22px;width:min(92%,420px);padding:24px;text-align:center;color:var(--ink)}dialog::backdrop{background:#071833bc}dialog .beacon{font-size:2.5rem;margin-bottom:10px;border-radius:18px;background:#b5deff;padding:9px;animation:beacon 1.8s ease-in-out infinite alternate}dialog button{margin-top:10px}dialog form button{width:100%}@keyframes beacon{to{background:#78b5fa;box-shadow:0 0 17px #86bfff}}@media(prefers-reduced-motion:reduce){dialog .beacon{animation:none}}
@media(max-width:380px){.frame{width:calc(100% - 22px)}.brand small{font-size:.62rem}.card,.hero,.metrics>article{padding:13px}.quick button{padding-inline:4px}.tabs{width:100%}.alarm-icon{display:none}}

.weight-graph{display:block;width:100%;max-height:135px;margin:8px auto}

.brand img{flex:none}