@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Orbitron:wght@700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

body{
  --bg:#0f0f10;--sf:#1a1a1d;--sf2:#222226;--bd:#2a2a2e;--bd2:#333338;
  --ac:#c6f135;--adim:rgba(198,241,53,.12);--abr:rgba(198,241,53,.3);
  --tx:#f0f0f0;--mu:#6b6b7a;--mu2:#4a4a56;
  --pro:#f97316;--car:#3b82f6;--fat:#facc15;--cal:#c6f135;
  --wat:#38bdf8;--wo:#a78bfa;--xp:#fbbf24;--grn:#22c55e;
  --fd:'Space Mono',monospace;--fb:'Space Grotesk',sans-serif;--r:13px;--sh:none;
}
body.sakura{
  --bg:#fdf6f8;--sf:#fff0f3;--sf2:#ffe4ea;--bd:#fbc9d4;--bd2:#f9b0c0;
  --ac:#e8356d;--adim:rgba(232,53,109,.1);--abr:rgba(232,53,109,.35);
  --tx:#2d1a22;--mu:#a07080;--mu2:#c090a0;
  --pro:#e8356d;--car:#8b5cf6;--fat:#f59e0b;--cal:#e8356d;
  --wat:#0ea5e9;--wo:#8b5cf6;--xp:#f59e0b;
  --fd:'Space Grotesk',sans-serif;--sh:0 2px 12px rgba(232,53,109,.08);
}
body.neon{
  --bg:#04040d;--sf:#080818;--sf2:#0c0c22;--bd:#1a1a40;--bd2:#252560;
  --ac:#00f5ff;--adim:rgba(0,245,255,.08);--abr:rgba(0,245,255,.35);
  --tx:#e0f0ff;--mu:#4060a0;--mu2:#304080;
  --pro:#ff6b6b;--car:#00f5ff;--fat:#bf00ff;--cal:#00f5ff;
  --wat:#00f5ff;--wo:#bf00ff;--xp:#ffdd00;
  --fd:'Orbitron',monospace;--sh:0 0 20px rgba(0,245,255,.06);
}
body.neon::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,245,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.025) 1px,transparent 1px);background-size:40px 40px;}
body.neon>*{position:relative;z-index:1;}

body.crimson{
  --bg:#070707;--sf:#121014;--sf2:#1b1519;--bd:#302126;--bd2:#472a32;
  --ac:#ef4444;--adim:rgba(239,68,68,.10);--abr:rgba(239,68,68,.35);
  --tx:#f4eeee;--mu:#a98991;--mu2:#73565d;
  --pro:#fb7185;--car:#f97316;--fat:#facc15;--cal:#ef4444;
  --wat:#38bdf8;--wo:#ef4444;--xp:#f59e0b;--grn:#22c55e;
  --fd:'Space Grotesk',sans-serif;--sh:0 10px 28px rgba(239,68,68,.06);
}
body.void{
  --bg:#0b0713;--sf:#151024;--sf2:#1e1734;--bd:#312650;--bd2:#46356d;
  --ac:#a78bfa;--adim:rgba(167,139,250,.11);--abr:rgba(167,139,250,.36);
  --tx:#f1edff;--mu:#9b8ac5;--mu2:#665682;
  --pro:#c084fc;--car:#60a5fa;--fat:#facc15;--cal:#a78bfa;
  --wat:#38bdf8;--wo:#c084fc;--xp:#fbbf24;--grn:#22c55e;
  --fd:'Space Grotesk',sans-serif;--sh:0 10px 30px rgba(167,139,250,.08);
}
body.crimson .logo em, body.void .logo em{text-shadow:0 0 10px var(--abr)}
body.crimson .card, body.void .card{box-shadow:var(--sh)}

body{background:var(--bg);color:var(--tx);font-family:var(--fb);min-height:100vh;max-width:430px;margin:0 auto;padding-bottom:82px;-webkit-tap-highlight-color:transparent;}

/* NAV */
#nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:var(--sf);border-top:1px solid var(--bd);display:flex;z-index:50;padding-bottom:env(safe-area-inset-bottom);}
.nb{flex:1;padding:9px 2px 7px;background:none;border:none;color:var(--mu);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--fb);font-size:9px;}
.nb.on{color:var(--ac);}
.ni{width:20px;height:20px;display:block;line-height:1;}
.ni svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
.nb.on .ni svg{filter:drop-shadow(0 0 5px var(--ac));}

/* PAGES */
.pg{display:none;}.pg.on{display:block;}

/* HEADER */
.hdr{padding:16px 15px 11px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg);z-index:20;}
.logo{font-family:var(--fd);font-size:15px;font-weight:700;}
.logo em{font-style:normal;color:var(--ac);}
body.neon .logo{text-shadow:0 0 10px var(--ac);}
.hbadge{font-family:var(--fd);font-size:9px;color:var(--mu);background:var(--sf);padding:3px 9px;border-radius:20px;border:1px solid var(--bd);}

/* CARD */
.card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:13px;box-shadow:var(--sh);}

/* XP */
.xp-sec{padding:10px 14px 0;}
.xp-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.xp-char{display:flex;align-items:center;gap:9px;}
.xp-av{width:36px;height:36px;border-radius:50%;background:var(--adim);border:2px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:19px;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.xp-av:active{transform:scale(.94);}
.xp-av.can-battle{box-shadow:0 0 0 3px var(--adim);}
.xp-lv{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;}
.xp-ti{font-family:var(--fd);font-size:13px;font-weight:700;color:var(--ac);}
body.neon .xp-ti{text-shadow:0 0 8px var(--ac);}
.xp-sk{font-size:11px;color:var(--xp);display:flex;align-items:center;gap:4px;}
.xp-sn{font-family:var(--fd);font-size:14px;font-weight:700;}
.xp-pr-row{display:flex;justify-content:space-between;font-size:9px;color:var(--mu);margin-bottom:3px;font-family:var(--fd);}
.xp-bg{height:5px;background:var(--bd);border-radius:3px;overflow:hidden;}
.xp-fill{height:100%;border-radius:3px;background:var(--ac);transition:width .5s;}
body.neon .xp-fill{box-shadow:0 0 6px var(--ac);}

/* QUESTS */
.qs-sec{padding:9px 14px 0;}
.qi{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--bd);}
.qi:last-child{border-bottom:none;}
.qi-ico{font-size:17px;flex-shrink:0;}
.qi-inf{flex:1;min-width:0;}
.qi-nm{font-size:11px;font-weight:600;margin-bottom:3px;}
.qi-pbg{height:3px;background:var(--bd);border-radius:2px;overflow:hidden;}
.qi-pf{height:100%;border-radius:2px;background:var(--ac);transition:width .4s;}
.qi-xp{font-family:var(--fd);font-size:9px;color:var(--xp);flex-shrink:0;font-weight:700;}
.qi-dn{font-size:14px;flex-shrink:0;}

/* DONUTS */
.dn-sec{padding:9px 14px 0;}
.dn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.dn-card{display:flex;flex-direction:column;align-items:center;padding:12px 6px;}
.dn-card.big{grid-column:1/-1;flex-direction:row;gap:16px;padding:13px;}
.dn-wrap{position:relative;flex-shrink:0;}
.dn-lbl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.dn-v{font-family:var(--fd);font-weight:700;line-height:1;}
.dn-u{font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;}
.dn-name{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-top:5px;}
.cal-big{font-family:var(--fd);font-size:27px;font-weight:700;color:var(--cal);line-height:1;}
.cal-of{font-size:11px;color:var(--mu);margin-top:2px;}
body.neon .cal-big{text-shadow:0 0 10px var(--cal);}

/* WATER */
.wt-sec{padding:9px 14px 0;}
.wt-card{display:flex;align-items:center;gap:11px;}
.wt-ico{font-size:22px;}
.wt-inf{flex:1;}
.wt-lbl{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.wt-row{display:flex;align-items:baseline;gap:5px;margin-bottom:5px;}
.wt-n{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--wat);}
.wt-g{font-size:11px;color:var(--mu);}
.wt-btns{display:flex;gap:5px;}
.wadd{padding:5px 10px;border-radius:20px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.25);color:var(--wat);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--fb);}
.wrst{background:none;border:none;color:var(--mu2);font-size:11px;cursor:pointer;padding:5px 7px;font-family:var(--fb);}

/* SECTION HEAD */
.sh{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;}
.sh-t{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);}
.sh-a{font-size:11px;color:var(--mu);background:none;border:none;cursor:pointer;font-family:var(--fb);}

/* MEALS */
.meals{padding:0 14px;}
.mg{margin-bottom:7px;}
.mgh{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--sf2);border:1px solid var(--bd);border-radius:10px 10px 0 0;cursor:pointer;user-select:none;}
.mgh.col{border-radius:10px;}
.mgh-n{font-size:12px;font-weight:600;}
.mgh-m{font-size:10px;color:var(--mu);font-family:var(--fd);}
.mgh-t{color:var(--mu);font-size:12px;transition:transform .2s;}
.mgh-t.op{transform:rotate(180deg);}
.mi{border:1px solid var(--bd);border-top:none;border-radius:0 0 10px 10px;overflow:hidden;}
.li{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid var(--bd);background:var(--sf);}
.li:last-child{border-bottom:none;}
.li-i{flex:1;min-width:0;}
.li-n{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px;}
.li-s{font-size:9px;color:var(--mu);}
.li-b{display:flex;gap:4px;flex-shrink:0;}
.bgt{font-family:var(--fd);font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;}
.bc{background:var(--adim);color:var(--cal);}
.bp{background:rgba(249,115,22,.12);color:var(--pro);}
.ldl{background:none;border:none;color:var(--mu2);font-size:14px;cursor:pointer;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;}
.atm{display:flex;align-items:center;gap:6px;padding:8px 12px;background:none;border:none;color:var(--mu);font-size:11px;cursor:pointer;font-family:var(--fb);width:100%;border-bottom:1px solid var(--bd);text-align:left;}
.atm:last-child{border-bottom:none;}
.atm-pl{color:var(--ac);font-size:14px;line-height:1;}
.empty{text-align:center;padding:22px 18px;color:var(--mu);font-size:12px;line-height:1.6;}

/* WEIGHT HISTORY */
.weight-history-card{padding-top:10px}
.weight-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.weight-sparkline{flex:1}
.weight-spark{width:100%;height:48px}
.weight-actions{display:flex;flex-direction:column;gap:6px}
.weight-actions .body-stat-save{padding:8px 10px;font-size:12px}
.weight-list{max-height:220px;overflow-y:auto;border-top:1px solid var(--bd);padding-top:8px}
.weight-entry-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--bd);cursor:pointer}
.weight-entry-row .weight-entry-date{font-size:12px;color:var(--mu)}
.weight-entry-row .weight-entry-val{font-weight:700}
.weight-entry-del{background:none;border:none;color:var(--mu2);font-size:14px;cursor:pointer;padding:6px;border-radius:6px}
.weight-entry-del:hover{color:var(--ac)}
.weight-log-note{font-size:11px;color:var(--mu);margin-top:8px}

/* OVERLAY */
.ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:100;align-items:flex-end;justify-content:center;}
.ov.on{display:flex;}
.sb{background:var(--sf);border-radius:20px 20px 0 0;width:100%;max-width:430px;border-top:1px solid var(--bd);max-height:92vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.sbh{width:32px;height:4px;background:var(--bd);border-radius:2px;margin:13px auto 0;flex-shrink:0;}
.sbhdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;flex-shrink:0;}
.sbhdr-t{font-size:15px;font-weight:700;}
.sbx{width:28px;height:28px;border-radius:50%;background:var(--bd);border:none;color:var(--tx);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* FOOD SEARCH */
.srch-wrap{padding:0 16px 8px;flex-shrink:0;position:relative;}
.srch-inp{width:100%;padding:10px 13px 10px 34px;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fb);font-size:13px;outline:none;}
.srch-inp:focus{border-color:var(--ac);}
.srch-ico{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:var(--mu);font-size:14px;pointer-events:none;}
.srch-clr{position:absolute;right:30px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--mu);font-size:15px;cursor:pointer;display:none;}
.srch-clr.on{display:block;}
.scan-row{display:flex;gap:6px;padding:0 16px 10px;flex-shrink:0;}
.scnbtn{flex:1;padding:9px 5px;background:var(--sf2);border:1px solid var(--bd2);border-radius:9px;color:var(--tx);font-family:var(--fb);font-size:11px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;}
.scnbtn .si{font-size:16px;}
.res-list{flex:1;overflow-y:auto;padding:0 16px;}
.hint{text-align:center;padding:18px 0;color:var(--mu);font-size:12px;}
.ri{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer;}
.ri:last-child{border-bottom:none;}
.ri-i{flex:1;min-width:0;}
.ri-n{font-size:13px;font-weight:600;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ri-b{font-size:10px;color:var(--mu);}
.ri-m{text-align:right;flex-shrink:0;}
.ri-c{font-family:var(--fd);font-size:12px;font-weight:700;color:var(--cal);}
.ri-d{font-size:9px;color:var(--mu);}

/* CONFIRM */
.conf-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:200;align-items:flex-end;justify-content:center;}
.conf-ov.on{display:flex;}
.conf-box{background:var(--sf);border-radius:20px 20px 0 0;padding:18px 16px;width:100%;max-width:430px;border-top:1px solid var(--bd);padding-bottom:calc(22px + env(safe-area-inset-bottom));}
.c-n{font-size:17px;font-weight:700;margin-bottom:2px;line-height:1.2;}
.c-b{font-size:11px;color:var(--mu);margin-bottom:13px;}
.c-ml{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.c-mp{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;}
.cpill{padding:5px 11px;border-radius:20px;border:1px solid var(--bd2);background:var(--sf2);color:var(--mu);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--fb);}
.cpill.on{background:var(--adim);border-color:var(--abr);color:var(--ac);}
.srv-r{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:9px 11px;background:var(--bg);border-radius:10px;border:1px solid var(--bd);}
.srv-l{font-size:12px;color:var(--mu);flex:1;}
.srv-c{display:flex;align-items:center;gap:8px;}
.srv-b{width:28px;height:28px;border-radius:50%;background:var(--bd2);border:none;color:var(--tx);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.srv-n{font-family:var(--fd);font-size:15px;font-weight:700;min-width:22px;text-align:center;}
.mp-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:13px;}
.mp2{background:var(--bg);border:1px solid var(--bd);border-radius:9px;padding:9px 4px;text-align:center;}
.mp2 .mv{font-family:var(--fd);font-size:12px;font-weight:700;line-height:1;margin-bottom:2px;}
.mp2 .ml{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:var(--mu);}
.mp2.mcal .mv{color:var(--cal);}.mp2.mpro .mv{color:var(--pro);}
.mp2.mca .mv{color:var(--car);}.mp2.mft .mv{color:var(--fat);}
.cadd{width:100%;padding:13px;background:var(--ac);color:var(--bg);border:none;border-radius:10px;font-family:var(--fb);font-size:14px;font-weight:700;cursor:pointer;margin-bottom:6px;}
.cfav{width:100%;padding:8px;background:transparent;color:var(--ac);border:none;font-family:var(--fb);font-size:11px;cursor:pointer;}
.ccan{width:100%;padding:8px;background:transparent;color:var(--mu);border:none;font-family:var(--fb);font-size:11px;cursor:pointer;}


/* LEVEL BATTLE */
.battle-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:520;align-items:center;justify-content:center;padding:16px;}
.battle-ov.on{display:flex;}
.battle-box{width:100%;max-width:402px;background:var(--sf);border:2px solid var(--bd2);border-radius:18px;padding:15px;box-shadow:0 14px 40px rgba(0,0,0,.45);position:relative;overflow:hidden;}
.battle-box.boss{border-color:var(--xp);box-shadow:0 0 28px rgba(251,191,36,.18);}
.battle-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.battle-title{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--ac);}
.battle-tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--xp);border:1px solid rgba(251,191,36,.35);border-radius:20px;padding:3px 8px;background:rgba(251,191,36,.08);}
.battle-arena{background:var(--bg);border:1px solid var(--bd);border-radius:13px;min-height:192px;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 22px 16px;position:relative;overflow:hidden;}
.battle-ground{position:absolute;left:0;right:0;bottom:0;height:38px;background:linear-gradient(180deg,transparent,var(--adim));border-top:1px dashed var(--bd2);}
.fighter{position:relative;z-index:2;text-align:center;transition:transform .22s ease, filter .22s ease;}
.fighter .sprite{font-size:52px;line-height:1;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25));}
.fighter .name{font-size:10px;color:var(--mu);font-weight:700;margin-top:6px;}
.enemy .sprite{font-size:54px;}
.enemy.boss .sprite{font-size:67px;}
.hero.attack{animation:heroStrike .46s ease-in-out;}
.hero.jump{animation:heroJump .72s ease-in-out;}
.enemy.hit{animation:enemyHit .42s ease-in-out;}
.hero.hit{animation:heroHit .42s ease-in-out;}
.enemy.cast{animation:bossCast .7s ease-in-out;}
.battle-arena.warn{box-shadow:inset 0 0 0 2px rgba(251,191,36,.45);}
@keyframes heroStrike{0%,100%{transform:translateX(0)}45%{transform:translateX(92px) scale(1.08)}}
@keyframes heroJump{0%,100%{transform:translateY(0)}42%{transform:translateY(-78px) scale(1.04)}70%{transform:translateY(-42px)}}
@keyframes enemyHit{0%,100%{transform:translateX(0)}40%{transform:translateX(10px) rotate(-4deg);filter:brightness(1.6)}65%{transform:translateX(-8px) rotate(3deg)}}
@keyframes heroHit{0%,100%{transform:translateX(0)}42%{transform:translateX(-8px) rotate(-3deg);filter:brightness(1.5)}65%{transform:translateX(7px) rotate(3deg)}}
@keyframes bossCast{0%,100%{transform:translateX(0)}38%{transform:translateX(-12px) scale(1.08)}60%{transform:translateX(-8px)}}
.hitfx{position:absolute;left:50%;top:42%;font-size:28px;opacity:0;z-index:3;pointer-events:none;}
.hitfx.on{animation:hitFlash .42s ease-in-out;}
@keyframes hitFlash{0%{opacity:0;transform:scale(.5)}45%{opacity:1;transform:scale(1.35)}100%{opacity:0;transform:scale(.8)}}
.fireball{position:absolute;right:90px;bottom:92px;font-size:25px;opacity:0;z-index:4;pointer-events:none;}
.fireball.on{animation:fireballFly .72s ease-in-out;}
@keyframes fireballFly{0%{opacity:0;transform:translateX(0) scale(.6)}15%{opacity:1}75%{opacity:1;transform:translateX(-190px) scale(1.15)}100%{opacity:0;transform:translateX(-212px) scale(.75)}}
.hp-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px;}
.hp-card{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:8px;}
.hp-lbl{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;display:flex;justify-content:space-between;gap:5px;}
.hp-bg{height:8px;background:var(--bd);border-radius:8px;overflow:hidden;}
.hp-fill{height:100%;background:var(--grn);border-radius:8px;transition:width .35s ease;}
.hp-fill.enemyhp{background:#ef4444;}
.battle-msg{text-align:center;font-size:12px;color:var(--tx);line-height:1.45;margin:12px 6px 10px;min-height:34px;}
.battle-reward{text-align:center;font-family:var(--fd);font-size:11px;color:var(--xp);margin-bottom:11px;}
.battle-actions{display:flex;gap:8px;flex-wrap:wrap;}
.battle-actions button{min-width:calc(50% - 4px);}
.battle-close,.battle-start,.battle-attack,.battle-block,.battle-jump{flex:1;padding:11px;background:var(--ac);color:var(--bg);border:none;border-radius:10px;font-family:var(--fb);font-weight:800;cursor:pointer;}
.battle-close{display:block;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);} /* always available as Exit */
.battle-attack{display:none;background:var(--xp);}
.battle-block{display:none;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);}
.battle-jump{display:none;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);}
.battle-attack:disabled,.battle-block:disabled,.battle-jump:disabled{opacity:.5;cursor:not-allowed;}
.battle-start{display:block;}
.battle-actions.done .battle-close{display:block;}
.battle-actions.done .battle-start,.battle-actions.done .battle-attack,.battle-actions.done .battle-block,.battle-actions.done .battle-jump,.battle-actions.done .battle-study{display:none;}
.battle-actions.fighting .battle-start{display:none;}
.battle-actions.fighting .battle-attack,.battle-actions.fighting .battle-block,.battle-actions.fighting .battle-jump,.battle-actions.fighting .battle-close{display:block;}

/* LEVEL SELECT */
.level-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:515;align-items:flex-end;justify-content:center;}
.level-ov.on{display:flex;}
.level-box{background:var(--sf);border-radius:20px 20px 0 0;width:100%;max-width:430px;border-top:1px solid var(--bd);padding:14px 14px calc(18px + env(safe-area-inset-bottom));max-height:78vh;display:flex;flex-direction:column;}
.level-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.level-title{font-size:15px;font-weight:800;}
.level-sub{font-size:11px;color:var(--mu);line-height:1.35;margin-bottom:10px;}
.level-close{width:30px;height:30px;border-radius:50%;background:var(--bd);border:none;color:var(--tx);font-size:17px;cursor:pointer;}
.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow-y:auto;padding-right:2px;}
.level-card{background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:10px 6px;text-align:center;cursor:pointer;font-family:var(--fb);color:var(--tx);}
.level-card:active{transform:scale(.97);}
.level-card.boss{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.08);}
.level-card.locked{opacity:.35;filter:grayscale(1);cursor:not-allowed;}
.level-emoji{font-size:25px;line-height:1;margin-bottom:5px;}
.level-name{font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.level-meta{font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-top:2px;}

/* XP POPUP */
.xpp{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%) scale(.8);opacity:0;background:var(--sf);border:2px solid var(--xp);border-radius:14px;padding:18px 28px;text-align:center;z-index:500;pointer-events:none;transition:all .3s;}
.xpp.on{opacity:1;transform:translate(-50%,-60%) scale(1);}
.xpp-ic{font-size:32px;margin-bottom:5px;}
.xpp-m{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--xp);}
.xpp-s{font-size:10px;color:var(--mu);margin-top:2px;}

/* ACHIEVEMENTS */
.ach-row{display:flex;gap:7px;overflow-x:auto;padding:4px 0;}
.ach-row::-webkit-scrollbar{display:none;}
.ach-b{flex-shrink:0;width:50px;display:flex;flex-direction:column;align-items:center;gap:2px;}
.ach-ic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;border:2px solid var(--bd2);}
.ach-ic.ul{border-color:var(--xp);background:rgba(251,191,36,.1);}
.ach-ic.lk{filter:grayscale(1);opacity:.3;}
.ach-nm{font-size:8px;color:var(--mu);text-align:center;line-height:1.2;}

/* HISTORY */
.hist-pg{padding:0 14px;}
.chart-bars{display:flex;align-items:flex-end;gap:5px;height:68px;margin-bottom:4px;}
.cbw{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;justify-content:flex-end;}
.cbb{width:100%;border-radius:3px 3px 0 0;background:var(--adim);border:1px solid var(--abr);min-height:3px;transition:height .5s;}
.cbb.td{background:rgba(198,241,53,.28);}
body.neon .cbb.td{box-shadow:0 0 5px var(--ac);}
.cbd{font-size:9px;color:var(--mu);font-family:var(--fd);}

/* FAVS */
.fav-list{padding:0 14px;}
.fav-i{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer;}
.fav-i:last-child{border-bottom:none;}
.fav-n{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fav-s{font-size:10px;color:var(--mu);}
.fav-c{font-family:var(--fd);font-size:11px;color:var(--cal);flex-shrink:0;}
.fav-d{background:none;border:none;color:var(--mu2);font-size:14px;cursor:pointer;padding:3px;}

/* SETTINGS */
.set-pg{padding:0 14px 14px;}
.s-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);padding:12px 0 6px;}
.s-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--sf);border:1px solid var(--bd);border-radius:10px;margin-bottom:5px;}
.s-k{font-size:13px;font-weight:500;}
.gi{background:var(--sf2);border:1px solid var(--bd2);border-radius:7px;padding:5px 8px;color:var(--tx);font-family:var(--fd);font-size:11px;outline:none;width:66px;text-align:right;}
.gi:focus{border-color:var(--ac);}
.theme-row{display:flex;gap:7px;}
.tsw{flex:1;padding:10px 5px;border-radius:9px;border:2px solid var(--bd2);cursor:pointer;text-align:center;font-size:10px;font-weight:600;font-family:var(--fb);background:var(--sf);color:var(--mu);}
.tsw.on{border-color:var(--ac);color:var(--ac);}
.tsw-dot{display:none}
.theme-icon{width:34px;height:34px;border-radius:12px;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;background:var(--sf2);border:1px solid var(--bd2);color:var(--ac);}
.theme-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;}
.tsw{min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.12;}
.tsw span{display:block;font-size:10px;}
.tsw.on .theme-icon{background:var(--adim);border-color:var(--abr);box-shadow:0 0 14px var(--adim);}
.tsw-dot{width:18px;height:18px;border-radius:50%;margin:0 auto 4px;}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.stat-c{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:10px;}
.stat-l{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.stat-v{font-family:var(--fd);font-size:18px;font-weight:700;margin-bottom:6px;}
.stat-ir{display:flex;align-items:center;gap:5px;}
.stat-in{flex:1;background:var(--sf2);border:1px solid var(--bd2);border-radius:7px;padding:5px 7px;color:var(--tx);font-family:var(--fd);font-size:11px;outline:none;}
.stat-in:focus{border-color:var(--ac);}
.stat-sv{padding:5px 9px;background:var(--adim);border:1px solid var(--abr);border-radius:7px;color:var(--ac);font-size:10px;font-weight:600;cursor:pointer;font-family:var(--fb);}

/* WORKOUT */
.wo-pg{padding:0 14px 14px;}
.pl-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:12px;margin-bottom:7px;}
.pl-n{font-size:14px;font-weight:700;margin-bottom:2px;}
.pl-m{font-size:10px;color:var(--mu);margin-bottom:9px;}
.pl-acts{display:flex;gap:6px;}
.pl-st{flex:1;padding:8px;background:var(--ac);color:var(--bg);border:none;border-radius:7px;font-family:var(--fb);font-size:11px;font-weight:700;cursor:pointer;}
.pl-ed{padding:8px 11px;background:var(--sf2);border:1px solid var(--bd2);border-radius:7px;font-family:var(--fb);font-size:11px;color:var(--mu);cursor:pointer;}
.pl-dl{padding:8px 9px;background:none;border:1px solid var(--bd2);border-radius:7px;font-size:11px;color:var(--mu2);cursor:pointer;}
.new-pl{width:100%;padding:11px;background:none;border:1px dashed var(--bd2);border-radius:var(--r);color:var(--mu);font-size:12px;font-weight:600;cursor:pointer;font-family:var(--fb);margin-top:3px;}
.ai-pl{width:100%;padding:11px;background:var(--adim);border:1px solid var(--abr);border-radius:var(--r);color:var(--ac);font-size:12px;font-weight:600;cursor:pointer;font-family:var(--fb);margin-top:7px;display:flex;align-items:center;justify-content:center;gap:7px;}
.wl-c{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:10px;margin-bottom:7px;}
.wl-n{font-size:12px;font-weight:700;margin-bottom:2px;}
.wl-m{font-size:10px;color:var(--mu);}
.wl-ex{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;}
.wl-et{font-size:9px;color:var(--wo);background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.2);border-radius:5px;padding:2px 6px;}

/* BUILDER */
.bld-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:150;align-items:flex-end;justify-content:center;}
.bld-ov.on{display:flex;}
.bld-box{background:var(--sf);border-radius:20px 20px 0 0;width:100%;max-width:430px;border-top:1px solid var(--bd);max-height:95vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.bld-sc{flex:1;overflow-y:auto;padding:0 14px 14px;}
.pl-ni{width:100%;padding:10px 11px;background:var(--sf2);border:1px solid var(--bd2);border-radius:9px;color:var(--tx);font-family:var(--fb);font-size:13px;font-weight:600;outline:none;margin-bottom:12px;}
.pl-ni:focus{border-color:var(--ac);}
.ex-si{width:100%;padding:7px 11px;background:var(--sf2);border:1px solid var(--bd2);border-radius:8px;color:var(--tx);font-family:var(--fb);font-size:12px;outline:none;margin-bottom:7px;}
.ex-si:focus{border-color:var(--ac);}
.mtabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:8px;}
.mtabs::-webkit-scrollbar{display:none;}
.mtab{padding:4px 9px;border-radius:20px;border:1px solid var(--bd2);background:none;color:var(--mu);font-size:9px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--fb);}
.mtab.on{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.35);color:var(--wo);}
.ex-list{max-height:160px;overflow-y:auto;border:1px solid var(--bd);border-radius:9px;margin-bottom:12px;}
.eli{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--bd);font-size:11px;cursor:pointer;}
.eli:last-child{border-bottom:none;}
.eli:active{background:var(--sf2);}
.el-mu{font-size:8px;color:var(--wo);background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.2);border-radius:4px;padding:1px 5px;}
.el-pl{color:var(--ac);font-size:14px;}
.cho-lbl{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.cho-ex{background:var(--sf2);border:1px solid var(--bd2);border-radius:9px;padding:8px 10px;margin-bottom:5px;}
.cho-ex-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.cho-ex-n{font-size:11px;font-weight:600;}
.cho-ex-d{background:none;border:none;color:var(--mu2);font-size:13px;cursor:pointer;}
.set-r{display:flex;gap:5px;align-items:center;margin-bottom:3px;}
.set-l{font-size:9px;color:var(--mu);width:26px;flex-shrink:0;}
.set-i{flex:1;background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:5px 7px;color:var(--tx);font-family:var(--fd);font-size:10px;outline:none;text-align:center;}
.set-i:focus{border-color:var(--ac);}
.set-il{font-size:8px;color:var(--mu);text-align:center;}
.add-set{font-size:10px;color:var(--ac);background:none;border:none;cursor:pointer;font-family:var(--fb);padding:3px 0;}
.sv-pl{width:100%;padding:11px;background:var(--ac);color:var(--bg);border:none;border-radius:10px;font-family:var(--fb);font-size:13px;font-weight:700;cursor:pointer;margin-top:3px;}

/* ACTIVE WORKOUT */
.aw-ov{display:none;position:fixed;inset:0;background:var(--bg);z-index:250;flex-direction:column;}
.aw-ov.on{display:flex;}
.aw-hdr{padding:13px 15px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.aw-ti{font-size:14px;font-weight:700;}
.aw-tm{font-family:var(--fd);font-size:12px;color:var(--ac);}
.aw-fn{padding:7px 13px;background:var(--ac);color:var(--bg);border:none;border-radius:7px;font-weight:700;font-size:11px;cursor:pointer;font-family:var(--fb);}
.aw-sc{flex:1;overflow-y:auto;padding:12px;}
.aw-ec{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:11px;margin-bottom:9px;}
.aw-en{font-size:13px;font-weight:700;color:var(--wo);margin-bottom:3px;}
.aw-note{font-size:10px;color:var(--mu);line-height:1.4;margin-bottom:7px;}
.aw-addset{width:100%;padding:7px;background:transparent;border:1px dashed var(--bd2);border-radius:8px;color:var(--mu);font-family:var(--fb);font-size:11px;cursor:pointer;margin-top:7px;}
.aw-sr{display:flex;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid var(--bd);}
.aw-sr:last-child{border-bottom:none;}
.aw-sn{font-family:var(--fd);font-size:10px;color:var(--mu);width:28px;flex-shrink:0;}
.aw-in{flex:1;background:var(--sf2);border:1px solid var(--bd2);border-radius:6px;padding:5px 6px;color:var(--tx);font-family:var(--fd);font-size:11px;outline:none;text-align:center;}
.aw-in:focus{border-color:var(--ac);}
.aw-il{font-size:8px;color:var(--mu);text-align:center;margin-top:1px;}
.aw-db{width:28px;height:28px;border-radius:50%;background:var(--bd2);border:none;color:var(--mu);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.aw-db.dn{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:var(--grn);}

/* REST */
.rst-ov{display:none;position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:406px;background:var(--sf);border:1px solid var(--abr);box-shadow:0 10px 34px rgba(0,0,0,.45);z-index:1000;border-radius:16px;padding:10px 11px;align-items:center;justify-content:space-between;gap:8px;}
.rst-ov.on{display:flex;}
.rst-t{font-family:var(--fd);font-size:24px;font-weight:700;color:var(--wo);min-width:62px;text-align:center;}
body.neon .rst-t{text-shadow:0 0 12px var(--wo);}
.rst-l{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;}
.rst-sk{padding:7px 10px;background:var(--ac);border:none;border-radius:9px;color:var(--bg);font-size:11px;font-weight:800;cursor:pointer;font-family:var(--fb);white-space:nowrap;}
.rst-adj{display:flex;gap:5px;}
.radj{padding:6px 8px;background:var(--sf2);border:1px solid var(--bd2);border-radius:8px;color:var(--mu);font-size:10px;cursor:pointer;font-family:var(--fb);white-space:nowrap;}

/* AI PLAN BUILDER */
.ai-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:160;align-items:flex-end;justify-content:center;}
.ai-ov.on{display:flex;}
.ai-box{background:var(--sf);border-radius:20px 20px 0 0;width:100%;max-width:430px;border-top:1px solid var(--bd);max-height:90vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.ai-sc{flex:1;overflow-y:auto;padding:0 16px 16px;}
.ai-q{margin-bottom:14px;}
.ai-ql{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.ai-opts{display:flex;gap:6px;flex-wrap:wrap;}
.ai-opt{padding:6px 13px;border-radius:20px;border:1px solid var(--bd2);background:none;color:var(--mu);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--fb);}
.ai-opt.on{background:var(--adim);border-color:var(--abr);color:var(--ac);}
.ai-gen{width:100%;padding:13px;background:var(--ac);color:var(--bg);border:none;border-radius:10px;font-family:var(--fb);font-size:14px;font-weight:700;cursor:pointer;margin-top:6px;}
.ai-result{background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;padding:13px;margin-top:12px;font-size:12px;line-height:1.7;color:var(--tx);}
.ai-day-card{background:var(--sf);border:1px solid var(--bd);border-radius:11px;padding:11px;margin-top:10px;}
.ai-day-title{font-size:13px;font-weight:700;color:var(--ac);margin-bottom:7px;}
.ai-ex-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--bd);}
.ai-ex-row:last-child{border-bottom:none;}
.ai-ex-name{font-size:12px;font-weight:700;}
.ai-ex-meta{font-size:10px;color:var(--mu);margin-top:2px;}
.ai-pill{font-family:var(--fd);font-size:10px;color:var(--wo);background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.25);border-radius:6px;padding:4px 6px;white-space:nowrap;}
.ai-save{width:100%;padding:11px;background:var(--adim);border:1px solid var(--abr);border-radius:10px;color:var(--ac);font-family:var(--fb);font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;}
.ai-thinking{display:flex;align-items:center;gap:9px;padding:16px;color:var(--mu);font-size:12px;}
.ai-dot{width:7px;height:7px;border-radius:50%;background:var(--ac);animation:pulse 1.2s ease-in-out infinite;}
.ai-dot:nth-child(2){animation-delay:.2s;}
.ai-dot:nth-child(3){animation-delay:.4s;}
@keyframes pulse{0%,80%,100%{opacity:.2;transform:scale(.8);}40%{opacity:1;transform:scale(1);}}

/* iOS INSTALL PROMPT */
.install-prompt{display:none;position:fixed;bottom:90px;left:14px;right:14px;max-width:402px;margin:0 auto;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:16px;z-index:600;box-shadow:0 8px 32px rgba(0,0,0,.4);}
.install-prompt.on{display:block;}
.ip-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--mu);font-size:18px;cursor:pointer;}
.ip-title{font-size:14px;font-weight:700;margin-bottom:4px;}
.ip-sub{font-size:12px;color:var(--mu);margin-bottom:12px;}
.ip-steps{display:flex;flex-direction:column;gap:8px;}
.ip-step{display:flex;align-items:center;gap:9px;font-size:12px;}
.ip-step-num{width:20px;height:20px;border-radius:50%;background:var(--adim);border:1px solid var(--abr);color:var(--ac);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}


/* LIVE BARCODE SCANNER + QUICK ADD */
.scan-video-ov{display:none;position:fixed;inset:0;background:#000;z-index:700;align-items:center;justify-content:center;max-width:430px;margin:0 auto;}
.scan-video-ov.on{display:flex;}
.scan-video-box{position:relative;width:100%;height:100%;overflow:hidden;background:#000;}
#barcode-video{width:100%;height:100%;object-fit:cover;}
.scan-frame{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:78%;max-width:330px;height:170px;border:2px solid var(--ac);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.45),0 0 24px var(--abr);}
.scan-line{position:absolute;left:10%;right:10%;top:50%;height:2px;background:var(--ac);box-shadow:0 0 16px var(--ac);animation:scanLine 1.35s ease-in-out infinite;}
@keyframes scanLine{0%,100%{transform:translateY(-54px)}50%{transform:translateY(54px)}}
.scan-top{position:absolute;left:14px;right:14px;top:calc(14px + env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:10px;}
.scan-title{background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.16);border-radius:999px;color:white;font-size:12px;font-weight:800;padding:8px 12px;}
.scan-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.55);color:white;font-size:22px;}
.scan-bottom{position:absolute;left:18px;right:18px;bottom:calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;align-items:center;}
.scan-help{background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.15);border-radius:12px;color:white;font-size:12px;text-align:center;line-height:1.35;padding:10px 12px;}
.scan-manual{border:none;background:var(--ac);color:var(--bg);border-radius:12px;font-family:var(--fb);font-size:12px;font-weight:900;padding:10px 14px;}
.qa-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:230;align-items:flex-end;justify-content:center;}
.qa-ov.on{display:flex;}
.qa-box{background:var(--sf);border-top:1px solid var(--bd);border-radius:20px 20px 0 0;width:100%;max-width:430px;padding:0 16px calc(18px + env(safe-area-inset-bottom));}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;}
.qa-lbl{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.qa-inp{width:100%;padding:11px;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fb);font-size:14px;outline:none;}
.qa-inp:focus{border-color:var(--ac);}
.qa-add{width:100%;padding:13px;background:var(--ac);color:var(--bg);border:none;border-radius:12px;font-family:var(--fb);font-size:14px;font-weight:900;}
.qa-note{font-size:11px;color:var(--mu);line-height:1.45;margin-top:8px;text-align:center;}

/* LOADING / TOAST */
.ldo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:400;flex-direction:column;align-items:center;justify-content:center;gap:11px;}
.ldo.on{display:flex;}
.spin{width:34px;height:34px;border:3px solid rgba(198,241,53,.15);border-top-color:var(--ac);border-radius:50%;animation:sp .8s linear infinite;}
@keyframes sp{to{transform:rotate(360deg)}}
.ld-t{font-size:12px;color:rgba(255,255,255,.6);}
.toast{position:fixed;bottom:90px;left:14px;right:14px;max-width:402px;margin:0 auto;padding:11px 13px;border-radius:10px;font-size:12px;text-align:center;z-index:450;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;pointer-events:none;}
.toast.on{opacity:1;transform:translateY(0);}
.toast.err{background:#2d1a1a;border:1px solid rgba(239,68,68,.4);color:#fca5a5;}
.toast.ok{background:var(--adim);border:1px solid var(--abr);color:var(--ac);}
#cam-in{display:none;}

/* JEFIT-style workout logger additions */
.prog-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:12px;margin-bottom:8px;}
.prog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;}
.prog-title{font-size:14px;font-weight:800;}
.prog-sub{font-size:10px;color:var(--mu);margin-top:2px;}
.day-grid{display:flex;flex-direction:column;gap:6px;}
.day-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fb);text-align:left;cursor:pointer;}
.day-name{font-size:12px;font-weight:700;}
.day-meta{font-size:9px;color:var(--mu);margin-top:2px;}
.day-go{color:var(--ac);font-size:11px;font-weight:800;}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px;}
.pr-card{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:10px;}
.pr-ex{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr-val{font-family:var(--fd);font-size:15px;color:var(--ac);margin-top:3px;}
.pr-sub{font-size:9px;color:var(--mu);margin-top:2px;}
.wl-detail{margin-top:7px;border-top:1px solid var(--bd);padding-top:7px;}
.wl-line{font-size:10px;color:var(--mu);line-height:1.6;}
.aw-ex-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.aw-info{background:var(--adim);border:1px solid var(--abr);color:var(--ac);border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;cursor:pointer;font-family:var(--fb);}
.aw-note{font-size:10px;color:var(--mu);line-height:1.4;margin-bottom:7px;}
.ex-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:420;align-items:flex-end;justify-content:center;}
.ex-ov.on{display:flex;}
.ex-box{background:var(--sf);border-radius:20px 20px 0 0;width:100%;max-width:430px;border-top:1px solid var(--bd);max-height:88vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.ex-sc{overflow-y:auto;padding:0 16px 16px;}
.ex-art{height:145px;border-radius:14px;background:linear-gradient(135deg,var(--sf2),var(--bg));border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden;}
.ex-art svg{width:100%;height:100%;}
.ex-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.ex-chip{font-size:10px;background:var(--adim);border:1px solid var(--abr);color:var(--ac);border-radius:20px;padding:4px 9px;}
.ex-sec-title{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin:12px 0 6px;}
.ex-list2{font-size:12px;color:var(--tx);line-height:1.65;padding-left:18px;}
.ex-link{display:block;width:100%;text-align:center;margin-top:12px;padding:11px;background:var(--ac);color:var(--bg);border-radius:10px;text-decoration:none;font-size:12px;font-weight:800;}

/* JEFIT-style exercise subpage upgrade */
.aw-ov{background:#0b0b0d;}
.aw-hdr{background:#0b0b0d;position:sticky;top:0;z-index:5;}
.aw-back{background:transparent;border:none;color:var(--tx);font-size:22px;line-height:1;cursor:pointer;padding:6px 8px;margin-left:-6px;}
.aw-title-wrap{display:flex;align-items:center;gap:6px;min-width:0;}
.aw-list-head{padding:8px 2px 14px;}
.aw-list-title{font-size:20px;font-weight:900;margin-bottom:4px;}
.aw-list-sub{font-size:11px;color:var(--mu);line-height:1.45;}
.aw-ex-card{display:flex;align-items:center;gap:10px;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:9px;cursor:pointer;}
.aw-ex-thumb{width:64px;height:52px;border-radius:10px;background:var(--sf2);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;color:var(--ac);overflow:hidden;flex-shrink:0;}
.aw-ex-thumb svg{width:100%;height:100%;}
.aw-ex-main{flex:1;min-width:0;}
.aw-ex-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aw-ex-meta{font-size:10px;color:var(--mu);margin-top:3px;line-height:1.35;}
.aw-ex-progress{height:4px;background:var(--bd);border-radius:99px;margin-top:7px;overflow:hidden;}
.aw-ex-fill{height:100%;background:var(--ac);border-radius:99px;}
.aw-ex-go{color:var(--ac);font-size:18px;}
.aw-detail-hero{height:190px;border-radius:0 0 18px 18px;margin:-12px -12px 0;background:linear-gradient(145deg,var(--sf2),#050506);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:center;color:var(--ac);overflow:hidden;position:relative;}
.aw-detail-hero svg{width:100%;height:100%;opacity:.95;}
.aw-progress-strip{position:absolute;left:12px;right:12px;bottom:10px;display:flex;gap:6px;}
.aw-dot{height:5px;flex:1;border-radius:99px;background:rgba(255,255,255,.12);}
.aw-dot.on{background:#3b82f6;}
.aw-detail-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:14px 2px 8px;}
.aw-detail-title h2{font-size:19px;line-height:1.15;margin:0;}
.aw-1rm{text-align:right;font-size:11px;color:var(--mu);white-space:nowrap;}
.aw-1rm strong{font-family:var(--fd);font-size:18px;color:#3b82f6;}
.aw-timer-row{display:flex;gap:8px;margin:6px 0 14px;}
.aw-timer-pill{flex:1;background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--tx);display:flex;align-items:center;justify-content:center;gap:6px;}
.aw-rest-live{font-family:var(--fd);font-weight:900;color:#3b82f6;}
.aw-set-head,.aw-set-line{display:grid;grid-template-columns:44px 1fr 1fr 38px;gap:8px;align-items:center;}
.aw-set-head{font-size:12px;color:var(--mu);padding:7px 4px 9px;border-bottom:1px solid var(--bd);}
.aw-set-line{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06);}
.aw-set-line.done{opacity:.48;}
.aw-set-num{font-family:var(--fd);font-size:18px;font-weight:900;text-align:center;}
.aw-set-box input{width:100%;background:transparent;border:none;color:#3b82f6;font-family:var(--fd);font-size:26px;font-weight:900;outline:none;text-align:left;}
.aw-set-box input::placeholder{color:rgba(255,255,255,.18);}
.aw-target{font-size:10px;color:var(--mu);margin-top:2px;}
.aw-check{width:34px;height:34px;border-radius:50%;background:transparent;border:none;color:rgba(255,255,255,.18);font-size:23px;cursor:pointer;}
.aw-check.dn{color:var(--grn);}
.aw-detail-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(11,11,13,0),#0b0b0d 24%);padding:26px 0 calc(10px + env(safe-area-inset-bottom));display:flex;gap:8px;}
.aw-note-btn{width:58px;border:none;border-radius:14px;background:var(--sf);color:var(--mu);font-size:20px;}
.aw-primary{flex:1;border:none;border-radius:14px;background:#3b82f6;color:white;font-family:var(--fb);font-weight:900;font-size:14px;padding:14px;}
.aw-secondary{border:1px solid var(--bd);background:var(--sf);color:var(--tx);border-radius:14px;font-family:var(--fb);font-weight:800;padding:0 12px;}
.rst-ov{display:none!important;}


/* V4 seamless workout cleanup */
.wo-pg{padding:0 16px 18px;background:var(--bg);}
#pg-workout .hdr{background:var(--bg);border-bottom:1px solid var(--bd);}
.prog-card,.pl-card,.wl-c{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:var(--sh);}
.prog-title,.pl-n{font-size:16px;font-weight:900;color:var(--tx);}
.prog-sub,.pl-m,.wl-m{color:var(--mu);font-size:11px;}
.day-grid{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.day-btn{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--sf2);border:1px solid var(--bd2);border-radius:14px;padding:13px 12px;color:var(--tx);font-family:var(--fb);cursor:pointer;}
.day-btn:active{transform:scale(.99);}
.day-name{font-size:14px;font-weight:850;}
.day-meta{font-size:10px;color:var(--mu);margin-top:3px;}
.day-go{font-size:11px;color:var(--ac);font-weight:900;}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.pr-card{background:var(--sf2);border:1px solid var(--bd2);border-radius:14px;padding:11px;}
.pr-ex{font-size:11px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr-val{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--ac);margin-top:3px;}
.pr-sub{font-size:9px;color:var(--mu2);margin-top:2px;}
.wl-et{background:var(--adim);border:1px solid var(--abr);color:var(--ac);}
.pl-st{background:var(--ac);color:var(--bg);border-radius:10px;}
.pl-ed,.pl-dl{background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--mu);}
.battle-block{flex:1;padding:11px;border-radius:10px;font-family:var(--fb);font-weight:800;cursor:pointer;}
.plan-ov{display:none;position:fixed;inset:0;background:var(--bg);z-index:245;flex-direction:column;max-width:430px;margin:0 auto;}
.plan-ov.on{display:flex;}
.plan-hdr{padding:13px 15px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:10px;background:var(--bg);}
.plan-back{width:34px;height:34px;border-radius:11px;background:var(--sf);border:1px solid var(--bd);color:var(--tx);font-size:22px;line-height:1;}
.plan-title{font-size:16px;font-weight:900;line-height:1.1;}
.plan-sub{font-size:11px;color:var(--mu);margin-top:2px;}
.plan-sc{flex:1;overflow-y:auto;padding:14px 16px 92px;}
.plan-start{position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:398px;margin:0 auto;padding:14px;border:none;border-radius:16px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-weight:900;font-size:15px;}
.plan-ex-row{display:flex;gap:11px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:9px;}
.plan-ex-icon{width:42px;height:42px;border-radius:13px;background:var(--adim);display:flex;align-items:center;justify-content:center;color:var(--ac);}
.plan-ex-name{font-size:14px;font-weight:850;color:var(--tx);}
.plan-ex-meta{font-size:11px;color:var(--mu);margin-top:2px;}

.plan-swap{padding:8px 10px;border-radius:10px;border:1px solid var(--bd2);background:var(--sf2);color:var(--ac);font-family:var(--fb);font-size:11px;font-weight:800;cursor:pointer;}
.swap-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:560;align-items:flex-end;justify-content:center;}
.swap-ov.on{display:flex;}
.swap-box{background:var(--sf);border-top:1px solid var(--bd);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:78vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.swap-list{overflow:auto;padding:0 16px 16px;}
.swap-row{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--sf2);border:1px solid var(--bd2);border-radius:14px;padding:12px;margin-bottom:8px;color:var(--tx);font-family:var(--fb);text-align:left;}
.swap-row strong{font-size:13px;}
.swap-row span{font-size:10px;color:var(--mu);}

.plan-how{margin-left:auto;background:var(--sf2);border:1px solid var(--bd2);color:var(--mu);border-radius:11px;padding:8px 10px;font-size:11px;font-family:var(--fb);font-weight:800;}



/* QUICK SETUP */
.setup-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:900;align-items:flex-end;justify-content:center;}
.setup-ov.on{display:flex;}
.setup-box{background:var(--sf);border-top:1px solid var(--bd);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:94vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
.setup-sc{overflow-y:auto;padding:0 16px 16px;}
.setup-step{display:none;}
.setup-step.on{display:block;}
.setup-kicker{font-size:10px;color:var(--ac);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;margin-bottom:6px;}
.setup-title{font-size:22px;font-weight:800;line-height:1.1;margin-bottom:6px;}
.setup-sub{font-size:12px;color:var(--mu);line-height:1.45;margin-bottom:14px;}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.setup-card{background:var(--sf2);border:1px solid var(--bd2);border-radius:14px;padding:12px;text-align:left;color:var(--tx);font-family:var(--fb);cursor:pointer;}
.setup-card.on{border-color:var(--ac);background:var(--adim);}
.setup-ico{font-size:28px;margin-bottom:7px;}
.setup-card-title{font-size:13px;font-weight:800;margin-bottom:2px;}
.setup-card-sub{font-size:10px;color:var(--mu);line-height:1.35;}
.setup-inp{width:100%;padding:12px;background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;color:var(--tx);font-family:var(--fb);font-size:15px;outline:none;margin-bottom:8px;}
.setup-inp:focus{border-color:var(--ac);}
.setup-row{display:flex;gap:8px;margin-bottom:12px;}
.setup-small{flex:1;padding:10px;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fb);font-weight:700;font-size:11px;cursor:pointer;}
.setup-primary{width:100%;padding:13px;background:var(--ac);border:none;border-radius:12px;color:var(--bg);font-family:var(--fb);font-weight:900;font-size:14px;cursor:pointer;}
.setup-secondary{width:100%;padding:11px;background:transparent;border:1px solid var(--bd2);border-radius:12px;color:var(--mu);font-family:var(--fb);font-weight:700;font-size:12px;cursor:pointer;margin-top:7px;}
.setup-nav{display:flex;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--bd);}
.setup-back{width:86px;padding:12px;background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;color:var(--tx);font-family:var(--fb);font-weight:800;cursor:pointer;}
.setup-next{flex:1;padding:12px;background:var(--ac);border:none;border-radius:12px;color:var(--bg);font-family:var(--fb);font-weight:900;cursor:pointer;}
.setup-dots{display:flex;gap:5px;justify-content:center;margin:4px 0 10px;}
.setup-dot{width:6px;height:6px;border-radius:50%;background:var(--bd2);}
.setup-dot.on{background:var(--ac);}
.setup-macro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.setup-macro{background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;padding:10px;}
.setup-macro span{display:block;font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;}
.setup-macro input{width:100%;background:transparent;border:none;color:var(--tx);font-family:var(--fd);font-size:18px;font-weight:800;outline:none;}


/* EXERCISE DATABASE / PREVIOUS SETS */
.aw-set-head,.aw-set-line{grid-template-columns:34px 1fr 1fr 1fr 38px;}
.aw-prev-cell{font-family:var(--fd);font-size:11px;color:var(--mu);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aw-prev-label{font-size:8px;color:var(--mu2);text-transform:uppercase;letter-spacing:.5px;margin-top:1px;}
.ex-media{height:180px;border-radius:14px;background:linear-gradient(135deg,var(--sf2),var(--bg));border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden;color:var(--ac);}
.ex-media img{width:100%;height:100%;object-fit:cover;background:var(--bg);}
.ex-media-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.ex-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;}
.ex-metric{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:10px;}
.ex-metric-l{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;}
.ex-metric-v{font-family:var(--fd);font-size:14px;font-weight:700;color:var(--tx);}
.ex-mini-note{font-size:11px;color:var(--mu);line-height:1.55;margin:8px 0 12px;}
.ex-bad{margin-top:6px;padding:9px 10px;border-radius:10px;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.18);font-size:11px;color:#fca5a5;line-height:1.45;}
.ex-source{font-size:10px;color:var(--mu2);line-height:1.4;margin-top:9px;}


/* V8 app-style navigation polish */
body.sub-open #nav{display:none!important;}
.plan-ov,.aw-ov,.level-ov,.battle-ov,.info-ov,.bld-ov,.ai-ov{animation:slideInV8 .22s ease-out;}
@keyframes slideInV8{from{opacity:.35;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
.plan-ov{background:var(--bg);z-index:240;}
.plan-hdr,.aw-hdr{background:var(--bg);border-bottom:1px solid var(--bd);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.plan-back{background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);border-radius:12px;width:38px;height:38px;font-size:26px;line-height:1}
.plan-start{position:sticky;bottom:0;margin:10px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(0,0,0,.15)}
#plans-el .prog-card,.pl-card{border-radius:18px;border:1px solid var(--bd);background:linear-gradient(180deg,var(--sf),var(--sf2));box-shadow:var(--sh);}
#plans-el .prog-card:active,.pl-card:active{transform:scale(.992)}
.battle-study{padding:10px 13px;border-radius:12px;border:1px solid var(--xp);background:rgba(251,191,36,.12);color:var(--xp);font-family:var(--fb);font-weight:900;cursor:pointer;}
.hint-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--adim);border:1px solid var(--abr);color:var(--ac);font-size:10px;font-weight:900;margin-top:6px;}
.adv-mini-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0 12px}.adv-mini-tabs button{padding:9px 5px;border-radius:14px;border:1px solid var(--bd);background:var(--sf);color:var(--mu);font-size:10px;font-weight:800;font-family:var(--fb)}.adv-mini-tabs button.on{color:var(--ac);border-color:var(--abr);background:var(--adim)}

/* ===== extracted from index.html ===== */

/* V5 polish: minimalist workouts + adventure RPG layer */
body{--wk-card:color-mix(in srgb,var(--sf) 82%,var(--bg));--wk-line:color-mix(in srgb,var(--bd) 75%,transparent);--wk-soft:color-mix(in srgb,var(--ac) 10%,transparent)}
.wo-pg .sh{padding-left:2px!important;padding-right:2px!important}.prog-card,.pl-card,.wl-c{background:var(--wk-card)!important;border:1px solid var(--wk-line)!important;box-shadow:none!important}.prog-title,.pl-n,.wl-n{letter-spacing:-.2px}.day-grid{display:flex!important;flex-direction:column!important;gap:8px!important}.day-btn,.aw-ex-card{background:var(--bg)!important;border:1px solid var(--wk-line)!important;border-radius:16px!important;padding:14px!important;color:var(--tx)!important}.day-btn{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;text-align:left!important}.day-name{font-size:14px!important;font-weight:800!important}.day-meta{font-size:10px!important;color:var(--mu)!important;margin-top:3px!important}.day-go{font-size:12px!important;color:var(--ac)!important;background:var(--wk-soft)!important;border:1px solid var(--abr)!important;border-radius:999px!important;padding:6px 10px!important}.new-pl,.ai-pl{border-radius:16px!important}.aw-ov{background:var(--bg)!important}.aw-hdr{background:var(--bg)!important;border-bottom:1px solid var(--wk-line)!important}.aw-set-line,.aw-set-head{grid-template-columns:34px 72px 1fr 1fr 42px!important}.aw-set-line{background:var(--wk-card)!important;border:1px solid var(--wk-line)!important;border-radius:14px!important;margin-bottom:7px!important}.aw-set-box input{background:var(--bg)!important;border:1px solid var(--wk-line)!important;border-radius:10px!important}.aw-primary,.aw-fn{border-radius:999px!important}.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}.pr-card,.mini-card{background:var(--wk-card);border:1px solid var(--wk-line);border-radius:14px;padding:10px}.pr-ex,.mini-label{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px}.pr-val,.mini-value{font-family:var(--fd);font-weight:800;color:var(--ac);font-size:16px}.pr-sub{font-size:9px;color:var(--mu);margin-top:2px}.week-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:13px;margin-bottom:9px}.week-title{font-size:12px;font-weight:800;margin-bottom:8px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week-day{text-align:center;border:1px solid var(--bd);border-radius:10px;padding:7px 2px;background:var(--bg)}.week-day.done{background:var(--adim);border-color:var(--abr)}.week-dow{font-size:8px;color:var(--mu);text-transform:uppercase}.week-mark{font-size:14px;margin-top:3px;color:var(--ac)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-grade{font-size:30px;color:var(--ac);font-family:var(--fd);font-weight:900;line-height:1}.gear-row{display:flex;gap:7px;margin-top:7px;overflow-x:auto}.gear-pill{flex-shrink:0;background:var(--bg);border:1px solid var(--bd);border-radius:999px;padding:6px 9px;font-size:10px;color:var(--mu)}.gear-pill strong{color:var(--tx)}.adv-map{display:flex;flex-direction:column;gap:8px;margin-top:12px}.adv-node{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--sf);border:1px solid var(--bd);border-radius:16px;color:var(--tx);padding:12px;position:relative}.adv-node:before{content:'';position:absolute;left:27px;top:-10px;width:2px;height:10px;background:var(--bd)}.adv-node:first-child:before{display:none}.adv-node.boss{border-color:rgba(251,191,36,.45);background:linear-gradient(135deg,rgba(251,191,36,.10),var(--sf))}.adv-node.locked{opacity:.48}.adv-emoji{width:34px;height:34px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid var(--bd)}.adv-main{flex:1}.adv-name{font-size:13px;font-weight:800}.adv-meta{font-size:10px;color:var(--mu);margin-top:2px}.adv-status{font-size:10px;color:var(--ac);font-weight:700}.boss-req{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);border-radius:14px;padding:10px;margin-top:9px}.boss-req-title{font-size:11px;font-weight:800;color:var(--xp);margin-bottom:5px}.boss-req-line{font-size:10px;color:var(--mu);margin:3px 0}.boss-req-line.ok{color:var(--ac)}.quest-card{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--bd);padding:9px 0}.quest-card:last-child{border-bottom:none}.quest-check{width:22px;height:22px;border-radius:50%;border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;color:var(--mu)}.quest-card.done .quest-check{background:var(--adim);border-color:var(--abr);color:var(--ac)}.quest-main{flex:1}.quest-name{font-size:12px;font-weight:700}.quest-sub{font-size:9px;color:var(--mu);margin-top:2px}.quest-xp{font-family:var(--fd);font-size:10px;color:var(--xp)}.complete-ov{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:700;display:none;align-items:flex-end;justify-content:center}.complete-ov.on{display:flex}.complete-box{background:var(--sf);border:1px solid var(--bd);border-radius:24px 24px 0 0;width:100%;max-width:430px;padding:20px 16px calc(22px + env(safe-area-inset-bottom))}.complete-title{font-size:22px;font-weight:900;margin-bottom:4px}.complete-sub{font-size:12px;color:var(--mu);margin-bottom:14px}.complete-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.complete-btn{width:100%;padding:13px;border-radius:14px;border:none;background:var(--ac);color:var(--bg);font-weight:900;font-family:var(--fb)}

/* ===== extracted from index.html ===== */

/* V6: true tab + true subpage navigation */
body.sub-open #nav{display:none!important;}
#nav .nb{font-size:8px;}
#nav .ni svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block;}
.adventure-pg{padding:0 16px 18px;}
.adv-hero-card{background:linear-gradient(145deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:22px;padding:16px;margin:12px 0;box-shadow:var(--sh);}
.adv-hero-row{display:flex;align-items:center;gap:13px;}
.adv-big-avatar{width:58px;height:58px;border-radius:20px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:31px;}
.adv-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:var(--mu);font-weight:800;}
.adv-title-main{font-size:18px;font-weight:950;letter-spacing:-.4px;color:var(--tx);}
.adv-sub-main{font-size:11px;color:var(--mu);margin-top:2px;line-height:1.35;}
.adv-stat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px;}
.adv-stat{background:var(--bg);border:1px solid var(--bd);border-radius:15px;padding:10px;text-align:center;}
.adv-stat-val{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--ac);}
.adv-stat-lbl{font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;margin-top:2px;}
.adv-zone-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);padding:8px 2px 8px;}
.adv-map-list{display:flex;flex-direction:column;gap:10px;}
.adv-map-node{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:13px;color:var(--tx);font-family:var(--fb);cursor:pointer;}
.adv-map-node:active{transform:scale(.99);}
.adv-map-node.boss{border-color:rgba(251,191,36,.48);background:color-mix(in srgb,var(--sf) 88%,#fbbf24 12%);}
.adv-map-node.locked{opacity:.45;filter:grayscale(1);cursor:not-allowed;}
.adv-map-emoji{width:42px;height:42px;border-radius:15px;background:var(--bg);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.adv-map-info{flex:1;min-width:0;}
.adv-map-name{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adv-map-meta{font-size:10px;color:var(--mu);margin-top:3px;}
.adv-map-status{font-size:11px;font-weight:900;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:7px 10px;}
.adv-map-node.locked .adv-map-status{color:var(--mu);background:var(--sf2);border-color:var(--bd2);}
.pg-slide{animation:pgSlide .22s ease both;}
@keyframes pgSlide{from{opacity:.5;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.plan-ov,.aw-ov,.level-ov,.battle-ov,.info-ov,.bld-ov,.ai-ov{max-width:430px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:100%!important;}
.plan-ov,.aw-ov{z-index:2200!important;background:var(--bg)!important;box-shadow:0 0 0 9999px rgba(0,0,0,.55);}
.plan-ov.on,.aw-ov.on{animation:subSlide .22s ease both;}
@keyframes subSlide{from{opacity:.75;transform:translateX(calc(-50% + 28px))!important}to{opacity:1;transform:translateX(-50%)!important}}
.plan-hdr,.aw-hdr{min-height:60px;}
.plan-back,.aw-back{font-size:26px!important;font-weight:500!important;}
.plan-start{z-index:2300!important;}
.sub-hint{font-size:11px;color:var(--mu);line-height:1.4;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px 12px;margin-bottom:10px;}
#pg-workout .prog-card{cursor:default;}
#pg-adventure .hdr{background:var(--bg);}

/* ===== extracted from index.html ===== */

.gold-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.35);color:var(--xp);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;font-family:var(--fd)}
.rpg-section{margin-top:12px}.rpg-head{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 8px}.rpg-title{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;font-weight:900}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-card,.bounty-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px}.shop-name{font-size:12px;font-weight:900}.shop-sub,.bounty-sub{font-size:10px;color:var(--mu);line-height:1.35;margin-top:3px}.shop-btn,.bounty-btn{margin-top:9px;width:100%;padding:9px;border-radius:12px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-family:var(--fb);font-weight:900;font-size:11px}.shop-btn:disabled,.bounty-btn:disabled{opacity:.45;color:var(--mu);border-color:var(--bd2);background:var(--sf2)}.bounty-list{display:flex;flex-direction:column;gap:8px}.bounty-card{display:flex;align-items:center;gap:10px}.bounty-main{flex:1}.bounty-name{font-size:12px;font-weight:900}.bounty-reward{font-family:var(--fd);font-size:11px;color:var(--xp);font-weight:900}.battle-reward .gold-pill{justify-content:center}.setup-card .tsw-dot{display:none}

/* ===== extracted from index.html ===== */

.rpg-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rpg-stat{background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;padding:10px}
.rpg-stat-label{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px}
.rpg-stat-value{font-family:var(--fd);font-size:18px;font-weight:900;color:var(--ac);margin-top:3px}
.rpg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd)}
.rpg-row:last-child{border-bottom:none}
.rpg-main{flex:1;min-width:0}
.rpg-name{font-size:13px;font-weight:850}
.rpg-sub{font-size:10px;color:var(--mu);line-height:1.35;margin-top:2px}
.rpg-pill{font-family:var(--fd);font-size:10px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:4px 8px;white-space:nowrap}
.rpg-buy{padding:7px 9px;border-radius:9px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-family:var(--fb);font-size:10px;font-weight:900;cursor:pointer}
.rpg-buy:disabled{opacity:.4;cursor:not-allowed}

/* ===== extracted from index.html ===== */

/* V10 Adventure cleanup: fixed top tabs + centered battle modal */
#pg-adventure .hdr{position:sticky;top:0;z-index:30;background:var(--bg);}
.adventure-pg{padding:0 14px 18px;}
.adv-tabs{position:sticky;top:46px;z-index:25;background:var(--bg);display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 0 12px;border-bottom:1px solid var(--bd);}
.adv-tab{padding:10px 6px;border-radius:14px;border:1px solid var(--bd2);background:var(--sf);color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:850;cursor:pointer;}
.adv-tab.on{border-color:var(--abr);background:var(--adim);color:var(--ac);}
.adv-panel{padding-top:10px;}
.adv-card{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:14px;margin-bottom:10px;}
.adv-hero-row{display:flex;align-items:center;gap:12px;}
.adv-big-avatar{width:48px;height:48px;border-radius:16px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:26px;}
.adv-kicker{font-size:10px;color:var(--ac);text-transform:uppercase;letter-spacing:1px;font-weight:900;}
.adv-title-main{font-size:18px;font-weight:950;line-height:1.1;margin-top:2px;}
.adv-sub-main{font-size:11px;color:var(--mu);line-height:1.35;margin-top:3px;}
.adv-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
.adv-stat{background:var(--bg);border:1px solid var(--bd);border-radius:13px;padding:10px;text-align:center;}
.adv-stat-val{font-family:var(--fd);font-size:18px;font-weight:900;color:var(--ac);}
.adv-stat-lbl{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-top:2px;}
.adv-zone-title{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;font-weight:900;margin:14px 2px 8px;}
.adv-map-list{display:flex;flex-direction:column;gap:8px;}
.adv-map-node{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:var(--sf);border:1px solid var(--bd);border-radius:16px;color:var(--tx);padding:12px;font-family:var(--fb);cursor:pointer;}
.adv-map-node.boss{border-color:rgba(251,191,36,.5);background:linear-gradient(135deg,rgba(251,191,36,.10),var(--sf));}
.adv-map-node.locked{opacity:.42;cursor:not-allowed;}
.adv-map-emoji{width:38px;height:38px;border-radius:13px;background:var(--bg);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.adv-map-info{flex:1;min-width:0;}
.adv-map-name{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adv-map-meta{font-size:10px;color:var(--mu);margin-top:3px;}
.adv-map-status{font-size:10px;color:var(--ac);font-weight:900;border:1px solid var(--abr);background:var(--adim);border-radius:999px;padding:5px 8px;}
.adv-simple-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--bd);padding:10px 0;}
.adv-simple-row:last-child{border-bottom:none;}
.adv-simple-main{flex:1;min-width:0;}
.adv-simple-name{font-size:13px;font-weight:900;}
.adv-simple-sub{font-size:10px;color:var(--mu);line-height:1.35;margin-top:2px;}
.adv-pill{font-family:var(--fd);font-size:10px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 8px;white-space:nowrap;}
.battle-ov{align-items:center!important;justify-content:center!important;padding:16px!important;max-width:none!important;width:100vw!important;left:0!important;right:0!important;transform:none!important;margin:0!important;}
.battle-ov.on{display:flex!important;}
.battle-box{max-width:402px!important;width:100%!important;margin:auto!important;}
.level-ov{align-items:center!important;justify-content:center!important;padding:16px!important;max-width:none!important;width:100vw!important;left:0!important;right:0!important;transform:none!important;margin:0!important;}
.level-box{border-radius:20px!important;max-height:88vh!important;}

/* ===== extracted from index.html ===== */

/* V11 Adventure map + battle button reliability */
.adv-world{position:relative;min-height:650px;padding:18px 4px 28px;margin-top:8px;background:radial-gradient(circle at 50% 0%,var(--adim),transparent 34%),linear-gradient(180deg,var(--sf),var(--bg));border:1px solid var(--bd);border-radius:24px;overflow:hidden;}
.adv-world:before{content:'';position:absolute;left:50%;top:70px;bottom:70px;width:4px;transform:translateX(-50%);background:linear-gradient(180deg,var(--abr),var(--bd2));border-radius:99px;opacity:.55;}
.map-node-card{position:relative;width:46%;min-height:92px;margin:0 0 22px;padding:12px;border-radius:18px;border:1px solid var(--bd);background:rgba(26,26,29,.92);color:var(--tx);font-family:var(--fb);display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left;box-shadow:0 14px 28px rgba(0,0,0,.18);}
.map-node-card:nth-child(odd){margin-left:4%;}
.map-node-card:nth-child(even){margin-left:50%;}
.map-node-card:after{content:'';position:absolute;top:34px;width:26px;height:3px;background:var(--bd2);}
.map-node-card:nth-child(odd):after{right:-26px;}.map-node-card:nth-child(even):after{left:-26px;}
.map-node-card.boss{border-color:rgba(251,191,36,.55);background:linear-gradient(135deg,rgba(251,191,36,.13),rgba(26,26,29,.94));}
.map-node-card.locked{opacity:.34;filter:grayscale(1);cursor:not-allowed;}
.map-node-top{display:flex;align-items:center;gap:9px;}
.map-node-icon{width:40px;height:40px;border-radius:14px;background:var(--bg);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-size:22px;}
.map-node-title{font-size:13px;font-weight:950;line-height:1.1;}
.map-node-sub{font-size:10px;color:var(--mu);line-height:1.25;}
.map-node-action{align-self:flex-start;font-size:10px;font-weight:900;color:var(--ac);border:1px solid var(--abr);background:var(--adim);border-radius:999px;padding:5px 8px;}
.adv-shop-grid{display:grid;grid-template-columns:1fr;gap:9px;}
.adv-shop-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;}
.adv-shop-name{font-size:13px;font-weight:900;}.adv-shop-sub{font-size:10px;color:var(--mu);line-height:1.35;margin-top:2px;}
.adv-buy{border:1px solid var(--abr);background:var(--adim);color:var(--ac);border-radius:12px;padding:9px 10px;font-family:var(--fb);font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap;}.adv-buy:disabled{opacity:.45;cursor:not-allowed;}
.battle-actions button{pointer-events:auto!important;position:relative;z-index:10;}
.battle-ov{position:fixed!important;inset:0!important;top:0!important;bottom:0!important;}

/* ===== extracted from index.html ===== */

/* Move Start Workout to the top of the workout-day review page */
  #ov-plan-detail .plan-sc{padding-bottom:18px!important;}
  #ov-plan-detail .plan-start{
    position:static!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    display:block!important;width:100%!important;max-width:none!important;
    margin:0 0 12px 0!important;padding:14px!important;
    border:none!important;border-radius:16px!important;background:var(--ac)!important;
    color:var(--bg)!important;font-family:var(--fb)!important;font-weight:950!important;font-size:15px!important;
    box-shadow:none!important;
  }
  #ov-plan-detail .sub-hint{display:none!important;}
  .how-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 10px;}
  .how-tab{padding:10px;border-radius:13px;border:1px solid var(--bd2);background:var(--sf2);color:var(--mu);font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;}
  .how-tab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);}
  .api-demo-card{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:10px;}
  .api-demo-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
  .api-demo-title{font-size:12px;font-weight:900;color:var(--tx);}
  .api-demo-badge{font-size:9px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:4px 8px;font-weight:900;white-space:nowrap;}
  .api-demo-msg{font-size:11px;color:var(--mu);line-height:1.45;margin-top:8px;}
  .api-demo-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;}
  .api-demo-actions a,.api-demo-actions button{display:block;text-align:center;text-decoration:none;padding:10px;border-radius:12px;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-family:var(--fb);font-size:11px;font-weight:900;cursor:pointer;}
  .api-demo-actions a.primary,.api-demo-actions button.primary{background:var(--adim);border-color:var(--abr);color:var(--ac);}
  .ex-media img{object-fit:contain!important;background:var(--bg);}

/* ===== extracted from index.html ===== */

#pg-rpg, .nb[data-page="rpg"]{display:none!important;}
  .battle-actions{position:relative;z-index:30;pointer-events:auto!important;}
  .battle-actions button{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:31;}
  .battle-actions.fighting .battle-attack,
  .battle-actions.fighting .battle-block,
  .battle-actions.fighting .battle-jump,
  .battle-actions.fighting .battle-close{display:block!important;}


/* ===== ApexHealth battle sprite + floating combat text update ===== */
.fighter .sprite{width:78px;height:78px;margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;font-size:0;}
.fighter .sprite img.battle-sprite-img{width:78px;height:78px;display:block;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 10px 10px rgba(0,0,0,.42));}
.enemy.boss .sprite{width:92px;height:92px;}
.enemy.boss .sprite img.battle-sprite-img{width:92px;height:92px;}
.battle-fallback-emoji{display:none;font-size:52px;line-height:1;}
.sprite.sprite-fallback img.battle-sprite-img{display:none;}
.sprite.sprite-fallback .battle-fallback-emoji{display:block;}
.floating-combat-text{position:absolute;left:50%;top:22%;transform:translate(-50%,-50%);font-family:var(--fd);font-size:18px;font-weight:900;letter-spacing:.3px;color:#ef4444;text-shadow:0 2px 0 #000,0 0 10px rgba(239,68,68,.45);pointer-events:none;z-index:8;animation:floatCombatText .92s ease-out forwards;white-space:nowrap;}
.floating-combat-text.good{color:#22c55e;text-shadow:0 2px 0 #000,0 0 10px rgba(34,197,94,.45);}
.floating-combat-text.block{color:#60a5fa;text-shadow:0 2px 0 #000,0 0 10px rgba(96,165,250,.45);}
.floating-combat-text.crit{color:#fbbf24;text-shadow:0 2px 0 #000,0 0 12px rgba(251,191,36,.55);font-size:20px;}
@keyframes floatCombatText{0%{opacity:0;transform:translate(-50%,-10%) scale(.78)}14%{opacity:1;transform:translate(-50%,-42%) scale(1.18)}100%{opacity:0;transform:translate(-50%,-132%) scale(1)}}
.battle-arena::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,var(--adim),transparent 56%);pointer-events:none;}

/* V3 fantasy shop polish */
.adv-shop-item{position:relative;}
.adv-shop-icon{width:38px;height:38px;border-radius:12px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 0 18px rgba(0,0,0,.12)}
.adv-shop-main{flex:1;min-width:0;}
.adv-buy{white-space:nowrap;}

/* ===== ApexHealth v4: Stats + Leaderboard polish ===== */
#nav{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;justify-content:flex-start;}
#nav::-webkit-scrollbar{display:none;}
#nav .nb{min-width:52px;font-size:8px;padding-left:1px;padding-right:1px;}
#nav .ni{font-size:18px;display:flex;align-items:center;justify-content:center;}
.stats-pg,.leaderboard-pg{padding:0 14px 16px;}
.stats-hero,.leader-hero{background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:16px;padding:14px;margin:12px 0 10px;box-shadow:var(--sh);}
.stats-title,.leader-title{font-size:18px;font-weight:900;color:var(--tx);margin-bottom:4px;}
.stats-sub,.leader-sub{font-size:11px;color:var(--mu);line-height:1.45;}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.stat-tile{background:var(--sf);border:1px solid var(--bd);border-radius:13px;padding:12px;min-height:78px;}
.stat-tile.big{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.stat-tile-label{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;}
.stat-tile-value{font-family:var(--fd);font-size:22px;font-weight:900;color:var(--ac);line-height:1;}
.stat-tile-sub{font-size:10px;color:var(--mu);margin-top:5px;line-height:1.35;}
.body-stat-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px;margin-bottom:9px;}
.body-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.body-stat-name{font-size:12px;font-weight:800;}
.body-stat-current{font-family:var(--fd);font-size:18px;color:var(--ac);font-weight:900;}
.body-stat-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;}
.body-stat-input{background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fd);font-size:12px;padding:10px;outline:none;min-width:0;}
.body-stat-input:focus{border-color:var(--ac);}
.body-stat-save{background:var(--adim);border:1px solid var(--abr);border-radius:10px;color:var(--ac);font-family:var(--fb);font-size:12px;font-weight:900;padding:0 13px;cursor:pointer;}
.stats-section-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);margin:14px 0 7px;}
.pr-list{display:flex;flex-direction:column;gap:7px;}
.pr-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px;}
.pr-row-main{min-width:0;}
.pr-row-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr-row-sub{font-size:10px;color:var(--mu);margin-top:2px;}
.pr-row-val{font-family:var(--fd);font-size:13px;color:var(--ac);font-weight:900;white-space:nowrap;}
.leader-tabs{display:flex;gap:7px;margin:10px 0;}
.leader-tab{flex:1;padding:9px;background:var(--sf);border:1px solid var(--bd);border-radius:11px;color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:900;cursor:pointer;}
.leader-tab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);}
.leader-list{display:flex;flex-direction:column;gap:7px;}
.leader-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;background:var(--sf);border:1px solid var(--bd);border-radius:13px;padding:10px;}
.leader-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sf2);border:1px solid var(--bd2);font-family:var(--fd);font-size:11px;font-weight:900;color:var(--mu);}
.leader-row.me{border-color:var(--abr);background:var(--adim);}
.leader-row:nth-child(1) .leader-rank{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.45);color:var(--xp);}
.leader-name{font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.leader-meta{font-size:10px;color:var(--mu);margin-top:2px;}
.leader-score{font-family:var(--fd);font-size:14px;color:var(--ac);font-weight:900;text-align:right;}
.leader-sync{width:100%;padding:11px;background:var(--ac);border:none;color:var(--bg);border-radius:12px;font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;margin:10px 0 8px;}
.leader-note{font-size:10px;color:var(--mu);text-align:center;line-height:1.4;margin-bottom:10px;}
#pg-settings .stat-grid{grid-template-columns:1fr;}
#pg-settings .stat-c{display:none;}
#pg-settings .s-lbl:nth-of-type(3){display:none;}

/* ApexHealth v5 fantasy icon polish */
#nav{padding-top:5px;}
.nb{font-size:8px;gap:3px;padding:7px 1px 6px;letter-spacing:.1px;}
.ni{width:19px;height:19px;display:flex;align-items:center;justify-content:center;color:currentColor;}
.ni svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.nb.on .ni{filter:drop-shadow(0 0 7px var(--ac));}
.nb.on .ni svg{filter:none;}
.theme-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;}
.theme-icon svg,.setup-ico svg,.adv-shop-icon svg,.stats-rune svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.setup-ico svg{width:32px;height:32px;}
.fantasy-portrait{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--adim);border:1px solid var(--abr);margin:0 auto 8px;overflow:hidden;}
.fantasy-portrait img{width:100%;height:100%;object-fit:contain;padding:5px;}
.xp-av img,.adv-big-avatar img,.level-avatar img{width:100%;height:100%;object-fit:contain;padding:4px;display:block;}
.xp-av,.adv-big-avatar,.level-avatar{overflow:hidden;}
.stat-tile-art{font-size:0;color:var(--ac);display:flex;align-items:center;justify-content:center;}
.stat-tile-art svg{width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.leader-name .mini-class-icon{display:inline-flex;width:16px;height:16px;vertical-align:-3px;margin-right:5px;color:var(--ac);}
.mini-class-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:390px){.nb{font-size:7px}.ni,.ni svg{width:17px;height:17px}.theme-row{grid-template-columns:repeat(3,1fr)}}

/* TRAINING AUTOPILOT V6 */
.autopilot-pg{padding-top:10px;}
.training-hero{background:linear-gradient(180deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:20px;padding:16px;margin-bottom:10px;box-shadow:var(--sh);position:relative;overflow:hidden;}
.training-hero:before{content:'';position:absolute;inset:auto -40px -60px auto;width:160px;height:160px;border-radius:50%;background:var(--adim);filter:blur(8px);opacity:.9;}
.training-kicker{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:5px;position:relative;}
.training-title{font-size:22px;font-weight:900;line-height:1.05;margin-bottom:6px;position:relative;}
.training-sub{font-size:12px;color:var(--mu);line-height:1.35;margin-bottom:14px;position:relative;}
.training-start{width:100%;padding:15px;border:none;border-radius:14px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:14px;font-weight:900;cursor:pointer;position:relative;}
.training-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px;}
.training-stat{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;text-align:center;}
.training-stat strong{display:block;font-family:var(--fd);font-size:16px;color:var(--ac);line-height:1.1;}
.training-stat span{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;}
.training-next{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:10px;}
.training-next-title{font-size:12px;font-weight:900;margin-bottom:8px;display:flex;justify-content:space-between;gap:8px;}
.training-next-title span{font-size:10px;color:var(--mu);font-weight:700;}
.training-ex-mini{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--bd);}
.training-ex-mini:first-of-type{border-top:none;}
.training-ex-dot{width:28px;height:28px;border-radius:10px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;color:var(--ac);font-size:12px;}
.training-ex-name{font-size:12px;font-weight:800;}
.training-ex-meta{font-size:10px;color:var(--mu);margin-top:1px;}
.training-secondary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:2px;}
.training-ghost{padding:10px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:800;cursor:pointer;}
.empty-training{background:var(--sf);border:1px dashed var(--bd2);border-radius:18px;padding:18px;text-align:center;color:var(--mu);font-size:12px;line-height:1.45;}
.empty-training button{margin-top:12px;width:100%;padding:12px;background:var(--ac);color:var(--bg);border:none;border-radius:12px;font-weight:900;font-family:var(--fb);}
.autopilot-aw-hdr{gap:8px;}
.aw-mini{width:36px;height:36px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-size:25px;line-height:1;cursor:pointer;}
.aw-head-main{flex:1;min-width:0;text-align:center;}
.aw-progress-top{padding:12px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;margin-bottom:12px;}
.aw-progress-label{display:flex;justify-content:space-between;color:var(--mu);font-size:10px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px;}
.aw-progress-bg{height:7px;background:var(--bd);border-radius:999px;overflow:hidden;}
.aw-progress-fill{height:100%;background:var(--ac);border-radius:999px;transition:width .25s ease;}
.coach-card{background:linear-gradient(180deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:20px;padding:15px;margin-bottom:12px;}
.coach-exercise{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.coach-icon{width:54px;height:54px;border-radius:18px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;color:var(--ac);flex-shrink:0;}
.coach-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.coach-name{font-size:20px;font-weight:950;line-height:1.05;}
.coach-note{font-size:11px;color:var(--mu);line-height:1.35;margin-top:4px;}
.coach-target{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.coach-pill{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px;}
.coach-pill span{display:block;font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.coach-pill strong{font-family:var(--fd);font-size:16px;color:var(--ac);}
.set-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.autoset{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:9px;}
.autoset.done{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.08);}
.autoset-num{width:30px;height:30px;border-radius:10px;background:var(--sf2);display:flex;align-items:center;justify-content:center;color:var(--mu);font-family:var(--fd);font-size:11px;font-weight:900;}
.autoset-main{font-family:var(--fd);font-size:15px;font-weight:900;}
.autoset-main small{display:block;font-family:var(--fb);font-size:9px;color:var(--mu);font-weight:600;margin-top:2px;}
.autoset-check{width:38px;height:38px;border-radius:12px;border:none;background:var(--ac);color:var(--bg);font-size:18px;font-weight:900;cursor:pointer;}
.autoset.done .autoset-check{background:var(--grn);color:#06130a;}
.adjust-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.adjust-btn,.swap-btn,.next-btn{padding:12px;border-radius:13px;font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;}
.adjust-btn{background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);}
.swap-btn{width:100%;background:transparent;border:1px solid var(--bd2);color:var(--mu);margin-bottom:8px;}
.next-btn{width:100%;background:var(--ac);border:none;color:var(--bg);}
.next-btn:disabled{opacity:.45;}
.swap-inline{display:grid;grid-template-columns:1fr;gap:7px;margin-top:10px;}
.swap-chip{padding:10px;background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;color:var(--tx);text-align:left;font-family:var(--fb);font-size:12px;font-weight:800;}
.sum-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:800;align-items:center;justify-content:center;padding:18px;}
.sum-ov.on{display:flex;}
.sum-box{width:100%;max-width:390px;background:var(--sf);border:1px solid var(--bd);border-radius:22px;padding:18px;text-align:center;box-shadow:0 16px 50px rgba(0,0,0,.45);}
.sum-kicker{font-size:10px;color:var(--xp);text-transform:uppercase;letter-spacing:1.2px;font-weight:900;margin-bottom:4px;}
.sum-title{font-size:24px;font-weight:950;margin-bottom:12px;}
.sum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px;}
.sum-stat{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px 4px;}
.sum-stat strong{display:block;font-family:var(--fd);font-size:15px;color:var(--ac);}
.sum-stat span{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;}
.sum-wins{text-align:left;background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:12px;color:var(--tx);font-size:12px;line-height:1.55;}
.sum-leave{width:100%;padding:13px;background:var(--ac);color:var(--bg);border:none;border-radius:14px;font-family:var(--fb);font-weight:950;font-size:14px;}

/* TRAINING SUBTABS V7 */
.training-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:4px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--bd);} 
.training-tab{padding:10px 4px;border-radius:13px;background:var(--sf);border:1px solid var(--bd2);color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:900;cursor:pointer;}
.training-tab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);box-shadow:0 0 0 1px var(--adim) inset;}
.training-panel{display:none;}
.training-panel.on{display:block;}
.training-section-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);padding:3px 2px 8px;}
.workout-choice{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:13px;margin-bottom:9px;position:relative;overflow:hidden;}
.workout-choice.recommended{border-color:var(--abr);background:linear-gradient(180deg,var(--sf),var(--adim));}
.workout-choice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.workout-choice-title{font-size:18px;font-weight:950;line-height:1.05;}
.workout-choice-sub{font-size:11px;color:var(--mu);line-height:1.35;margin-top:4px;}
.recommended-pill{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 8px;font-weight:900;white-space:nowrap;}
.workout-choice-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:11px;}
.workout-choice-start{padding:12px;border:none;border-radius:13px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:12px;font-weight:950;cursor:pointer;}
.workout-choice-preview{padding:12px 13px;border-radius:13px;background:var(--sf2);border:1px solid var(--bd2);color:var(--mu);font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;}
.training-current-plan{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:10px;}
.training-current-plan strong{display:block;font-size:13px;margin-bottom:3px;}
.training-current-plan span{font-size:11px;color:var(--mu);}
.training-mini-exercises{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.training-mini-chip{font-size:9px;color:var(--wo);background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.2);border-radius:999px;padding:3px 7px;}
.records-empty,.history-empty{background:var(--sf);border:1px dashed var(--bd2);border-radius:16px;padding:18px;text-align:center;color:var(--mu);font-size:12px;line-height:1.45;}
.record-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:8px;}
.record-title{font-size:13px;font-weight:900;margin-bottom:3px;}
.record-value{font-family:var(--fd);font-size:20px;color:var(--ac);font-weight:900;}
.record-meta{font-size:10px;color:var(--mu);margin-top:2px;}

/* Training plan folders V8 */
.plan-folder{background:var(--sf);border:1px solid var(--bd);border-radius:18px;margin-bottom:10px;overflow:hidden;}
.plan-folder.active{border-color:var(--abr);background:linear-gradient(180deg,var(--sf),var(--adim));}
.plan-folder-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:transparent;border:none;color:var(--tx);font-family:var(--fb);text-align:left;cursor:pointer;}
.plan-folder-head span{color:var(--mu);font-size:17px;transition:transform .18s ease;}
.plan-folder.open .plan-folder-head span{transform:rotate(180deg);}
.plan-folder-title{font-size:16px;font-weight:950;line-height:1.05;}
.plan-folder-sub{font-size:11px;color:var(--mu);margin-top:4px;}
.plan-folder-body{display:none;border-top:1px solid var(--bd);padding:10px;}
.plan-folder.open .plan-folder-body{display:block;}
.plan-folder-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px;}
.plan-folder-actions button{padding:10px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-family:var(--fb);font-size:11px;font-weight:900;cursor:pointer;}
.plan-folder-actions button:first-child{background:var(--adim);border-color:var(--abr);color:var(--ac);}
.plan-day-detail{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:11px;margin-bottom:8px;}
.plan-day-detail strong{display:block;font-size:13px;margin-bottom:3px;}
.plan-day-detail span{font-size:10px;color:var(--mu);}

/* AI plan preview + plan delete V9 */
.ai-box{max-height:92vh;}
.ai-sc{padding-bottom:18px;}
.ai-output-v9{padding-bottom:10px;}
.ai-plan-hero{position:sticky;top:0;z-index:3;background:linear-gradient(180deg,var(--sf),rgba(21,16,36,.96));border:1px solid var(--abr);border-radius:16px;padding:13px;margin:12px 0 10px;box-shadow:0 12px 28px rgba(0,0,0,.22);}
.ai-plan-hero-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;}
.ai-plan-name{font-size:17px;font-weight:950;line-height:1.08;color:var(--tx);}
.ai-plan-meta{font-size:11px;color:var(--mu);line-height:1.35;margin-top:4px;}
.ai-plan-badge{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 8px;font-weight:950;white-space:nowrap;}
.ai-plan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px;}
.ai-plan-stat{background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:8px;text-align:center;}
.ai-plan-stat strong{display:block;font-family:var(--fd);font-size:13px;color:var(--ac);}
.ai-plan-stat span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-top:2px;}
.ai-save-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
.ai-save-primary{padding:12px;border:none;border-radius:13px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:13px;font-weight:950;cursor:pointer;}
.ai-save-secondary{padding:12px;border-radius:13px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;}
.ai-day-compact{background:var(--sf);border:1px solid var(--bd);border-radius:16px;margin-bottom:9px;overflow:hidden;}
.ai-day-compact.open{border-color:var(--abr);}
.ai-day-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;background:transparent;border:none;color:var(--tx);padding:12px;font-family:var(--fb);text-align:left;cursor:pointer;}
.ai-day-head-main strong{display:block;font-size:14px;color:var(--ac);margin-bottom:3px;}
.ai-day-head-main span{font-size:10px;color:var(--mu);line-height:1.25;}
.ai-day-chevron{font-size:16px;color:var(--mu);transition:transform .18s ease;}
.ai-day-compact.open .ai-day-chevron{transform:rotate(180deg);}
.ai-day-body{display:none;border-top:1px solid var(--bd);padding:2px 12px 10px;}
.ai-day-compact.open .ai-day-body{display:block;}
.ai-ex-compact{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--bd);}
.ai-ex-compact:last-child{border-bottom:none;}
.ai-ex-compact-name{font-size:12px;font-weight:900;}
.ai-ex-compact-note{font-size:9px;color:var(--mu);line-height:1.25;margin-top:2px;}
.ai-bottom-save{margin-top:10px;}
.plan-folder-actions{grid-template-columns:1fr 1fr 1fr;}
.plan-folder-actions button.plan-delete{border-color:rgba(239,68,68,.42);background:rgba(239,68,68,.08);color:#ef4444;}
.plan-folder-actions button.plan-delete:first-child{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.42);color:#ef4444;}
@media(max-width:380px){.plan-folder-actions{grid-template-columns:1fr}.ai-save-row{grid-template-columns:1fr}.ai-save-secondary{display:none}}

/* AI plan preview V10 - polished coach card */
.ai-box{max-height:94vh;overflow:hidden;}
.ai-sc{padding-bottom:0;}
.ai-output-v10{padding:0 0 76px;}
.ai-coach-hero{background:linear-gradient(180deg,var(--sf2),var(--sf));border:1px solid var(--abr);border-radius:18px;padding:15px;margin:12px 0 12px;box-shadow:0 16px 34px rgba(0,0,0,.26);}
.ai-coach-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.15px;color:var(--ac);font-weight:950;margin-bottom:7px;}
.ai-coach-title{font-size:20px;font-weight:950;line-height:1.05;color:var(--tx);margin-bottom:7px;}
.ai-coach-desc{font-size:11px;color:var(--mu);line-height:1.45;margin-bottom:12px;}
.ai-coach-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.ai-coach-stat{background:var(--bg);border:1px solid var(--bd);border-radius:13px;padding:9px 5px;text-align:center;}
.ai-coach-stat strong{display:block;font-family:var(--fd);font-size:14px;color:var(--ac);line-height:1;}
.ai-coach-stat span{display:block;font-size:7.5px;color:var(--mu);text-transform:uppercase;letter-spacing:.55px;margin-top:4px;white-space:nowrap;}
.ai-program-day{background:var(--sf);border:1px solid var(--bd);border-radius:18px;margin-bottom:10px;overflow:hidden;}
.ai-program-day.open{border-color:var(--abr);box-shadow:0 10px 28px rgba(0,0,0,.18);}
.ai-program-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:0;color:var(--tx);font-family:var(--fb);padding:13px;cursor:pointer;text-align:left;}
.ai-day-left{display:flex;align-items:center;gap:10px;min-width:0;}
.ai-day-num{width:43px;height:43px;border-radius:14px;background:var(--adim);border:1px solid var(--abr);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
.ai-day-num span{font-size:7px;color:var(--mu);font-weight:950;text-transform:uppercase;letter-spacing:.7px;line-height:1;}
.ai-day-num strong{font-family:var(--fd);font-size:15px;color:var(--ac);line-height:1.05;margin-top:2px;}
.ai-day-copy{min-width:0;}
.ai-day-name{font-size:15px;font-weight:950;line-height:1.1;margin-bottom:4px;}
.ai-day-summary{font-size:10px;color:var(--mu);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;}
.ai-program-toggle{font-size:12px;color:var(--mu);font-weight:950;transition:transform .18s ease;}
.ai-program-day.open .ai-program-toggle{transform:rotate(180deg);}
.ai-program-body{display:none;border-top:1px solid var(--bd);padding:10px;}
.ai-program-day.open .ai-program-body{display:block;}
.ai-ex-card-v10{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:8px;}
.ai-ex-card-v10:last-child{margin-bottom:0;}
.ai-ex-row-v10{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;}
.ai-ex-name-v10{font-size:13px;font-weight:950;line-height:1.15;}
.ai-ex-meta-v10{font-size:10px;color:var(--wo);margin-top:4px;font-weight:800;}
.ai-ex-note-v10{font-size:9.5px;color:var(--mu);line-height:1.35;margin-top:7px;}
.ai-ex-set-badge{background:var(--sf2);border:1px solid var(--bd2);border-radius:999px;color:var(--ac);font-family:var(--fd);font-size:10px;font-weight:900;padding:5px 8px;white-space:nowrap;}
.ai-sticky-actions{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(21,16,36,.1),var(--sf) 32%);border-top:1px solid var(--bd);padding:12px 0 calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 1fr;gap:8px;}
.ai-action-secondary{padding:12px 14px;border-radius:13px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-family:var(--fb);font-size:12px;font-weight:950;cursor:pointer;}
.ai-action-primary{padding:12px 14px;border-radius:13px;background:var(--ac);border:none;color:var(--bg);font-family:var(--fb);font-size:13px;font-weight:950;cursor:pointer;}
@media(max-width:380px){.ai-coach-stats{grid-template-columns:repeat(2,1fr)}.ai-day-summary{max-width:190px}.ai-sticky-actions{grid-template-columns:1fr}.ai-action-secondary{display:none}}

/* Training Plans V11 - single current plan layout */
.plans-section-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);margin:12px 0 7px;font-weight:800;}
.plans-section-label.saved{margin-top:16px;}
.plan-current-disabled{opacity:.8;cursor:default;background:var(--adim)!important;border-color:var(--abr)!important;color:var(--ac)!important;}
.plan-folder.active{border-color:var(--abr);box-shadow:0 0 0 1px var(--abr), var(--sh);}
.plan-folder.active .plan-folder-title{color:var(--ac);}

/* Training logger v7: real set logging + PR estimate polish */
.aw-pr-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px;}
.aw-pr-box{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;min-width:0;}
.aw-pr-box span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aw-pr-box strong{display:block;font-family:var(--fd);font-size:14px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aw-pr-box.live{background:var(--adim);border-color:var(--abr);}
.aw-pr-box.live strong{color:var(--ac);}
.aw-set-head,.aw-set-line{grid-template-columns:34px 74px minmax(0,1fr) minmax(0,1fr) 42px!important;}
.aw-set-head{padding-left:2px!important;padding-right:2px!important;}
.aw-set-line{padding:9px 8px!important;align-items:center!important;}
.aw-set-box input{width:100%!important;padding:10px 8px!important;text-align:center!important;font-size:18px!important;color:var(--tx)!important;background:var(--bg)!important;border:1px solid var(--bd2)!important;border-radius:12px!important;}
.aw-set-box input:focus{border-color:var(--ac)!important;box-shadow:0 0 0 2px var(--adim)!important;}
.aw-target{font-size:8px!important;text-align:center!important;text-transform:uppercase!important;letter-spacing:.6px!important;color:var(--mu)!important;margin-top:3px!important;}
.aw-prev-cell{font-family:var(--fd);font-size:11px;color:var(--mu);line-height:1.1;text-align:center;}
.aw-prev-label{font-family:var(--fb);font-size:8px;text-transform:uppercase;letter-spacing:.6px;color:var(--mu2);margin-top:3px;}
.aw-check{background:var(--sf2)!important;border:1px solid var(--bd2)!important;border-radius:14px!important;color:var(--mu)!important;font-weight:900!important;}
.aw-check.dn{background:var(--ac)!important;border-color:var(--ac)!important;color:var(--bg)!important;}
.aw-addset{border-radius:14px!important;background:var(--sf)!important;border:1px dashed var(--bd2)!important;color:var(--ac)!important;font-weight:800!important;}
.aw-detail-title{align-items:flex-start!important;}
.aw-detail-title h2{font-size:22px!important;}
.aw-timer-pill{font-weight:800!important;}

/* ApexHealth Training Live Logger V8 */
#ov-aw.aw-ov{position:fixed!important;inset:0!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:100%!important;max-width:430px!important;height:100dvh!important;display:none;flex-direction:column!important;z-index:5000!important;background:var(--bg)!important;box-shadow:0 0 0 9999px rgba(0,0,0,.72)!important;}
#ov-aw.aw-ov.on{display:flex!important;}
#aw-scroll.aw-sc{flex:1!important;overflow-y:auto!important;padding:12px 12px calc(22px + env(safe-area-inset-bottom))!important;}
.live-card{margin-bottom:0!important;}
.live-pr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;}
.live-pr-row>div{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px 8px;min-width:0;}
.live-pr-row span,.last-line span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.live-pr-row strong{display:block;font-family:var(--fd);font-size:12px;color:var(--ac);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.last-line{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:12px;}
.last-line strong{font-size:11px;color:var(--tx);text-align:right;line-height:1.25;}
.set-input-head{display:grid;grid-template-columns:38px 1fr 1fr 44px 34px;gap:8px;color:var(--mu);font-size:9px;text-transform:uppercase;letter-spacing:.7px;padding:0 4px 7px;}
.live-set-row{display:grid;grid-template-columns:38px 1fr 1fr 44px 34px;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--bd);border-radius:16px;padding:9px;margin-bottom:8px;}
.live-set-row.done{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.06);}
.live-set-num{width:28px;height:28px;border-radius:11px;background:var(--sf2);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:11px;font-weight:900;color:var(--mu);}
.live-set-row input{width:100%;min-width:0;background:var(--sf);border:1px solid var(--bd2);border-radius:12px;color:var(--tx);font-family:var(--fd);font-size:15px;font-weight:900;text-align:center;padding:11px 6px;outline:none;}
.live-set-row input:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--adim);}
.live-check{width:40px;height:40px;border-radius:14px;border:none;background:var(--ac);color:var(--bg);font-size:20px;font-weight:900;cursor:pointer;}
.live-check.dn{background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.45);color:var(--grn);}
.live-add{padding:12px!important;margin:4px 0 11px!important;}
.live-nav-row{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:10px;}
.live-nav-row button{padding:13px;border-radius:14px;font-family:var(--fb);font-weight:900;cursor:pointer;}
.live-nav-row .aw-secondary{background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);}
.live-nav-row .aw-primary{background:var(--ac);border:none;color:var(--bg);}
.swap-inline{display:flex;flex-direction:column;gap:7px;margin:8px 0;}
.swap-chip{width:100%;text-align:left;background:var(--bg);border:1px solid var(--bd);border-radius:13px;color:var(--tx);padding:10px 12px;font-family:var(--fb);font-weight:800;}
.swap-chip span{color:var(--mu);font-weight:700;}
@media(max-width:380px){.live-pr-row{grid-template-columns:1fr}.set-input-head,.live-set-row{grid-template-columns:32px 1fr 1fr 40px 30px;gap:6px}.live-set-row input{font-size:13px;padding:10px 4px}}

/* Training V9 live workout polish */
.aw-jump-nav{display:flex;gap:8px;overflow-x:auto;padding:0 2px 12px;margin-top:-2px;scrollbar-width:none}.aw-jump-nav::-webkit-scrollbar{display:none}.aw-jump{flex:0 0 auto;display:flex;align-items:center;gap:7px;max-width:150px;padding:8px 11px;border:1px solid var(--bd2);border-radius:14px;background:var(--sf);color:var(--mu);font-family:var(--fb);cursor:pointer}.aw-jump span{width:22px;height:22px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--sf2);font-size:10px;font-weight:900;color:var(--mu)}.aw-jump strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-jump.on{border-color:var(--abr);background:var(--adim);color:var(--ac)}.aw-jump.on span{background:var(--ac);color:var(--bg)}.aw-jump.complete{border-color:rgba(34,197,94,.32)}.aw-jump.complete span{background:rgba(34,197,94,.18);color:var(--grn)}.training-tools-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0}.tool-btn{padding:12px 10px;border-radius:13px;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer}.tool-btn.rest{background:var(--adim);border-color:var(--abr);color:var(--ac)}.ex-history-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:900;align-items:flex-end;justify-content:center}.ex-history-ov.on{display:flex}.ex-history-box{width:100%;max-width:430px;max-height:78vh;overflow-y:auto;background:var(--sf);border:1px solid var(--bd);border-radius:22px 22px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(0,0,0,.45)}.ex-history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.ex-history-k{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:800}.ex-history-title{font-size:20px;font-weight:900;color:var(--tx)}#hist-close-v9{width:34px;height:34px;border-radius:50%;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-size:20px;cursor:pointer}.hist-pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.hist-pr-grid div{border:1px solid var(--bd2);background:var(--bg);border-radius:13px;padding:12px}.hist-pr-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);margin-bottom:5px}.hist-pr-grid strong{font-family:var(--fd);font-size:18px;color:var(--ac)}.hist-list{display:flex;flex-direction:column;gap:8px}.hist-item{border:1px solid var(--bd2);background:var(--bg);border-radius:13px;padding:11px}.hist-item div{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.hist-item strong{font-size:12px;color:var(--tx)}.hist-item span{font-size:10px;color:var(--mu)}.hist-item p{font-size:12px;color:var(--ac);font-family:var(--fd);line-height:1.4}.hist-empty{border:1px dashed var(--bd2);border-radius:13px;padding:22px;text-align:center;color:var(--mu);font-size:12px;line-height:1.5}.swap-inline{display:grid;gap:8px;margin:8px 0 12px}.swap-chip{display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;padding:11px 12px;border-radius:12px;border:1px solid var(--bd2);background:var(--bg);color:var(--tx);font-family:var(--fb);cursor:pointer}.swap-chip strong{font-size:12px}.swap-chip span{font-size:10px;color:var(--ac);font-weight:800}@media(max-width:380px){.training-tools-row{grid-template-columns:1fr}.tool-btn{padding:11px}}

/* V10 inline rest timer + cleaner workout tools */
.training-tools-row.v10{grid-template-columns:1fr 1fr;margin:12px 0 10px}.rest-inline{border:1px solid var(--bd2);background:var(--bg);border-radius:14px;padding:11px 12px;margin:12px 0}.rest-inline-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.rest-inline-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:900}.rest-inline-time{font-family:var(--fd);font-size:14px;font-weight:900;color:var(--ac)}.rest-inline-bg{height:8px;background:var(--bd);border-radius:999px;overflow:hidden}.rest-inline-fill{height:100%;width:0%;background:var(--ac);border-radius:999px;transition:width .25s linear}.rest-inline.done .rest-inline-time{color:var(--grn)}.rest-inline.done .rest-inline-fill{background:var(--grn);width:100%}.rest-inline.idle .rest-inline-fill{width:0}.rest-inline-sub{font-size:10px;color:var(--mu);margin-top:7px;line-height:1.3}.how-video-card{border:1px solid var(--bd2);background:var(--bg);border-radius:14px;padding:14px;margin-bottom:12px}.how-video-title{font-size:16px;font-weight:900;margin-bottom:5px}.how-video-sub{font-size:11px;color:var(--mu);line-height:1.45;margin-bottom:12px}.how-video-btn{display:block;text-align:center;padding:12px;border-radius:12px;background:var(--ac);color:var(--bg);font-weight:900;text-decoration:none}.how-step-card{border:1px solid var(--bd2);background:var(--sf2);border-radius:12px;padding:11px;margin-bottom:8px;font-size:12px;line-height:1.35;color:var(--tx)}

/* Training V11 rest controls + working overlays */
.rest-inline-controls{display:grid;grid-template-columns:54px 1fr 54px;gap:8px;align-items:center}.rest-adjust{height:34px;border-radius:11px;border:1px solid var(--bd2);background:var(--sf2);color:var(--ac);font-family:var(--fd);font-size:11px;font-weight:900;cursor:pointer}.rest-adjust:active{transform:scale(.96)}.rest-inline.done .rest-adjust{color:var(--grn)}
.how-ov-v11{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:930;align-items:flex-end;justify-content:center}.how-ov-v11.on{display:flex}.how-box-v11{width:100%;max-width:430px;max-height:82vh;overflow-y:auto;background:var(--sf);border:1px solid var(--bd);border-radius:22px 22px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(0,0,0,.45)}.how-head-v11{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.how-k-v11{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:900}.how-title-v11{font-size:21px;font-weight:900;color:var(--tx)}#how-close-v11{width:34px;height:34px;border-radius:50%;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-size:20px;cursor:pointer}.how-video-main-v11{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;background:var(--ac);color:var(--bg);border-radius:16px;padding:15px;margin-bottom:14px;font-weight:900}.how-video-main-v11 span{font-size:14px}.how-video-main-v11 strong{font-size:12px;white-space:nowrap}.how-section-v11{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:900;margin:10px 0 8px}.how-tip-v11{display:flex;gap:10px;border:1px solid var(--bd2);background:var(--bg);border-radius:14px;padding:12px;margin-bottom:8px}.how-tip-v11 span{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--adim);border:1px solid var(--abr);color:var(--ac);font-size:11px;font-weight:900;flex-shrink:0}.how-tip-v11 p{font-size:12px;color:var(--tx);line-height:1.38;margin:0}.ex-history-box.v11{max-height:84vh}.hist-list.v11{gap:10px}.hist-item.v11{padding:12px}.hist-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.hist-item-top div{display:flex;flex-direction:column;gap:2px;margin:0}.hist-item-top b{font-size:10px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:4px 7px;white-space:nowrap}.hist-set-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--bd)}.hist-set-row span{font-size:10px;color:var(--mu);font-weight:900}.hist-set-row strong{font-family:var(--fd);font-size:12px;color:var(--tx)}.hist-set-row em{font-style:normal;font-size:9px;color:var(--mu);white-space:nowrap}


/* ApexHealth Training V12 fixes: nested screens sit above workout overlay */
.how-ov-v11,.ex-history-ov{z-index:7200!important;}
.how-box-v11,.ex-history-box{position:relative;z-index:7201!important;}
.swap-search-wrap{margin:8px 0 10px;}
.swap-search-input{width:100%;padding:12px 13px;border-radius:13px;border:1px solid var(--bd2);background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:13px;outline:none;}
.swap-search-input:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--adim);}
.swap-empty{border:1px dashed var(--bd2);border-radius:12px;padding:16px;text-align:center;color:var(--mu);font-size:12px;}

/* v14 Training inline tools + themed set delete */
.live-del{
  width:36px;height:36px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd2);color:var(--mu);font-size:20px;font-weight:900;cursor:pointer;font-family:var(--fb);display:flex;align-items:center;justify-content:center;line-height:1;transition:.15s;
}
.live-del:hover,.live-del:active{border-color:var(--abr);color:var(--ac);background:var(--adim);}
.live-set-row .live-del{opacity:.95;}
.live-tool-card{background:var(--sf);border:1px solid var(--bd2);border-radius:18px;padding:14px;margin-top:10px;box-shadow:var(--sh);}
.live-tool-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.live-tool-kicker{font-family:var(--fd);font-size:9px;color:var(--ac);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:4px;}
.live-tool-title{font-size:20px;font-weight:900;line-height:1.05;}
.live-tool-back{padding:9px 12px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-family:var(--fb);font-size:12px;font-weight:800;cursor:pointer;}
.live-tool-back:active{transform:scale(.97);}
.how-video-main-v14{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ac);color:var(--bg);border-radius:14px;padding:13px 14px;text-decoration:none;font-weight:900;font-size:13px;margin:10px 0 14px;}
.how-video-main-v14 span{opacity:.78;font-size:11px;font-weight:800;}
.how-grid-v14{display:grid;gap:8px;}
.how-tip-v14{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;background:var(--bg);border:1px solid var(--bd);border-radius:13px;padding:11px;}
.how-tip-v14 b{width:28px;height:28px;border-radius:10px;background:var(--adim);border:1px solid var(--abr);color:var(--ac);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:12px;}
.how-tip-v14 p{font-size:12px;line-height:1.4;color:var(--tx);margin:0;}
.hist-list-v14{display:grid;gap:9px;margin-top:10px;}
.hist-item-v14{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:11px;}
.hist-item-top-v14{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;}
.hist-item-top-v14 strong{font-size:13px;}
.hist-item-top-v14 span{display:block;font-size:10px;color:var(--mu);margin-top:2px;}
.hist-item-top-v14 b{font-family:var(--fd);font-size:10px;color:var(--ac);white-space:nowrap;}
.hist-set-row-v14{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--bd);font-size:11px;}
.hist-set-row-v14 span{color:var(--mu);font-family:var(--fd);}
.hist-set-row-v14 strong{color:var(--tx);}
.hist-set-row-v14 em{font-style:normal;color:var(--mu);font-size:10px;}
.hist-empty-v14{background:var(--bg);border:1px dashed var(--bd2);border-radius:14px;padding:18px;text-align:center;color:var(--mu);font-size:12px;line-height:1.45;}
.swap-search-wrap-v14{margin:8px 0 10px;}
.swap-search-input{width:100%;background:var(--bg);border:1px solid var(--bd2);border-radius:13px;padding:12px 13px;color:var(--tx);font-family:var(--fb);font-size:13px;outline:none;}
.swap-search-input:focus{border-color:var(--abr);box-shadow:0 0 0 3px var(--adim);}
.swap-inline.v14{display:grid;gap:7px;max-height:360px;overflow-y:auto;padding-right:2px;}
.swap-chip.v14{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--bd);border-radius:13px;padding:11px 12px;color:var(--tx);font-family:var(--fb);cursor:pointer;text-align:left;}
.swap-chip.v14 strong{font-size:13px;}
.swap-chip.v14 span{font-size:10px;color:var(--ac);}
.swap-chip.v14:active{transform:scale(.99);border-color:var(--abr);background:var(--adim);}
.swap-empty{border:1px dashed var(--bd2);border-radius:13px;padding:18px;text-align:center;color:var(--mu);font-size:12px;}
.rest-inline-controls .rest-adjust{color:var(--ac);border-color:var(--abr);background:var(--adim);}
body.crimson .live-del, body.void .live-del, body.neon .live-del, body.sakura .live-del{background:var(--sf2);border-color:var(--bd2);color:var(--mu);}

/* ApexHealth Training V15 - matching set delete + in-app how-to demo */
.live-del{
  border-radius:12px!important;
  background:var(--sf2)!important;
  border:1px solid var(--bd2)!important;
  color:var(--ac)!important;
  box-shadow:inset 0 0 0 1px var(--adim);
}
.live-del:active{transform:scale(.96);background:var(--adim)!important;border-color:var(--abr)!important;}
.how-demo-v15{background:var(--bg);border:1px solid var(--bd);border-radius:16px;overflow:hidden;margin:10px 0 12px;}
.how-demo-frame{height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sf2),var(--bg));border-bottom:1px solid var(--bd);color:var(--ac);}
.how-demo-frame img{width:100%;height:100%;object-fit:contain;background:var(--bg);}
.how-demo-frame.no-img{font-size:44px;}
.how-demo-caption{padding:11px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.how-demo-caption strong{font-size:12px;color:var(--tx);}
.how-demo-caption span{font-size:10px;color:var(--mu);line-height:1.35;text-align:right;max-width:210px;}

/* ApexHealth Training V16 - free ExerciseDB GIF loading */
.how-demo-frame.loading{flex-direction:column;gap:10px;color:var(--ac);}
.demo-loader{width:28px;height:28px;border-radius:50%;border:3px solid var(--adim);border-top-color:var(--ac);animation:demoSpin .8s linear infinite;}
.demo-loading-text{font-size:11px;font-weight:800;color:var(--mu);letter-spacing:.2px;}
@keyframes demoSpin{to{transform:rotate(360deg)}}
.how-demo-frame.no-img svg{width:100%;height:100%;max-height:180px;}

/* V17 local how-to demos + complete workout label polish */
.how-demo-v15.local-demo .how-demo-frame.local{height:180px;overflow:hidden;background:radial-gradient(circle at 50% 35%, var(--adim), var(--bg) 58%);}
.how-demo-v15.local-demo svg{width:100%;height:100%;display:block;}
.aw-fn{white-space:nowrap;min-width:118px;}

/* V18 ExerciseDB GIF loading state */
.how-demo-frame.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:190px;background:linear-gradient(135deg,var(--sf2),var(--bg));border:1px solid var(--bd);border-radius:14px;color:var(--mu)}
.how-loader{width:30px;height:30px;border:3px solid var(--bd2);border-top-color:var(--ac);border-radius:50%;animation:sp .8s linear infinite}
.how-loading-text{font-size:12px;color:var(--mu);font-weight:700}
.how-demo-frame img{width:100%;height:100%;max-height:250px;object-fit:contain;display:block;border-radius:13px;background:var(--bg)}
.gif-fail{min-height:180px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:var(--mu);padding:18px;background:linear-gradient(135deg,var(--sf2),var(--bg));border:1px solid var(--bd);border-radius:14px}
.gif-fail strong{color:var(--tx);font-size:14px}.gif-fail span{font-size:11px;line-height:1.4}

/* ApexHealth V19 - simplified 5-tab structure */
.home-pg,.nutrition-pg,.adventure-pg,.hof-pg{padding:0 14px 18px;}
.home-hero{margin:12px 0 10px;background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;box-shadow:var(--sh);}
.home-kicker{font-size:10px;color:var(--ac);text-transform:uppercase;letter-spacing:1.1px;font-weight:800;margin-bottom:4px;}
.home-title{font-size:21px;font-weight:900;line-height:1.05;margin-bottom:5px;}
.home-sub{font-size:11px;color:var(--mu);line-height:1.45;}
.home-settings{width:38px;height:38px;border-radius:13px;background:var(--adim);border:1px solid var(--abr);color:var(--ac);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.home-settings svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.home-metric{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px;text-align:left;color:var(--tx);font-family:var(--fb);cursor:pointer;min-height:74px;}
.home-metric span,.home-stat-row span{display:block;color:var(--mu);font-size:9px;text-transform:uppercase;letter-spacing:.9px;margin-bottom:5px;}
.home-metric strong{display:block;font-family:var(--fd);font-size:14px;color:var(--ac);line-height:1.2;}
.home-section-title{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin:14px 0 7px;}
.home-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.home-stat-row>div{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px;}
.home-stat-row strong{font-family:var(--fd);font-size:13px;color:var(--tx);}
.home-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.home-actions button{padding:11px 7px;border-radius:12px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-family:var(--fb);font-size:11px;font-weight:800;cursor:pointer;}
.app-subtabs{display:flex;gap:7px;overflow-x:auto;padding:11px 0 10px;position:sticky;top:49px;background:var(--bg);z-index:19;}
.app-subtabs::-webkit-scrollbar{display:none;}
.app-subtab{flex:0 0 auto;padding:8px 13px;border-radius:999px;border:1px solid var(--bd2);background:var(--sf);color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;}
.app-subtab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);box-shadow:0 0 0 2px rgba(255,255,255,.02) inset;}
.app-panel{display:none;}
.app-panel.on{display:block;}
.nutrition-pg .dn-sec,.nutrition-pg .meals,.nutrition-pg .sh{padding-left:0;padding-right:0;}
.nutrition-pg .dn-sec{padding-top:0;}
.macro-trends-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:12px;}
.adv-tabs,.hof-tabs{top:49px;}
.adv-hero-card{background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:14px;margin-bottom:12px;}
.adv-hero-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.adv-avatar-big{width:46px;height:46px;border-radius:16px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:24px;}
.adv-hero-name{font-size:17px;font-weight:900;}
.adv-hero-sub{font-size:11px;color:var(--mu);margin-top:2px;}
.adv-zone-title{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin:12px 0 7px;}
.adv-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px;margin-bottom:10px;}
.adv-simple-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd);}
.adv-simple-row:last-child{border-bottom:none;}
.adv-simple-name{font-size:13px;font-weight:800;}
.adv-simple-sub{font-size:10px;color:var(--mu);margin-top:2px;line-height:1.35;}
.adv-pill{font-family:var(--fd);font-size:11px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 8px;white-space:nowrap;}
.adv-world{display:flex;flex-direction:column;gap:8px;}
.map-node-card{width:100%;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px;color:var(--tx);font-family:var(--fb);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;}
.map-node-card.boss{border-color:rgba(251,191,36,.5);background:linear-gradient(135deg,var(--sf),rgba(251,191,36,.08));}
.map-node-card.locked{opacity:.45;filter:grayscale(.6);cursor:not-allowed;}
.map-node-top{display:flex;align-items:center;gap:10px;min-width:0;}
.map-node-icon{width:38px;height:38px;border-radius:13px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.map-node-title{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.map-node-sub{font-size:10px;color:var(--mu);margin-top:2px;}
.map-node-action{font-size:10px;color:var(--ac);font-weight:900;white-space:nowrap;}
.hof-pg .leader-hero{margin-top:2px;}
.ach-row.big{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;overflow:visible;}
.ach-row.big .ach-b{width:auto;}
@media(max-width:390px){.nb{font-size:8px}.ni,.ni svg{width:19px;height:19px}.home-actions{grid-template-columns:1fr}.ach-row.big{grid-template-columns:repeat(3,1fr)}}

/* ApexHealth V20 structure polish */
.app-subtabs{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px;margin-bottom:8px;border-bottom:1px solid var(--bd);scrollbar-width:none;}
.app-subtabs::-webkit-scrollbar{display:none;}
.app-subtab{flex:0 0 auto;padding:9px 16px;border-radius:999px;background:var(--sf);border:1px solid var(--bd2);color:var(--mu);font-family:var(--fb);font-size:11px;font-weight:800;cursor:pointer;}
.app-subtab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);box-shadow:0 0 14px var(--adim);}
.app-panel{display:none;}.app-panel.on{display:block;}
.quest-tabs{display:flex;gap:6px;margin:6px 0 12px;}
.quest-tab{flex:1;padding:9px 7px;border-radius:12px;background:var(--sf);border:1px solid var(--bd2);color:var(--mu);font-size:11px;font-weight:900;font-family:var(--fb);}
.quest-tab.on{background:var(--adim);border-color:var(--abr);color:var(--ac);}
.quest-list{display:flex;flex-direction:column;gap:8px;}
.quest-card-v20{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px;}
.quest-card-v20.done{border-color:rgba(34,197,94,.35);}
.quest-card-v20.claimed{opacity:.74;}
.quest-icon-v20{width:34px;height:34px;border-radius:12px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;color:var(--ac);font-size:16px;font-weight:900;}
.quest-name-v20{font-size:12px;font-weight:900;color:var(--tx);margin-bottom:2px;}
.quest-sub-v20{font-size:10px;color:var(--mu);line-height:1.3;}
.quest-progress-v20{height:5px;background:var(--bd);border-radius:999px;overflow:hidden;margin-top:7px;}
.quest-progress-v20 span{display:block;height:100%;background:var(--ac);border-radius:999px;}
.quest-reward-v20{text-align:right;min-width:78px;}
.quest-reward-v20 b{display:block;color:var(--xp);font-size:10px;font-family:var(--fd);}
.quest-reward-v20 span{display:block;color:var(--ac);font-size:10px;font-family:var(--fd);}
.quest-claim{margin-top:6px;padding:6px 8px;border-radius:9px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-size:10px;font-weight:900;font-family:var(--fb);cursor:pointer;}
.quest-claim:disabled{opacity:.45;cursor:not-allowed;}
.map-path-v20{display:flex;flex-direction:column;gap:10px;position:relative;padding:4px 0 12px;}
.map-node-v20{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;color:var(--tx);font-family:var(--fb);text-align:left;cursor:pointer;}
.map-node-v20.boss{border-color:rgba(251,191,36,.45);background:linear-gradient(135deg,rgba(251,191,36,.08),var(--sf));}
.map-node-v20.locked{opacity:.45;filter:grayscale(.5);cursor:not-allowed;}
.map-icon-v20{width:42px;height:42px;border-radius:14px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:22px;}
.map-title-v20{font-weight:900;font-size:13px;margin-bottom:2px;}
.map-sub-v20{font-size:10px;color:var(--mu);}
.map-action-v20{padding:7px 10px;border-radius:999px;background:var(--adim);border:1px solid var(--abr);color:var(--ac);font-size:10px;font-weight:900;}
.shop-grid-v20{display:flex;flex-direction:column;gap:9px;}
.shop-section-v20{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);margin:12px 0 5px;}
.shop-card-v20{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px;}
.shop-name-v20{font-size:13px;font-weight:900;margin-bottom:2px;}
.shop-sub-v20{font-size:10px;color:var(--mu);line-height:1.35;}
.shop-buy-v20{padding:8px 10px;border-radius:11px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-family:var(--fb);font-size:10px;font-weight:900;cursor:pointer;}
.shop-buy-v20:disabled{opacity:.45;cursor:not-allowed;}
.goals-grid-v20{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.goal-card-v20{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px;}
.goal-card-v20 label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);display:block;margin-bottom:6px;}
.goal-card-v20 input{width:100%;background:var(--bg);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fd);font-size:16px;font-weight:900;padding:10px;outline:none;}
.goal-card-v20 input:focus{border-color:var(--ac);}
.goal-save-v20{width:100%;margin-top:10px;padding:13px;border-radius:14px;border:none;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:13px;font-weight:900;}
.home-actions-v20{display:flex;flex-direction:column;gap:8px;}
.home-action-v20{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;border-radius:14px;background:var(--sf);border:1px solid var(--bd);color:var(--tx);font-family:var(--fb);font-weight:900;cursor:pointer;}
.home-action-v20 span{color:var(--mu);font-size:11px;font-weight:700;}
.home-action-v20.primary{border-color:var(--abr);background:var(--adim);color:var(--ac);}
.profile-pg{padding:0 14px 14px;}
.profile-settings-wrap .set-pg{padding:0;}
.weight-log-note{font-size:10px;color:var(--mu);margin-top:6px;line-height:1.35;}

/* ApexHealth Adventure V21 - actual fantasy map + class shop */
.adventure-pg{padding:12px 14px 18px;}
.adv-hero-card.v21{margin-bottom:10px;background:linear-gradient(145deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:13px;box-shadow:var(--sh);}
.adv-hero-card.v21 .adv-hero-row{display:flex;align-items:center;gap:12px;}
.adv-big-avatar{width:48px;height:48px;border-radius:16px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:25px;}
.adv-kicker{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;}
.adv-title-main{font-size:17px;font-weight:900;color:var(--tx);line-height:1.1;}
.adv-sub-main{font-size:10px;color:var(--mu);line-height:1.35;margin-top:3px;}
.adv-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px;}
.adv-stat{background:rgba(0,0,0,.16);border:1px solid var(--bd);border-radius:12px;padding:8px;text-align:center;}
.adv-stat-val{font-family:var(--fd);font-size:15px;color:var(--ac);font-weight:900;}
.adv-stat-lbl{font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-top:2px;}
.adv-tabs.v21{position:sticky;top:51px;z-index:12;background:var(--bg);padding-top:4px;margin-bottom:10px;}
.adv-zone-title{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;font-weight:900;margin:12px 0 7px;}
.adv-zone-title.small{font-size:9px;margin:0 0 7px;}
.fantasy-map-card{height:540px;position:relative;overflow:hidden;border-radius:24px;border:2px solid rgba(129,88,45,.55);background:
  radial-gradient(circle at 20% 70%,rgba(48,124,71,.36),transparent 23%),
  radial-gradient(circle at 36% 34%,rgba(69,122,73,.28),transparent 24%),
  radial-gradient(circle at 76% 24%,rgba(120,117,109,.38),transparent 20%),
  radial-gradient(circle at 71% 60%,rgba(117,72,48,.34),transparent 22%),
  linear-gradient(135deg,#d7b676,#b88445 45%,#8d6538 100%);box-shadow:inset 0 0 0 3px rgba(255,239,188,.16), inset 0 0 55px rgba(55,32,10,.48),0 12px 30px rgba(0,0,0,.22);}
.fantasy-map-card:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(73,44,18,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(73,44,18,.10) 1px,transparent 1px);background-size:24px 24px;opacity:.5;pointer-events:none;}
.fantasy-map-card:after{content:'';position:absolute;inset:8px;border:1px dashed rgba(68,42,20,.35);border-radius:19px;pointer-events:none;}
.map-routes{position:absolute;inset:0;width:100%;height:100%;z-index:2;filter:drop-shadow(0 1px 0 rgba(255,242,190,.28));}
.map-title-scroll{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-family:var(--fd);font-size:13px;color:#442c16;background:rgba(255,239,188,.55);border:1px solid rgba(69,43,18,.25);border-radius:999px;padding:5px 14px;z-index:4;font-weight:900;box-shadow:0 2px 8px rgba(65,38,15,.18);}
.map-compass{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,239,188,.55);border:1px solid rgba(69,43,18,.28);color:#4e3015;display:flex;align-items:center;justify-content:center;font-size:22px;z-index:4;}
.map-region{position:absolute;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:rgba(61,37,16,.58);z-index:1;transform:rotate(-8deg);}
.map-region.forest{left:10%;top:40%;}.map-region.crypt{left:22%;top:17%;}.map-region.mountain{right:8%;top:12%;transform:rotate(8deg)}.map-region.castle{right:11%;top:62%;transform:rotate(5deg)}
.fantasy-node{position:absolute;z-index:5;transform:translate(-50%,-50%);border:0;background:transparent;color:#2f1d0d;font-family:var(--fb);cursor:pointer;min-width:46px;min-height:46px;}
.fantasy-node[disabled]{cursor:not-allowed;}
.fantasy-node .node-icon{width:42px;height:42px;border-radius:50%;background:#f3d98c;border:2px solid #6d421d;box-shadow:0 3px 0 rgba(73,43,16,.42),0 0 0 4px rgba(255,241,180,.25);display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;z-index:2;}
.fantasy-node.boss .node-icon{width:50px;height:50px;font-size:25px;background:#f0bd5e;border-color:#5e2317;box-shadow:0 3px 0 rgba(73,24,16,.5),0 0 0 5px rgba(138,30,25,.16);}
.fantasy-node.locked{filter:grayscale(1);opacity:.44;}
.fantasy-node.current .node-icon{animation:mapPulse 1.5s infinite;border-color:var(--ac);box-shadow:0 3px 0 rgba(73,43,16,.45),0 0 0 6px rgba(198,241,53,.28),0 0 20px rgba(198,241,53,.38);}
.node-label{position:absolute;left:48px;top:4px;background:rgba(255,241,196,.88);border:1px solid rgba(70,43,18,.25);border-radius:10px;padding:5px 8px;text-align:left;white-space:nowrap;box-shadow:0 4px 10px rgba(48,28,10,.18);display:none;}
.fantasy-node:hover .node-label,.fantasy-node.current .node-label,.fantasy-node.boss .node-label{display:block;}
.node-label b{display:block;font-size:10px;color:#321c0b;line-height:1.1;}
.node-label small{display:block;font-size:8px;color:rgba(50,28,11,.68);margin-top:2px;}
.node-boss{position:absolute;right:-7px;top:-8px;z-index:3;background:#5e2317;color:#fff;border-radius:999px;font-size:14px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);}
.player-token{position:absolute;z-index:8;transform:translate(-50%,-92%);width:33px;height:33px;border-radius:50%;background:var(--bg);border:2px solid var(--ac);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 18px var(--abr);animation:playerBob 1.8s ease-in-out infinite;}
.map-fog{position:absolute;z-index:3;border-radius:50%;background:rgba(44,34,24,.22);filter:blur(6px);pointer-events:none;}.fog-a{width:120px;height:90px;right:-18px;bottom:-10px}.fog-b{width:130px;height:80px;left:-35px;top:-15px}
.map-legend-v21{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--mu);margin:7px 2px 10px;}
.v21-list{padding:10px;margin-top:8px;}.map-list-row{width:100%;background:transparent;border:0;color:var(--tx);cursor:pointer;}.map-list-row:disabled{opacity:.45;cursor:not-allowed;}
@keyframes mapPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}@keyframes playerBob{0%,100%{margin-top:0}50%{margin-top:-5px}}
.quest-tabs.v21{display:flex;gap:6px;margin-bottom:9px;}.quest-tab{flex:1;padding:9px;border-radius:999px;background:var(--sf2);border:1px solid var(--bd2);color:var(--mu);font-family:var(--fb);font-weight:800;font-size:11px}.quest-tab.on{background:var(--adim);border-color:var(--abr);color:var(--ac)}
.quest-card-v21{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;margin-bottom:8px}.quest-card-v21.done{border-color:var(--abr);background:var(--adim)}.quest-card-v21.claimed{opacity:.65}.quest-icon-v21{font-size:23px}.quest-name-v21{font-size:12px;font-weight:900}.quest-sub-v21{font-size:10px;color:var(--mu);margin-top:2px}.quest-bar-v21{height:5px;border-radius:999px;background:var(--bd);overflow:hidden;margin-top:6px}.quest-bar-v21 span{height:100%;display:block;background:var(--ac);border-radius:999px}.quest-reward-v21{text-align:right;min-width:72px}.quest-reward-v21 b{font-size:10px;color:var(--xp);display:block}.quest-reward-v21 span{font-size:9px;color:var(--mu);display:block;margin:2px 0 5px}.quest-reward-v21 button{padding:5px 9px;border-radius:8px;border:1px solid var(--abr);background:var(--adim);color:var(--ac);font-family:var(--fb);font-size:10px;font-weight:900}.quest-reward-v21 button:disabled{opacity:.45;color:var(--mu);border-color:var(--bd2);background:var(--sf2)}
.shop-note-v21{font-size:11px;line-height:1.4;color:var(--mu);background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px;margin-bottom:9px}.shop-grid-v21{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-card-v21{position:relative;background:linear-gradient(145deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:15px;padding:12px;min-height:145px;display:flex;flex-direction:column}.shop-rank{align-self:flex-start;font-size:9px;color:var(--xp);border:1px solid rgba(251,191,36,.3);border-radius:999px;padding:3px 7px;margin-bottom:8px}.shop-name-v21{font-size:13px;font-weight:900;line-height:1.1}.shop-sub-v21{font-size:10px;color:var(--mu);line-height:1.35;margin-top:5px;flex:1}.shop-card-v21 button{margin-top:10px;padding:9px;border-radius:10px;border:0;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:12px;font-weight:900}.character-sheet-v21{display:flex;align-items:center;gap:12px;background:var(--sf);border:1px solid var(--bd);border-radius:15px;padding:12px;margin-bottom:9px}.char-class-icon{width:50px;height:50px;border-radius:16px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:26px}.char-name-v21{font-size:16px;font-weight:900}.char-sub-v21{font-size:11px;color:var(--mu);margin-top:2px}
@media(max-width:380px){.fantasy-map-card{height:500px}.node-label{display:none!important}.shop-grid-v21{grid-template-columns:1fr}.map-legend-v21{flex-direction:column}.quest-card-v21{grid-template-columns:auto 1fr}.quest-reward-v21{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:8px}.quest-reward-v21 span{margin:0}.quest-reward-v21 button{margin-left:auto}}

/* Smart Nutrition Goals V22 */
.smart-goals-v22{padding:2px 0 14px;}
.smart-hero{background:linear-gradient(135deg,var(--adim),rgba(255,255,255,.025));border:1px solid var(--abr);border-radius:18px;padding:15px;margin-bottom:10px;position:relative;overflow:hidden;}
.smart-hero::after{content:'⚖️';position:absolute;right:14px;top:10px;font-size:42px;opacity:.18;}
.smart-kicker{font-size:10px;color:var(--ac);text-transform:uppercase;letter-spacing:1.3px;font-weight:800;margin-bottom:3px;}
.smart-title{font-family:var(--fd);font-size:17px;font-weight:900;color:var(--tx);line-height:1.15;}
.smart-sub{font-size:11px;color:var(--mu);line-height:1.45;margin-top:5px;max-width:300px;}
.smart-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:10px;}
.smart-row{display:grid;gap:8px;margin-bottom:8px;}
.smart-row:last-child{margin-bottom:0;}
.smart-row.one{grid-template-columns:1fr;}.smart-row.two{grid-template-columns:1fr 1fr;}.smart-row.three{grid-template-columns:repeat(3,1fr);}
.smart-row label{font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;font-weight:800;display:flex;flex-direction:column;gap:4px;}
.smart-row input,.smart-row select{width:100%;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fb);font-size:12px;padding:9px 8px;outline:none;min-width:0;}
.smart-row input:focus,.smart-row select:focus{border-color:var(--ac);box-shadow:0 0 0 2px var(--adim);}
.smart-preview{background:var(--bg);border:1px solid var(--bd);border-radius:16px;padding:12px;margin-bottom:10px;}
.smart-empty{font-size:12px;color:var(--mu);line-height:1.45;text-align:center;padding:10px;}
.smart-preview-top{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px;}
.smart-preview-top div,.smart-macro-row div{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px;text-align:center;}
.smart-preview-top span,.smart-macro-row span{display:block;font-size:9px;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px;}
.smart-preview-top strong{font-family:var(--fd);font-size:18px;color:var(--ac);}
.smart-macro-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px;}
.smart-macro-row b{font-family:var(--fd);font-size:14px;color:var(--tx);display:block;}
.smart-note{font-size:11px;line-height:1.45;color:var(--mu);background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:10px;}
.smart-note b{color:var(--ac);}
.smart-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.smart-actions button,.goal-save-v20{border:none;border-radius:12px;padding:12px 10px;font-family:var(--fb);font-size:12px;font-weight:900;cursor:pointer;}
#smart-preview-btn{background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);}
#smart-apply-btn,.goal-save-v20{background:var(--ac);color:var(--bg);}
.manual-goals-v22{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;}
.manual-goals-v22 summary{font-size:11px;color:var(--mu);font-weight:800;cursor:pointer;}
.manual-goals-v22 .goals-grid-v20{margin-top:10px;}
@media(max-width:380px){.smart-row.two,.smart-row.three{grid-template-columns:1fr 1fr}.smart-macro-row{grid-template-columns:1fr 1fr}.smart-preview-top{grid-template-columns:1fr}.smart-actions{grid-template-columns:1fr}}

/* V23 integrated daily weight check-in */
.weight-sheet-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:760;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom)}
.weight-sheet-ov.on{display:flex}
.weight-sheet{width:100%;max-width:430px;background:var(--sf);border:1px solid var(--bd);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -18px 50px rgba(0,0,0,.55);overflow:hidden}
.weight-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 8px}
.weight-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--mu);font-weight:800}
.weight-title{font-size:18px;font-weight:900;color:var(--tx);line-height:1.15;margin-top:2px}
.weight-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-size:20px;line-height:1;cursor:pointer}
.weight-body{padding:0 16px 18px;display:flex;flex-direction:column;gap:10px}
.weight-current-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px solid var(--bd);border-radius:16px;padding:13px}
.weight-current-card span,.weight-input-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:800;margin-bottom:4px}
.weight-current-card strong{font-family:var(--fd);font-size:22px;color:var(--ac)}
.weight-token{width:42px;height:42px;border-radius:14px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:22px}
.weight-input-card{display:block;background:var(--sf2);border:1px solid var(--bd2);border-radius:16px;padding:13px}
.weight-input-card div{display:flex;align-items:center;gap:8px}
.weight-input-card input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--tx);font-family:var(--fd);font-size:32px;font-weight:900}
.weight-input-card b{font-family:var(--fd);font-size:13px;color:var(--mu)}
.weight-trend{background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:10px 12px}
.weight-trend-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mu);font-weight:900;margin-bottom:6px}
.weight-trend-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-top:1px solid var(--bd)}
.weight-trend-row:first-of-type{border-top:0}
.weight-trend-row span{font-size:11px;color:var(--mu)}
.weight-trend-row b{font-family:var(--fd);font-size:12px;color:var(--tx)}
.weight-trend-note{font-size:11px;color:var(--mu);line-height:1.45}
.weight-save{width:100%;padding:13px;border:0;border-radius:14px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:14px;font-weight:900;cursor:pointer}
.weight-secondary{width:100%;padding:11px;border:1px solid var(--bd2);border-radius:14px;background:transparent;color:var(--mu);font-family:var(--fb);font-size:12px;font-weight:800;cursor:pointer}
body.neon .weight-current-card strong{ text-shadow:0 0 10px var(--ac); }

.auth-gate{position:fixed;inset:0;z-index:2000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:22px;}
.auth-gate.hidden{display:none;}
.auth-gate-card{width:100%;max-width:360px;background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.auth-gate-logo{font-family:var(--fd);font-size:18px;font-weight:800;margin-bottom:22px;}
.auth-gate-logo em{font-style:normal;color:var(--ac);}
.auth-gate-title{font-size:22px;font-weight:800;margin-bottom:6px;}
.auth-gate-sub{font-size:12px;line-height:1.5;color:var(--mu);margin-bottom:16px;}
.auth-gate-input{width:100%;padding:12px 13px;margin-bottom:8px;background:var(--sf2);border:1px solid var(--bd2);border-radius:11px;color:var(--tx);font-family:var(--fb);font-size:14px;outline:none;}
.auth-gate-input:focus{border-color:var(--ac);}
.auth-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;}
.auth-gate-primary,.auth-gate-secondary{padding:12px;border-radius:11px;font-family:var(--fb);font-size:13px;font-weight:800;cursor:pointer;}
.auth-gate-primary{background:var(--ac);color:var(--bg);border:none;}
.auth-gate-secondary{background:var(--sf2);color:var(--tx);border:1px solid var(--bd2);}
.auth-gate-status{font-size:10px;color:var(--mu);margin-top:10px;text-align:center;min-height:14px;}
body.auth-locked>.pg,body.auth-locked>#nav{filter:blur(1.2px) brightness(.42);pointer-events:none;user-select:none;}body.auth-locked>.setup-ov,body.auth-locked>.ov,body.auth-locked>.conf-ov,body.auth-locked>.bld-ov,body.auth-locked>.ai-ov,body.auth-locked>.aw-ov,body.auth-locked>.level-ov,body.auth-locked>.battle-ov{display:none!important;}

.nb.locked,.training-tab.locked{opacity:.45;cursor:not-allowed;}
.auth-gate{background:rgba(15,15,16,.86);backdrop-filter:blur(8px);}

.water-custom-row{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:7px}
.water-custom-input{width:74px;padding:7px 9px;background:var(--sf2);border:1px solid var(--bd2);border-radius:999px;color:var(--tx);font-family:var(--fd);font-size:11px;text-align:center;outline:none}
.water-custom-input:focus{border-color:var(--wat)}
.nutrition-dashboard-meals{margin-top:10px}
.profile-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.profile-tab{min-width:0}

.remember-row{display:flex;align-items:center;gap:8px;margin:4px 0 10px;color:var(--mu);font-size:11px;cursor:pointer}
.remember-row input{accent-color:var(--ac)}


/* REAL-TIME COOLDOWN COMBAT OVERHAUL */
.battle-box.combat-v3{max-width:414px;padding:13px;border-color:var(--abr);background:linear-gradient(180deg,var(--sf),var(--bg));}
.combat-top{align-items:flex-start}.combat-subtitle{font-size:10px;color:var(--mu);margin-top:2px}.combatant-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.combatant-card{background:rgba(0,0,0,.18);border:1px solid var(--bd);border-radius:13px;padding:9px;min-width:0}.combatant-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.enemy-head{justify-content:flex-end}.combat-portrait{width:38px;height:38px;border-radius:12px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}.enemy-portrait{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.28)}.combatant-meta{min-width:0}.combatant-meta.right{text-align:right}.combatant-name{font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combatant-class{font-size:9px;color:var(--mu);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-bar-label{display:flex;justify-content:space-between;gap:5px;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin:5px 0 3px}.combat-bar{height:8px}.mana-fill{height:100%;background:#38bdf8;border-radius:8px;transition:width .22s linear}.attack-fill{height:100%;background:var(--xp);border-radius:8px;transition:width .08s linear}.attack-timer{height:6px}.attack-label{margin-top:7px}.combat-mana-wrap{display:none}.combat-mana-wrap.on{display:block}.effect-row{display:flex;gap:4px;min-height:20px;margin-top:7px;flex-wrap:wrap}.effect-chip{font-size:10px;line-height:1;padding:4px 6px;border-radius:999px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx)}.effect-chip.burn{color:#fb7185;border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.12)}.effect-chip.poison{color:#86efac;border-color:rgba(134,239,172,.35);background:rgba(134,239,172,.10)}.effect-chip.shield,.effect-chip.block{color:#93c5fd;border-color:rgba(147,197,253,.35);background:rgba(147,197,253,.10)}.effect-chip.evade,.effect-chip.dodge{color:#c4b5fd;border-color:rgba(196,181,253,.35);background:rgba(196,181,253,.10)}.live-arena{min-height:132px;padding:12px 34px 12px;margin-bottom:9px}.live-arena .fighter .sprite{font-size:43px}.live-arena .enemy .sprite{font-size:45px}.combat-log{height:84px;overflow-y:auto;background:rgba(0,0,0,.22);border:1px solid var(--bd);border-radius:12px;padding:8px;margin:8px 0;font-size:11px;line-height:1.35;color:var(--tx)}.log-line{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05)}.log-line:last-child{border-bottom:none}.log-line.good{color:var(--grn)}.log-line.bad{color:#fb7185}.log-line.reward{color:var(--xp);font-weight:800}.ability-bar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ability-btn,.ability-start,.ability-exit{position:relative;overflow:hidden;min-height:48px;border-radius:11px;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-family:var(--fb);font-weight:900;cursor:pointer;padding:8px 9px;text-align:left}.ability-start{grid-column:1/-1;text-align:center;background:var(--ac);color:var(--bg);border:none}.ability-exit{grid-column:1/-1;text-align:center;background:transparent;color:var(--mu)}.ability-btn .ability-name{display:block;font-size:12px;position:relative;z-index:2}.ability-btn .ability-meta{display:block;font-size:9px;color:var(--mu);margin-top:2px;position:relative;z-index:2}.ability-btn.ready{border-color:var(--abr);box-shadow:0 0 0 1px var(--adim) inset}.ability-btn:disabled{opacity:.55;cursor:not-allowed}.cd-overlay{position:absolute;left:0;right:0;bottom:0;height:0;background:rgba(0,0,0,.48);z-index:1;transition:height .08s linear}.cd-text{position:absolute;right:8px;top:8px;font-family:var(--fd);font-size:11px;color:var(--xp);z-index:3}.battle-actions .ability-btn,.battle-actions .ability-exit{display:none}.battle-actions.fighting .ability-btn,.battle-actions.fighting .ability-exit,.battle-actions.done .ability-exit{display:block}.battle-actions.fighting .ability-start,.battle-actions.done .ability-start,.battle-actions.done .ability-btn{display:none}.reward-screen{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.35);border-radius:12px;padding:9px;margin-top:8px}.reward-title{font-weight:900;color:var(--xp);font-size:13px}.reward-items{font-size:11px;color:var(--tx);margin-top:5px;line-height:1.5}


/* Combat view polish + anti-farm reward clarity */
.battle-box.combat-v3{
  background:
    radial-gradient(circle at 50% 0%, var(--adim), transparent 34%),
    linear-gradient(180deg,var(--sf),var(--bg));
}
.live-arena{
  min-height:205px;
  padding:20px 34px 18px;
  align-items:flex-end;
  border-color:var(--abr);
  background:
    radial-gradient(circle at 50% 38%, rgba(198,241,53,.15), transparent 18%),
    linear-gradient(180deg,#111827 0%,#11131d 42%,#16140f 100%);
  box-shadow:inset 0 0 34px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.025);
}
.live-arena::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.28) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.20) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 42%, rgba(255,255,255,.18) 0 1px, transparent 2px),
    linear-gradient(90deg, transparent 0 38%, rgba(255,255,255,.035) 39% 40%, transparent 41% 100%);
  opacity:.9;
  pointer-events:none;
}
.live-arena::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:28px;
  width:160px;
  height:72px;
  transform:translateX(-50%);
  z-index:1;
  background:radial-gradient(ellipse at center, var(--adim), transparent 68%);
  filter:blur(2px);
  pointer-events:none;
}
.arena-sky,.arena-moon,.arena-ruins{position:absolute;pointer-events:none;z-index:1;}
.arena-sky{inset:0;background:linear-gradient(180deg,rgba(96,165,250,.07),transparent 46%);}
.arena-moon{right:32px;top:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);box-shadow:0 0 22px rgba(255,255,255,.10);}
.arena-ruins{bottom:35px;width:58px;height:58px;border-bottom:2px solid rgba(255,255,255,.08);opacity:.55;}
.ruin-left{left:12px;background:linear-gradient(90deg,transparent 0 12px,rgba(255,255,255,.08) 13px 19px,transparent 20px 34px,rgba(255,255,255,.06) 35px 41px,transparent 42px);}
.ruin-right{right:12px;background:linear-gradient(90deg,rgba(255,255,255,.06) 0 7px,transparent 8px 24px,rgba(255,255,255,.08) 25px 34px,transparent 35px);}
.live-arena .battle-ground{z-index:2;height:48px;background:linear-gradient(180deg,transparent,rgba(198,241,53,.12));}
.live-arena .fighter{z-index:4;min-width:86px;}
.live-arena .fighter .sprite{font-size:56px;padding:8px 10px;border-radius:18px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);box-shadow:0 12px 20px rgba(0,0,0,.28);}
.live-arena .enemy .sprite{font-size:58px;}
.live-arena .fighter .name{background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:4px 8px;margin-top:8px;color:var(--tx);}
.combat-v3.zone-wolf .live-arena{background:radial-gradient(circle at 65% 35%,rgba(96,165,250,.16),transparent 22%),linear-gradient(180deg,#0b1220,#101923 48%,#10140f)}
.combat-v3.zone-skeleton .live-arena{background:radial-gradient(circle at 50% 38%,rgba(226,232,240,.15),transparent 20%),linear-gradient(180deg,#111827,#17131c 48%,#15120f)}
.combat-v3.zone-orc .live-arena,.combat-v3.zone-ogre .live-arena{background:radial-gradient(circle at 52% 38%,rgba(239,68,68,.14),transparent 22%),linear-gradient(180deg,#1f130f,#17110f 50%,#15100b)}
.combat-v3.zone-dragon .live-arena{background:radial-gradient(circle at 62% 35%,rgba(249,115,22,.18),transparent 24%),linear-gradient(180deg,#21100a,#180e10 48%,#120d09)}
.combat-v3.zone-void .live-arena{background:radial-gradient(circle at 52% 35%,rgba(167,139,250,.22),transparent 24%),linear-gradient(180deg,#10081f,#120b1d 48%,#0b0713)}
.reward-screen .reward-items{font-family:var(--fd);}


/* ApexHealth v22 complete shop + spell FX overhaul */
.shop-hero-v22{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:var(--sh);position:relative;overflow:hidden}
.shop-hero-v22:before{content:'';position:absolute;inset:auto -30px -45px auto;width:150px;height:150px;border-radius:999px;background:var(--adim);filter:blur(10px);opacity:.65}
.shop-hero-icon{width:52px;height:52px;border-radius:17px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 0 22px var(--adim)}
.shop-hero-kicker{font-size:9px;color:var(--xp);text-transform:uppercase;letter-spacing:1px;font-weight:900}.shop-hero-title{font-size:17px;font-weight:950;line-height:1.05}.shop-hero-sub{font-size:10px;color:var(--mu);line-height:1.35;margin-top:4px}.shop-gold-v22{font-family:var(--fd);font-size:12px;color:var(--xp);font-weight:900;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.35);border-radius:999px;padding:7px 9px;z-index:1;white-space:nowrap}
.shop-section-title-v22{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;font-weight:900;margin:12px 2px 7px}.shop-grid-v22{display:grid;grid-template-columns:1fr 1fr;gap:9px}.shop-card-v22{background:linear-gradient(150deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:16px;padding:12px;min-height:166px;display:flex;flex-direction:column;box-shadow:var(--sh);position:relative;overflow:hidden}.shop-card-v22:after{content:'';position:absolute;right:-26px;top:-28px;width:74px;height:74px;border-radius:50%;background:var(--adim);opacity:.55}.shop-card-top{display:flex;gap:9px;align-items:center;margin-bottom:9px;position:relative;z-index:1}.shop-icon-v22{width:38px;height:38px;border-radius:13px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 auto}.shop-name-v22{font-size:12px;font-weight:950;line-height:1.08}.shop-rank-v22{font-size:9px;color:var(--xp);margin-top:2px;font-family:var(--fd)}.shop-desc-v22{font-size:10px;color:var(--tx);line-height:1.35;position:relative;z-index:1}.shop-next-v22{font-size:9px;color:var(--mu);line-height:1.3;margin-top:6px;flex:1;position:relative;z-index:1}.shop-buy-v22{width:100%;margin-top:10px;padding:9px 7px;border:0;border-radius:11px;background:var(--ac);color:var(--bg);font-family:var(--fb);font-size:11px;font-weight:950;position:relative;z-index:1;cursor:pointer}.shop-buy-v22:active{transform:scale(.98)}
.spell-fx{position:absolute;z-index:9;pointer-events:none;font-size:26px;filter:drop-shadow(0 0 10px currentColor)}
.fx-fireball{right:84px;bottom:64px;color:#fb7185;animation:spellFly 760ms ease-out forwards}.fx-arcane{right:88px;bottom:74px;color:#a78bfa;animation:spellFly 620ms ease-out forwards}.fx-poison{right:86px;bottom:68px;color:#86efac;animation:spellFly 700ms ease-out forwards}.fx-arrow{right:86px;bottom:72px;color:#fbbf24;animation:spellFly 560ms ease-out forwards}.fx-slash{left:78px;bottom:76px;color:#fbbf24;animation:slashFx 520ms ease-out forwards}.fx-shield{left:68px;bottom:76px;color:#93c5fd;animation:shieldPulse 720ms ease-out forwards}
@keyframes spellFly{0%{opacity:0;transform:translateX(0) scale(.55)}12%{opacity:1}78%{opacity:1;transform:translateX(-170px) translateY(-8px) scale(1.2)}100%{opacity:0;transform:translateX(-195px) translateY(-2px) scale(.8)}}
@keyframes slashFx{0%{opacity:0;transform:translateX(0) rotate(-30deg) scale(.7)}35%{opacity:1;transform:translateX(120px) rotate(16deg) scale(1.25)}100%{opacity:0;transform:translateX(156px) rotate(30deg) scale(.85)}}
@keyframes shieldPulse{0%{opacity:0;transform:scale(.55)}30%{opacity:1;transform:scale(1.45)}100%{opacity:0;transform:scale(2.2)}}
.ability-btn.ready .ability-name:after{content:' ready';font-size:8px;color:var(--grn);margin-left:4px;text-transform:uppercase;letter-spacing:.6px}
@media(max-width:380px){.shop-grid-v22{grid-template-columns:1fr}.shop-hero-v22{grid-template-columns:auto 1fr}.shop-gold-v22{grid-column:1/-1;justify-self:start}}

/* ApexHealth v23 shop cleanup + correct player-to-enemy spell travel */
.coin-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7ad 0 12%,#fbbf24 28%,#b7791f 70%);color:#4a2b00;font-size:9px;font-weight:950;box-shadow:0 0 10px rgba(251,191,36,.22);vertical-align:-2px;margin:0 2px}.coin-icon.big{width:30px;height:30px;font-size:16px;margin-right:7px;vertical-align:middle}
.shop-shell-v23{display:flex;flex-direction:column;gap:11px}.shop-top-v23{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:14px;box-shadow:var(--sh)}.shop-title-wrap{min-width:0}.shop-gold-v23{display:flex;align-items:center;justify-content:center;gap:2px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.35);border-radius:999px;color:var(--xp);font-family:var(--fd);font-weight:950;padding:7px 11px;white-space:nowrap}
.shop-loadout-v23{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:9px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px}.paper-doll-v23{width:56px;height:56px;border-radius:17px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:31px;box-shadow:0 0 20px var(--adim)}.loadout-lines-v23{display:flex;flex-direction:column;gap:2px;min-width:0}.loadout-lines-v23 b{font-size:13px}.loadout-lines-v23 span{font-size:10px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loadout-stat-v23{min-width:56px;background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:8px 6px;text-align:center}.loadout-stat-v23 span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px}.loadout-stat-v23 b{font-family:var(--fd);font-size:14px;color:var(--ac)}
.shop-tabs-v23{display:flex;gap:6px;overflow-x:auto;padding-bottom:1px}.shop-tabs-v23::-webkit-scrollbar{display:none}.shop-tab-v23{border:1px solid var(--bd2);background:var(--sf);color:var(--mu);border-radius:999px;padding:8px 13px;font-family:var(--fb);font-weight:850;font-size:11px;white-space:nowrap;cursor:pointer}.shop-tab-v23.on{background:var(--adim);border-color:var(--abr);color:var(--ac);box-shadow:0 0 12px var(--adim)}.shop-grid-v23{display:grid;grid-template-columns:1fr;gap:9px}.shop-card-v23{background:linear-gradient(150deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:16px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;box-shadow:var(--sh);position:relative;overflow:hidden}.shop-card-v23:after{content:'';position:absolute;right:-28px;top:-34px;width:86px;height:86px;border-radius:50%;background:var(--adim);opacity:.42}.shop-card-v23 .shop-card-top,.shop-card-v23 .shop-desc-v22,.shop-card-v23 .shop-next-v22{grid-column:1/2;position:relative;z-index:1}.shop-card-v23 .shop-buy-v22{grid-column:2/3;grid-row:1/4;align-self:center;width:auto;min-width:96px;margin:0;padding:10px 12px}.shop-card-v23 .shop-next-v22{margin-top:2px;flex:auto}.shop-card-v23 .shop-desc-v22{font-size:11px}.shop-card-v23 .shop-card-top{margin-bottom:0}
.fx-fireball,.fx-arcane,.fx-poison,.fx-arrow{left:86px;right:auto;bottom:72px;animation:spellFlyPlayer 720ms ease-out forwards}.fx-fireball{color:#fb7185;font-size:30px}.fx-arcane{color:#a78bfa}.fx-poison{color:#86efac}.fx-arrow{color:#fbbf24}.hero.cast{animation:heroCast 500ms ease-out}.live-arena .hero.cast .sprite{box-shadow:0 0 18px var(--abr),0 12px 20px rgba(0,0,0,.28)}
@keyframes spellFlyPlayer{0%{opacity:0;transform:translateX(0) translateY(0) scale(.55)}12%{opacity:1}76%{opacity:1;transform:translateX(178px) translateY(-8px) scale(1.22)}100%{opacity:0;transform:translateX(205px) translateY(-2px) scale(.85)}}
@keyframes heroCast{0%,100%{transform:translateX(0) scale(1)}38%{transform:translateX(0) scale(1.06);filter:brightness(1.25)}}
@media(max-width:380px){.shop-top-v23{align-items:flex-start;flex-direction:column}.shop-loadout-v23{grid-template-columns:auto 1fr 1fr}.loadout-stat-v23{min-width:0}.shop-card-v23{grid-template-columns:1fr}.shop-card-v23 .shop-buy-v22{grid-column:1;grid-row:auto;width:100%;}}


/* ApexHealth V24 Armory + Character Sheet cleanup */
.gold-coin-v24{display:inline-flex;width:18px;height:18px;border-radius:999px;background:radial-gradient(circle at 34% 28%,#fff8b8 0 12%,#facc15 24%,#d49016 58%,#7c4a03 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.16),0 0 16px rgba(250,204,21,.22);vertical-align:-4px;margin:0 5px 0 0;position:relative;flex:0 0 auto}.gold-coin-v24:after{content:'';position:absolute;inset:5px;border-radius:999px;border:2px solid rgba(83,47,0,.55)}
.armory-v24,.wow-sheet-v24{display:flex;flex-direction:column;gap:11px}.armory-header-v24{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:14px 15px;box-shadow:var(--sh)}.armory-kicker-v24{font-size:9px;color:var(--xp);text-transform:uppercase;letter-spacing:1px;font-weight:950}.armory-title-v24{font-size:19px;font-weight:950;line-height:1}.armory-sub-v24{font-size:11px;color:var(--mu);line-height:1.35;margin-top:5px}.gold-wallet-v24{display:flex;align-items:center;gap:3px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.38);border-radius:999px;color:var(--xp);font-family:var(--fd);font-weight:950;padding:8px 12px;white-space:nowrap}.gold-wallet-v24 .gold-coin-v24{width:28px;height:28px;margin-right:4px}.gold-wallet-v24 .gold-coin-v24:after{inset:8px}
.mini-loadout-v24{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:9px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:12px}.mini-hero-v24{width:54px;height:54px;border-radius:17px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 0 18px var(--adim)}.mini-loadout-v24 div:not(.mini-hero-v24){min-width:0}.mini-loadout-v24 b{display:block;font-size:13px}.mini-loadout-v24 span{display:block;font-size:10px;color:var(--mu);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-loadout-v24 small{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;text-align:center}.mini-loadout-v24 div:nth-last-child(-n+3){background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:8px 7px;text-align:center}.mini-loadout-v24 div:nth-last-child(-n+3) b{font-family:var(--fd);color:var(--ac)}
.armory-tabs-v24{display:flex;gap:7px;overflow-x:auto}.armory-tabs-v24::-webkit-scrollbar{display:none}.armory-tab-v24{border:1px solid var(--bd2);background:var(--sf);color:var(--mu);border-radius:999px;padding:8px 14px;font-family:var(--fb);font-weight:900;font-size:11px;white-space:nowrap;cursor:pointer}.armory-tab-v24.on{background:var(--adim);border-color:var(--abr);color:var(--ac);box-shadow:0 0 12px var(--adim)}.armory-list-v24{display:flex;flex-direction:column;gap:9px}.armory-item-v24{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:linear-gradient(150deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:17px;padding:12px;box-shadow:var(--sh);position:relative;overflow:hidden}.armory-item-v24:after{content:'';position:absolute;right:-30px;top:-35px;width:90px;height:90px;border-radius:999px;background:var(--adim);opacity:.35}.item-rune-v24{width:42px;height:42px;border-radius:14px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;color:var(--ac);font-size:20px;font-weight:950;position:relative;z-index:1}.item-copy-v24{position:relative;z-index:1;min-width:0}.item-name-v24{font-size:13px;font-weight:950}.item-rank-v24{font-size:9px;color:var(--xp);font-family:var(--fd);margin-top:1px}.item-desc-v24{font-size:11px;color:var(--tx);line-height:1.35;margin-top:7px}.item-next-v24{font-size:9px;color:var(--mu);line-height:1.3;margin-top:5px}.item-buy-v24{position:relative;z-index:1;border:0;background:var(--ac);color:var(--bg);font-family:var(--fb);font-weight:950;font-size:12px;border-radius:13px;padding:11px 13px;min-width:126px;cursor:pointer;white-space:nowrap}.item-buy-v24:active{transform:scale(.98)}
.sheet-top-v24{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;background:linear-gradient(135deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:18px;padding:14px}.portrait-v24{width:68px;height:68px;border-radius:20px;background:var(--adim);border:1px solid var(--abr);display:flex;align-items:center;justify-content:center;font-size:36px;box-shadow:0 0 22px var(--adim)}.sheet-name-v24{font-size:19px;font-weight:950;line-height:1}.sheet-sub-v24{font-size:12px;color:var(--mu);margin-top:4px}.sheet-passive-v24{font-size:10px;color:var(--ac);margin-top:7px;background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 8px;display:inline-block}.sheet-gold-v24{display:flex;align-items:center;gap:4px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.36);border-radius:999px;padding:8px 11px;color:var(--xp);font-family:var(--fd);font-weight:950;white-space:nowrap}.sheet-gold-v24 .gold-coin-v24{width:24px;height:24px;margin-right:3px}.sheet-gold-v24 .gold-coin-v24:after{inset:7px}
.paper-grid-v24{display:grid;grid-template-columns:1fr 115px 1fr;gap:10px;align-items:stretch}.gear-left-v24,.gear-right-v24{display:flex;flex-direction:column;gap:8px}.gear-slot-v24{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px;min-height:58px}.gear-slot-v24 span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.gear-slot-v24 b{display:block;font-size:12px;line-height:1.18;color:var(--tx)}.gear-slot-v24.weapon{border-color:rgba(251,191,36,.25)}.gear-slot-v24.armor{border-color:var(--abr)}.paper-doll-big-v24{background:radial-gradient(circle at 50% 30%,var(--adim),transparent 60%),var(--sf);border:1px solid var(--bd);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;font-size:54px;text-align:center;box-shadow:var(--sh)}.paper-doll-big-v24 span{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:1px;margin-top:8px}.char-stats-grid-v24{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.char-stat-v24{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px;text-align:center}.char-stat-v24 span{display:block;font-size:8px;color:var(--mu);text-transform:uppercase;letter-spacing:.9px;margin-bottom:5px}.char-stat-v24 b{font-family:var(--fd);font-size:17px;color:var(--ac)}.sheet-note-v24{font-size:10px;color:var(--mu);line-height:1.45;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:11px}
/* Force all spell projectiles to originate from the player side and travel toward the enemy. */
.fx-fireball,.fx-arcane,.fx-poison,.fx-arrow{left:74px!important;right:auto!important;bottom:74px!important;animation:spellFlyPlayerV24 760ms ease-out forwards!important}.fx-slash{left:76px!important;right:auto!important}.fx-shield{left:64px!important;right:auto!important}.hero.cast{animation:heroCast 500ms ease-out!important}.hero.attack{animation:heroStrike .46s ease-in-out!important}@keyframes spellFlyPlayerV24{0%{opacity:0;transform:translateX(0) translateY(0) scale(.55)}12%{opacity:1}74%{opacity:1;transform:translateX(205px) translateY(-8px) scale(1.25)}100%{opacity:0;transform:translateX(230px) translateY(-2px) scale(.85)}}
@media(max-width:390px){.mini-loadout-v24{grid-template-columns:auto 1fr 1fr}.mini-loadout-v24 div:nth-last-child(-n+3){padding:7px 5px}.armory-item-v24{grid-template-columns:auto 1fr}.item-buy-v24{grid-column:1/-1;width:100%}.paper-grid-v24{grid-template-columns:1fr}.paper-doll-big-v24{min-height:140px;order:-1}.char-stats-grid-v24{grid-template-columns:repeat(2,1fr)}.sheet-top-v24{grid-template-columns:auto 1fr}.sheet-gold-v24{grid-column:1/-1;justify-self:start}}

/* ═══════════════════════════════════════════════════════
   APEXHEALTH PRO — SUBSCRIPTION STYLES
════════════════════════════════════════════════════════ */
.pro-card{background:linear-gradient(145deg,var(--sf),var(--sf2));border:1px solid var(--bd);border-radius:14px;padding:15px;margin-bottom:10px;position:relative;overflow:hidden;}
.pro-card::before{content:'';position:absolute;right:-50px;top:-50px;width:160px;height:160px;border-radius:50%;background:var(--adim);pointer-events:none;}
.pro-card-header{display:flex;align-items:center;gap:11px;margin-bottom:13px;position:relative;}
.pro-card-crown{font-size:30px;line-height:1;flex-shrink:0;}
.pro-card-info{flex:1;}
.pro-card-name{font-size:16px;font-weight:900;color:var(--tx);letter-spacing:-.2px;}
.pro-card-price{font-size:11px;color:var(--mu);margin-top:2px;}
.pro-badge{display:none;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--ac);background:var(--adim);border:1px solid var(--abr);border-radius:999px;padding:5px 10px;font-weight:900;white-space:nowrap;margin-left:auto;}
.pro-features{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.pro-feature-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tx);}
.pro-feature-row::before{content:'✓';color:var(--ac);font-weight:900;font-size:13px;flex-shrink:0;}
.pro-upgrade-btn{width:100%;padding:14px;background:var(--ac);color:var(--bg);border:none;border-radius:12px;font-family:var(--fb);font-size:14px;font-weight:900;cursor:pointer;margin-bottom:5px;transition:opacity .15s;}
.pro-upgrade-btn:disabled{opacity:.55;cursor:not-allowed;}
.pro-upgrade-btn:active:not(:disabled){opacity:.88;}
.pro-active-msg{display:none;font-size:11px;color:var(--ac);text-align:center;line-height:1.4;padding:9px 12px;background:var(--adim);border:1px solid var(--abr);border-radius:10px;}

/* Pro Required Modal */
.pro-required-box{text-align:center;}
.pro-required-crown{font-size:38px;margin-bottom:8px;}
.pro-features-modal{text-align:left;margin-bottom:14px;}
.pro-price-line{font-size:11px;color:var(--mu);text-align:center;margin-bottom:14px;}

/* Pro nav badge on AI plan button */
.pro-lock-tag{display:inline-flex;align-items:center;gap:3px;font-size:9px;color:var(--xp);background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);border-radius:999px;padding:3px 7px;font-weight:900;vertical-align:middle;margin-left:6px;}

/* Auth gate hidden state */
#auth-gate.hidden{display:none;}
