:root{--bg: #0a0f1e;--bg-2: #0e1730;--panel: #141e3a;--panel-2: #1a2547;--line: #243056;--line-soft: #1d2949;--ink: #eaf0fa;--ink-dim: #c4cfe3;--muted: #8aa0c7;--accent: #22d3ee;--accent-2: #34d399;--accent-3: #fbbf24;--accent-4: #a78bfa;--warn: #fbbf24;--danger: #f87171;--radius: 16px;--radius-sm: 10px;--shadow: 0 4px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 0% -10%,rgba(34,211,238,.06),transparent 60%),radial-gradient(900px 500px at 100% -10%,rgba(167,139,250,.05),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;padding:12px 14px 100px}header.top{display:flex;justify-content:space-between;align-items:center;padding:6px 2px 12px}.brand{font-weight:800;letter-spacing:.2px;font-size:17px}.brand .dot{color:var(--accent)}.week-pill{background:var(--panel);border:1px solid var(--line);padding:5px 11px;border-radius:999px;font-size:11px;font-weight:600;color:var(--ink-dim)}.greet{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 14px}.greet-hello{font-size:22px;font-weight:800;letter-spacing:-.3px}.greet-sub{font-size:12px;color:var(--muted);margin-top:2px}.streak{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fbbf241f,#fbbf240a);border:1px solid rgba(251,191,36,.3);padding:6px 12px 6px 8px;border-radius:999px}.streak-flame{font-size:18px}.streak-num{font-size:16px;font-weight:800;color:var(--accent-3);line-height:1}.streak-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.hero{position:relative;border-radius:var(--radius);margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow);isolation:isolate}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% -20%,rgba(34,211,238,.5),transparent 50%),radial-gradient(circle at 0% 100%,rgba(167,139,250,.35),transparent 55%),linear-gradient(135deg,#182b58,#1e1a4a);z-index:-1}.hero-content{padding:20px 18px}.hero-day{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:6px}.hero-session{font-size:24px;font-weight:800;letter-spacing:-.4px;color:#fff;line-height:1.15}.hero-sub{font-size:12px;color:#eaf0fab3;margin-top:6px}.hero-progress{margin-top:16px}.hero-progress-bar{height:6px;background:#ffffff1f;border-radius:999px;overflow:hidden}.hero-progress-bar>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .4s ease}.hero-progress-text{font-size:11px;color:#eaf0fabf;margin-top:6px;font-weight:600}.hero-cta-row{margin-top:14px}.hero-cta{width:100%;background:#fff;color:#0a0f1e;border:0;border-radius:12px;padding:14px 18px;font-weight:700;font-size:15px;letter-spacing:-.1px;box-shadow:0 4px 14px #00000040}.hero-cta:active{transform:translateY(1px)}.hero-stat{font-size:14px;color:#eaf0fad9}.dash-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;margin-bottom:12px}.dash-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dash-card h3{margin:0;font-size:14px;font-weight:700;letter-spacing:.2px}.dash-tag{font-size:10px;color:var(--accent);background:#22d3ee1a;border:1px solid rgba(34,211,238,.25);padding:3px 9px;border-radius:999px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.rings-row{display:flex;align-items:center;gap:16px}.rings-legend{flex:1}.rlr{display:grid;grid-template-columns:8px 1fr auto auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line-soft);font-size:12px}.rlr:last-child{border-bottom:0}.rlr-dot{width:8px;height:8px;border-radius:50%}.rlr-label{color:var(--ink-dim);font-weight:600}.rlr-val{font-size:11px;color:var(--ink);font-weight:700}.rlr-val small{color:var(--muted);font-weight:500}.rlr-pct{font-size:12px;font-weight:800;min-width:38px;text-align:right}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stat-tile{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px 10px}.stat-accent{position:absolute;top:0;left:0;right:0;height:2px}.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.stat-value{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.cardio-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cardio-cell{background:var(--panel-2);border-radius:var(--radius-sm);padding:10px}.cell-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cell-val{font-size:14px;font-weight:700;color:var(--ink);margin-top:4px}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card h2{margin:0 0 4px;font-size:17px;font-weight:800;letter-spacing:-.2px}.card h3{margin:0;font-size:14px;font-weight:700}.card .sub{color:var(--muted);font-size:12px}.row{display:flex;gap:8px;align-items:center}.row.between{justify-content:space-between}.spacer{flex:1}button,.btn{background:var(--accent);color:#07101f;border:0;border-radius:12px;padding:11px 16px;font-weight:700;font-size:14px;letter-spacing:-.1px;touch-action:manipulation;cursor:pointer;transition:transform .06s ease,opacity .15s}button:active{transform:scale(.98)}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.warn{background:var(--warn);color:#1c1206}button:disabled{opacity:.5}.tabs{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:#0a0f1eeb;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-top:1px solid var(--line-soft);padding:6px 0 calc(6px + env(safe-area-inset-bottom)) 0;z-index:100}.tabs button{background:transparent;color:var(--muted);border-radius:0;padding:8px 0;font-weight:600;font-size:12px}.tabs button.active{color:var(--accent)}.warmup,.mobility{font-size:13px;color:var(--ink-dim)}.warmup ul,.mobility ul{margin:6px 0 0 18px;padding:0}.mobility li{padding:2px 0}.exercise{background:var(--panel);border-radius:var(--radius);padding:14px;margin-bottom:10px;border:1px solid var(--line-soft);transition:border-color .2s}.exercise.exercise-done{border-color:#34d39966;background:linear-gradient(180deg,rgba(52,211,153,.05),transparent)}.exercise h3{margin:0;font-size:15px;font-weight:700}.exercise .meta{color:var(--muted);font-size:12px;margin-top:2px}.exercise .rec{color:var(--accent-2);font-size:12px;margin-top:6px;font-weight:600}.set-row{display:grid;grid-template-columns:28px 1fr 1fr 1fr 32px;gap:6px;margin-top:8px;align-items:center}.set-row input{width:100%;background:#0a1224;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 4px;font-size:16px;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;font-weight:600}.set-row input::-webkit-outer-spin-button,.set-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-row input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #22d3ee26}.set-row .lbl{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.set-row .num{color:var(--muted);font-size:13px;font-weight:700;text-align:center}.set-row button{background:var(--panel-2);color:var(--muted);padding:8px;font-size:16px}.field{display:flex;flex-direction:column;gap:6px;margin-top:10px}.field label{color:var(--muted);font-size:12px;font-weight:600}.field input,.field textarea,.field select{background:#0a1224;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;font-size:15px;font-family:inherit}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #22d3ee26}select{background:#0a1224;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;font-size:15px;width:100%}textarea{background:#0a1224;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;font-size:14px;width:100%;font-family:inherit;resize:vertical}.flag{border-left:3px solid var(--warn);padding:10px 12px;margin:10px 0;background:#fbbf2414;border-radius:10px;color:#fde68a;font-size:13px;font-weight:500}.flag.info{border-color:var(--accent);background:#22d3ee14;color:#a5f3fc}.flag.danger{border-color:var(--danger);background:#f8717114;color:#fecaca}.kvp{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--line-soft)}.kvp:last-child{border-bottom:0}.kvp .k{color:var(--muted)}.prompt{background:linear-gradient(135deg,#22d3ee1f,#a78bfa14);border:1px solid rgba(34,211,238,.25);color:#cffafe;border-radius:var(--radius);padding:14px;margin-bottom:12px;font-size:13px;font-weight:500}.ring{--p: 0;width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p) * 1%),#1a2444 0);display:grid;place-items:center;position:relative}.ring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--panel)}.ring span{position:relative;font-size:11px;color:var(--ink)}small.muted{color:var(--muted)}hr{border:0;border-top:1px solid var(--line-soft);margin:14px 0}.form-guide{margin-top:12px;padding:12px;background:#22d3ee0a;border:1px solid rgba(34,211,238,.18);border-radius:12px;font-size:13px}.form-guide .cue{margin:0 0 10px;color:var(--accent);font-weight:700;font-size:13px}.form-guide .lbl{margin:10px 0 4px;font-size:10px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;font-weight:700}.form-guide ul{margin:0 0 0 18px;padding:0}.form-guide ul.do li{color:#a7f3d0;margin-bottom:3px;padding:2px 0}.form-guide ul.dont li{color:#fca5a5;margin-bottom:3px;padding:2px 0}.exercise .row.between button.ghost{min-width:32px;padding:6px 12px;font-size:16px;font-weight:700}.section-divider{background:linear-gradient(135deg,#11233a,#173a4e);border:1px solid #1f4e60}.section-divider h2,.section-divider h3{color:#cffafe}.big{font-size:28px;font-weight:800;margin-top:2px;line-height:1.1;letter-spacing:-.5px}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:8px}.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{width:10px;height:10px;display:inline-block;border-radius:2px}.adj-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding:10px;background:#22d3ee0f;border:1px solid rgba(34,211,238,.15);border-radius:10px;font-size:12px;color:var(--ink-dim);align-items:center}.adj-breakdown b{color:var(--accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--line);border-radius:999px;margin:12px 0;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg);box-shadow:0 2px 8px #00000059}input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg)}
