/* MY workout v8 - dark-first, glass, teal identity. Type scale: 12/14/16/20/28/56 */
:root{
  color-scheme:dark light;
  --bg:#071014;--bg2:#0d1a20;
  --card:rgba(255,255,255,.055);--card-b:rgba(255,255,255,.10);--card2:rgba(255,255,255,.09);
  --fg:#eaf3f5;--mut:#a3b6c0;--ink:#03201b;
  --acc:#4fe3c1;--acc-b:#22c3a0;--acc-t:#6ff0d3;--acc2:#7aa8ff;--rest:#ffbe6b;--bonus:#c4a1ff;
  --shadow:0 10px 30px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06);
  --glow:0 0 28px rgba(79,227,193,.35);
  --r-s:14px;--r-m:20px;--r-l:28px;
  --t-xs:.75rem;--t-s:.875rem;--t-m:1rem;--t-l:1.25rem;--t-xl:1.75rem;--t-xxl:3.5rem;
}
@media (prefers-color-scheme:light){
  :root{--bg:#eef5f6;--bg2:#e2eef0;--card:rgba(255,255,255,.75);--card-b:rgba(10,40,50,.12);--card2:rgba(10,60,70,.08);
    --fg:#0b1a21;--mut:#445a67;--acc:#16b093;--acc-b:#0f9a80;--acc-t:#0b6f5d;--acc2:#3a63c9;--rest:#c77a0a;--bonus:#7a4cc7;
    --shadow:0 10px 26px -14px rgba(10,50,60,.35);--glow:0 0 22px rgba(22,176,147,.3)}
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI","Heebo",Arial,sans-serif;font-size:16px;line-height:1.45}
body{background:radial-gradient(900px 500px at 85% -10%,rgba(79,227,193,.14),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(122,168,255,.12),transparent 60%),var(--bg);background-attachment:fixed;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#app{max-width:480px;margin:0 auto;min-height:100dvh;padding:16px}
[hidden]{display:none!important}
.screen{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 32px);animation:fade .35s cubic-bezier(.2,.7,.2,1)}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
h1{font-size:var(--t-xl);margin:0;font-weight:700;letter-spacing:-.01em;line-height:1.2}
h2{margin:0;font-size:var(--t-l);font-weight:650}
h3.sec{margin:10px 0 0;font-size:var(--t-s);color:var(--mut);font-weight:600;letter-spacing:.02em}
.muted{color:var(--mut);margin:0;font-size:var(--t-m)}
.center{text-align:center}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px}
button{font:inherit;color:var(--fg);background:var(--card2);border:1px solid var(--card-b);border-radius:var(--r-m);padding:14px 16px;cursor:pointer;min-height:56px;
  transition:transform .12s,background .2s,box-shadow .25s,border-color .2s}
button:hover{border-color:rgba(79,227,193,.45)}
button:active{transform:scale(.96)}
:focus-visible{outline:3px solid var(--acc2);outline-offset:3px}
button:focus-visible{outline:3px solid var(--acc2);outline-offset:3px}
.icon-btn{min-height:48px;width:48px;padding:0;border-radius:50%;font-size:1.2rem}
.big{font-size:var(--t-l);font-weight:700;min-height:72px;border-radius:var(--r-l)}
.primary{background:linear-gradient(135deg,var(--acc-t),var(--acc-b));color:var(--ink);border-color:transparent;box-shadow:var(--glow)}
.primary:hover{border-color:transparent;box-shadow:0 0 36px rgba(79,227,193,.5)}
@media (prefers-color-scheme:light){.primary{color:#fff;background:linear-gradient(135deg,#12a88a,#0b7a66)}}
.soft{background:var(--card2)}
.glass,.card,.week,details{background:var(--card);border:1px solid var(--card-b);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}
/* week progress */
.week{border-radius:var(--r-m);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.week-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:var(--t-s);color:var(--mut)}
.week-t b{font-size:var(--t-l);color:var(--fg)}
.wbar{display:flex;gap:6px}
.seg{flex:1;height:10px;border-radius:99px;background:var(--card2);position:relative;overflow:hidden}
.seg.on{background:linear-gradient(90deg,var(--acc-b),var(--acc));box-shadow:var(--glow);animation:grow .6s cubic-bezier(.2,.9,.3,1)}
.seg.bonus{background:linear-gradient(90deg,#9b6dff,var(--bonus));flex:.6}
@keyframes grow{from{transform:scaleX(.2);opacity:.4}to{transform:none;opacity:1}}
/* energy */
.energy{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.energy button{height:76px;font-size:var(--t-xl);font-weight:700;padding:0;border-radius:var(--r-m);background:var(--card);position:relative;overflow:hidden}
.energy button::after{content:"";position:absolute;inset-inline:0;bottom:0;height:calc(var(--lv,1) * 4px + 4px);background:var(--acc2);opacity:.55;border-radius:3px 3px 0 0}
.energy button:nth-child(1){--lv:1}.energy button:nth-child(2){--lv:2}.energy button:nth-child(3){--lv:3}.energy button:nth-child(4){--lv:4}.energy button:nth-child(5){--lv:5}
.energy button.sel{background:linear-gradient(160deg,var(--acc-t),var(--acc-b));color:var(--ink);border-color:transparent;box-shadow:var(--glow);transform:translateY(-3px)}
.energy button.sel::after{background:rgba(0,0,0,.25)}
@media (prefers-color-scheme:light){.energy button.sel{color:#fff}}
.rpe button::after{background:var(--rest)}
.energy-legend{display:flex;justify-content:space-between;color:var(--mut);font-size:var(--t-s);margin-top:-6px}
.card{border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:12px}
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.levels button{min-height:48px;background:var(--card2)}
.levels button.sel{background:var(--acc);color:var(--ink);font-weight:700;border-color:transparent}
@media (prefers-color-scheme:light){.levels button.sel{color:#fff;background:var(--acc-b)}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* activity picker */
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.acts button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 4px;min-height:84px;font-weight:600;background:var(--card)}
.acts .ai{font-size:1.9rem;line-height:1}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tools button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:1.6rem;padding:12px 4px;min-height:80px;background:var(--card)}
.tools span{font-size:var(--t-s)}
details{border-radius:var(--r-m);padding:14px 16px;margin-top:auto}
summary{cursor:pointer;color:var(--mut);min-height:32px;display:flex;align-items:center}
ul{padding:0;margin:8px 0 0;list-style:none;font-size:var(--t-s);color:var(--mut)}
li{padding:5px 0}
/* workout */
.ph-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pill{background:linear-gradient(135deg,var(--acc-t),var(--acc-b));color:var(--ink);padding:7px 18px;border-radius:99px;font-weight:700;font-size:var(--t-s)}
.pill.rest{background:linear-gradient(135deg,#ffd08a,var(--rest));color:#2a1700}
@media (prefers-color-scheme:light){.pill:not(.rest){color:#fff}}
.chip{padding:6px 12px;border-radius:99px;background:var(--card2);border:1px solid var(--card-b);font-size:var(--t-s);color:var(--fg)}
.chip[data-s=ok]{border-color:var(--acc)}
.chip[data-s=weak]{border-color:var(--rest)}
.ex-name{text-align:center;margin-top:4px;font-size:var(--t-xl);line-height:1.2;font-weight:700}
.ex-text{text-align:center;color:var(--mut);margin:0;font-size:var(--t-m);min-height:3em;line-height:1.5}
.round{display:flex;flex-direction:column;align-items:center;gap:6px}
.round b{font-size:var(--t-l);padding:4px 16px;border-radius:99px;background:var(--card2);border:1px solid var(--card-b);font-variant-numeric:tabular-nums}
.rdots{display:flex;gap:6px}
.rdots i{width:22px;height:6px;border-radius:99px;background:var(--card2);transition:background .3s}
.rdots i.done{background:var(--acc)}
.rdots i.cur{background:var(--fg)}
.rest-mode .rdots i.done{background:var(--rest)}
.ring-wrap{position:relative;width:min(82vw,340px);aspect-ratio:1;margin:0 auto}
.ring{width:100%;height:100%;overflow:visible}
.ring-bg{fill:none;stroke:var(--card2);stroke-width:9}
.ring-fg{fill:none;stroke:url(#gw);stroke-width:9;stroke-linecap:round;stroke-dasharray:565.49;stroke-dashoffset:0;filter:drop-shadow(0 0 7px rgba(79,227,193,.65));transition:stroke-dashoffset .12s linear}
.rest-mode .ring-fg{stroke:url(#gr);filter:drop-shadow(0 0 7px rgba(255,190,107,.6))}
.time{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--t-xxl);font-weight:250;direction:ltr;font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-shadow:0 0 24px rgba(79,227,193,.25)}
.big-ring .time{font-size:3.4rem}
.time.warn{animation:pulse 1s ease-in-out infinite;color:var(--acc-t)}
.rest-mode .time.warn{color:var(--rest)}
@keyframes pulse{50%{transform:scale(1.07)}}
.pbar{height:6px;border-radius:99px;background:var(--card2);overflow:hidden}
.pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc-b),var(--acc2));border-radius:99px;transition:width .3s linear}
.ctrl{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:10px;margin-top:auto}
.ctrl.one{grid-template-columns:1fr}
.ctrl.two{grid-template-columns:1fr 1.4fr}
/* activity stats */
.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
.stat{background:var(--card);border:1px solid var(--card-b);border-radius:var(--r-m);padding:12px 8px;text-align:center;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}
.stat b{font-size:var(--t-xl);font-weight:700;direction:ltr;font-variant-numeric:tabular-nums;line-height:1.1}
.stat small{font-size:var(--t-xs);color:var(--mut)}
.stat:first-child b{color:var(--acc-t)}
/* breathing */
.breath-stage{flex:1;display:grid;place-items:center;position:relative;min-height:340px}
.circle{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#b4f3e4,#2fb89b);box-shadow:0 0 70px rgba(79,227,193,.4);transform:scale(1);transition:transform 4s ease-in-out}
.b-label{position:absolute;font-size:var(--t-l);color:#03201b;font-weight:700}
/* squat */
.steps{line-height:1.7;color:var(--mut);padding-inline-start:22px}
.steps li{padding:2px 0;font-size:var(--t-m)}
.tap{height:230px;border-radius:50%;width:230px;margin:8px auto;font-size:4rem;font-weight:300;background:var(--card);box-shadow:var(--glow);display:flex;flex-direction:column;align-items:center;justify-content:center}
.tap small{font-size:var(--t-s);color:var(--mut);padding:0 24px}
.center-screen{align-items:center;justify-content:center;text-align:center}
.center-screen>div,.center-screen>button{width:100%}
.center-screen>div{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.emoji{font-size:4.5rem}
.pop{animation:pop .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.2);opacity:0}to{transform:none;opacity:1}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
