/* ===== REPAIR BATCH, A (9 Oct 2026): the Nutrition page ===== *//* the page's name stays for a screen reader; the room it took on screen goes to water */


body.pm-premium #eat>h1{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
body.pm-premium #eat>.kicker.wm{margin-bottom:10px}/* the water strip under the macros */

body.pm-premium .wstrip{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 10px 10px 12px;border-radius:16px;background:var(--vr-slab,var(--surface));box-shadow:var(--vr-edge),var(--vr-lift)}
body.pm-premium .wstrip .ws-ico{flex:none;width:22px;height:34px;display:flex;align-items:center;justify-content:center}/* THE COMPACT DIAL (9 Oct, the owner's choice): calories as a dial on the left, Protein / Carbs / Fat as rails on the right,
   what is left under the dial, water directly underneath. The rules carry the deck's own id so the vessel rules above yield. */

body.pm-premium #fuelDeck.dial-deck{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:0 14px!important;align-items:center!important;padding:6px 4px 2px!important;--vh:0px;justify-content:stretch!important}
@media (min-width:900px){ body.pm-premium #fuelDeck.dial-deck{grid-template-columns:auto minmax(0,1fr)!important;justify-content:stretch!important;gap:0 28px!important} }
body.pm-premium #fuelDeck.dial-deck .mac-cap{display:none!important}
body.pm-premium #fuelDeck.dial-deck .v-cal{grid-column:auto;display:flex;flex-direction:column;align-items:center;gap:3px;margin:0}
body.pm-premium #fuelDeck.dial-deck .dd-ringwrap{position:relative;width:128px;height:128px;border-radius:50%;background:linear-gradient(160deg,#FBFAF8 0%,#E9E8E5 100%);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(30,31,33,.08),0 10px 22px -12px rgba(30,31,33,.45)}/* the groove the arc runs in, cut into the bezel, and the disc that stands up inside it */

body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#E3E2DF;box-shadow:inset 0 2px 4px rgba(30,31,33,.22),inset 0 -1px 0 rgba(255,255,255,.9)}
body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::after{content:"";position:absolute;inset:21px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#FFFFFF 0%,#F7F6F3 55%,#ECEBE8 100%);box-shadow:0 2px 3px rgba(30,31,33,.16),0 8px 14px -8px rgba(30,31,33,.35),inset 0 1px 0 #fff}
body.pm-premium #fuelDeck.dial-deck .dd-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);display:block;z-index:1}
body.pm-premium #fuelDeck.dial-deck .dd-track{fill:none;stroke:transparent;stroke-width:13}
body.pm-premium #fuelDeck.dial-deck .dd-arc{fill:none;stroke:var(--accent,#A7CFF2);stroke-width:13;stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:326.73;transition:stroke-dashoffset .75s cubic-bezier(.22,1.15,.36,1);filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}
body.pm-premium #fuelDeck.dial-deck .dd-arc.over{stroke:#3E3F40}
body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0!important;height:auto!important;gap:0}
body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read b{font-size:31px!important;line-height:1;letter-spacing:-.04em;color:var(--ink)}
body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read .tg{font-size:var(--ui-meta,14px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;color:var(--ink-2)}
body.pm-premium #fuelDeck.dial-deck .v-cal .fuel-left{position:static;justify-self:center;padding:0;margin-top:4px;font-size:15px;font-weight:800;color:var(--ink);white-space:nowrap}
body.pm-premium #fuelDeck.dial-deck .v-cal .fuel-left.over{color:#8A2F2F}
body.pm-premium #fuelDeck.dial-deck .v-cal .vs-x{position:static;margin:0;font-size:var(--ui-meta,14px)}
body.pm-premium #fuelDeck.dial-deck .fuel-left:empty,body.pm-premium #fuelDeck.dial-deck .vs-x:empty{display:none}
.dial-deck .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
body.pm-premium #fuelDeck.dial-deck .dd-rails{display:flex;flex-direction:column;gap:8px;min-width:0}
body.pm-premium #fuelDeck.dial-deck .dd-rails .fv{display:block;width:auto;min-width:0;--k:1}
body.pm-premium #fuelDeck.dial-deck .dd-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
body.pm-premium #fuelDeck.dial-deck .dd-rails .vs-name{display:block;margin:0;font-size:var(--ui-meta,14px)}
body.pm-premium #fuelDeck.dial-deck .dd-rails .vs-x{margin:3px 0 0;font-size:var(--ui-meta,14px)}
body.pm-premium #fuelDeck.dial-deck .dd-val{display:flex!important;align-items:baseline;gap:5px;margin:0!important;height:auto!important;flex-direction:row}
body.pm-premium #fuelDeck.dial-deck .dd-val b{font-size:18px!important;line-height:1;letter-spacing:-.02em}
body.pm-premium #fuelDeck.dial-deck .dd-rail{position:relative;height:12px!important;width:auto!important;min-width:0;margin:5px 0 0;border-radius:999px!important;background:#E6E5E2;box-shadow:inset 0 1.5px 3px rgba(30,31,33,.16),inset 0 -1px 0 rgba(255,255,255,.9);overflow:hidden}
body.pm-premium #fuelDeck.dial-deck .dd-rail::before,body.pm-premium #fuelDeck.dial-deck .dd-rail .vs-glass,body.pm-premium #fuelDeck.dial-deck .dd-rail .vs-men{display:none}
body.pm-premium #fuelDeck.dial-deck .dd-rail .vs-fill{position:absolute;left:0;top:0;bottom:0;right:auto;height:100%!important;width:0%;border-radius:999px;transition:width .75s cubic-bezier(.22,1.15,.36,1);background:var(--accent,#A7CFF2)}
body.pm-premium #fuelDeck.dial-deck .v-pro .dd-rail .vs-fill{background:#8792A2}
body.pm-premium #fuelDeck.dial-deck .dd-rail .vs-fill.over{background:#3E3F40}
body.pm-premium #fuelDeck.dial-deck .dd-val .tg{font-size:var(--ui-meta,14px);font-weight:700;color:var(--ink-3);white-space:nowrap;margin:0}
body.pm-premium #fuelDeck.dial-deck .fv.unk .dd-rail{outline:1.5px dashed rgba(47,106,154,.55);outline-offset:-1.5px}
body.pm-premium #fuelDeck.dial-deck .fv.unk .dd-ringwrap{outline:1.5px dashed rgba(47,106,154,.55);outline-offset:4px;border-radius:50%}
body.pm-premium #fuelDeck.dial-deck .fv.notgt .dd-rail{opacity:.45}
body.pm-premium #fuelDeck.dial-deck.landed .vs-body{animation:none}
body.pm-premium #fuelDeck.dial-deck.landed .dd-ringwrap{animation:deckLand .5s cubic-bezier(.2,1.2,.3,1)}
body.pm-premium .rings-card .wstrip{margin-top:10px}
body.pm-premium .rings-card .deck-foot{margin-top:8px!important}
/* 360 included since the blue pass: with the three macro rings under the dial, the compact sizes keep Photo, Barcode, Label and Search above the navigation on a 360x740 phone */
@media (max-width:360px){ body.pm-premium #fuelDeck.dial-deck{gap:0 10px!important} body.pm-premium #fuelDeck.dial-deck .dd-ringwrap{width:106px;height:106px} body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::before{inset:7px} body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::after{inset:18px} body.pm-premium #fuelDeck.dial-deck .dd-arc,body.pm-premium #fuelDeck.dial-deck .dd-track{stroke-width:12} body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read b{font-size:25px!important} body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read .tg{font-size:var(--ui-meta,14px)} body.pm-premium #fuelDeck.dial-deck .dd-val b{font-size:16px!important} body.pm-premium #fuelDeck.dial-deck .dd-val .tg{font-size:var(--ui-meta,14px)} }
@media (max-height:760px) and (max-width:899px){ body.pm-premium #fuelDeck.dial-deck .v-cal .vs-read b{font-size:26px!important} }
:root[data-theme="dark"] body.pm-premium #fuelDeck.dial-deck .dd-ringwrap{background:#1E1F21;box-shadow:none}
:root[data-theme="dark"] body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::before{background:#2A2B2E;box-shadow:inset 0 2px 4px rgba(0,0,0,.5)}
:root[data-theme="dark"] body.pm-premium #fuelDeck.dial-deck .dd-ringwrap::after{background:#1E1F21;box-shadow:0 2px 4px rgba(0,0,0,.5)}
:root[data-theme="dark"] body.pm-premium #fuelDeck.dial-deck .dd-rail{background:#2A2B2E;box-shadow:none}/* INTEGRATION (9 Oct): Home option B bleeds the figure past the page edge on purpose, but the page must not scroll
   sideways for it (vr1 and uihq caught 75 px of sideways scroll at 390). The page clips at the viewport while Home is up;
   the figure still runs to the edge, nothing else changes. *//* INTEGRATION (9 Oct): Home option B bleeds the figure past the page edge on purpose, but the page must not scroll
   sideways for it (vr1 and uihq caught 75 px of sideways scroll at 390). The root clips sideways overflow while Home
   shows; the figure still runs to the edge, nothing else changes. */


html:has(body.pm-premium #today.hm-b:not(.hide)){overflow-x:clip}
/* short or narrow phones (360 x 740 and under): the strip and the Log food head draw in so Photo, Barcode, Label and
   Search still sit above the navigation without a scroll, as they did before the strip arrived (vr3 caught it, 9 Oct) */
@media (max-height:780px){ body.pm-premium .wstrip{margin-top:6px;padding:5px 10px 5px 12px} body.pm-premium .wstrip .ws-ico{height:28px} body.pm-premium #fuelSec{margin-bottom:10px} body.pm-premium #aiFoodSec{margin-top:10px} body.pm-premium #aiFoodSec .sec-head{margin-bottom:6px} }
body.pm-premium .wstrip .ws-ico img{width:100%;height:100%;object-fit:contain}
body.pm-premium .wstrip .ws-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
body.pm-premium .wstrip .ws-t b{font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
body.pm-premium .wstrip .ws-t b span{font-size:19px}
body.pm-premium .wstrip .ws-t small{font-size:var(--ui-meta,14px);font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pm-premium .wstrip .ws-add{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:14px;background:var(--accent);color:#14304F;font:inherit;font-size:14px;font-weight:800;letter-spacing:-.01em;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 6px 14px -8px rgba(30,31,33,.45);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
body.pm-premium .wstrip .ws-add:active{transform:translateY(1px) scale(.98)}
body.pm-premium .wstrip .ws-more{flex:none;min-height:44px;padding:0 6px;border:0;background:none;font:inherit;font-size:var(--ui-meta,14px);font-weight:700;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:359px){ body.pm-premium .wstrip .ws-more{display:none} body.pm-premium .wstrip{gap:8px} }/* the water card: one reading, one big pour, today's pours to take back */

body.pm-premium .wcard .wbtns{display:grid!important;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:14px}
body.pm-premium .wcard .wbtns button{min-height:50px;border-radius:14px;padding:0 10px;font-size:14px;font-weight:800;color:var(--ink);background:var(--vr-key,var(--surface));border:0;box-shadow:var(--vr-edge),var(--vr-lift);white-space:nowrap;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
body.pm-premium .wcard .wbtns button small{display:block;font-size:var(--ui-meta,14px);font-weight:700;opacity:.82}
body.pm-premium .wcard .wbtns button.primary{grid-row:1/3;grid-column:1;background:var(--accent);color:#14304F;font-size:17px;min-height:0}
body.pm-premium .wcard .wbtns button.other{grid-column:1/-1;min-height:44px;color:var(--ink-2);font-weight:700;background:var(--surface);box-shadow:0 0 0 1px rgba(30,31,33,.08) inset}
body.pm-premium .wcard .wbtns button:active{transform:translateY(1px) scale(.98)}
body.pm-premium .wpours{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
body.pm-premium .wpours.hide{display:none}
body.pm-premium .wpours .wp-k{font-size:var(--ui-meta,14px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:2px}
body.pm-premium .wpour{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 6px 0 12px;border:0;border-radius:999px;background:var(--surface);box-shadow:0 0 0 1px rgba(30,31,33,.08) inset;font:inherit;font-size:var(--ui-meta,14px);font-weight:600;color:var(--ink-2);cursor:pointer;font-variant-numeric:tabular-nums}
body.pm-premium .wpour b{font-weight:800;color:var(--ink)}
body.pm-premium .wpour small{font-size:var(--ui-meta,14px);color:var(--ink-3)}
body.pm-premium .wpour i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(30,31,33,.07);font-style:normal;font-size:15px;color:var(--ink-2)}
body.pm-premium .wpour:active{transform:scale(.97)}
body.pm-premium .wcard .wmore{margin-top:12px}/* the logged card */

.logcard{position:fixed;left:16px;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:var(--z-float,60);display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:18px;background:var(--vr-slab,var(--surface));box-shadow:var(--vr-edge),0 18px 40px -16px rgba(30,31,33,.55),0 0 0 1px rgba(30,31,33,.06);opacity:0;transform:translateY(14px);pointer-events:none;transition:.26s var(--ease);max-width:560px;margin:0 auto}
.logcard.on{opacity:1;transform:none;pointer-events:auto}
.logcard .lc-ico{flex:none;width:46px;height:46px;border-radius:12px;background:#EDEDEA;display:flex;align-items:center;justify-content:center;overflow:hidden}
.logcard .lc-ico img,.logcard .lc-ico .fi{width:100%;height:100%;object-fit:cover}
.logcard .lc-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.logcard .lc-k{font-size:var(--ui-meta,14px);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.logcard b{font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logcard small#lcSub{font-size:var(--ui-meta,14px);font-weight:600;color:var(--ink-2);white-space:normal;line-height:1.35}
.logcard button{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:12px;background:#141516;color:#fff;font:inherit;font-size:var(--ui-meta,14px);font-weight:800;cursor:pointer}
.logcard button.hide{display:none}
:root[data-theme="dark"] .logcard{background:#1E1F21}
:root[data-theme="dark"] .logcard .lc-ico{background:#2A2B2E}/* the photo check: a size shows its grams; exact grams is the fourth key */

body.pm-premium .phr-opts.sizes .phr-opt small{display:block}
@media (prefers-reduced-motion:reduce){ .logcard{transition:none} body.pm-premium .wstrip .ws-add:active,body.pm-premium .wcard .wbtns button:active,body.pm-premium .wpour:active{transform:none} }/* the photo check: Not sure as one full, plain key; cooking words glossed under each kind */

body.pm-premium .phr-qcard .phr-opt.wide{grid-column:1/-1;background:var(--surface)!important;box-shadow:0 0 0 1.5px rgba(30,31,33,.14) inset!important;color:var(--ink-2)}
body.pm-premium .phr-qcard .phr-opt small{display:block;font-size:var(--ui-meta,14px);font-weight:600;color:var(--ink-3);margin-top:3px;letter-spacing:0}/* one meal from one photo: the card and the foods inside it */

body.pm-premium .xfood.mealcard .mph.photo.big{width:64px;height:64px;border-radius:16px}
body.pm-premium .xfood.mealcard .xk{display:block;font-size:var(--ui-meta,14px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
body.pm-premium .xfood.mealcard .mc-parts{margin-top:10px;padding:2px 0 0 12px;border-left:2px solid rgba(30,31,33,.1)}
body.pm-premium .xfood.mealcard .mc-parts .xfood.part{padding:8px 0;border-bottom:1px solid rgba(30,31,33,.06)}
body.pm-premium .xfood.mealcard .mc-parts .xfood.part:last-child{border-bottom:0}
body.pm-premium .xfood.mealcard .mc-parts .xfood.part .xn{font-size:14px}/* THE GYM FINDER (9 Oct): the field is the hero, "near me" is a real key, the list is one ceramic slab with a
   44 px mark per row, the pick is a card with the mark large and a way to change it, the kind is a labelled
   row of keys, not floating pills */

body.pm-premium .gym-find{gap:12px}
body.pm-premium .gym-field .onb-in{min-height:60px;font-size:19px;padding-left:52px}
body.pm-premium .gym-field .gym-mag{width:22px;height:22px;left:18px}
body.pm-premium .gym-near{align-self:stretch;justify-content:flex-start;min-height:54px;padding:0 18px 0 14px;border-radius:16px;background:var(--vr-key);box-shadow:var(--vr-edge),var(--vr-lift);font-size:15.5px;font-weight:800;color:var(--ink)}
body.pm-premium .gym-near i{width:22px;height:22px}
body.pm-premium .gym-near .gn-chev{margin-left:auto;width:10px;height:10px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg)}
body.pm-premium .gym-sug{gap:4px;margin-top:0;padding:8px;border-radius:22px;background:var(--vr-slab);border:0;box-shadow:var(--vr-edge),var(--vr-lift)}
body.pm-premium .gym-row{min-height:62px;padding:9px 12px;border-radius:16px;border:0}
body.pm-premium .gym-row:first-child{background:var(--surface);box-shadow:0 0 0 1px rgba(30,31,33,.08) inset}
body.pm-premium .gym-row .gym-pin{width:44px;height:44px;border-radius:13px;background:#fff;box-shadow:0 0 0 1px rgba(30,31,33,.1) inset;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.pm-premium .gym-row .gym-pin.gym-logo::after{display:none}
body.pm-premium .gym-row .gym-pin .gym-logo-img{width:84%;height:84%;object-fit:contain}
body.pm-premium .gym-row .gym-t b{font-size:17px}
body.pm-premium .gym-row .gym-t small{font-size:var(--ui-meta,14px)}
body.pm-premium .gym-row.own{border:1.5px dashed rgba(30,31,33,.22)}
body.pm-premium .gym-row.own .gym-t b{color:var(--ink)}
body.pm-premium .gym-pick{display:flex!important;align-items:center;gap:12px;padding:12px;border-radius:22px;background:var(--vr-slab);box-shadow:var(--vr-edge),var(--vr-lift),0 0 0 2px var(--accent)}
body.pm-premium .gym-pick.hide{display:none!important}
body.pm-premium .gym-pick-o{flex:none;width:84px;height:76px;background:#fff;border-radius:16px;box-shadow:0 0 0 1px rgba(30,31,33,.08) inset;padding:6px}
body.pm-premium .gym-pick-t{flex:1;min-width:0}
body.pm-premium .gym-pick-x{flex:none}/* while the list is open, the pick and the kind row step aside, as the chips did */

body.pm-premium .onb-step:has(.gym-sug:not(.hide)) .onb-chips.gym-kind,body.pm-premium .onb-step:has(.gym-sug:not(.hide)) .gym-kind-l{display:none!important}
body.pm-premium .gym-pick-o .gym-mk-n{width:36px;height:36px}
body.pm-premium .gym-pick-t b{font-size:20px;white-space:normal;line-height:1.15}
body.pm-premium .gym-pick-t small{font-size:var(--ui-meta,14px);color:var(--ink-2);font-weight:700}
body.pm-premium .gym-pick-x{min-height:44px;padding:0 12px;border:0;border-radius:12px;background:var(--surface);box-shadow:0 0 0 1px rgba(30,31,33,.1) inset;font:inherit;font-size:var(--ui-meta,14px);font-weight:800;color:var(--ink-2);cursor:pointer}
body.pm-premium .gym-pick-chk{display:none}
body.pm-premium .gym-kind-l{margin-top:14px;font-size:var(--ui-meta,14px);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
body.pm-premium .onb-chips.gym-kind{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;justify-content:stretch}
body.pm-premium .onb-chips.gym-kind .onb-chip{min-height:50px;border-radius:14px!important;padding:6px 8px!important;font-size:var(--ui-meta,14px)!important;line-height:1.15;text-align:center;background:var(--vr-key)!important;box-shadow:var(--vr-edge),var(--vr-lift)!important;color:var(--ink)!important;white-space:normal}
body.pm-premium .onb-chips.gym-kind .onb-chip.on{background:var(--accent)!important;color:#14304F!important}
body.pm-premium #ctl-gymname .gym-list{padding:8px;border-radius:22px;background:var(--vr-slab);box-shadow:var(--vr-edge),var(--vr-lift);gap:4px}
body.pm-premium #ctl-gymname .gym-list.hide{display:none}
@media (max-width:359px){ body.pm-premium .gym-pick{flex-wrap:wrap} body.pm-premium .gym-pick-o{width:64px;height:60px} body.pm-premium .gym-pick-x{flex:1 1 100%} body.pm-premium .onb-chips.gym-kind{grid-template-columns:1fr 1fr} }
