:root,:root[data-theme=dark]{--bg:#17191c;--surface:#202327;--surface-2:#2a2e33;--line:#2e3237;--fg:#f1efe8;--muted:#9aa0a8;--accent:#ff6a3d;--on-accent:#1a0d07;--accent-soft:#ff6a3d24;--best:#7fe0c0;--best-soft:#7fe0c01f;--warn:#ffb020;--danger:#ff5a5f;--shadow:0 10px 30px -12px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--f-display:"Bricolage Grotesque", "Geist", system-ui, sans-serif;--f-ui:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-num:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-lg:18px;--r-md:12px;--r-sm:8px;--tap:48px;--nav-h:64px}:root[data-theme=light]{--bg:#f4f2ec;--surface:#fff;--surface-2:#ebe8e0;--line:#dcd8ce;--fg:#17191c;--muted:#5a5f66;--accent:#e2501f;--on-accent:#fff;--accent-soft:#e2501f1a;--best:#12806a;--best-soft:#12806a1a;--warn:#a96a00;--danger:#d23b40;--shadow:0 10px 30px -14px #17191c40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background:var(--bg);color:var(--fg);font:16px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.1}h1{font-size:28px;font-weight:800}h2{font-size:21px;font-weight:700}h3{font-size:17px;font-weight:700}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{flex-direction:column;min-height:100%;display:flex}.page{width:100%;max-width:640px;padding:calc(env(safe-area-inset-top,0px) + 16px) max(16px, env(safe-area-inset-right,0px)) calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 24px) max(16px, env(safe-area-inset-left,0px));flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.card.tight{padding:12px}.pill{background:var(--surface-2);color:var(--muted);border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill.best{background:var(--best-soft);color:var(--best)}.pill.warn{color:var(--warn)}.btn{min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn.big{min-height:56px;font-size:17px}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;place-items:center;font-size:20px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:14px}.input{min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);width:100%;padding:10px 12px}textarea.input{resize:vertical;min-height:88px}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px max(8px, env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.nav a svg{width:24px;height:24px}.nav a.on{color:var(--fg)}.nav a.on svg{color:var(--accent)}.scrim{z-index:40;background:#0000008c;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--line);width:100%;max-width:640px;max-height:92vh;padding:8px max(16px, env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;gap:14px;animation:.2s rise;display:flex;overflow:auto}.sheet .grab{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 4px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}}.toasts{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--fg);color:var(--bg);box-shadow:var(--shadow);border-radius:12px;max-width:520px;padding:10px 16px;font-size:14px;font-weight:600}.toast.error{background:var(--danger);color:#fff}.toast.best{background:var(--best);color:#0c2a21}.stepper{align-items:center;gap:8px;min-width:0;display:flex}.stepper .input{text-align:center;flex:auto;min-width:0;max-width:120px;padding-inline:4px}.stepper .icon-btn{flex:none}.grid2 .stepper{gap:6px}.grid2 .stepper .icon-btn{width:42px}.boot{place-items:center;height:100%;display:grid}.brand{font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:15px;font-weight:800}.trunc{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.small{margin:2px 0 8px;font-size:14px}.err{color:var(--danger);margin:0;font-weight:600}.avatar{border-radius:inherit;object-fit:cover;width:100%;height:100%}.icon-btn:has(.avatar){padding:0;overflow:hidden}.signin{min-height:100%;padding:calc(env(safe-area-inset-top,0px) + 24px) max(20px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) max(20px, env(safe-area-inset-left,0px));place-items:center;display:grid}.signin-in{flex-direction:column;gap:16px;width:100%;max-width:420px;display:flex}.signin-title{margin:10px 0 8px;font-size:clamp(34px,9vw,44px)}.or{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.next{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));flex-direction:column;gap:12px;display:flex}.next-name{font-size:26px}.plan{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan li{border-top:1px solid var(--line);grid-template-columns:1fr auto 76px;align-items:baseline;gap:10px;padding:10px 0;display:grid}.plan li b{text-align:right;font-size:17px}.deload{background:var(--surface-2);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:12px;display:flex}a.pill,a.btn{text-decoration:none}a.muted{font-size:14px;text-decoration:none}.wk-top{z-index:10;margin:calc(-16px - env(safe-area-inset-top,0px)) -16px 0;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.wk-name{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;min-width:0;padding:0;display:flex}.wk-name h1{white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.wk-name span{font-size:13px}.rest{top:calc(env(safe-area-inset-top,0px) + 72px);z-index:9;background:var(--accent);color:var(--on-accent);border-radius:var(--r-lg);box-shadow:var(--shadow);align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex;position:sticky}.rest .label{color:inherit;opacity:.8}.rest b{flex:1;font-size:40px;font-weight:600;line-height:1}.rest .btn{min-height:40px;color:inherit;background:#00000024;border-color:#0000;padding:0 12px}.ex{flex-direction:column;gap:12px;transition:border-color .2s;display:flex}.ex.done{border-color:color-mix(in srgb, var(--best) 45%, var(--line))}.ex-name{font-size:19px}.ex-weight{cursor:pointer;color:var(--fg);background:0 0;border:0;align-self:flex-start;align-items:baseline;gap:6px;padding:0;display:inline-flex}.ex-weight b{font-size:34px;font-weight:600;line-height:1}.ex-weight span{color:var(--muted)}.ex-weight svg{color:var(--muted);align-self:center}.sets{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.set-wrap{flex-direction:column;align-items:center;gap:2px;display:flex}.set{border:2px solid var(--line);width:52px;max-width:100%;height:52px;color:var(--muted);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;place-items:center;font-size:18px;font-weight:600;display:grid}.set.amrap{border-style:dashed}.set.ok{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.set.short{border-color:var(--warn);color:var(--warn)}.set:active{transform:scale(.94)}.hint{color:var(--muted);margin:0;font-size:12px}.ex:not(:first-of-type) .hint{display:none}.plates{flex-direction:column;gap:8px;display:flex}.plate{min-width:40px;height:40px;font-family:var(--f-num);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;place-items:center;padding:0 8px;font-weight:600;display:grid}.plate.p25{color:#fff;background:#c8322b;border-color:#0000}.plate.p20{color:#fff;background:#2457c5;border-color:#0000}.plate.p15{color:#1a1400;background:#e0b100;border-color:#0000}.plate.p10{color:#fff;background:#2c8a4b;border-color:#0000}.plate.p5{color:#17191c;background:#f1efe8}.pick-list{border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;max-height:46vh;display:flex;overflow:auto}.pick{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;min-height:var(--tap);background:0 0;padding:12px 14px}.pick:last-child{border-bottom:0}.summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.summary div{background:var(--surface-2);border-radius:var(--r-md);flex-direction:column;padding:10px;display:flex}.summary b{font-size:22px}.summary span{color:var(--muted);font-size:12px}.seg{background:var(--surface-2);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.seg button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;font-weight:600}.seg button.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.month{margin-top:8px}.hist{text-align:left;cursor:pointer;flex-direction:column;gap:6px;width:100%;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--surface-2);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:12px}.setpill{background:var(--accent-soft);color:var(--fg);border-radius:8px;padding:4px 8px;font-size:13px}.setpill.missed{border:1px dashed var(--line);color:var(--muted);background:0 0}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stats .card{flex-direction:column;gap:2px;display:flex}.big{font-size:26px;font-weight:600}.bests{margin:0;padding:0;list-style:none}.bests li{border-top:1px solid var(--line);grid-template-columns:1fr auto 84px;align-items:baseline;gap:10px;padding:9px 0;display:grid}.bests li b{text-align:right;color:var(--best)}.chart{height:230px;position:relative}.bars{flex-direction:column;gap:8px;display:flex}.bar-row{grid-template-columns:84px 1fr 36px;align-items:center;gap:10px;font-size:14px;display:grid}.bar{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.bar i{background:var(--accent);border-radius:5px;height:100%;display:block}.bar-row b{text-align:right}.wrow{border:0;border-top:1px solid var(--line);cursor:pointer;width:100%;color:var(--fg);background:0 0;padding:10px 0}.prog{text-align:left;cursor:pointer;flex-direction:column;gap:6px;width:100%;display:flex}.prog.on{border-color:var(--accent)}@media (width<=380px){.stats{grid-template-columns:1fr 1fr}.plan li{grid-template-columns:1fr auto 64px}}.week{color:var(--fg);grid-template-columns:80px 1fr;align-items:center;gap:14px;text-decoration:none;display:grid}.week-text{flex-direction:column;gap:2px;min-width:0;display:flex}.week-text b{font-size:17px}.ring-num{font-family:var(--f-num);fill:var(--fg);font-size:22px;font-weight:600}.week-strip{grid-column:1/-1;grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.ws{background:var(--surface-2);border-radius:3px;height:6px}.ws.met{background:var(--accent)}.ws.shield{background:var(--muted)}.ws.now{outline:1.5px dashed var(--accent);outline-offset:-1.5px;background:0 0}.clubs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.club{border:1px solid var(--line);border-radius:var(--r-md);opacity:.85;flex-direction:column;gap:4px;padding:10px;display:flex}.club.on{border-color:color-mix(in srgb, var(--best) 50%, var(--line));background:var(--best-soft);opacity:1}.club-ic{font-size:20px}.prwall{margin:0;padding:0;list-style:none}.prwall li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.pr-name{flex-direction:column;min-width:0;display:flex}.pr-vals{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.pr-vals b{font-size:18px}.best{color:var(--best)}.badges{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.badge{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;min-height:96px;padding:10px 6px;display:flex}.badge-ic{filter:grayscale();opacity:.45;font-size:26px}.badge-t{color:var(--muted);font-size:12px;line-height:1.25}.badge.on{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.badge.on .badge-ic{filter:none;opacity:1}.badge.on .badge-t{color:var(--fg);font-weight:600}.badge .bar{width:80%;height:4px}.badge-big{text-align:center;font-size:56px}.seg.tabs4{grid-template-columns:repeat(4,1fr)}.goal{text-align:left;cursor:pointer;flex-direction:column;gap:8px;width:100%;display:flex}.goal.done{border-color:color-mix(in srgb, var(--best) 45%, var(--line))}.goal.done .bar i{background:var(--best)}.ex-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--fg);background:0 0;justify-content:space-between;gap:10px;padding:10px 2px;display:flex}.pick.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.club-ic{align-items:center;height:46px;display:flex}.club:not(.on) .plates-svg{filter:grayscale(.85);opacity:.55}:root{--protein:#7fe0c0;--carbs:#ffb020;--fat:#a9b4ff}:root[data-theme=light]{--protein:#12806a;--carbs:#a96a00;--fat:#4f5bd5}.app-switch{top:calc(env(safe-area-inset-top,0px) + 10px);right:max(16px, env(safe-area-inset-right,0px));color:var(--muted);z-index:5;font-size:13px;text-decoration:none;display:none;position:absolute}.summary-card{grid-template-columns:120px 1fr;align-items:center;gap:16px;display:grid}.ring-big{font-family:var(--f-num);fill:var(--fg);font-size:26px;font-weight:600}.ring-sub{fill:var(--muted);font-size:11px}.macros{flex-direction:column;gap:10px;min-width:0;display:flex}.small-row{font-size:14px}.macro{flex-direction:column;gap:4px;font-size:14px;display:flex}.mbar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.mbar i{border-radius:4px;height:100%;display:block}.mbar.p i{background:var(--protein)}.mbar.c i{background:var(--carbs)}.mbar.f i{background:var(--fat)}.meal{flex-direction:column;gap:4px;display:flex}.entry{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--fg);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.entry-name{flex-direction:column;flex:1;min-width:0;display:flex}.add-food{color:var(--accent);justify-content:flex-start;padding-left:0}.icon-btn.small{width:36px;height:36px;font-size:18px}.glasses{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.glass{border:2px solid var(--line);cursor:pointer;background:0 0;border-radius:4px 4px 8px 8px;width:28px;height:36px;padding:0}.glass.on{background:linear-gradient(#0000 25%,#5aa9ff 25%);border-color:#5aa9ff}.nline{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.nline div{background:var(--surface-2);border-radius:var(--r-md);flex-direction:column;padding:10px 8px;display:flex}.nline b{font-size:20px}.nline span{color:var(--muted);font-size:11px}.nline .p b{color:var(--protein)}.nline .c b{color:var(--carbs)}.nline .f b{color:var(--fat)}.food-list{max-height:48vh}.food-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.food-row small{font-size:12px}.tag-mini{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--muted);vertical-align:2px;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px}.pad{margin:0;padding:12px 14px}.scan-box{border-radius:var(--r-lg);aspect-ratio:4/3;background:#000;max-width:100%;position:relative;overflow:hidden}.scan-box video{object-fit:cover;width:100%;height:100%;display:block}.scan-line{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);position:absolute;top:50%;left:10%;right:10%}.food-card{text-align:left;cursor:pointer;width:100%}.calc{background:var(--surface-2);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:12px;display:flex}.calc .nline div{background:var(--surface)}@media (width>=700px){.app-switch{display:block}}@media (width<=380px){.summary-card{grid-template-columns:1fr;justify-items:center}.nline b{font-size:17px}}
