:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--card:#1e293b;--card2:#263449;--text:#e2e8f0;--muted:#94a3b8;--ok:#22c55e;--down:#ef4444;--accent:#38bdf8;--accent2:#0ea5e9}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;cursor:pointer}.muted{color:var(--muted)}.small{font-size:.8rem}.err{color:var(--down);font-size:.9rem}.link{color:var(--accent);background:0 0;border:none;padding:0}.shell{min-height:100dvh;padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.mark{font-size:3rem;line-height:1}h1{letter-spacing:-.02em;margin:0;font-size:1.7rem}.tagline{color:var(--muted);max-width:22rem;margin:0}.form{flex-direction:column;gap:.9rem;width:100%;max-width:26rem;display:flex}.form label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}input{background:var(--card);color:var(--text);border:1px solid #334155;border-radius:10px;width:100%;padding:.7rem .8rem;font-size:1rem}input:focus{outline:2px solid var(--accent);border-color:#0000}.form button[type=submit],.start,.finish,.log{background:var(--accent2);color:#062130;border:none;border-radius:10px;padding:.85rem 1rem;font-size:1rem;font-weight:700}.form button:disabled,.log:disabled,.finish:disabled{opacity:.5}hr{border:none;border-top:1px solid #334155;width:100%}.page{max-width:32rem;padding:1.25rem 1.1rem calc(3rem + env(safe-area-inset-bottom));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.home-head{justify-content:space-between;align-items:baseline;display:flex}.week-card{background:var(--card);text-align:center;border-radius:16px;padding:1.25rem}.week-count{font-size:2.6rem;font-weight:800;line-height:1}.week-count span{color:var(--muted);font-size:1.4rem;font-weight:600}.week-dots{justify-content:center;gap:.4rem;margin:.7rem 0 .4rem;display:flex}.dot{background:#334155;border-radius:50%;width:.7rem;height:.7rem}.dot.on{background:var(--ok)}.week-sub{color:var(--muted);font-size:.85rem}.next-card{background:linear-gradient(160deg, var(--card2), var(--card));border-radius:16px;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.next-label{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.next-focus{font-size:1.25rem;font-weight:700}.start{margin-top:.4rem}.resume-card{border:1px solid var(--ok)}.resume-card .next-label{color:var(--ok)}.discard-confirm{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.discard-actions{gap:1.2rem;display:flex}.link.danger{color:var(--down);font-weight:700}.session-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.session-title{text-align:center;flex:1;font-weight:700}.session-count{color:var(--muted);font-size:.85rem}.role-group{flex-direction:column;gap:.7rem;display:flex}.role-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.presc{background:var(--card);border-radius:14px;padding:.9rem}.presc-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.presc-name{color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:1rem;font-weight:700;display:inline-flex}.info-dot{color:var(--accent);font-size:.85rem}.presc-target{color:var(--accent);white-space:nowrap;font-size:.9rem;font-weight:600}.presc-note{color:var(--muted);margin-top:.25rem;font-size:.8rem}.set-chips{flex-wrap:wrap;gap:.4rem;margin:.7rem 0;display:flex}.chip{background:var(--card2);color:var(--text);border:1px solid #3a4a63;border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:600}.presc.is-done{background:0 0;border:1px solid #2b3a52;padding:.75rem .9rem}.presc.is-done .presc-name{color:var(--muted);font-weight:600}.presc.is-done .presc-target{color:var(--muted)}.presc.is-done .set-chips{margin:.55rem 0 0}.tick{color:var(--ok);font-weight:800}.more{color:var(--accent);background:0 0;border:none;margin-top:.6rem;padding:.2rem 0;font-size:.85rem;font-weight:600}.logger{flex-direction:column;gap:.7rem;display:flex}.logger-row{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.logger-row>.stepper,.logger-row>.weight{flex:1;min-width:0}.log{width:100%}@media (width>=480px){.logger-row{flex-direction:row;align-items:flex-start;gap:.9rem}}.stepper,.rpe{flex-direction:column;gap:.3rem;display:flex}.stepper-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.stepper-controls{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stepper-controls button{background:var(--card2);width:2.8rem;height:2.8rem;color:var(--text);border:1px solid #3a4a63;border-radius:10px;flex:none;font-size:1.5rem;line-height:1}.stepper-value{text-align:center;flex:1;font-size:1.2rem;font-weight:700}.stepper-value em{color:var(--muted);font-size:.8rem;font-style:normal}.rpe-scale{gap:.4rem;display:flex}.rpe-scale button{background:var(--card2);min-width:0;height:2.8rem;color:var(--muted);border:1px solid #3a4a63;border-radius:10px;flex:1;font-size:1rem;font-weight:700}.rpe-scale button.on{background:var(--accent);color:#062130;border-color:#0000}.weight{flex-direction:column;gap:.3rem;display:flex}.weight-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.unit-toggle{border:1px solid #3a4a63;border-radius:7px;display:flex;overflow:hidden}.unit-toggle button{background:var(--card2);color:var(--muted);border:none;padding:.15rem .55rem;font-size:.8rem;font-weight:700}.unit-toggle button.on{background:var(--accent);color:#062130}.conv-inline{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:600}.sheet-backdrop{z-index:50;background:#02060f99;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:32rem;padding:.6rem 1.2rem calc(1.4rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:85dvh;animation:.18s ease-out sheet-up;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{background:#3a4a63;border-radius:999px;width:2.5rem;height:.28rem;margin:.2rem auto .9rem}.sheet-title-row{align-items:center;gap:.6rem;display:flex}.sheet-title-row h2{margin:0;font-size:1.25rem}.badge{background:var(--accent);color:#062130;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.sheet-img{background:var(--card2);border-radius:12px;width:100%;margin:.8rem 0}.sheet-muscles{color:var(--accent);margin:.6rem 0 .2rem}.sheet-muscles strong{color:var(--text)}.sheet-instr{color:var(--text);line-height:1.5}.sheet-cue{background:var(--card2);color:var(--text);border-radius:10px;padding:.7rem .9rem;font-size:.92rem}.sheet-video{color:var(--accent);margin-top:.4rem;font-weight:700;text-decoration:none;display:inline-block}.sheet-close{background:var(--card2);width:100%;color:var(--text);border:1px solid #3a4a63;border-radius:10px;margin-top:1.2rem;padding:.8rem;font-weight:700}.cheer-backdrop{z-index:60;background:#02060fb8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.cheer{background:linear-gradient(160deg, var(--card2), var(--card));padding:1.6rem 1.3rem calc(1.3rem + env(safe-area-inset-bottom));text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:24rem;animation:.22s cubic-bezier(.2,1.2,.4,1) cheer-in;display:flex;position:relative;overflow:hidden}@keyframes cheer-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cheer .mark{animation:.5s 50ms backwards cheer-pop}@keyframes cheer-pop{0%{transform:scale(.2)rotate(-25deg)}to{transform:scale(1)rotate(0)}}.cheer .finish{width:100%;margin-top:.5rem}.cheer-stats{gap:2rem;margin:.3rem 0;display:flex}.cheer-stats div{flex-direction:column;display:flex}.cheer-stats strong{font-size:1.8rem;font-weight:800;line-height:1.1}.cheer-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-12%;left:calc(var(--i) * 6.25%);background:var(--accent);width:.5rem;height:.8rem;animation:confetti-fall 1.5s cubic-bezier(.3, .2, .6, 1) calc(var(--i) * 55ms) forwards;border-radius:2px;position:absolute}.confetti i:nth-child(3n){background:var(--ok)}.confetti i:nth-child(3n+1){background:#fbbf24}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(30rem)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.cheer,.cheer .mark{animation:none}}.phase{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem;font-size:.8rem}.status{background:var(--card);border-radius:999px;margin-top:1rem;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600}.status.ok{color:var(--ok)}.status.down{color:var(--down)}.status.wait{color:var(--muted)}
