:root{
  --bg:#F3F2EC;--card:#FFFFFF;--ink:#0D0F12;--muted:#5B6672;--line:#D3D8DE;
  --accent:#D4FF3A;--accent-ink:#0D0F12;--cta:#0D0F12;--on-cta:#D4FF3A;--blue:#0D0F12;--steel:#A9B2BC;--done:#4A6300;--done-bg:#EEF8C6;--on-done:#FFFFFF;--warn:#A85A12;--shadow:rgba(0,0,0,.2);
  color-scheme:light;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D0F12;--card:#171A1F;--ink:#F3F2EC;--muted:#9AA4AE;--line:#2A2F36;
    --accent:#D4FF3A;--accent-ink:#0D0F12;--cta:#D4FF3A;--on-cta:#0D0F12;--blue:#D4FF3A;--steel:#56606B;--done:#D4FF3A;--done-bg:#262E12;--on-done:#0D0F12;--warn:#F0A867;--shadow:rgba(0,0,0,.55);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D0F12;--card:#171A1F;--ink:#F3F2EC;--muted:#9AA4AE;--line:#2A2F36;
  --accent:#D4FF3A;--accent-ink:#0D0F12;--cta:#D4FF3A;--on-cta:#0D0F12;--blue:#D4FF3A;--steel:#56606B;--done:#D4FF3A;--done-bg:#262E12;--on-done:#0D0F12;--warn:#F0A867;--shadow:rgba(0,0,0,.55);
  color-scheme:dark;
}
:root[data-theme="light"]{color-scheme:light}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.45;font-stretch:75%;-webkit-text-size-adjust:100%}
button,input{font:inherit;color:inherit}
.wrap{max-width:640px;margin:0 auto;padding:16px 14px 120px}
h1,h2,h3,.cond{font-family:Archivo,"Arial Narrow",Figtree,sans-serif}
header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
h1{font-size:1.9rem;line-height:1;margin:0;font-weight:800;letter-spacing:.01em}
.status{font-size:.85rem;color:var(--muted);margin-top:4px}
.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:7;min-width:230px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 10px 28px var(--shadow)}
.menu[hidden]{display:none}
.wzsteps{margin:2px 0 12px}
.wzsteps ol{display:flex;gap:6px;list-style:none;margin:0 0 6px;padding:0}
.wzsteps li{flex:1;height:6px;border-radius:3px;background:var(--line)}
.wzsteps li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wzsteps li.done{background:var(--done)}
.wzsteps li.on{background:var(--ink)}
.wzsteps p{margin:0;font-size:.9rem;color:var(--muted)}
.wzsteps p b{color:var(--ink)}
.wzdays{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.wzday{border:2px solid var(--line);background:var(--card);border-radius:12px;padding:12px 6px;cursor:pointer;text-align:center;min-height:64px}
.wzday b{display:block;font-family:Archivo,sans-serif;font-size:1.4rem;line-height:1}
.wzday span{font-size:.75rem;color:var(--muted)}
.wzday[aria-pressed="true"]{background:var(--accent);border-color:var(--ink);color:var(--accent-ink)}
.wzday[aria-pressed="true"] span{color:var(--accent-ink)}
.wzday:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wzcount{color:var(--muted);font-size:.9rem;margin:10px 0 0}
.wznav{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:18px;position:sticky;bottom:0;background:var(--bg);padding:10px 0 calc(6px + env(safe-area-inset-bottom,0px))}
.wznav .primary,.wznav .ghost{width:100%;margin:0}
.wzdaytabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.wzdaytabs .chip[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.wzerr{color:#C0392B;font-weight:600;min-height:1.2em;margin:0}
.wzrev{background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.wzrev-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wzrev-h h3{margin:0;font-size:1.5rem}
.wzrev-h h4{margin:0;font-size:1.1rem;display:flex;gap:8px;align-items:baseline}
.wzrev-h h4 span{font-family:Archivo,sans-serif;color:var(--muted)}
.wzrev .linkbtn{padding:4px 0;min-height:32px}
.wzmeta{margin:2px 0 0;color:var(--muted);font-size:.9rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wzlist{margin:6px 0 2px;padding-left:20px;font-size:.92rem}
.wzlist li{display:flex;justify-content:space-between;gap:8px;padding:2px 0}
.wzlist li.lk{border-left:3px solid var(--blue);padding-left:6px;margin-left:-9px}
.wzlist em{font-style:normal;color:var(--warn);font-size:.8rem}
.wzlist b{font-family:Archivo,sans-serif;white-space:nowrap}
.wzdone{background:var(--card);border-radius:14px;padding:16px}
.wzdone h3{margin:0 0 4px;font-size:1.7rem}
.wzdone p{margin:0 0 8px;color:var(--muted)}
#newPlan{width:100%;margin-top:6px}
.planwrap{position:relative}
.planbtn{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left;border-radius:8px}
.planbtn svg{flex:none;margin-top:4px;color:var(--muted)}
.planbtn[aria-expanded="true"] svg{transform:rotate(180deg)}
.planbtn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.planmenu{left:0;right:auto;min-width:250px}
.menu-lbl2{font-size:.82rem;font-weight:600;color:var(--muted);padding:2px 2px 6px}
.pm-item{display:flex!important;justify-content:space-between;align-items:center;gap:10px}
.pm-item b{color:var(--done)}
.pm-item[aria-pressed="true"]{color:var(--ink)}
.pm-manage{color:var(--blue)}
.plcard{background:var(--card);border-radius:14px;padding:12px 14px;margin-bottom:12px;border:2px solid transparent}
.plcard.on{border-color:var(--done)}
.plhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plhead h3{margin:0;font-size:1.45rem;font-weight:700}
.pltag{background:var(--done);color:var(--on-done);border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700}
.pldesc{margin:4px 0 6px;color:var(--muted);font-size:.9rem}
.pldesc em{font-style:normal;color:var(--warn);font-weight:600}
.pldays{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:3px}
.pldays li{display:grid;grid-template-columns:42px 1fr auto;gap:6px;font-size:.92rem;align-items:baseline}
.pldays b{font-family:Archivo,sans-serif;font-size:1rem}
.pldays span{color:var(--muted);font-size:.8rem}
.placts{display:flex;flex-wrap:wrap;gap:6px}
.chip.primarychip{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip.danger{border-color:#C0392B;color:#C0392B}
.plren{display:flex;gap:8px;align-items:center}
.plren input{flex:1;min-width:0;box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-family:Archivo,sans-serif;font-weight:700;font-size:1.3rem}
.emptyday{background:var(--card);border-radius:12px;padding:16px;text-align:center;color:var(--muted)}
.emptyday p{margin:0 0 10px}
.emptyday .primary{width:100%}
.seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg);border-radius:10px;padding:3px;gap:3px}
.seg button{border:0;background:transparent;border-radius:8px;min-height:36px;font-weight:600;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px var(--shadow)}
.seg button:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.menu-item:first-child{border-top:0;padding-top:4px}
.menu-item{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:12px 2px 4px;cursor:pointer;font-weight:600;min-height:44px}
.chip{border:2px solid var(--ink);background:transparent;border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer;min-height:40px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.icon-btn{border:0;background:transparent;padding:8px;cursor:pointer;color:var(--muted);min-height:40px;min-width:40px;border-radius:8px}
.daynav{position:relative;margin-bottom:18px}
.daybtn{width:100%;display:flex;align-items:center;gap:10px;border:0;background:var(--accent);color:var(--accent-ink);border-radius:12px;padding:8px 14px 9px;min-height:56px;cursor:pointer;text-align:left;border-bottom:5px solid var(--accent-ink)}
.daybtn .dn{flex:1;min-width:0}
.daybtn b{display:block;font-family:Archivo,sans-serif;font-size:1.7rem;line-height:1.05;font-weight:800}
.daybtn small{display:block;font-size:.8rem;line-height:1.2;opacity:.85}
.daybtn svg{flex:none}
.daybtn[aria-expanded="true"] svg{transform:rotate(180deg)}
.daybtn:disabled{cursor:default}
.daybtn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.daymenu{left:0;right:0;min-width:0;max-height:min(70vh,520px);overflow:auto}
.dm-item{display:flex!important;align-items:center;gap:10px}
.dm-item .dn{flex:1;min-width:0}
.dm-item .dn>span{display:block}
.dm-item .dn small{display:block;font-weight:500;color:var(--muted);font-size:.82rem}
.dm-item b{color:var(--done)}
.dm-today{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--line);color:var(--ink);border-radius:999px;padding:2px 7px;margin-left:6px;vertical-align:1px}
.daybtn .dm-today{background:var(--accent-ink);color:var(--accent)}
.dayhead h2{font-size:2.6rem;line-height:.95;margin:0;font-weight:800}
.dayhead p{margin:6px 0 0;color:var(--muted)}
.progress{margin:14px 0 18px;display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--muted)}
.bar{flex:1;height:10px;background:var(--line);border-radius:6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--done);width:0;transition:width .3s}
.warm{background:var(--card);border-left:5px solid var(--steel);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:.95rem}
.ex{background:var(--card);border-radius:12px;padding:14px 14px 12px;margin-bottom:12px}
.ex.ss-a{border-top:4px solid var(--blue);border-radius:12px 12px 12px 12px;margin-bottom:4px}
.ex.ss-b{margin-top:0}
.ex-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
details.ex>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;border-radius:8px}
details.ex>summary::-webkit-details-marker{display:none}
details.ex>summary .ttl{flex:1;min-width:0}
details.ex>summary .meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
details.ex>summary .cnt{font-size:.78rem;color:var(--muted);font-weight:600}
details.ex>summary .cnt.all{color:var(--done)}
details.ex>summary::after{content:"";width:10px;height:10px;border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);transform:rotate(45deg);margin:-4px 4px 0 2px;transition:transform .2s;flex:none}
details.ex[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details.ex[open]>summary{margin-bottom:2px}
details.ex.alldone{border-left:5px solid var(--done)}
@media (prefers-reduced-motion:reduce){details.ex>summary::after{transition:none}}
.ex h3{margin:0;font-size:1.45rem;line-height:1.05;font-weight:700}
.target{font-family:Archivo,sans-serif;font-weight:700;font-size:1.25rem;white-space:nowrap;background:var(--bg);padding:2px 8px;border-radius:6px}
.tag{display:inline-block;font-size:.8rem;color:var(--blue);font-weight:600;margin-top:4px}
.last{font-size:.88rem;color:var(--muted);margin:6px 0 8px}
details.how{margin:4px 0 10px}
details.how summary{cursor:pointer;font-weight:600;color:var(--blue);padding:6px 0;list-style:none;min-height:36px;display:flex;align-items:center;gap:6px}
details.how summary::-webkit-details-marker{display:none}
details.how summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-size:.9rem;line-height:1}
details.how[open] summary::before{content:"−"}
.fig{background:var(--bg);border-radius:10px;padding:8px 6px 4px;margin:4px 0 8px}
.fig svg{display:block;width:100%;max-width:100%;height:auto}
.fig .cap{display:grid;grid-template-columns:1fr auto 1fr;column-gap:8px;font-size:.78rem;color:var(--muted);text-align:center;padding:2px 0 2px;font-weight:600}
.fig .cap span:nth-child(2){opacity:.5}
.cues{margin:0;padding-left:20px;font-size:.95rem}
.cues li{margin-bottom:4px}
.sets{display:grid;gap:6px}
.setrow{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 52px;gap:6px;align-items:center}
.setrow .n{font-family:Archivo,sans-serif;font-weight:700;color:var(--muted);text-align:center;font-size:1.1rem}
.setrow input{box-sizing:border-box;width:100%;min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);text-align:center;font-size:1rem}
.setrow input:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.lbl{font-size:.72rem;color:var(--muted);text-align:center}
.tick{border:2px solid var(--line);background:transparent;border-radius:8px;height:42px;cursor:pointer;font-weight:700;font-size:1.1rem}
.tick[aria-pressed="true"]{background:var(--accent);border-color:var(--accent-ink);color:var(--accent-ink)}
.setrow.isdone input{background:var(--done-bg);border-color:transparent}
/* F1: a ticked set shows a bin while you edit it */
.setrow .n b{font-weight:inherit}
.setdel{display:none;align-items:center;justify-content:center;width:100%;height:42px;padding:0;border:0;border-radius:8px;background:transparent;color:#C0392B;cursor:pointer}
.setrow.editing{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 52px}
.setrow.editing .n b{display:none}
.setrow.editing .setdel{display:flex}
/* F1: edit a past workout in History */
.hacts{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 12px}
.hacts .hdelbtn{padding:6px 0}
.hedit{padding-bottom:4px}
.hedit .sub{margin:0 0 8px}
.hedex{background:var(--bg);border-radius:12px;padding:10px;margin-bottom:8px}
.hedex>b{display:block;margin-bottom:6px}
.hedrow{margin-bottom:6px}
.hedrow .setdel.hsetdel{display:flex;border:1px solid var(--line)}
.linkbtn.headd{padding:6px 0}
.hreset{margin:4px 0 14px}
.hreset .linkbtn{color:#C0392B;font-size:.82rem;padding:0;min-height:0}
/* F1: "850 kg? Check this set" */
.askcard h2{font-size:1.9rem}
.asksub{color:var(--muted);margin:0 0 8px}
.asktext{font-size:1.1rem;font-weight:600;margin:0 0 14px}
.toast .toastbtn{margin-left:12px;border:0;background:transparent;color:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:4px 2px;font-size:1rem}
.fin{border:2px dashed var(--steel);background:transparent}
.fin .row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.actions{display:grid;gap:10px;margin:22px 0}
.linkbtn.hlink{font-size:.88rem;padding:0;min-height:32px;margin:-4px 0 6px}
.hpend{background:var(--done-bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:.92rem}
.hempty{background:var(--card);border-radius:14px;padding:16px;margin-top:12px}
.hempty b{font-size:1.05rem}.hempty p{margin:6px 0 0;color:var(--muted)}
.hmonth{font-size:1.1rem;color:var(--muted);margin:20px 0 8px}
.hcard{background:var(--card);border-radius:14px;margin-bottom:8px;padding:0 14px}
.hcard>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer;min-height:44px}
.hcard>summary::-webkit-details-marker{display:none}
.hcard>summary svg{flex:none;color:var(--muted)}
.hcard[open]>summary svg{transform:rotate(180deg)}
.hcard>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:8px}
.hdate{flex:none;width:44px;text-align:center;border-right:1px solid var(--line);padding-right:10px}
.hdate b{display:block;font-family:Archivo,sans-serif;font-size:1.6rem;line-height:1;font-weight:800}
.hdate span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.hmain{flex:1;min-width:0}
.hmain b{display:block;font-family:Archivo,sans-serif;font-size:1.3rem;line-height:1.1}
.hmain span{display:block;font-size:.84rem;color:var(--muted);line-height:1.3}
.htag{display:inline-block;font-style:normal;font-size:.72rem;font-weight:700;background:var(--done-bg);color:var(--done);border-radius:999px;padding:2px 8px;margin-top:4px}
.htag.imp{background:var(--line);color:var(--muted)}
.hex{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--line)}
.hex li{padding:8px 0;border-bottom:1px solid var(--line)}
.hex li.g{border-left:4px solid var(--blue);padding-left:10px}
.hex li span{display:block;font-size:.9rem;color:var(--muted);margin-top:2px}
.hexname{font-weight:700;padding:0;min-height:32px;text-align:left;font-size:1rem}
.hsmall{font-size:.82rem;color:var(--muted);margin:4px 0}
.linkbtn.hdelbtn{color:#C0392B;font-size:.9rem;padding:6px 0 12px}
.hdel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 14px}
.hdel span{flex:1 1 100%;font-size:.92rem}
.hdel button{flex:1;padding:11px;font-size:1.05rem}
.primary.danger{background:#C0392B;color:#fff}
.hmore{width:100%;margin-top:6px}
.hstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:6px 0 12px}
.hstats div{background:var(--card);border-radius:12px;padding:10px 12px}
.hstats span{display:block;font-size:.78rem;color:var(--muted)}
.hstats b{display:block;font-family:Archivo,sans-serif;font-size:1.5rem;line-height:1.1;white-space:nowrap}
.hstats em{font-style:normal;font-size:.76rem;color:var(--muted)}
.hchart{background:var(--card);border-radius:14px;padding:10px 10px 4px;margin:0 0 6px}
.hchart figcaption{font-size:.85rem;font-weight:600;margin:0 4px 4px}
.hchart svg{display:block;width:100%;height:auto}
.hgrid{stroke:var(--line);stroke-width:1}
.hax{fill:var(--muted);font-size:10px}
.hline{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.hdot{fill:var(--blue);stroke:var(--card);stroke-width:1.5}
.hsess{list-style:none;margin:6px 0 0;padding:0}
.hsess li{background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.hsess li div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hsess li .htag{margin-top:0}
.hsess li span{display:block;font-size:.9rem;color:var(--muted);margin-top:2px}
.donepop{position:fixed;inset:0;z-index:9;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px;overflow:auto}
.donepop[hidden]{display:none}
.donecard{position:relative;overflow:hidden;width:100%;max-width:380px;background:var(--bg);border-radius:20px;padding:24px 18px 18px;text-align:center;box-shadow:0 18px 50px var(--shadow);animation:donein .35s cubic-bezier(.2,1.4,.4,1)}
.donecard>svg{display:block;margin:0 auto 6px}
.donecard h2{font-family:Archivo,sans-serif;font-size:2.3rem;line-height:1;margin:6px 0 4px;font-weight:800}
.donesub{margin:0 0 14px;color:var(--muted);font-size:.92rem}
.donestats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.donestats div{background:var(--card);border-radius:12px;padding:10px 8px}
.donestats b{display:block;font-family:Archivo,sans-serif;font-size:1.6rem;line-height:1.1;white-space:nowrap}
.donestats span{font-size:.8rem;color:var(--muted)}
.donecardio{text-align:left;background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.donecardio h3{margin:0 0 4px;font-size:.95rem}
.dcrow{display:flex;align-items:center;gap:10px;padding:6px 0}
.dcrow+.dcrow{border-top:1px solid var(--line)}
.dcname{flex:1;min-width:0}
.dcname span{display:block;font-size:.92rem}
.dcname em,.dcpace em{display:block;font-style:normal;font-size:.8rem;color:var(--muted)}
.dcpace{text-align:right;max-width:55%}
.dcpace b{font-family:Archivo,sans-serif;font-size:1.35rem;line-height:1.1;white-space:nowrap}
.dcpace b small{font-family:inherit;font-size:.75rem;font-weight:600;color:var(--muted);margin-left:3px}
.dcpace em.up{color:var(--done)}
.donewins{text-align:left;background:var(--done-bg);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.donewins.up{background:var(--card)}
.donewins h3{margin:0 0 4px;font-size:.95rem}
.donewins ul{list-style:none;margin:0;padding:0}
.donewins li{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:.92rem}
.donewins li span{flex:1;min-width:0}
.donewins li b{color:var(--done)}
.donewins li em{font-style:normal;font-size:.8rem;color:var(--muted)}
.donewins li span small{display:block;font-size:.76rem;color:var(--muted)}
.donecard.calm h2{font-size:1.8rem;font-weight:700}
.donemiles{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.donemiles li{background:var(--done-bg);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.86rem;font-weight:600}
.donemissed{margin:0 0 10px;font-size:.84rem;color:var(--muted);text-align:left}
.setrow.missed .n b{color:var(--warn)}
.missnote{margin:6px 0 0;font-size:.82rem;color:var(--muted)}
.hrecs{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hrecs li{background:var(--card);border-radius:12px;padding:9px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}
.hrecs li span{font-size:.78rem;color:var(--muted)}
.hrecs li b{font-family:Archivo,sans-serif;font-size:1.15rem}
.hrecs li em{font-style:normal;font-size:.76rem;color:var(--muted)}
.donebtns{display:flex;gap:8px;margin-top:6px}
.donebtns button{flex:1}
.donebtns .ghost{color:var(--ink);font-weight:600}
/* confetti stays in the band above the title, behind it, so it never covers the numbers */
.confetti{position:absolute;left:0;right:0;top:0;height:96px;overflow:hidden;pointer-events:none;z-index:0}
.donecard>:not(.confetti){position:relative;z-index:1}
.confetti i{position:absolute;top:-10px;left:calc(var(--i)*5.6% + 2%);width:7px;height:12px;border-radius:2px;background:var(--accent);opacity:0;animation:fall 1.6s ease-in calc(var(--i)*45ms) 1 forwards}
.confetti i:nth-child(3n){background:var(--blue)}.confetti i:nth-child(3n+1){background:var(--done)}
@keyframes fall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(100px) rotate(540deg)}}
@keyframes donein{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.donecard{animation:none}.confetti{display:none}}
.primary{border:0;background:var(--cta);color:var(--on-cta);padding:15px;border-radius:12px;font-weight:700;font-size:1.05rem;cursor:pointer;font-family:Archivo,sans-serif;font-size:1.35rem}
.ghost{border:1px solid var(--line);background:transparent;padding:12px;border-radius:12px;cursor:pointer;color:var(--muted)}
.notes details{background:var(--card);border-radius:12px;padding:4px 14px;margin-bottom:10px}
.notes summary{cursor:pointer;font-weight:700;padding:10px 0;font-family:Archivo,sans-serif;font-size:1.25rem}
.notes p{margin:0 0 12px}
.timer{position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);display:none;align-items:center;gap:12px;z-index:5}
.timer.on{display:flex}
.timer .t{font-family:Archivo,sans-serif;font-size:1.8rem;font-weight:800;min-width:64px}
.timer .tb{flex:1;height:8px;background:rgba(127,127,127,.35);border-radius:6px;overflow:hidden}
.timer .tb i{display:block;height:100%;background:var(--accent);width:100%}
.timer button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:8px 12px;cursor:pointer}
details.grp{border:2px solid var(--blue);border-radius:16px;padding:6px 8px 2px;margin-bottom:12px;background:color-mix(in srgb,var(--blue) 7%,transparent)}
details.grp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:46px;padding:0 4px;border-radius:8px}
details.grp>summary::-webkit-details-marker{display:none}
details.grp>summary .gt{flex:1;min-width:0}
details.grp>summary .gt b{display:block;font-family:Archivo,"Arial Narrow",sans-serif;font-size:1.05rem;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;line-height:1.15}
details.grp>summary .gt span{font-size:.8rem;color:var(--muted)}
details.grp>summary .gcnt{font-size:.78rem;color:var(--muted);font-weight:600}
details.grp>summary .gcnt.all{color:var(--done)}
details.grp>summary::after{content:"";width:10px;height:10px;border-right:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(45deg);margin:-4px 4px 0 2px;transition:transform .2s;flex:none}
details.grp[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details.grp>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ghint{font-size:.88rem;color:var(--muted);margin:2px 4px 10px}
details.grp .ex{margin-bottom:8px}
@media (prefers-reduced-motion:reduce){details.grp>summary::after{transition:none}}
.sheet{position:fixed;inset:0;z-index:8;background:var(--bg);overflow:auto;-webkit-overflow-scrolling:touch}
.sheet[hidden]{display:none}
.sheet:focus{outline:none}
.sheet-in{max-width:640px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(40px + env(safe-area-inset-bottom,0px) + var(--kb,0px))}
.wrap{padding-bottom:calc(120px + var(--kb,0px))}
.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.sheet-top h2{font-size:2.2rem;line-height:1;margin:0;font-weight:800}
.sheet .sub{color:var(--muted);margin:0 0 16px;font-size:.92rem}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf{display:block;background:var(--card);border-radius:12px;padding:10px 12px 8px}
.pf .pl{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:.95rem}
.pf .pl i{font-style:normal;color:var(--muted);font-weight:500;font-size:.8rem}
.pf input{box-sizing:border-box;width:100%;margin-top:6px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-family:Archivo,sans-serif;font-weight:700;font-size:1.35rem}
.pf input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.pf input[aria-invalid="true"]{border-color:#C0392B;box-shadow:0 0 0 2px rgba(192,57,43,.25)}
.pf .pd{display:block;min-height:1.1em;margin-top:4px;font-size:.78rem;color:var(--muted)}
.sheet .primary{width:100%;margin-top:18px}
.dayhead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dayhead .linkbtn{padding:4px 0;min-height:36px}
.bname{display:block;background:var(--card);border-radius:12px;padding:10px 12px;margin:8px 0 12px}
.bname span{display:block;font-weight:600;font-size:.9rem;color:var(--muted)}
.bname input{box-sizing:border-box;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-family:Archivo,sans-serif;font-weight:700;font-size:1.4rem}
.bnote{background:var(--card);border-left:5px solid var(--accent);border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:.92rem}
.bnote .linkbtn{padding:4px 0;min-height:32px}
.brow{background:var(--card);border-radius:12px;padding:10px 10px 10px 12px}
.brow.linked{border-left:5px solid var(--blue)}
.brow-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.bn{min-width:0}
.bn b{display:block;font-family:Archivo,sans-serif;font-size:1.25rem;line-height:1.1}
.bn span{font-size:.8rem;color:var(--muted)}
.bn em{display:block;font-style:normal;font-size:.8rem;color:var(--warn);margin-top:2px}
.bacts{display:flex;gap:4px;flex:none}
.ibtn{width:38px;height:38px;border:1.5px solid var(--line);background:transparent;border-radius:10px;cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--ink)}
.ibtn:disabled{opacity:.3;cursor:default}
.bfields{display:flex;gap:12px;align-items:flex-end;margin-top:8px;flex-wrap:wrap}
.bstep{display:flex;align-items:center;gap:6px}
.bstep span,.breps span{font-size:.8rem;color:var(--muted);font-weight:600;margin-right:2px}
.bstep b{min-width:22px;text-align:center;font-family:Archivo,sans-serif;font-size:1.3rem}
.breps{display:flex;flex-direction:column;flex:1;min-width:110px}
.breps input{box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:1rem}
.blink{display:block;width:100%;margin:4px 0;border:1.5px dashed var(--line);background:transparent;border-radius:10px;padding:8px;color:var(--muted);font-weight:600;font-size:.85rem;cursor:pointer;min-height:40px}
.blink.on{border:1.5px solid var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,transparent)}
.badd{width:100%;margin-top:12px;font-weight:700;color:var(--ink);border-style:dashed}
.bre{width:100%;margin-top:10px}
.mgchips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.mgchips::-webkit-scrollbar{display:none}
.chip.sm{min-height:36px;padding:4px 12px;font-size:.9rem;flex:none}
.ptoggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted);margin:2px 0 6px;min-height:40px}
.ptoggle input{width:20px;height:20px}
.pgh{margin:14px 0 6px;font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.03em}
.prow{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.prow.na{opacity:.6}
.padded{font-size:.85rem;color:var(--done);font-weight:700}
.prow{padding:4px 12px 4px 4px}
.pview{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);text-align:left;padding:6px 8px;min-height:48px;border-radius:10px;cursor:pointer;font:inherit}
.pview .bn{flex:1}
.pview .bn>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pview .pinfo{flex:none;color:var(--muted)}
.pview:hover .pinfo{color:var(--ink)}
.pview:focus-visible{outline:3px solid var(--blue);outline-offset:0}
.peek{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.pkbar{position:fixed;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(to bottom,transparent,var(--bg) 22px);padding:26px 14px calc(14px + env(safe-area-inset-bottom,0px))}
.pkbar>*{display:block;max-width:612px;margin-left:auto;margin-right:auto}
.sheet .pkbar .primary{width:100%;margin-top:0}
.pkbar .ghost{width:100%;margin-top:8px}
.pkbar .elwarn{background:var(--card);border-radius:10px;padding:10px 12px;margin:0}
.cntrow{display:flex;align-items:center;gap:4px}
.notebtn{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;padding:0}
.notebtn.has{background:#F6C445;border-color:#F6C445;color:#3A2A00}
.notebtn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.injnote{background:color-mix(in srgb,#F6C445 22%,var(--card));border-left:5px solid #F6C445;border-radius:10px;padding:8px 12px;margin:6px 0 8px}
.injnote b{display:block;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}
.injnote p{margin:2px 0 0;font-size:.95rem;white-space:pre-wrap}
.note-sheet textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font:inherit;font-size:1rem;resize:vertical}
.note-sheet textarea:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.dayloc{position:relative;margin:8px 0 0}
.locpill{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;min-height:38px;font-weight:600;cursor:pointer}
.locpill i{font-style:normal;color:var(--muted);font-weight:500}
.locpill svg{color:var(--muted)}
.locpill:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.daylocmenu{left:0;right:auto;min-width:260px}
.pm-item small{color:var(--muted);font-weight:500;margin-left:4px}
.ready{display:flex;align-items:flex-start;gap:8px;border-radius:12px;padding:10px 12px;margin:10px 0 0;font-size:.92rem}
.ready svg{flex:none;margin-top:1px}
.ready.ok{background:var(--done-bg);color:var(--ink)}
.ready.ok svg{color:var(--done)}
.ready.warn{background:color-mix(in srgb,#F6C445 22%,var(--card));color:var(--ink)}
.ready.warn svg{color:var(--warn)}
.ready.none{background:var(--card);color:var(--muted);display:block}
.ready .linkbtn{padding:2px 0;min-height:28px}
.nogear{display:inline-block;margin-top:4px;font-size:.75rem;font-weight:700;color:var(--warn);border:1.5px solid currentColor;border-radius:999px;padding:0 8px}
.gearwarn{background:color-mix(in srgb,#F6C445 18%,var(--card));border-left:5px solid #F6C445;border-radius:10px;padding:8px 12px;margin:6px 0 8px;font-size:.92rem}
.gearwarn p{margin:0 0 6px}
.gearwarn>span{font-size:.8rem;color:var(--muted);font-weight:600}
.swaps{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
/* exercise swaps (F4) */
.swacts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.swnote{background:var(--done-bg);border-radius:10px;padding:8px 12px;margin:6px 0;font-size:.9rem}
.swnote .linkbtn{padding:0;min-height:28px}
.swpanel{border:1.5px solid var(--line);border-radius:12px;padding:10px;margin:6px 0 8px;background:var(--bg)}
.swpanel.inline{border:0;padding:0;margin:0;background:transparent}
.swhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.swhead .linkbtn{padding:0;min-height:32px}
.swmode{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin-bottom:8px}
.swmode button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:.88rem;min-height:40px;cursor:pointer}
.swmode button[aria-checked="true"]{background:var(--ink);color:var(--bg)}
.swmode button:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.swlist{display:flex;flex-direction:column;gap:6px}
.swopt{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:8px 10px;min-height:52px;cursor:pointer;font:inherit}
.swopt .bn{flex:1;min-width:0}
.swopt .bn b{display:block}
.swopt .bn span,.swlist .pview .bn>span{display:block;font-size:.8rem;color:var(--muted);white-space:normal}
.swopt:hover{border-color:var(--ink)}
.swopt:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.swhard{flex:none;font-style:normal;font-size:.72rem;font-weight:700;color:var(--warn);border:1.5px solid currentColor;border-radius:999px;padding:0 8px}
.swlist .pview .swhard{display:inline-block;margin-top:2px}
.swlist span.pview{cursor:default}
.swmore{margin-top:6px;padding:4px 0;min-height:32px}
.swnone{margin:0;color:var(--muted);font-size:.9rem}
.warnt{font-style:normal;color:var(--warn);font-weight:600}
.okt{color:var(--done);font-weight:600}
.locbar.slim{padding:8px 12px;margin:0 0 12px}
.acct .bname{margin:0 0 10px}
.soon{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border-radius:12px;padding:10px 12px;margin-top:10px}
.soon b{display:block}
.soon span{font-size:.85rem;color:var(--muted)}
.soonbtns{display:flex;gap:6px}
.soonbtns .chip:disabled{opacity:.45;cursor:not-allowed}
.acct .primary{width:100%}
.tiers{display:grid;gap:10px}
.tier{position:relative;display:block;width:100%;text-align:left;border:2px solid var(--line);background:var(--card);border-radius:14px;padding:12px 14px;cursor:pointer;color:var(--ink)}
.tier.on{border-color:var(--done)}
.tier.static{cursor:default}
.tier:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.th{display:flex;align-items:center;gap:8px}
.th b{font-family:Archivo,sans-serif;font-size:1.4rem}
.ttag{font-size:.75rem;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--bg);color:var(--muted)}
.tprice{display:block;font-weight:600;margin:2px 0 4px}
.tier ul{margin:0;padding-left:18px;font-size:.88rem;color:var(--muted)}
.tcur{position:absolute;top:12px;right:12px;background:var(--done);color:var(--on-done);font-size:.75rem;font-weight:700;border-radius:999px;padding:1px 9px}
.onboard{z-index:8}
.onboard.csgate{z-index:9}
.cscheck{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:.92rem;line-height:1.4;cursor:pointer}
.cscheck input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--done)}
.cscheck a,.csrow a{color:inherit;text-decoration:underline}
.delwarn{background:rgba(192,57,43,.12);border:1px solid #C0392B;border-radius:14px;padding:10px 14px;margin:10px 0;font-size:.92rem;line-height:1.45}
.dellist{margin:10px 0 14px;padding-left:20px;font-size:.92rem;line-height:1.5}
.dellist li{margin:4px 0}
.cslist{background:var(--card);border-radius:12px;padding:4px 12px}
.csrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}
.csrow:last-child{border-bottom:0}
.csrow span{font-size:.85rem;color:var(--muted)}
.cstoggle{background:var(--card);border-radius:12px;margin-top:10px}
.hsub{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:2px}
.hlist{margin:8px 0 14px;padding-left:20px;font-size:.92rem;line-height:1.45}
.hlist li{margin:4px 0}
.seg.segtwo{grid-template-columns:repeat(2,1fr)}
.ob .obhero{padding:18px 0 6px}
.ob .brand{display:flex;align-items:center;gap:12px;padding-top:14px}
.ob .brand svg{flex:none;border-radius:12px}
.ob .brand b{display:block;font-family:Archivo,sans-serif;font-weight:900;font-size:1.6rem;line-height:1}
.ob .brand span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.ob .obhero h1{font-size:2.6rem;line-height:1;margin:0 0 6px;font-weight:800}
.ob .obhero p{margin:0 0 12px;color:var(--muted)}
.obh{font-size:1.8rem;margin:4px 0 4px;font-weight:800}
.bname.dim input{opacity:.6;cursor:not-allowed}
.bname em{display:block;font-style:normal;font-size:.8rem;color:var(--muted);margin-top:6px}
.ob .primary{width:100%}
.obfine{font-size:.82rem;color:var(--muted);text-align:center;margin:12px 0 0}
.obopt{display:block;width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 12px;cursor:pointer;color:var(--ink)}
.obopt b{display:block;font-family:Archivo,sans-serif;font-size:1.6rem;margin-bottom:4px}
.obopt span{color:var(--muted);font-size:.92rem}
.obopt.on{border-color:var(--done);box-shadow:inset 0 0 0 1px var(--done)}
.obdaysq{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.obdaysq .obopt{text-align:center;padding:16px 4px;margin:0}
.obdaysq .obopt b{font-size:1.3rem;margin:0}
.ttag.obbest{background:var(--accent);color:var(--accent-ink)}
.tier .obdays{list-style:none;margin:6px 0 4px -18px;display:flex;flex-wrap:wrap;gap:4px}
.tier .obdays span{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--ink)}
.tier .obdays span.opt{border-style:dashed;color:var(--muted)}
.obmore{margin:2px 0}
.obmore>summary{cursor:pointer;font-weight:700;padding:8px 2px;color:var(--muted)}
.obmore>.tiers{margin-top:6px}
.obpresets{margin-bottom:10px}
.aboutlbl{margin:10px 0 6px;font-weight:700;font-size:.9rem}
.obopt:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.bkbtns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.bktext{box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:12px/1.4 ui-monospace,Menlo,monospace;color:var(--ink);margin-bottom:6px}
.sgkinds{margin:0 0 12px}
.sgkinds .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
#sugg textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font:inherit;font-size:1rem;resize:vertical;color:var(--ink)}
#sugg textarea:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
#sugg .bname em{text-align:right}
.sgshot{margin:2px 0 6px}
.sgshot img{display:block;max-width:100%;max-height:320px;border-radius:12px;border:1px solid var(--line);margin-bottom:8px}
.sgadd{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-style:dashed;color:var(--ink);font-weight:600}
#sugg .primary{width:100%}
.sgdone{display:flex;gap:10px;align-items:flex-start;background:var(--done-bg);border-radius:12px;padding:12px;margin:6px 0 12px}
.sgdone svg{color:var(--done);flex:none;margin-top:2px}
.sgdone p{margin:2px 0 0;color:var(--muted);font-size:.92rem}
.sglist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sglist li{background:var(--card);border-radius:12px;padding:10px 12px}
.sgmeta{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--muted)}
.sgst{font-size:.75rem;border-radius:999px;padding:0 8px;background:var(--bg);color:var(--muted)}
.sgst.st-planned,.sgst.st-seen{color:var(--blue)}
.sgst.st-done{background:var(--done-bg);color:var(--done)}
.sglist p{margin:4px 0 0;font-size:.92rem;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.admtag{font-size:.7rem;font-weight:700;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:middle}
.fbfilters{margin:0 0 12px}
.fbfilters .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.fbfilters .chip[aria-pressed="true"] .lcnt{background:color-mix(in srgb,var(--bg) 25%,transparent);color:var(--bg)}
.fblist{display:grid;gap:10px}
.fbcard{background:var(--card);border-radius:14px;padding:12px 14px}
.fbhead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.fbhead b{display:block}
.fbhead span{font-size:.8rem;color:var(--muted)}
.fbkind{flex:none;font-size:.75rem;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--bg)}
.fbkind.k-bug{color:#C0392B}
.fbkind.k-idea{color:var(--blue)}
.fbmsg{margin:8px 0;white-space:pre-wrap}
.fbshot{display:block;border:0;padding:0;background:none;cursor:zoom-in;margin:0 0 8px}
.fbshot img{display:block;max-width:100%;max-height:260px;border-radius:10px;border:1px solid var(--line)}
.fbctx{margin:0 0 8px;font-size:.8rem;color:var(--muted)}
.fbstatus{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--muted)}
.fbstatus select{flex:1;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-weight:600;padding:0 10px}
.fbview{position:fixed;inset:0;z-index:10;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:calc(16px + env(safe-area-inset-top,0px)) 12px calc(16px + env(safe-area-inset-bottom,0px))}
.fbview img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}
.fbview .fbclose{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;background:#fff;color:#000;border-color:#fff}
.fbview .linkbtn{color:#D4FF3A}
.sgreply{margin:8px 0 2px;background:color-mix(in srgb,var(--blue) 9%,var(--bg));border-left:4px solid var(--blue);border-radius:10px;padding:8px 10px}
.sgreply>div{display:flex;align-items:center;gap:8px;font-size:.8rem}
.sgreply>div b{color:var(--blue)}
.sgreply>div span:last-child{margin-left:auto;color:var(--muted)}
.sgreply p{margin:4px 0 0;font-size:.92rem;white-space:pre-wrap;-webkit-line-clamp:unset;display:block}
.sgreply .linkbtn{padding:4px 0;min-height:32px}
.newtag{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px;font-weight:700;font-size:.7rem}
.fbreply{margin:4px 0 10px}
.fbreply label span{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:4px}
.fbreply textarea{box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem;resize:vertical}
.fbreply textarea:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.fbrbtns{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:6px}
.replytag{font-size:.7rem;font-weight:700;background:var(--blue);color:var(--bg);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:middle}
.coles{background:var(--card);border-radius:14px;padding:12px 14px;margin:8px 0 12px}
.coles .loclbl{margin-top:10px}
.coles .sub{margin:0 0 4px}
.colesfocus .chip[aria-pressed="true"],.coles .locchips .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.colessteps{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0 6px}
.colesinfo{font-size:.88rem;color:var(--muted);margin:6px 0 10px}
.colesbtns{display:grid;grid-template-columns:auto 1fr;gap:8px}
.colesbtns .primary{width:100%;margin:0}
.colesbtns .primary:only-child{grid-column:1/-1}
.colesbtns .primary:disabled{opacity:.45}
.colesbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border-radius:12px;padding:10px 12px;margin:8px 0 12px}
.colesbar b{display:block;font-family:Archivo,sans-serif;font-size:1.2rem}
.colesbar span{font-size:.85rem;color:var(--muted)}
.colesswap{margin:2px 0 8px}
.locbar{background:var(--card);border-radius:14px;padding:10px 12px;margin-bottom:10px}
.loclbl{display:block;font-weight:600;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.locchips{display:flex;flex-wrap:wrap;gap:6px}
.locchips .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.lcnt{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.75rem;margin-left:2px}
.locchips .chip[aria-pressed="true"] .lcnt{background:color-mix(in srgb,var(--bg) 25%,transparent);color:var(--bg)}
.locadd{border-style:dashed}
.locacts{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}
.locacts .linkbtn{padding:6px 0;min-height:36px}
.linkbtn.danger{color:#C0392B}
.locform .bname{margin:10px 0 6px;padding:0;background:transparent}
.locsugg{display:flex;flex-wrap:wrap;gap:6px}
.locbtns{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:6px}
.locbtns .primary,.locbtns .ghost{width:100%;margin:0}
.loccopy{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pickloc{margin-bottom:8px}
.eqsearch{position:sticky;top:0;z-index:2;display:flex;gap:8px;align-items:center;background:var(--bg);padding:6px 0 10px}
.eqsearch input{flex:1;min-width:0;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:1rem}
.eqsearch input:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.eqsec{margin-bottom:8px}
.mygear{background:var(--card);border-radius:14px;padding:4px 12px 10px;margin-bottom:14px}
.eqn{display:inline-block;min-width:24px;padding:0 7px;margin-left:4px;border-radius:999px;background:var(--done);color:var(--on-done);font-size:.85rem;text-align:center;vertical-align:middle;line-height:1.6}
.eqgrp h4{margin:10px 0 6px;font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.03em}
.eqchips{display:flex;flex-wrap:wrap;gap:6px}
.eqchip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;min-height:40px;cursor:pointer;font-weight:500;text-align:left}
.eqchip>span:first-child{font-weight:700;color:var(--blue)}
.eqchip.mine{background:var(--done-bg);border-color:transparent}
.eqchip.mine>span:first-child{color:var(--done)}
.eqchip .x{color:var(--muted);font-size:1.1rem;line-height:1;margin-left:2px}
.eqchip:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.eqempty{color:var(--muted);font-size:.92rem;margin:6px 0 4px}
.psec{font-size:1.35rem;margin:18px 0 2px;font-weight:700}
.psec:first-of-type{margin-top:6px}
.sheet .sub{margin-bottom:10px}
.wheel{position:relative;display:flex;justify-content:center;gap:18px;background:var(--card);border-radius:14px;padding:8px 12px;max-width:320px}
.wheel::before{content:"";position:absolute;left:10px;right:10px;top:50%;height:40px;transform:translateY(-50%);background:var(--bg);border-radius:10px;pointer-events:none}
.wcol{position:relative;display:flex;align-items:center;gap:6px}
.wscroll{position:relative;height:200px;width:72px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  -webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);border-radius:8px}
.wscroll::-webkit-scrollbar{display:none}
.wscroll:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wpad{height:80px}
.witem{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;font-family:Archivo,sans-serif;font-size:1.5rem;font-weight:600;color:var(--muted);cursor:pointer;user-select:none}
.witem.on{color:var(--ink);font-weight:800;font-size:1.75rem}
.wunit{position:relative;font-weight:600;color:var(--muted);font-size:.9rem;width:28px}
.linkbtn{border:0;background:transparent;color:var(--blue);font-weight:600;padding:10px 0;cursor:pointer;min-height:44px}
.toast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top,0px));transform:translateX(-50%);background:var(--done);color:var(--on-done);padding:10px 16px;border-radius:10px;font-weight:600;display:none;z-index:9}
.toast.on{display:block}
/* figure styles */
.bd polyline,.bd line{stroke:var(--ink);stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hd{fill:var(--ink)}
.eq{fill:var(--steel)}
.st{stroke:var(--steel);stroke-width:2.6;stroke-linecap:round}
.wt{fill:var(--accent);stroke:var(--ink);stroke-width:1.2}
.cb{stroke:var(--blue);stroke-width:1.6;stroke-dasharray:3 2}
.pl{fill:var(--blue)}
.fl{stroke:var(--line);stroke-width:2}
.ar{stroke:var(--muted);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.bar i{transition:none}}
/* ---------- bottom tab bar ---------- */
:root{--tabh:calc(72px + env(safe-area-inset-bottom,0px));--mark:#4A6300;--seg2:#4A6300;--seg3:#A9B2BC;--seg4:#5B6672}
:root[data-theme="dark"]{--mark:#A7C92E;--seg2:#7E9A1C;--seg3:#56606B;--seg4:#9AA4AE}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--mark:#A7C92E;--seg2:#7E9A1C;--seg3:#56606B;--seg4:#9AA4AE}}
.tabbar{display:none}
body.tabs .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:flex;align-items:flex-end;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:6px max(4px,calc(50% - 320px)) calc(8px + env(safe-area-inset-bottom,0px))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;padding:2px 0;min-height:56px;cursor:pointer;color:var(--muted);font:600 .75rem Figtree,system-ui,sans-serif;font-stretch:100%}
.tab .tpill{position:relative;width:56px;height:32px;border-radius:16px;display:grid;place-items:center}
.tab[aria-current="page"]{color:var(--ink);font-weight:800}
.tab[aria-current="page"] .tpill{background:var(--accent);color:var(--accent-ink)}
:root[data-theme="dark"] .tab[aria-current="page"]{color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tab[aria-current="page"]{color:var(--accent)}}
.tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:12px}
.tdot{position:absolute;top:2px;right:12px;width:9px;height:9px;border-radius:50%;background:#C0392B;border:2px solid var(--card)}
.tcentre{flex:1.2;margin-top:-34px;padding:0}
.tplate{width:72px;height:72px;box-sizing:border-box;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border:5px solid var(--card);box-shadow:0 6px 16px var(--shadow)}
.tcentre[aria-current="page"] .tplate{box-shadow:0 0 0 2px var(--ink),0 6px 16px var(--shadow)}
.tcentre:active .tplate{transform:scale(.96)}
body.tabs .wrap{padding-bottom:calc(var(--tabh) + 110px)}
body.tabs .sheet{bottom:var(--tabh)}
body.tabs .timer{bottom:var(--tabh)}
body.tabs .sheet-in{padding-bottom:40px}
/* ---------- More page ---------- */
.mprof{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--card);color:var(--ink);border-radius:14px;padding:14px;text-align:left;cursor:pointer;margin:6px 0 12px}
.mav{width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:900 1.4rem Archivo,sans-serif;flex:none}
.mpt{flex:1;min-width:0;display:flex;flex-direction:column}.mpt b{font-size:1.05rem}.mpt span{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis}
.mprof svg,.mrow svg{color:var(--muted);flex:none}
.mlist{background:var(--card);border-radius:14px;padding:0 14px;margin-bottom:12px}
.mrow{display:flex;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);min-height:52px;padding:0;text-align:left;font-weight:600;cursor:pointer}
.mrow:first-child{border-top:0}.mrow>span:first-child{flex:1}
.mtheme{padding:12px 14px}.mtheme>span{display:block;font-weight:600;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.msignout{width:100%}
/* ---------- Stats ---------- */
.ststreak{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;font-weight:800;color:var(--ink)}
.ststreak svg{color:var(--mark)}
.stseg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px;margin:8px 0 12px}
.stseg button{border:0;border-radius:999px;min-height:38px;font-weight:600;font-size:.9rem;background:transparent;color:var(--muted);cursor:pointer}
.stseg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);font-weight:800}
.stseg button:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.stcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}
.sthead{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}
.sthead>div:first-child,.stcol2{display:flex;flex-direction:column}
.stlbl{font-size:.88rem;color:var(--muted)}
.stbig{color:var(--muted);font-size:.9rem}.stbig b{font-family:Archivo,sans-serif;font-weight:800;font-size:1.9rem;color:var(--ink);line-height:1.1}
.stbig.sm b{font-size:1.25rem}
.stright{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.stdelta{background:var(--done-bg);color:var(--done);border-radius:8px;padding:2px 8px;font-weight:800;font-size:.88rem;white-space:nowrap}
.stdelta.bad{background:var(--line);color:var(--ink)}
.stvs{font-size:.78rem;color:var(--muted);text-align:right}
.stchart{display:grid;grid-template-columns:1fr 34px;grid-template-rows:auto auto;column-gap:6px;row-gap:6px}
.stplot{position:relative;height:112px}
.stplot.wt{height:96px}
.stgrid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}
.stgrid i{display:block;border-top:1px dashed var(--line)}.stgrid i:last-child{border-top-style:solid}
.stbars{position:absolute;inset:0;display:flex;align-items:flex-end}
.stcol{flex:1;height:100%;display:flex;justify-content:center;align-items:flex-end}
.stbar{width:min(18px,60%);border-radius:6px 6px 2px 2px;background:var(--mark)}
.stbar.zero{background:var(--line)}.stbar.future{opacity:.35}
.stbar.best{background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-ink)}
:root[data-theme="dark"] .stbar.best{box-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stbar.best{box-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}}
.stax{position:relative;height:112px;font-size:.72rem;color:var(--muted);display:flex;flex-direction:column;justify-content:space-between;text-align:right;margin:-7px 0}
.stax.three{height:96px}
.stlabels{display:grid;font-size:.75rem;color:var(--muted);text-align:center;white-space:nowrap}
.stplot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.stplot polyline{fill:none;stroke:var(--mark);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.stdot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--mark);border:2px solid var(--card);box-sizing:border-box}
.stnowt{display:flex;align-items:center;gap:12px}.stnowt>div{flex:1}.stnowt p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.strow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sthalf{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sthalf>div:first-child{flex:1;display:flex;flex-direction:column}
.sthalf.stcol2{align-items:stretch;gap:4px}
.stnote{font-size:.82rem;color:var(--muted)}
.string{position:relative;width:58px;height:58px;flex:none;color:var(--mark)}
.string>svg:last-child{position:absolute;left:18px;top:18px;width:22px;height:22px}
.sttrack{fill:none;stroke:var(--line);stroke-width:5}.starc{fill:none;stroke:var(--mark);stroke-width:5;stroke-linecap:round}
.stprog{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:4px}.stprog i{display:block;height:100%;background:var(--mark)}
.stok{font-size:.85rem;font-weight:700;color:var(--done)}
.stname{font-family:Archivo,sans-serif;font-weight:800;font-size:1.15rem;color:var(--done);line-height:1.15}
.stsec{font-family:Archivo,sans-serif;font-size:1.45rem;font-weight:800;margin:10px 0 8px}
.stmuscle{display:flex;align-items:center;gap:16px}.stmuscle svg{flex:none}
.stmuscle circle{fill:none;stroke-width:12}
.stseg0{stroke:var(--accent)}.stseg1{stroke:var(--seg2)}.stseg2{stroke:var(--seg3)}.stseg3{stroke:var(--seg4)}
.stmuscle ul{list-style:none;margin:4px 0 0;padding:0;font-size:.9rem;display:grid;gap:2px}
.stmuscle li{display:flex;align-items:center;gap:8px}.stmuscle li i{width:10px;height:10px;border-radius:50%;flex:none}
.stkey0{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-ink)}.stkey1{background:var(--seg2)}.stkey2{background:var(--seg3)}.stkey3{background:var(--seg4)}
.stempty .chip{margin-top:12px}
.stsample{font-size:.85rem;color:var(--muted);margin:0 0 8px}
/* ---------- gear groups fold away; exercise library ---------- */
.eqfold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:44px;border-top:1px solid var(--line)}
.eqfold>summary::-webkit-details-marker{display:none}
.eqfold>summary h4{margin:0;flex:1}
.eqfold>summary::after{content:"";width:9px;height:9px;border-right:2.4px solid var(--muted);border-bottom:2.4px solid var(--muted);transform:rotate(45deg);margin:0 6px 4px 0}
.eqfold[open]>summary::after{transform:rotate(225deg);margin-bottom:-4px}
.eqfold>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}
.eqfold .eqchips{padding-bottom:10px}
.elcount{margin:2px 0 8px;font-size:.85rem;color:var(--muted)}
.elrow{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;background:var(--card);color:var(--ink);border-radius:12px;padding:10px 12px;margin-bottom:6px;cursor:pointer;min-height:56px}
.elrow svg{flex:none;color:var(--muted)}
.elrow:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.elmore{width:100%;margin-top:6px}
.eltitle{font-size:2rem;line-height:1.05;margin:4px 0 8px}
.eltags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.eltags span{background:var(--card);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600}
.eltags span:first-child{background:var(--accent);color:var(--accent-ink)}
.exart{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--bg);margin:4px 0 8px;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.exart img{display:block;width:100%;height:100%}
.exart.still{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:8/3;cursor:default}
.exart.paused::after{content:"";position:absolute;right:8px;bottom:8px;width:14px;height:16px;border-left:5px solid var(--muted);border-right:5px solid var(--muted);box-sizing:border-box;opacity:.8}
.exart.elfig{max-width:420px;margin:0 auto 6px;width:100%;padding:0;background:var(--bg)}
.elfig{background:var(--card);border-radius:12px;padding:8px;margin-bottom:6px}
.elsec{background:var(--card);border-radius:12px;padding:2px 14px 12px;margin-bottom:10px}
.elsec .psec{font-size:1.1rem;margin:10px 0 4px}
.elmus{margin:0;font-size:.95rem}
.elwarn{margin:6px 0 0;color:var(--warn);font-weight:600;font-size:.9rem}
.elok{margin:6px 0 0;color:var(--done);font-weight:600;font-size:.9rem}

/* ---------- body measurements: check-in cards, progress, reminders (measure.js) ---------- */
:root{--ms-band:#9CC414;--ms-glow:rgba(180,220,30,0);--ms-good:#4A6300;--ms-figL:inline;--ms-figD:none}
:root[data-theme="dark"]{--ms-band:#D4FF3A;--ms-glow:rgba(212,255,58,.55);--ms-good:#C6EE3A;--ms-figL:none;--ms-figD:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ms-band:#D4FF3A;--ms-glow:rgba(212,255,58,.55);--ms-good:#C6EE3A;--ms-figL:none;--ms-figD:inline}}
.ms-uL{display:var(--ms-figL)}.ms-uD{display:var(--ms-figD)}
.ms-fig{display:block;width:100%;height:100%}
.ms-glow{fill:var(--ms-glow)}
.ms-bandb{fill:none;stroke:var(--ms-band);opacity:.4;stroke-dasharray:3 3}
.ms-bandf{fill:none;stroke:var(--ms-band);stroke-linecap:round}.ms-bandf.soft{opacity:.7}
.ms-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-weight:700;font-size:.82rem;background:var(--done-bg);color:var(--ms-good);font-variant-numeric:tabular-nums;white-space:nowrap}
.ms-pill.out{background:transparent;border:1px solid var(--line);color:var(--muted)}
.ms-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ms-wide{width:100%;margin-top:12px;color:var(--ink);font-weight:600}
.ms-chips{display:flex;flex-wrap:wrap;gap:6px}
.ms-chips .chip{min-height:34px}
/* due card (Workout and Stats) */
.ms-due{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--ms-band);border-radius:14px;padding:12px 14px;margin:0 0 14px}
.ms-due div:first-child{min-width:0;flex:1 1 160px}
.ms-due b{display:block;font-family:Archivo,sans-serif;font-size:1.15rem}
.ms-due span{display:block;color:var(--muted);font-size:.88rem}
.ms-due-b{display:flex;gap:6px}
.ms-stlink{margin:-2px 0 14px}
/* start screen */
.ms-hero{height:min(34vh,240px);margin:4px -8px 6px}
.ms-legend{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.ms-legend .ms-pill{justify-content:center;min-width:72px}
.ms-goal{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 10px;display:grid;gap:8px}
.ms-goal div:first-child{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ms-goal span{color:var(--muted);font-size:.9rem}
.ms-bar{height:6px;border-radius:6px;background:var(--line);overflow:hidden}.ms-bar i{display:block;height:100%;background:var(--ms-band);border-radius:6px}
/* cards */
.ms-sheet.ms-full{overflow:hidden}
.ms-cards{max-width:520px;margin:0 auto;height:100%;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top,0px)) 14px calc(14px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.ms-ctop{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--muted);flex:0 0 auto}
.ms-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1rem;cursor:pointer}
.ms-prog{flex:1;height:6px;border-radius:6px;background:var(--line);overflow:hidden}.ms-prog i{display:block;height:100%;background:var(--ms-band)}
.ms-deck{position:relative;flex:1 1 auto;min-height:0;margin:12px 0 4px}
.ms-card{position:absolute;inset:0;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 26px -16px var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;will-change:transform}
.ms-card.back1{transform:translateY(10px) scale(.95);opacity:.7;pointer-events:none}
.ms-card.back2{transform:translateY(20px) scale(.9);opacity:.4;pointer-events:none}
.ms-card.fly{transition:transform .26s ease-in,opacity .26s ease-in}
.ms-card.snap{transition:transform .2s ease-out}
.ms-figbox{flex:1 1 auto;min-height:90px;border-radius:14px;background:var(--bg);overflow:hidden}
.ms-card h3{margin:0;font:800 1.9rem/1 Archivo,sans-serif;font-stretch:75%;display:flex;align-items:center;gap:8px}
.ms-side{font:700 .72rem Figtree,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink)}
.ms-tip{margin:0;color:var(--muted);font-size:.9rem;line-height:1.35}
.ms-val{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.ms-num{display:flex;align-items:baseline;gap:4px}
.ms-num input{width:4.6ch;border:0;border-bottom:2px dashed var(--line);background:transparent;color:var(--ink);font:900 2.7rem/1 Archivo,sans-serif;font-stretch:75%;font-variant-numeric:tabular-nums;padding:0;border-radius:0}
.ms-num input:focus{outline:none;border-bottom-color:var(--ms-band)}
.ms-num span{color:var(--muted);font-weight:600}
.ms-ruler{position:relative;height:58px;flex:0 0 auto;border-radius:14px;background:var(--bg);border:1px solid var(--line);overflow:hidden;cursor:ew-resize;touch-action:none}
.ms-ruler svg{position:absolute;top:0;left:0}
.ms-ruler:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ms-ptr{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--ms-band);box-shadow:0 0 10px var(--ms-glow);z-index:1}
.ms-tick{stroke:var(--muted);stroke-width:1}.ms-tick.maj{stroke:var(--ink);stroke-width:1.6}
.ms-ruler text{fill:var(--muted);font:600 10px Figtree,sans-serif}
.ms-stamp{position:absolute;top:18px;z-index:2;padding:4px 10px;border-radius:8px;font:900 1.1rem Archivo,sans-serif;letter-spacing:.06em;border:3px solid;opacity:0;pointer-events:none}
.ms-stamp.save{left:18px;color:var(--ms-good);border-color:var(--ms-good);transform:rotate(-12deg)}
.ms-stamp.skip{right:18px;color:var(--muted);border-color:var(--muted);transform:rotate(12deg)}
.ms-btns{display:grid;grid-template-columns:56px 1fr 56px;gap:10px;align-items:center;flex:0 0 auto;padding-top:10px}
.ms-rb{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.3rem;font-weight:700;cursor:pointer}
.ms-rb.ok{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.ms-rb:focus-visible,.ms-x:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ms-hint{text-align:center;color:var(--muted);font-size:.8rem;line-height:1.3;display:grid;justify-items:center;gap:2px}
.ms-undo{border:0;background:none;color:var(--ink);font-weight:700;cursor:pointer;min-height:32px;padding:0 8px}
.ms-undo:disabled{opacity:.35;cursor:default}
@media (prefers-reduced-motion:reduce){.ms-card.fly,.ms-card.snap{transition:none}}
/* done + settings */
.ms-tbl{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;margin-bottom:12px;font-variant-numeric:tabular-nums}
.ms-tbl td{padding:9px 12px;border-bottom:1px solid var(--line)}.ms-tbl tr:last-child td{border-bottom:0}
.ms-tbl td:nth-child(n+2){text-align:right}
.ms-box{background:var(--card);border-radius:14px;padding:0 14px;margin:12px 0}
.ms-set{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 0;text-align:left;cursor:pointer;font:inherit}
.ms-box>.ms-set:first-child,.ms-box>.ms-remrow:first-child{border-top:0}
.ms-set span span{display:block;color:var(--muted);font-size:.86rem}
.ms-tog{flex:0 0 auto;width:44px;height:26px;border-radius:26px;background:var(--line);position:relative}
.ms-tog::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--card);transition:left .15s}
.ms-set[aria-checked="true"] .ms-tog{background:var(--ms-band)}.ms-set[aria-checked="true"] .ms-tog::after{left:21px;background:var(--accent-ink)}
.ms-ht{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600}
.ms-ht input{width:7ch;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:8px;font:800 1.1rem Archivo,sans-serif;text-align:right;font-variant-numeric:tabular-nums}
.ms-remrow{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:8px}
/* progress */
.ms-map{padding:12px}
.ms-mapfig{height:min(52vh,380px);margin:8px -6px 0}
.ms-cap{margin:4px 0 0;color:var(--muted);font-size:.84rem;text-align:center}
.ms-leader{stroke:var(--muted);stroke-width:.8;fill:none}
.ms-dot{fill:var(--ms-band);stroke:var(--ms-good);stroke-width:1}
.ms-tag rect{fill:var(--card);stroke:var(--line)}.ms-tag text{fill:var(--ink);font:700 9.5px Figtree,sans-serif}.ms-tag text.s{fill:var(--muted);font-weight:500;font-size:8px}
.ms-tag.good rect{fill:var(--done-bg);stroke:none}.ms-tag.good text{fill:var(--ms-good)}
.ms-list{display:grid;gap:8px}
.ms-li{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,120px) auto;gap:10px;align-items:center;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--ink);text-align:left;cursor:pointer;font:inherit}
.ms-lin{min-width:0}.ms-lin b{display:block}.ms-lin span{color:var(--muted);font-size:.9rem}.ms-lin span b{display:inline;color:var(--ink);font:800 1.15rem Archivo,sans-serif}
.ms-spark{height:40px;display:block}
.ms-chart{display:block;overflow:visible}
.ms-area{fill:var(--ms-band);opacity:.18}.ms-line{fill:none;stroke:var(--mark);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ms-goalln{stroke:var(--muted);stroke-dasharray:3 3;stroke-width:1;vector-effect:non-scaling-stroke}
.ms-end{fill:var(--ms-band);stroke:var(--ms-good);stroke-width:1.2}.ms-pt{fill:var(--card);stroke:var(--mark);stroke-width:1.5}
.ms-grid{stroke:var(--line);stroke-width:1}.ms-ax{fill:var(--muted);font:500 9px Figtree,sans-serif}
.ms-big-chart{padding:10px 8px 4px}
.ms-dhead{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:4px 0 6px}
.ms-big{font:900 3rem/1 Archivo,sans-serif;font-stretch:75%;font-variant-numeric:tabular-nums}.ms-big small{font:600 1rem Figtree,sans-serif;color:var(--muted);margin-left:4px}
.ms-goalbtn{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:var(--ink);cursor:pointer;font:inherit;position:relative}
.ms-goalbtn .ms-goal{margin:0}
.ms-fc{display:block;color:var(--muted);font-size:.86rem;margin:6px 2px 0}
.ms-edit{position:absolute;right:14px;bottom:14px;color:var(--mark);font-weight:700;font-size:.86rem}
.ms-goaled{display:grid;gap:10px}
.ms-goalin{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-goalin label{display:grid;gap:4px;color:var(--muted);font-size:.86rem;min-width:0}
.ms-goalin input[type="date"]{border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:8px;font:inherit;min-width:0;width:100%;box-sizing:border-box}
.ms-hist{background:var(--card);border-radius:14px;padding:0 12px}
.ms-hrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:4px 10px;align-items:center;border-top:1px solid var(--line);min-height:48px;font-variant-numeric:tabular-nums}
.ms-hrow:first-child{border-top:0}
.ms-hrow .linkbtn{min-height:40px;padding:0;font-size:.88rem}
.ms-hrow.edit{grid-template-columns:minmax(0,1fr) auto auto auto}
.ms-hd{color:var(--muted);font-size:.86rem;min-width:3.4em;text-align:right}
@media (max-width:380px){.ms-hrow{grid-template-columns:minmax(0,1fr) auto auto;}.ms-hd{display:none}.ms-hrow .linkbtn.danger{grid-column:3}}
/* ---------- colour themes (More › Colour theme): softer looks next to the GFD volt default ---------- */
.palpick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.palpick button{display:flex;flex-direction:column;align-items:center;gap:5px;border:2px solid transparent;background:var(--bg);border-radius:12px;padding:8px 2px;min-height:64px;font-weight:600;font-size:.85rem;color:var(--muted);cursor:pointer}
.palpick button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink);background:var(--card)}
.palpick button:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.palsw{width:26px;height:26px;border-radius:50%;border:1px solid var(--line)}
/* Flow: Blush Petal */
:root[data-palette="flow"]{--bg:#FBF3F4;--card:#FFFFFF;--ink:#3B2232;--muted:#7D6672;--line:#EEDDE2;--accent:#F7B6C8;--accent-ink:#3B2232;--cta:#B24A6F;--on-cta:#FFFFFF;--blue:#A4436A;--steel:#E8D3DA;--done:#A4436A;--done-bg:#FBE3EA;--on-done:#FFFFFF;--warn:#A85A12;--shadow:rgba(91,40,64,.14);--mark:#A4436A;--seg2:#C2577A;--seg3:#E8D3DA;--seg4:#7D6672}
@media (prefers-color-scheme:dark){:root[data-palette="flow"]:not([data-theme="light"]){--bg:#1E1519;--card:#2A1E24;--ink:#FBEFF3;--muted:#BFA6B1;--line:#3C2C34;--accent:#F7B6C8;--accent-ink:#3B2232;--cta:#F7B6C8;--on-cta:#3B2232;--blue:#F7B6C8;--steel:#5A4550;--done:#F7B6C8;--done-bg:#3E2430;--on-done:#3B2232;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#F2A3BA;--seg2:#C87891;--seg3:#5A4550;--seg4:#BFA6B1}}
:root[data-palette="flow"][data-theme="dark"]{--bg:#1E1519;--card:#2A1E24;--ink:#FBEFF3;--muted:#BFA6B1;--line:#3C2C34;--accent:#F7B6C8;--accent-ink:#3B2232;--cta:#F7B6C8;--on-cta:#3B2232;--blue:#F7B6C8;--steel:#5A4550;--done:#F7B6C8;--done-bg:#3E2430;--on-done:#3B2232;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#F2A3BA;--seg2:#C87891;--seg3:#5A4550;--seg4:#BFA6B1}
/* Drift: Lilac Haze */
:root[data-palette="drift"]{--bg:#F6F3FA;--card:#FFFFFF;--ink:#2E2540;--muted:#716A80;--line:#E2DCEC;--accent:#D3C2F2;--accent-ink:#2E2540;--cta:#6A55A3;--on-cta:#FFFFFF;--blue:#5E4A96;--steel:#DDD5EA;--done:#5E4A96;--done-bg:#ECE5F8;--on-done:#FFFFFF;--warn:#A85A12;--shadow:rgba(46,37,64,.14);--mark:#5E4A96;--seg2:#8A74C4;--seg3:#DDD5EA;--seg4:#716A80}
@media (prefers-color-scheme:dark){:root[data-palette="drift"]:not([data-theme="light"]){--bg:#17141F;--card:#221D2C;--ink:#F3EFFA;--muted:#ABA3BA;--line:#332C40;--accent:#D3C2F2;--accent-ink:#231C33;--cta:#D3C2F2;--on-cta:#231C33;--blue:#D3C2F2;--steel:#4A4259;--done:#D3C2F2;--done-bg:#2E2742;--on-done:#231C33;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#BCA5EA;--seg2:#8F7CBF;--seg3:#4A4259;--seg4:#ABA3BA}}
:root[data-palette="drift"][data-theme="dark"]{--bg:#17141F;--card:#221D2C;--ink:#F3EFFA;--muted:#ABA3BA;--line:#332C40;--accent:#D3C2F2;--accent-ink:#231C33;--cta:#D3C2F2;--on-cta:#231C33;--blue:#D3C2F2;--steel:#4A4259;--done:#D3C2F2;--done-bg:#2E2742;--on-done:#231C33;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#BCA5EA;--seg2:#8F7CBF;--seg3:#4A4259;--seg4:#ABA3BA}
/* Glow: Peach Sorbet */
:root[data-palette="glow"]{--bg:#FDF5EF;--card:#FFFFFF;--ink:#3A2A24;--muted:#7D6B62;--line:#F0E0D5;--accent:#FFC6AB;--accent-ink:#3A2A24;--cta:#B4553C;--on-cta:#FFFFFF;--blue:#A04A33;--steel:#EED9CC;--done:#A04A33;--done-bg:#FDE6DA;--on-done:#FFFFFF;--warn:#A85A12;--shadow:rgba(90,50,30,.14);--mark:#A04A33;--seg2:#D9775A;--seg3:#EED9CC;--seg4:#7D6B62}
@media (prefers-color-scheme:dark){:root[data-palette="glow"]:not([data-theme="light"]){--bg:#1C1614;--card:#28201C;--ink:#FCF1EA;--muted:#BBA79C;--line:#3A2E28;--accent:#FFC6AB;--accent-ink:#3A2A24;--cta:#FFC6AB;--on-cta:#3A2A24;--blue:#FFC6AB;--steel:#57473F;--done:#FFC6AB;--done-bg:#3B2A22;--on-done:#3A2A24;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#F7AE8E;--seg2:#C98468;--seg3:#57473F;--seg4:#BBA79C}}
:root[data-palette="glow"][data-theme="dark"]{--bg:#1C1614;--card:#28201C;--ink:#FCF1EA;--muted:#BBA79C;--line:#3A2E28;--accent:#FFC6AB;--accent-ink:#3A2A24;--cta:#FFC6AB;--on-cta:#3A2A24;--blue:#FFC6AB;--steel:#57473F;--done:#FFC6AB;--done-bg:#3B2A22;--on-done:#3A2A24;--warn:#F0A867;--shadow:rgba(0,0,0,.5);--mark:#F7AE8E;--seg2:#C98468;--seg3:#57473F;--seg4:#BBA79C}
/* measurement bands and goal colour follow the colour theme */
:root[data-palette]{--ms-band:var(--done);--ms-good:var(--done)}
:root[data-palette][data-theme="dark"]{--ms-band:var(--accent);--ms-glow:color-mix(in srgb,var(--accent) 55%,transparent);--ms-good:var(--accent)}
@media (prefers-color-scheme:dark){:root[data-palette]:not([data-theme="light"]){--ms-band:var(--accent);--ms-glow:color-mix(in srgb,var(--accent) 55%,transparent);--ms-good:var(--accent)}}
/* usage page (admins, WP5) and the new-version bar */
.ustable{width:100%;border-collapse:collapse;margin:4px 0 8px;background:var(--card);border-radius:14px;overflow:hidden}
.ustable th,.ustable td{padding:10px 12px;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
.ustable thead th{border-top:0;font-size:.8rem;color:var(--muted);font-weight:700}
.ustable th[scope=row],.ustable thead th:first-child{text-align:left;font-weight:600}
.usstack summary{cursor:pointer;font-size:.8rem;color:var(--muted)}
.usstack pre{white-space:pre-wrap;word-break:break-word;font-size:.75rem;margin:6px 0 0;max-height:200px;overflow:auto}
.updbar{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:9;display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--done);color:var(--on-done);padding:10px 14px;border-radius:12px;font-weight:600;max-width:520px;margin:0 auto}
.updbar button{border:0;background:transparent;color:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:6px 4px;font-size:1rem;min-height:44px}

/* ---------- Free and Pro (WP14) ---------- */
.lockdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1.5px var(--ink);margin-left:6px;vertical-align:middle}
.stseg button.stlock{color:var(--muted)}
.plcap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 12px;font-size:.92rem}
.plcard.pllocked{opacity:.86;border-style:dashed}
.pm-item.pm-locked span:first-child{color:var(--muted)}
.pronote{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.92rem;line-height:1.45;margin:6px 0 4px}
.ms-prolock{font-size:.88rem;color:var(--muted);line-height:1.45;margin:6px 0 10px}
.pkplans{display:grid;gap:8px;margin:8px 0 12px}
.pkplans .ms-set{width:100%}
/* ---------- tablet and desktop (WP16): side rail, wide pages, week grid, workouts table ---------- */
.rbrand{display:none}
.stseg.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:root{--k0:#4A6300;--k1:#2F6FB0;--k2:#B4532A;--railw:0px}
:root[data-theme="dark"]{--k0:#7E9A1C;--k1:#4F8FCB;--k2:#C97D42}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--k0:#7E9A1C;--k1:#4F8FCB;--k2:#C97D42}}
@media (min-width:768px){
  :root{--railw:96px}
  body.tabs .tabbar{top:0;right:auto;width:var(--railw);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;
    border-top:0;border-right:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top,0px)) 6px calc(14px + env(safe-area-inset-bottom,0px))}
  body.tabs .tab{flex:none;min-height:64px}
  body.tabs .tcentre{order:-1;margin:0 0 10px}
  body.tabs .tplate{width:64px;height:64px;border-width:0}
  body.tabs .rbrand{display:flex;order:-2;justify-content:center;margin-bottom:10px}
  body.tabs .rbrand b{display:none}
  body.tabs .wrap{margin-left:max(var(--railw),calc(50% - 320px));padding-bottom:110px}
  body.tabs .sheet{left:var(--railw);bottom:0}
  body.tabs .timer{left:var(--railw);bottom:0}
  body.tabs .updbar{left:calc(var(--railw) + 12px);bottom:16px}
  .wide #history .sheet-in,.wide #plans .sheet-in{max-width:1400px;padding-left:24px;padding-right:24px}
  .wrap{max-width:720px}
  /* stats dashboard: cards side by side */
  .wide .stdash{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;column-gap:16px;align-items:stretch}
  .wide .stdash>*{grid-column:1/-1}
  .wide .stdash>.strow{display:contents}
  .wide .stdash .stcard{grid-column:auto;margin-bottom:16px}
  .wide .stdash>.stcard:first-of-type{grid-column:1/-1}
  .wide .stdash>.stcard.stcmp{grid-column:1/-1}
  .wide .stdash>.stseg,.wide .stdash>.stdates{order:-3;max-width:640px}
  .wide .stdash>.ms-due{order:-2}
  .wide .stdash>.stsec{display:none}
  .wide .stdash>.ms-stlink,.wide .stdash>.stsample{order:5}
  .wide .stplot{height:150px}.wide .stax{height:150px}.wide .stplot.wt,.wide .stax.three{height:130px}
  .wide .stdash>.ms-stlink{max-width:640px}
}
@media (min-width:1200px){
  .wide .stdash{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wide .stdash>.stcard:first-of-type{grid-column:span 2}
}
@media (min-width:1600px){
  :root{--railw:220px}
  body.tabs .tabbar{padding-left:14px;padding-right:14px}
  body.tabs .rbrand{justify-content:flex-start;align-items:center;gap:10px;padding:0 6px}
  body.tabs .rbrand b{display:block;font:800 1.15rem Archivo,sans-serif;color:var(--ink)}
  body.tabs .tab{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 6px;font-size:.95rem}
  body.tabs .tab .tpill{width:48px;flex:none}
  body.tabs .tcentre{justify-content:flex-start}
  body.tabs .tplate{width:56px;height:56px}
  body.tabs .wrap{margin-left:max(var(--railw),calc(50% - 360px + var(--railw)/2))}
}
/* hover values on the charts */
.stcol{position:relative}
.stcol[data-tip]:hover::after,.stdot[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;
  background:var(--ink);color:var(--bg);font-size:.78rem;font-weight:600;padding:4px 8px;border-radius:8px;pointer-events:none}
.stcol:hover .stbar{outline:2px solid var(--ink);outline-offset:1px}
.stdot[data-tip]::before{content:"";position:absolute;inset:-8px}
.stdates{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:-4px 0 14px}
.stdates label{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--muted)}
.stdates input,.htfilters input,.htfilters select,.cmpctl select,.pglib input,.pglib select{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 10px;min-height:38px;color:var(--ink)}
.stquick{display:flex;gap:6px}
/* compare chart */
.cmpctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.cmpchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 4px 3px 10px;font-weight:600;font-size:.88rem}
.cmprm{border:0;background:transparent;color:var(--muted);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.1rem}
.cmprm:hover{background:var(--line);color:var(--ink)}
.cmpkey{display:inline-block;width:12px;height:4px;border-radius:2px;flex:none}
.cmpkey.k0{background:var(--k0)}.cmpkey.k1{background:var(--k1)}.cmpkey.k2{background:var(--k2)}
.cmpchart{position:relative;max-width:860px}
.cmpsvg{display:block;width:100%;height:auto;overflow:visible}
.cmpline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cmpline.k0{stroke:var(--k0)}.cmpline.k1{stroke:var(--k1)}.cmpline.k2{stroke:var(--k2)}
.cmpdot{stroke:var(--card);stroke-width:2}.cmpdot.k0{fill:var(--k0)}.cmpdot.k1{fill:var(--k1)}.cmpdot.k2{fill:var(--k2)}
.cmplbl{font-size:11px;fill:var(--muted)}.cmpv{fill:var(--ink);font-weight:700}
.cmpx{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.cmptip{position:absolute;top:6px;z-index:3;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 20px var(--shadow);border-radius:10px;padding:8px 10px;font-size:.82rem;display:flex;flex-direction:column;gap:3px;pointer-events:none;min-width:170px}
.cmptip[hidden]{display:none}
.cmptip span{display:flex;align-items:center;gap:6px;color:var(--muted)}.cmptip span b{margin-left:auto;color:var(--ink)}
.cmptable{margin-top:8px;font-size:.85rem}.cmptable summary{cursor:pointer;color:var(--muted)}
.cmptable table{border-collapse:collapse;margin-top:6px;width:100%}.cmptable th,.cmptable td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line)}
/* workouts table */
.htfilters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.htfilters label{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--muted)}
.htfilters input[type=search]{min-width:220px}
.htbulk{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--muted);font-size:.9rem}
.htbulk b{color:var(--ink)}
.htable{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:.92rem;margin-bottom:14px}
.htable th{text-align:left;font-weight:600;color:var(--muted);font-size:.8rem;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.htable td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.htable tr:last-child td{border-bottom:0}
.htable .num{text-align:right;white-space:nowrap}
.htable .htc{width:36px;text-align:center}
.htable input[type=checkbox]{width:18px;height:18px;accent-color:var(--done)}
.htable tr.sel td{background:var(--done-bg)}
.htable tbody tr:not(.htdetail):hover td{background:color-mix(in srgb,var(--line) 35%,transparent)}
.htable tr.htdetail td{padding:4px 10px 14px}
.htable .chip.sm{min-height:32px;padding:3px 12px}
/* plans: week grid */
.pg{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}
.pglist{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.pglist .pgplan{flex:none;white-space:nowrap}
.pgplan{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:8px 12px;font-weight:600;cursor:pointer;text-align:left;min-height:40px}
.pgplan.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.pgplan em{font-style:normal}
.pgnew{border-style:dashed;color:var(--muted)}
@media (min-width:1600px){.pg{grid-template-columns:210px minmax(0,1fr) 280px}.pglist{grid-column:auto;flex-direction:column;position:sticky;top:0}.pglist .pgplan{width:100%;white-space:normal;flex:none}.pgplan span{flex:1}}
.pgmain{min-width:0}
.pghead{display:flex;align-items:center;gap:10px}.pghead h3{font-size:1.6rem;margin:0}
.pgedited{color:var(--muted);font-size:.85rem}
.pgbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0;padding:8px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.pgbar.dirty{border-color:var(--ink)}
.pgbar.dirty b{color:var(--ink)}
.pgbar .ghost.sm{padding:6px 12px}
.pgkeys{flex:1;min-width:220px;font-size:.8rem}
kbd{font:600 .75rem Figtree,sans-serif;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 4px;background:var(--bg);color:var(--ink)}
.pgundo{display:flex;gap:10px}
.pgweek{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:6px;overflow-x:auto;padding-bottom:8px}
.pgcol{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;min-height:240px;display:flex;flex-direction:column}
.pgcol.off{background:transparent;border-style:dashed}
.pgcol.pgtarget{box-shadow:inset 0 0 0 2px var(--mark)}
.pgcol.over{border-color:var(--ink);background:var(--done-bg)}
.pgch{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.pgch b{font-family:Archivo,sans-serif;font-size:1.05rem}
.pgtoggle{font-size:.8rem;min-height:0;padding:2px 4px}
input.pgtitle{width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:4px 6px;font-weight:700;color:var(--ink)}
input.pgtitle:hover,input.pgtitle:focus{border-color:var(--line);background:var(--bg)}
p.pgtitle{font-weight:700;margin:4px 6px}
.pgrest{color:var(--muted);font-size:.85rem;margin:4px 6px}
ol.pgex{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;min-height:40px}
.pgcard{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 4px;cursor:grab}
.pgweek.ro .pgcard{cursor:default}
.pgcard:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.pgcard.linked{border-left:3px solid var(--mark)}
.pgcard.dragging{opacity:.4}
.pgcn{display:flex;align-items:flex-start;gap:3px;font-size:.84rem;line-height:1.25;font-family:Figtree,sans-serif}
.pgcn b{flex:1;font-weight:700}
.pggrip{color:var(--muted);padding-top:1px}
.pgrm{border:0;background:transparent;color:var(--muted);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:1rem;line-height:1;flex:none}
.pgrm:hover{background:var(--line);color:var(--ink)}
.pgcf{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:.8rem;color:var(--muted)}
.pgcf label{display:flex;align-items:center;gap:3px}
.pgcf input{width:30px;min-width:0;border:1px solid var(--line);background:var(--card);border-radius:6px;padding:2px 4px;font-size:.85rem;color:var(--ink)}
.pgcf input[data-pgf$="reps"]{width:auto;flex:1}
.pgcf input[type=number]{-moz-appearance:textfield}.pgcf input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pglink{margin:0;border:1px solid var(--line);background:transparent;border-radius:6px;cursor:pointer;width:26px;height:24px;color:var(--muted);display:grid;place-items:center;padding:0;flex:none}
.pglink[aria-pressed="true"]{background:var(--mark);border-color:var(--mark);color:var(--card)}
.pgdropline{height:3px;border-radius:2px;background:var(--ink)}
.pgaddhere{font-size:.82rem;align-self:flex-start;min-height:0;padding:4px 2px}
.pglib{position:sticky;top:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 40px);overflow:hidden}
.pglib h3{margin:0;font-size:1.2rem}
.pgto{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.pgto select{flex:1}
.pglibl{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column}
.pglibl li{display:flex;align-items:center;gap:8px;padding:6px 2px;border-top:1px solid var(--line);cursor:grab}
.pglibl li>span{flex:1;display:flex;flex-direction:column;font-size:.86rem;line-height:1.25}
.pglibl em{font-style:normal;color:var(--muted);font-size:.78rem}
.pglibl .chip.sm{min-height:30px;padding:2px 10px}
@media (max-width:1023px){.pg{grid-template-columns:minmax(0,1fr)}.pglib{position:static;max-height:420px}}
.pgcard{min-width:0}
.pgcn b{min-width:0;overflow-wrap:anywhere}
.pgcf .pglink{width:24px;height:24px}
.pgrm{width:22px;height:22px}
