:root{color:#17201d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--teal:#0f766e;--teal-soft:#dff4ef;--green:#15803d;--amber:#b45309;--blue:#2563eb;--violet:#7c3aed;--ink:#17201d;--muted:#66746f;--line:#dce6e2;--surface:#fff;--surface-soft:#eef8f5;--danger:#dc2626;background:#f7fbfa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(100%,760px);min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 14px max(92px, env(safe-area-inset-bottom));margin:0 auto}.app-header{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.app-header p,.muted-label,.caption{color:var(--muted);margin:0;font-size:.86rem}h1,h2,p{overflow-wrap:anywhere}.app-header h1,.round-header h1{letter-spacing:0;margin:2px 0 0;font-size:2rem}.screen{gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 8px 20px #17201d0f}.section-title{color:var(--muted);margin:0 0 10px;font-size:1rem}.rank-card{grid-template-columns:1fr auto;gap:12px;display:grid}.rank-card h2{margin:4px 0 0;font-size:1.5rem}.rank-card p{color:var(--muted);grid-column:1/-1;margin:0}.metric{text-align:right}.metric span{color:var(--muted);font-size:.82rem;display:block}.metric strong{color:var(--teal)}.progress-track{background:#e5ece9;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.progress-track div{background:linear-gradient(90deg, var(--teal), var(--green));height:100%}.status-pill{border-radius:999px;justify-self:center;align-items:center;gap:9px;min-height:36px;padding:7px 16px;font-weight:700;display:inline-flex}.status-pill span{background:currentColor;border-radius:50%;width:10px;height:10px}.status-pill.teal,.status-pill.green{color:var(--green);background:#dcfce7}.status-pill.amber{color:var(--amber);background:#fef3c7}.status-pill.neutral{color:#64748b;background:#f1f5f9}.pending-card{border-color:#fed7aa}.pending-heading,.timer-note,.notification-row{align-items:flex-start;gap:12px;display:flex}.pending-heading svg,.timer-note svg,.notification-row svg{color:var(--amber);flex:none}.pending-heading h2,.pending-heading p,.timer-note p,.notification-row p{margin:0}.pending-heading p,.timer-note p,.notification-row p{color:var(--muted)}.exercise-summary{background:#fff7ed;border-radius:8px;margin:12px 0;padding:12px 12px 12px 32px}.split-actions,.quick-grid,.hour-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-grid{grid-template-columns:repeat(3,1fr)}.timer-ring,.small-ring{aspect-ratio:1;background:radial-gradient(circle at center, #fff 0 58%, transparent 59%), conic-gradient(var(--teal) var(--timer-progress), #dbe7e3 0);border-radius:50%;justify-self:center;place-items:center;width:min(72vw,280px);display:grid}.timer-ring-inner,.small-ring{text-align:center}.timer-ring-inner strong{font-variant-numeric:tabular-nums;font-size:clamp(3rem,15vw,4rem);font-weight:300;display:block}.timer-ring-inner span,.small-ring span{color:var(--muted)}.timer-controls{justify-content:center;gap:28px;display:flex}.round-control{width:74px;height:74px;color:var(--danger);background:#fee2e2;border:0;border-radius:50%;align-content:center;place-items:center;gap:4px;display:grid}.round-control svg{width:24px;height:24px}.round-control span{font-size:.78rem}.round-control.primary{color:#fff;background:var(--teal);width:92px;height:92px;box-shadow:0 12px 26px #0f766e47}.round-control.primary.pause{background:var(--amber)}.primary-button,.secondary-button,.danger-button,.quick-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:750;display:inline-flex}.primary-button{color:#fff;background:var(--teal)}.primary-button.success,.secondary-button.success{color:#fff;background:var(--green)}.secondary-button{color:var(--teal);background:var(--teal-soft)}.secondary-button.compact{min-width:fit-content}.danger-button{width:100%;color:var(--danger);background:#fee2e2}.full-width{width:100%}.quick-button{color:var(--teal);background:var(--teal-soft);border:1px solid #b7ded6;display:grid}.quick-button strong{font-size:1.35rem}.quick-button span{font-size:.8rem}.chip-row,.meta-row{flex-wrap:wrap;gap:8px;display:flex}.chip,.meta-row span{background:var(--teal-soft);min-height:28px;color:var(--teal);border-radius:999px;align-items:center;padding:4px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.tab-bar{width:min(100%,760px);padding:8px 10px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;grid-template-columns:repeat(3,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar button{min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:2px;font-size:.76rem;display:grid}.tab-bar button.active{color:var(--teal);background:var(--teal-soft)}.tab-bar svg{width:20px;height:20px}.disclaimer{gap:16px;min-height:calc(100vh - 120px);display:grid}.disclaimer.compact{min-height:auto}.title-row{align-items:center;gap:12px;display:flex}.title-row svg{color:var(--amber)}.title-row h1{margin:0}.text-stack{gap:12px;display:grid}.plain-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.plain-section h2,.plain-section p{margin:0}.plain-section h2{color:var(--amber);margin-bottom:6px;font-size:1rem}.plain-section p{color:var(--muted);line-height:1.6}.sticky-action{background:linear-gradient(#0000,#f7fbfa 18%);gap:8px;padding:12px 0 0;display:grid;position:sticky;bottom:0}.sticky-action p{color:var(--muted);text-align:center;margin:0;font-size:.82rem}.segment-row{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.segment-row button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:8px;flex:none;padding:8px 12px}.segment-row button.active{color:#fff;background:var(--teal);border-color:var(--teal)}.search-box{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.search-box svg{color:var(--muted)}.search-box input{background:0 0;border:0;outline:0;width:100%}.exercise-list{gap:12px;display:grid}.exercise-card{border:1px solid var(--line);text-align:left;width:100%;color:inherit;background:#fff;border-radius:8px;grid-template-columns:58px 1fr;gap:12px;padding:14px;display:grid;box-shadow:0 8px 18px #17201d0d}.exercise-card h2,.exercise-card p{margin:0}.exercise-card p{color:var(--muted);margin-top:5px;line-height:1.45}.exercise-icon,.exercise-index{color:#fff;background:var(--teal);border-radius:8px;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.exercise-icon.neck{background:var(--blue)}.exercise-icon.back{background:var(--violet)}.exercise-icon.knee{background:var(--amber)}.exercise-icon.wrist{background:var(--green)}.exercise-title-row{justify-content:space-between;align-items:start;gap:8px;display:flex}.star-fill{color:#eab308;fill:#eab308}.empty-state{color:var(--muted);text-align:center;border:1px dashed var(--line);background:#fff;border-radius:8px;padding:22px}.detail-topbar{justify-content:space-between;gap:10px;display:flex}.text-button,.favorite-button{color:var(--teal);background:0 0;border:0;align-items:center;gap:5px;min-height:40px;padding:6px;font-weight:700;display:inline-flex}.detail-hero h1,.detail-hero p{margin:10px 0 0}.detail-hero p{color:var(--muted);font-size:1.05rem}.info-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.info-grid div{background:var(--surface-soft);border-radius:8px;justify-items:center;gap:3px;padding:10px;display:grid}.info-grid svg{color:var(--teal)}.info-grid span{color:var(--muted);font-size:.75rem}.exercise-timer{justify-items:center;gap:12px;display:grid}.small-ring{background:radial-gradient(circle at center, #fff 0 56%, transparent 57%), conic-gradient(var(--teal) var(--timer-progress), #dbe7e3 0);width:150px}.small-ring strong{font-size:2.4rem;display:block}.step-list{gap:10px;margin:0;padding-left:28px;display:grid}.step-list li{line-height:1.55}.tips-card{background:#fffbeb}.setting-row,.toggle-row{border-bottom:1px solid #eef2f0;justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.setting-row.stacked{border-bottom:0;align-items:start;display:grid}.input-suffix{color:var(--muted);align-items:center;gap:6px;display:flex}.input-suffix input,.setting-row select{border:1px solid var(--line);text-align:right;background:#fff;border-radius:8px;width:92px;min-height:36px;padding:6px 8px}.setting-row select{text-align:left;width:100%}.toggle-row input{width:22px;height:22px;accent-color:var(--teal)}.notification-row{align-items:center;margin-top:10px}.part-toggle-list{gap:8px;display:grid}.part-toggle-list button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:3px;min-height:58px;padding:10px;display:grid}.part-toggle-list button.selected{border-color:var(--teal);background:var(--teal-soft)}.part-toggle-list small{color:var(--muted)}.copy-list{color:var(--muted);margin:0;padding-left:20px;line-height:1.65}.warning{color:#7c2d12;background:#ffedd5;border:1px solid #fed7aa;border-radius:8px;padding:10px 12px}@media (width>=720px){.app-shell{padding-inline:20px}.card{padding:18px}}@media (width<=380px){.split-actions{grid-template-columns:1fr}.exercise-card{grid-template-columns:48px 1fr}.exercise-icon,.exercise-index{width:48px;height:48px}}
