:root{color-scheme:light;--bg:#f6f8fb;--card:#fff;--ink:#14283e;--muted:#5d6f82;--line:#dce4ed;--blue:#0b5cad;--soft:#eaf2fc;--red:#a83535;--green:#167148;--amber:#885b0b}html[data-theme=dark]{color-scheme:dark;--bg:#08141f;--card:#112332;--ink:#eef5fc;--muted:#aabccc;--line:#2a4152;--blue:#7abaff;--soft:#172e45;--red:#ff9696;--green:#83dfb0;--amber:#f0c879}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip{position:absolute;top:-80px}.skip:focus{top:0;background:var(--card);padding:12px;z-index:10}header{height:76px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 4%;}header>a:nth-child(2){margin-left:auto;font-size:14px}header button{border:1px solid var(--line);background:var(--card);border-radius:50%;width:40px;height:40px}.brand{font-weight:800;letter-spacing:.12em;line-height:1.2;font-size:18px}.brand span{display:block;font-size:10px;color:var(--ink)}.shell{display:grid;grid-template-columns:240px 1fr;max-width:1500px;margin:auto;min-height:calc(100vh - 76px)}aside{border-right:1px solid var(--line);padding:35px 22px;display:flex;flex-direction:column;gap:32px}.app-brand{font-size:29px;font-weight:750;color:var(--ink);letter-spacing:-1px}.app-brand span{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted)}nav{display:grid;gap:5px}nav a{padding:10px 14px;border-radius:7px;color:var(--muted);font-size:14px;font-weight:600}nav a[aria-current=page]{background:var(--soft);color:var(--blue)}nav .divider{border-top:1px solid var(--line);margin:12px 0}.local-note{margin-top:auto;font-size:13px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px}.local-note p{font-size:12px}.local-note button{font-size:13px;background:none;border:0;padding:0;color:var(--blue)}main{padding:40px clamp(20px,4vw,64px);min-width:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue)}h1{font-size:36px;letter-spacing:-1.3px;line-height:1.2;margin:12px 0}h2{font-size:20px;letter-spacing:-.5px;line-height:1.3;margin:0 0 12px}h3{font-size:16px;margin:0 0 8px}p{color:var(--muted);margin:0 0 18px}.intro p{font-size:16px}.framing{border-left:3px solid var(--blue);background:var(--soft);font-size:14px;padding:12px 16px;margin:25px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:18px;min-width:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.stat{border:1px solid var(--line);background:var(--card);padding:20px;border-radius:10px}.stat span{display:block;font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:30px;font-weight:600;letter-spacing:-1px}.button,button.primary,button.secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:44px;border:1px solid var(--line);background:var(--card);border-radius:7px;font-weight:600;font-size:14px;color:var(--ink)}.primary,.button.primary,button.primary{background:#0b5cad;color:white;border-color:#0b5cad}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:6px;font-size:14px;font-weight:550}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--bg);padding:10px 12px;border-radius:6px;min-height:44px}input[type=checkbox]{width:18px;min-height:18px}.check{display:flex;align-items:center;gap:7px}.weekdays{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.help,small{font-size:13px;color:var(--muted)}.help{margin:12px 0}.pill{font-size:12px;font-weight:650;color:var(--blue);background:var(--soft);padding:4px 9px;border-radius:99px;display:inline-block}.pill.bad,.warning{color:var(--red)}.pill.warn{color:var(--amber)}.pill.good{color:var(--green)}.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.row h2,.row h3{margin:0}.list-row{padding:16px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row p{font-size:14px;margin:5px 0}.empty{padding:34px 10px;text-align:center}.empty p{max-width:460px;margin:10px auto 20px}.empty-mark{font-size:32px;color:var(--blue);margin-bottom:12px}.result{padding:30px;background:var(--soft);border:1px solid var(--line);border-radius:12px;align-self:start}.result-value{font-size:48px;line-height:1.2;font-weight:600;letter-spacing:-2px;margin:18px 0 4px}.result-value span{font-size:18px;letter-spacing:0}.barrel{height:42px;border:2px solid var(--blue);margin:25px 0 0;position:relative;background:repeating-linear-gradient(90deg,transparent,transparent calc(10% - 1px),var(--muted) calc(10% - 1px),var(--muted) 10%);border-radius:4px;overflow:hidden}.fill{height:100%;background:color-mix(in srgb,var(--blue) 35%,transparent);border-right:3px solid var(--blue)}.ticks{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:4px 0 24px}.segmented{display:flex;gap:6px;background:var(--bg);padding:5px;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.segmented button{flex:1;padding:9px;border:0;border-radius:5px;font-size:14px;background:transparent}.segmented button[aria-pressed=true]{background:var(--card);color:var(--blue);box-shadow:0 1px 4px #0001}progress{width:100%;height:9px;accent-color:var(--blue);margin:14px 0 0}.error,#notice:not(:empty){padding:12px 16px;border:1px solid var(--line);background:var(--card);border-radius:6px;margin-bottom:18px}.error{color:var(--red)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted)}.danger{color:var(--red);background:transparent;border:1px solid var(--line);border-radius:6px;padding:5px 10px}.library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.library .card{margin:0}.library p{font-size:14px;margin:12px 0}.wide{grid-column:1/-1}details{margin-top:15px}summary{cursor:pointer;color:var(--blue);font-size:14px}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}dt{font-size:13px;color:var(--muted)}dd{margin:0;text-align:right;font-weight:600}.support-nav{border-top:1px solid var(--line)}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}aside{padding:25px 12px}main{padding:30px 22px}.grid{grid-template-columns:1fr}.library{grid-template-columns:1fr}}@media(max-width:650px){header{height:65px;padding:0 18px;gap:14px}.shell{display:block}aside{padding:18px 16px 0;border-right:0;border-bottom:1px solid var(--line);gap:16px}.app-brand{font-size:23px}.app-brand span,.local-note{display:none}nav{display:flex;overflow:auto;padding-bottom:12px;gap:4px}nav a{white-space:nowrap;padding:8px 12px}nav .divider{display:none}main{padding:24px 16px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:25px}.stat span{font-size:12px}.card{padding:20px}.form-grid{grid-template-columns:1fr}h1{font-size:30px}.row{flex-wrap:wrap}header>a:nth-child(2){font-size:12px}.result-value{font-size:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Glass syringe result: generated housing with a calibrated, moving overlay. */
.calculator-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:22px;align-items:start}.precision-result{padding:24px;background:var(--card);min-width:0}.precision-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.precision-head h2{margin:7px 0 0}.precision-head .pill{white-space:nowrap}.syringe-stage{margin-top:14px;border-radius:10px;background:#fff;color:#14283e;padding:0 12px 14px;overflow:hidden}.syringe-main,.syringe-detail{display:block;width:100%;overflow:visible}.precision-bottom{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:14px;align-items:stretch}.precision-detail{min-width:0;padding:12px 10px 2px;border:1px solid #b9d5ee;border-radius:12px;background:linear-gradient(#f5faff,#fff)}.precision-detail .row{gap:6px;font-size:13px}.precision-detail .row span{color:#526b83;font-size:12px}.precision-value{border:1px solid #0b5cad;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#0b5cad;gap:4px;padding:12px 6px;min-width:0;overflow-wrap:anywhere;text-align:center}.precision-value strong{font-size:clamp(20px,3vw,34px);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;max-width:100%}.precision-value small{font-size:12px;color:#526b83}.precision-note{font-size:13px;margin:16px 0}.precision-equivalent{font-size:16px;color:var(--blue);font-weight:600;padding:12px 0;border-block:1px solid var(--line)}
@media(max-width:1200px){.calculator-layout{grid-template-columns:1fr}.calculator-layout>.card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.precision-result{padding:16px}.precision-bottom{grid-template-columns:1fr}.precision-value{flex-direction:row;gap:10px;padding:12px}.precision-value strong{font-size:26px}.calculator-layout>.card .form-grid{grid-template-columns:1fr}.syringe-stage{padding-inline:0}.precision-detail .row{font-size:14px}}

.elapsed-reminder{display:grid;gap:3px;padding:12px 14px;margin:12px 0 6px;border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 9%,var(--card));border-radius:0 7px 7px 0}.elapsed-reminder strong{font-size:14px;color:var(--amber)}.elapsed-reminder span{font-size:14px}.elapsed-reminder small{font-size:13px;line-height:1.5;color:var(--muted)}

.shot-count{margin:1rem 0;padding:1rem;background:var(--surface);border:1px solid currentColor;border-radius:12px}.shot-count p{margin:.5rem 0}.vial-details{display:grid;gap:1rem;margin-top:1rem}.backup-status{margin-bottom:1rem}#app-update:not([hidden]){padding:1rem;border:1px solid #0b5cad;border-radius:12px;margin-bottom:1rem}#app-update button{margin-top:.5rem}details summary{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}

.form-grid>*,select{min-width:0}select{max-width:100%}.shot-count p,.help,td{overflow-wrap:anywhere}
.component-row,.exercise-row{padding:1rem;margin:1rem 0;border:1px solid var(--line,#ccd5df);border-radius:12px}.component-result{margin:1rem 0;padding:1rem;border:1px solid var(--line,#ccd5df);border-radius:12px}.water-controls{display:flex;gap:.5rem;align-items:center}.water-controls input{width:5rem;text-align:center}.water-controls button{white-space:nowrap}.exercise-check{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line,#ccd5df)}.exercise-check input{width:1.3rem;height:1.3rem;flex:0 0 auto}.exercise-check span{display:grid;gap:.3rem}fieldset{margin:1rem 0;border:1px solid var(--line,#ccd5df);border-radius:12px;padding:1rem}fieldset .check{margin:.6rem 0}input[readonly]{opacity:.85}#blend-editor[hidden]{display:none}#training-form>.actions{margin-top:1rem}

/* Progress illustrations convey recorded amounts, never medical targets. */
.wellness-visuals{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin:22px 0}.health-display{text-align:center;padding:20px;border:1px solid var(--line,#dbe4ed);border-radius:20px;background:var(--surface,#f6faff)}.health-display p{max-width:58ch;margin:12px auto}.health-display small{display:block;line-height:1.6}.water-cup{position:relative;width:100px;height:132px;margin:0 auto;overflow:hidden;border:3px solid #5895ba;border-top:2px solid #9ebfd3;border-radius:8px 8px 24px 24px;background:linear-gradient(90deg,#badcf022,#fff5,#badcf022)}.water-cup>div{position:absolute;bottom:0;width:100%;height:0;background:linear-gradient(135deg,#6fd1f2,#247cdb);transition:height .65s ease}.water-cup>div:before{content:'';position:absolute;top:-5px;left:-25%;width:150%;height:14px;background:#bcecff99;border-radius:50%;animation:water-wave 3s ease-in-out infinite alternate}.water-cup span{position:absolute;top:7px;left:0;width:100%;font-size:12px;color:#235477;font-weight:700}.sleep-face{display:inline-block;font-size:58px;line-height:1.4;animation:gentle-breathe 4s ease-in-out infinite}.fast-orbit{font-size:70px;color:#348eca;line-height:1.4}.fast-orbit.moving{animation:gentle-breathe 4s ease-in-out infinite}.fast-stages{display:flex;gap:8px;padding:0;list-style:none;justify-content:center;flex-wrap:wrap}.fast-stages li{padding:8px 12px;border-radius:16px;background:#8290a51a;font-size:13px}.fast-stages [aria-current=step]{background:#2879b8;color:white}.dose-step{padding:14px 0;border-top:1px solid var(--line,#dbe4ed)}#rest-status:not(:empty){position:sticky;top:10px;z-index:2;padding:14px 20px;background:#194b70;color:white;border-radius:14px}.health-display a{text-decoration:underline}[data-theme=dark] .health-display{background:#14283b}.actions{flex-wrap:wrap}@keyframes water-wave{to{transform:translateX(12px) rotate(4deg)}}@keyframes gentle-breathe{50%{transform:translateY(-3px) scale(1.04)}}@media(max-width:600px){.wellness-visuals{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.sleep-face,.fast-orbit.moving,.water-cup>div:before{animation:none}.water-cup>div{transition:none}}

/* Fuel-path diagram and recorded-weight plots share the app's blue palette. */
.fast-stage-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.fast-explainer .eyebrow{font-size:12px;letter-spacing:.11em}.fuel-diagram{overflow-x:auto;margin:14px 0;background:radial-gradient(ellipse at 75% 50%,#379bc918,transparent 65%);border-radius:20px}.fuel-diagram svg{display:block;width:100%;min-width:520px;max-width:820px;margin:auto}.fuel-track{fill:none;stroke:var(--line);stroke-width:2}.fuel-route{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 13;opacity:0}.fuel-route.flowing{opacity:1;animation:fuel-travel 1.6s linear infinite}.fuel-route.meal{stroke:#b97615}.fuel-route.glycogen{stroke:#3289ce}.fuel-route.fat{stroke:#158878}.fuel-route.ketones{stroke:#8a68c9}.fuel-node rect{fill:var(--card);stroke:var(--line);stroke-width:1.5}.fuel-node.lit rect{stroke:#3289ce;fill:color-mix(in srgb,var(--card) 92%,#3289ce)}.fuel-node.lit.fat rect{stroke:#158878}.fuel-node.lit.meal rect{stroke:#b97615}.fuel-node text,.body-energy text{text-anchor:middle;fill:var(--ink);font:600 18px Inter,system-ui,sans-serif}.fuel-node .fuel-subtitle,.body-energy .fuel-subtitle{font-size:13px;font-weight:400;fill:var(--muted)}.body-energy circle{fill:var(--card);stroke:var(--line);stroke-width:2}.body-energy.energized circle{stroke:#3289ce}.body-energy .energy-halo{fill:#3289ce0c;stroke-width:1}.body-energy.energized .energy-halo{animation:energy-pulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ketone-label{fill:#8a68c9;font:14px Inter,system-ui,sans-serif}.fast-explanation{border-left:3px solid #3289ce;padding:6px 18px;margin:10px 0 22px}.fast-explanation h3{font-size:24px;margin:8px 0}.fast-explanation p{max-width:66ch;margin:0}.fast-window-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.fast-window-buttons button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:15px;min-height:91px}.fast-window-buttons span{font-size:14px}.fast-window-buttons strong{font-size:16px}.fast-window-buttons small{font-size:12px}.fast-window-buttons [aria-pressed=true]{background:#195d90;color:white;border-color:#195d90}.fast-references{font-size:14px;color:var(--muted)}.weight-stats .stat strong{font-size:32px}.weight-stats .stat strong small{font-size:16px;font-weight:500}.weight-stats .stat>small{font-size:13px;color:var(--muted);display:block;margin-top:8px}.weight-visual{overflow:hidden}.weight-chart-scroll{overflow-x:auto}.weight-chart{display:block;width:100%;min-width:600px;margin:18px 0 4px;animation:plot-reveal .35s ease-out}.weight-chart text{font:17px Inter,system-ui,sans-serif;fill:var(--muted)}.weight-grid{fill:none;stroke:var(--line);stroke-width:1}.weight-band{fill:#15887818}.weight-line{fill:none;stroke:#3289ce;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.weight-average{fill:none;stroke:#158878;stroke-width:3;stroke-dasharray:9 7;stroke-linecap:round}.weight-dot{fill:#3289ce;stroke:var(--card);stroke-width:2}.weight-dot.selected{stroke:#195d90;fill:var(--card);stroke-width:3}.weight-legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px;margin:12px 0 20px;color:var(--muted)}.weight-legend span{display:flex;align-items:center;gap:8px}.weight-legend i{display:inline-block;width:22px;height:3px;background:#3289ce}.weight-legend .legend-average{background:repeating-linear-gradient(90deg,#158878 0 6px,transparent 6px 9px)}.weight-legend .legend-band{height:12px;background:#15887830}.weight-inspector{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:15px;border-radius:14px;background:var(--soft)}.weight-inspector label{min-width:180px}.weight-inspector p{flex:1;min-width:190px;margin:0}.weight-empty{text-align:center;padding:28px 16px}.weight-empty svg{width:250px;max-width:100%;fill:none;stroke:#3289ce77;stroke-width:2}.weight-empty h3{margin-bottom:8px}.weight-empty p{color:var(--muted)}[data-theme=dark] .fuel-route.meal{stroke:#e5ad57}[data-theme=dark] .fuel-route.fat,[data-theme=dark] .weight-average{stroke:#53bfb0}[data-theme=dark] .fuel-route.ketones{stroke:#b999ef}[data-theme=dark] .ketone-label{fill:#b999ef}@keyframes fuel-travel{to{stroke-dashoffset:-32}}@keyframes energy-pulse{50%{opacity:.35;transform:scale(.94)}}@keyframes plot-reveal{from{opacity:.2}to{opacity:1}}@media(max-width:620px){.fast-window-buttons{grid-template-columns:1fr}.fast-window-buttons button{min-height:0;display:grid;grid-template-columns:100px 1fr;align-items:center}.fast-window-buttons small{grid-column:2}.fast-explanation h3{font-size:21px}.weight-stats .stat strong{font-size:27px}.weight-visual>.row{align-items:flex-start;gap:10px}.weight-visual .segmented{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.fuel-route.flowing,.body-energy.energized .energy-halo,.weight-chart{animation:none}}

/* The app's own landing identity: abstract orbit layers, independent of records. */
.app-intro{position:relative;isolation:isolate;overflow:hidden;min-height:170px;padding:24px 26px 44px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(115deg,var(--card),var(--soft));transition:min-height .3s ease}.app-intro-copy{position:relative;z-index:1;max-width:70%}.app-intro-copy .eyebrow{font-size:12px}.app-intro-copy p{max-width:410px;margin-bottom:0}.app-intro-motion{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.5}.app-aura{position:absolute;width:440px;height:440px;right:-110px;top:-130px;border-radius:50%;background:radial-gradient(ellipse,#218bdd30,transparent 67%);animation:app-aura-drift 16s ease-in-out infinite alternate}.app-orb{position:absolute;right:3%;top:50%;width:210px;height:210px;margin-top:-105px;perspective:600px;animation:app-orb-drift 19s ease-in-out infinite alternate}.app-orb-ring{position:absolute;inset:12%;border:1.5px solid #3c9fe68c;border-radius:50%;transform-style:preserve-3d;box-shadow:inset 0 0 22px #399bdf0a,0 0 20px #399bdf0a;animation:app-orb-spin 27s linear infinite}.app-orb-ring i{position:absolute;top:6%;left:21%;width:8px;height:8px;border-radius:50%;background:#56b9f2;box-shadow:0 0 0 5px #399bdf12,0 0 18px #399bdf66}.ring-a{--orbit-tilt:64deg;--orbit-angle:-20deg}.ring-b{inset:3%;--orbit-tilt:58deg;--orbit-angle:66deg;border-color:#2fb7c293;animation-duration:34s;animation-direction:reverse}.ring-b i{background:#41c3d0;left:73%;top:14%}.ring-c{inset:21%;--orbit-tilt:30deg;--orbit-angle:125deg;border-color:#688cd18c;animation-duration:41s}.app-orb-core{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(circle at 32% 24%,#c8f6ff88,#61bcea33 44%,#3584df0a 68%,transparent 74%);box-shadow:0 0 38px #389bef18;animation:app-core-breathe 7s ease-in-out infinite alternate}.app-motion-control{position:absolute;z-index:2;right:17px;bottom:12px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:500;padding:5px 9px;border:1px solid var(--line);border-radius:99px;background:var(--card);cursor:pointer}.app-motion-control input{width:14px;height:14px;min-height:14px;accent-color:var(--blue);margin:0}[data-app-view=today] .app-intro{min-height:218px;padding-top:34px}[data-app-view=today] .app-intro-motion{opacity:1}[data-app-view=today] .app-orb{width:280px;height:280px;margin-top:-140px;right:1%}[data-app-view=today] .app-intro h1{font-size:42px}[data-theme=dark] .app-orb-core{background:radial-gradient(circle at 32% 24%,#c8f6ff77,#61bcea30 44%,#3584df08 68%,transparent 74%)}@keyframes app-orb-spin{from{transform:rotateZ(var(--orbit-angle)) rotateX(var(--orbit-tilt)) rotateZ(0deg)}to{transform:rotateZ(var(--orbit-angle)) rotateX(var(--orbit-tilt)) rotateZ(360deg)}}@keyframes app-orb-drift{from{transform:translate(0,-5px) rotate(-8deg)}to{transform:translate(-10px,7px) rotate(8deg)}}@keyframes app-aura-drift{to{transform:translate(-12%,12%) scale(1.1)}}@keyframes app-core-breathe{to{transform:scale(1.12);opacity:.65}}@media(max-width:760px){.app-intro{padding:22px 20px 50px}.app-intro-copy{max-width:78%}.app-intro-copy p{max-width:310px}.app-orb,[data-app-view=today] .app-orb{right:-75px}.app-intro-motion,[data-app-view=today] .app-intro-motion{opacity:.48}[data-app-view=today] .app-intro{min-height:210px;padding-top:26px}}@media(max-width:420px){.app-intro-copy{max-width:88%}.app-intro-copy .eyebrow{font-size:11px;letter-spacing:.1em}.app-orb,[data-app-view=today] .app-orb{right:-130px}.app-intro-copy p{font-size:14px}.app-intro h1,[data-app-view=today] .app-intro h1{font-size:34px}}@media(prefers-reduced-motion:reduce){.app-intro-motion *{animation:none!important}.app-intro{transition:none}.app-orb-ring{transform:rotateZ(var(--orbit-angle)) rotateX(var(--orbit-tilt))}.app-motion-control{display:none}}@media print{.app-intro-motion,.app-motion-control{display:none}}

/* Inline vial-shaped quantity gauges: no image requests or animation runtime. */
.vial-visual{--vial-top:#89d8f6;--vial-bottom:#328ace;display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 14px;align-items:center;margin:14px 0 20px;padding:14px 16px 10px;background:linear-gradient(130deg,var(--soft),var(--card));border:1px solid var(--line);border-radius:16px}.vial-visual.is-blend{--vial-top:#b6beff;--vial-bottom:#7872d5}.vial-visual.is-closed{--vial-top:#aec2cf;--vial-bottom:#71879b}.vial-gauge{display:block;width:112px;height:auto;overflow:visible}.vial-shadow{fill:#213d6610}.vial-neck{fill:var(--card);stroke:#a6bfd1;stroke-width:1.5}.vial-glass{stroke:#87b2d0;stroke-width:1.6}.vial-cap{fill:var(--vial-bottom);stroke:#ffffff55;stroke-width:1}.vial-cap-lines{stroke:#ffffff66;stroke-width:1.5;stroke-linecap:round}.vial-reflection{stroke:#ffffff88;stroke-width:4;stroke-linecap:round;fill:none}.vial-meniscus{fill:#ffffff66}.vial-tick{stroke:var(--muted);stroke-width:1;opacity:.65}.vial-tick-label{font:12px system-ui,sans-serif;fill:var(--muted);text-anchor:middle}.vial-visual-copy{min-width:0}.vial-visual-copy>.eyebrow{font-size:10px;letter-spacing:.1em;display:block}.vial-visual-copy>strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;font-size:clamp(25px,3vw,36px);letter-spacing:-1px;line-height:1.25;margin:7px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.vial-visual-copy strong small{font-size:14px;letter-spacing:0;font-weight:500}.vial-visual-copy p{font-size:16px;color:var(--ink);font-weight:650;margin:0 0 5px;overflow-wrap:anywhere}.vial-visual-copy p span{font-size:14px;color:var(--muted);font-weight:400}.vial-visual-copy>small{display:block;font-size:12px}.vial-visual-copy .pill{margin-top:8px}.vial-gauge-note{grid-column:1/-1;margin:6px 0 0;font-size:11px;color:var(--muted);line-height:1.5}[data-theme=dark] .vial-shadow{fill:#0003}[data-theme=dark] .vial-reflection{stroke:#ffffff44}@media(max-width:400px){.vial-visual{grid-template-columns:90px minmax(0,1fr);gap:0 10px;padding:12px}.vial-gauge{width:90px}.vial-visual-copy>strong{font-size:27px}} 

/* Compact cycle inventory pictograms and the app's progress dashboard. */
.cycle-vial-rack{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:13px 0;margin:6px 0}.rack-icons{display:flex;gap:1px;align-items:center;flex-wrap:wrap;max-width:235px}.rack-icons svg{width:25px;height:37px;flex:none}.rack-icons>span{font-size:13px;color:var(--muted);padding-left:5px}.rack-neck{fill:var(--card);stroke:#91b9d4}.rack-glass{fill:var(--soft);stroke:#85adcb;stroke-width:1.2}.rack-fill{fill:#71bfe8}.rack-cap{fill:#347ea9}.rack-shine{fill:none;stroke:#ffffff88;stroke-width:1.8;stroke-linecap:round}.cycle-vial-rack strong{display:block;font-size:15px}.cycle-vial-rack small{display:block;font-size:12px;margin-top:2px}.cycle-dashboard-heading{margin-bottom:18px}.cycle-dashboard-heading .help{margin-bottom:0}.cycle-dashboard-grid{align-items:stretch;gap:16px;margin-bottom:10px}.cycle-dashboard-card{margin:0;padding:23px;background:linear-gradient(145deg,var(--card) 65%,var(--soft));display:flex;flex-direction:column}.cycle-dashboard-card>.row h3{font-size:18px}.cycle-dashboard-card>.help{margin:8px 0 17px}.cycle-completion{display:flex;align-items:center;gap:22px;margin:3px 0 22px}.cycle-ring{--cycle-progress:0%;width:100px;height:100px;flex:none;border-radius:50%;background:conic-gradient(var(--blue) var(--cycle-progress),var(--line) 0);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.cycle-ring:before{content:'';position:absolute;inset:7px;background:var(--card);border-radius:50%;z-index:-1}.cycle-ring strong{font-size:25px;line-height:1.2;letter-spacing:-.8px}.cycle-ring strong small{font-size:13px}.cycle-ring>span{font-size:12px;color:var(--muted)}.cycle-numbers>strong{font-size:32px;font-weight:650;line-height:1.25;letter-spacing:-1px}.cycle-numbers>strong span{font-size:20px;color:var(--muted);font-weight:400}.cycle-numbers p{font-size:14px;margin:3px 0 7px}.cycle-numbers small{font-size:12px;display:block}.cycle-next{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px}.cycle-next>span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.cycle-next>strong{font-size:14px;display:block}.cycle-next>small{display:block;margin-top:3px}.cycle-dashboard-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;font-size:12px;color:var(--muted)}.cycle-dashboard-footer a{font-size:13px;font-weight:600}.today-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.today-slot-grid>.empty{grid-column:1/-1}.cycle-dashboard-grid>.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:14px;background:var(--card)}@media(max-width:650px){.cycle-completion{gap:15px}.cycle-dashboard-card{padding:20px}.today-slot-grid{grid-template-columns:1fr}.cycle-dashboard-heading{align-items:flex-start}.cycle-dashboard-heading .button{font-size:12px;padding-inline:10px}}

.weight-history-row{flex-wrap:wrap}.weight-history-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.weight-history-actions button{min-height:40px;padding:7px 12px}@media(max-width:440px){.weight-history-row>span:first-child{flex-basis:40%}.weight-history-actions{margin-left:0}}

.guide-intro p{margin-bottom:0;max-width:70ch}.guide-intro h2{margin-top:8px}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guide-steps>.card{display:flex;flex-direction:column;padding:22px}.guide-step-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--blue);font-size:18px;font-weight:700;margin-bottom:16px}.guide-steps ol{padding-left:21px;margin:2px 0 12px;font-size:14px}.guide-steps li{margin-bottom:12px;padding-left:3px}.guide-steps .button{align-self:flex-start;margin-top:auto}.guide-sections details{border-top:1px solid var(--line);padding:13px 0 0;margin-top:13px}.guide-sections summary{font-size:15px;font-weight:600;line-height:1.6}.guide-sections details p{font-size:14px;max-width:80ch;line-height:1.75;margin:12px 0}.guide-sections details>a{font-size:14px}.guide-sections h2{margin-bottom:18px}@media(max-width:1200px){.guide-steps{grid-template-columns:1fr}.guide-steps>.card{padding:22px}.guide-steps ol{max-width:80ch}}
