:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f6f7f4;background:#0d0f10;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0d0f10;--panel: #171a1b;--panel-2: #202425;--line: rgba(255,255,255,.09);--muted: #9ca3a2;--accent: #ddff68;--accent-dark: #182000;--safe-bottom: max(12px, env(safe-area-inset-bottom))}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--bg);overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app-shell{width:min(100%,560px);height:100dvh;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px var(--safe-bottom);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:9px;background:radial-gradient(circle at 80% -10%,rgba(221,255,104,.07),transparent 35%),var(--bg);overflow:hidden}.topbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{color:var(--muted);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:750}.topbar__title{font-size:18px;font-weight:850;margin-top:3px;letter-spacing:-.02em}.topbar__actions{display:flex;align-items:center;gap:8px}.remaining-pill{min-width:73px;text-align:center;padding:9px 10px;border:1px solid var(--line);background:#151819;border-radius:999px;color:#d8ddda;font-variant-numeric:tabular-nums;font-size:13px;font-weight:750}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:14px;background:#181b1c;color:#f3f5f3;font-size:20px;font-weight:800;display:grid;place-items:center}.workout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1.32fr) auto auto;gap:8px}.media-panel{min-height:0;position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#111415}.exercise-media{position:relative;width:100%;height:100%;min-height:150px;overflow:hidden;background:#111}.exercise-media__video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .16s ease;background:#111}.exercise-media__video.is-loaded{opacity:1}.exercise-media__loader{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:linear-gradient(135deg,#1114159e,#080a0ac7)}.spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.exercise-media__failed{position:absolute;z-index:4;inset:0;display:grid;place-items:center;font-size:12px;color:#c9cfcc;background:#111415}.exercise-media__source{position:absolute;z-index:4;right:9px;bottom:8px;font-size:9px;line-height:1;padding:5px 7px;border-radius:999px;background:#0000008c;color:#ffffffb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes spin{to{transform:rotate(360deg)}}.phase-badge{position:absolute;left:10px;top:10px;z-index:5;max-width:calc(100% - 20px);padding:7px 10px;border-radius:999px;background:#0d0f10c7;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.phase-badge--rest{color:#f5f5f1}.exercise-info{padding:2px 2px 0;min-height:0}.exercise-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exercise-heading__copy{min-width:0}.exercise-heading h1{margin:0;font-size:clamp(21px,5.8vw,29px);line-height:1.04;letter-spacing:-.04em;font-weight:900;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.original-name{min-height:15px;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-pill{flex:0 0 auto;padding:7px 9px;border-radius:11px;border:1px solid var(--line);background:#171a1b;font-size:11px;color:#d7dbd9;font-weight:750}.exercise-description{margin:7px 0 0;color:#c7ccca;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cue-row{display:flex;gap:6px;overflow:hidden;margin-top:7px}.cue-row span{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 8px;border-radius:10px;background:#191d1e;border:1px solid var(--line);color:#c6cbc8;font-size:10px}.timer-panel{min-height:0;padding:0 2px}.timer-number{font-size:clamp(54px,16vw,82px);line-height:.88;letter-spacing:-.07em;font-weight:950;font-variant-numeric:tabular-nums}.interval-track,.overall-track{overflow:hidden;background:#25292a;border-radius:999px}.interval-track{height:7px;margin-top:8px}.interval-track>div{height:100%;background:var(--accent);border-radius:inherit;transition:width .12s linear}.progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:#89908d;font-size:9px}.progress-meta span:last-child{text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overall-track{height:3px;margin-top:5px}.overall-track>div{height:100%;background:#747c78;transition:width .2s linear}.control-dock{border-radius:20px;background:#151819;border:1px solid var(--line);padding:8px;box-shadow:0 -9px 30px #0003}.quick-toggles{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}.soft-button{min-height:33px;border:1px solid var(--line);background:#1d2122;color:#c7ccca;border-radius:11px;font-size:11px;font-weight:750}.soft-button.is-active{border-color:#ddff6857;color:var(--accent);background:#ddff680f}.main-controls{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:8px}.control-button,.play-button{height:49px;border:0;border-radius:14px;font-weight:900}.control-button{background:#252a2b;color:#f5f6f4;font-size:23px}.control-button:disabled{opacity:.28}.play-button{background:var(--accent);color:#111600;font-size:16px}.play-button:active,.control-button:active,.soft-button:active,.icon-button:active{transform:scale(.98)}.sheet-layer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#0000006b;padding:10px}.sheet{width:min(100%,560px);max-height:min(62dvh,590px);overflow:hidden;background:#171a1b;border:1px solid rgba(255,255,255,.12);border-radius:22px 22px 16px 16px;box-shadow:0 -18px 60px #0000007a;display:flex;flex-direction:column}.sheet__grab{width:38px;height:4px;border-radius:999px;background:#555d5a;margin:8px auto 2px}.sheet__header{display:flex;align-items:center;justify-content:space-between;padding:7px 12px}.sheet__header h2{margin:0;font-size:18px}.sheet__body{min-height:0;overflow:auto;padding:0 10px 12px}.sheet-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:sticky;top:0;z-index:3;background:#171a1b;padding:3px 0 9px}.sheet-tabs button{height:37px;border:1px solid var(--line);background:#202425;border-radius:11px;color:#aeb4b1;font-weight:800}.sheet-tabs button.is-active{background:var(--accent);color:#111600;border-color:var(--accent)}.plan-list{display:grid;gap:7px}.plan-row{min-height:72px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:14px;background:#121516}.plan-row__video{width:70px;height:58px;border-radius:10px;object-fit:cover;background:#090a0a;display:block}.plan-row strong{display:block;font-size:13px;line-height:1.15}.plan-row span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;font-size:10px;line-height:1.3;color:#919996}.settings-form{display:grid;gap:8px}.settings-form>label{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#121516;color:#d8dcd9;font-size:13px;font-weight:700}.settings-form input{width:62px;height:34px;border:1px solid var(--line);border-radius:9px;background:#242829;color:#fff;text-align:center;font-weight:850;outline:none}.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-choice button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#202425;color:#c7ccca;font-weight:800}.mode-choice button.is-active{border-color:var(--accent);color:var(--accent);background:#ddff680f}.apply-button{min-height:46px;border:0;border-radius:13px;background:var(--accent);color:#111600;font-weight:900}.safety-note{margin:2px 3px 0;color:#8f9693;font-size:10px;line-height:1.4}@media(max-height:760px){.app-shell{gap:6px;padding-top:max(6px,env(safe-area-inset-top))}.topbar{min-height:40px}.workout{grid-template-rows:minmax(125px,1.05fr) auto auto;gap:5px}.exercise-media{min-height:125px}.exercise-heading h1{font-size:clamp(19px,5.2vw,25px)}.exercise-description{-webkit-line-clamp:1;margin-top:4px}.cue-row{margin-top:5px}.timer-number{font-size:clamp(48px,14vw,68px)}.interval-track{margin-top:5px}.control-dock{padding:6px}.quick-toggles{margin-bottom:5px}.control-button,.play-button{height:44px}.soft-button{min-height:30px}}@media(max-height:650px){.exercise-description{display:none}.cue-row span:nth-child(3){display:none}.workout{grid-template-rows:minmax(112px,.95fr) auto auto}.timer-number{font-size:47px}}@media(min-width:700px){body{overflow:auto}.app-shell{height:min(920px,100dvh);margin-top:max(0px,calc((100dvh - 920px)/2));border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05)}}.human-guide{height:100%;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 8px 8px;gap:4px}.human-guide svg{display:block;width:100%;flex:1;min-height:0;max-height:460px}.human-guide strong{font-size:13px;line-height:1.2;text-align:center}.human-guide>span{font-size:10px;color:var(--muted);text-align:center}.human-guide--compact{padding:0;height:65px;min-height:0}@media(max-height:650px){.human-guide{padding-top:30px}.human-guide>span{display:none}.human-guide--compact{padding:0}}.completion-panel{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:40px 12px 12px;text-align:center}.completion-panel>span{font-size:60px;color:var(--accent)}.completion-panel>p{color:var(--muted);margin:0;font-size:13px}@media(max-height:480px){body{overflow:auto}.app-shell{height:560px;margin-top:0}}
