:root{
  --bg:#0f1115; --card:#1a1d24; --card2:#20242d; --text:#eef0f3; --muted:#9aa3b2;
  --accent:#ff5a3c; --accent2:#3ccf91; --border:#2a2f3a; --danger:#ff4d4f;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;}
#app{max-width:640px;margin:0 auto;padding:12px 14px 60px;}
header{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px;}
header h1{font-size:1.25rem;margin:0;}
.today-date{color:var(--muted);font-size:.85rem;}

.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;}
.tabs.secondary{margin-top:2px;margin-bottom:6px;}
.tab-btn{flex:0 0 auto;background:var(--card);border:1px solid var(--border);color:var(--muted);
  padding:9px 14px;border-radius:20px;font-size:.85rem;white-space:nowrap;cursor:pointer;}
.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;}

.warmup-box{background:var(--card2);border:1px dashed var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px;}
.warmup-box h3{margin:0 0 6px;font-size:.95rem;}
.warmup-box p.note{color:var(--accent);font-size:.8rem;margin:4px 0 8px;}
.warmup-box ul{margin:0;padding-left:18px;color:var(--muted);font-size:.85rem;}
.warmup-box li{margin-bottom:3px;}

.day-focus{color:var(--muted);font-size:.85rem;margin:-6px 0 12px;}
.day-focus b{color:var(--accent2);}

.guide-box{background:var(--card2);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:.82rem;}
.guide-box summary{cursor:pointer;font-weight:600;color:var(--accent);padding:2px 0;}
.guide-box .gsec{margin-top:10px;}
.guide-box .gsec b{display:block;margin-bottom:3px;color:var(--text);font-size:.85rem;}
.guide-box ul{margin:0;padding-left:16px;color:var(--muted);}
.guide-box li{margin-bottom:4px;line-height:1.45;}
.guide-box .gsrc{color:var(--muted);font-size:.72rem;margin-top:10px;border-top:1px solid var(--border);padding-top:8px;}

.exercise-meta{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:.78rem;color:var(--muted);margin:2px 0 8px;}
.exercise-meta b{color:var(--accent2);}
.video-link{color:var(--accent2);text-decoration:none;font-weight:600;}
.video-link:active{opacity:.7;}

.exercise-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:12px;}
.exercise-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.exercise-head h4{margin:0;font-size:1rem;}
.exercise-target{color:var(--muted);font-size:.8rem;}
.exercise-cue{color:#c9b6ff;font-size:.78rem;margin:2px 0 10px;}

.set-row{display:grid;grid-template-columns:auto 64px 64px 40px;gap:8px;align-items:center;
  padding:7px 0;border-top:1px solid var(--border);}
.set-row:first-of-type{border-top:none;}
.set-label{font-size:.85rem;color:var(--muted);}
.set-row input{width:100%;background:var(--card2);border:1px solid var(--border);color:var(--text);
  border-radius:8px;padding:6px 4px;text-align:center;font-size:.85rem;}
.set-check{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--card2);
  color:var(--muted);font-size:1.1rem;cursor:pointer;}
.set-check.done{background:var(--accent2);border-color:var(--accent2);color:#0f1115;font-weight:700;}

.progress-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px;}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.stat-box{background:var(--card2);border:1px solid var(--border);border-radius:12px;padding:10px;text-align:center;}
.stat-box .num{font-size:1.4rem;font-weight:700;color:var(--accent);}
.stat-box .lbl{font-size:.75rem;color:var(--muted);margin-top:2px;}

.day-last-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--border);font-size:.85rem;}
.day-last-row:first-of-type{border-top:none;}

.hist-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);padding:3px 0;}

.hidden{display:none !important;}

.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--accent2);
  color:#0f1115;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;
  box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:50;}
