:root{--section-nav-height:calc(68px + var(--app-safe-bottom))}
#sectionNav[hidden],.coach-rounds-section[hidden]{display:none!important}
#sectionNav{position:fixed;inset:auto 0 0;z-index:9750;display:flex;justify-content:center;padding:4px 8px calc(4px + var(--app-safe-bottom));background:#101010;border-top:1px solid #333;box-sizing:border-box;min-height:var(--section-nav-height)}
#sectionNav button{max-width:230px;flex:1;min-width:0;min-height:58px;background:none;border:0;color:#999;font:inherit;font-size:12px;line-height:1.3;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 4px;white-space:normal}
#sectionNav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#sectionNav button[aria-current=page]{color:var(--accent-primary,#2bff4a)}
#sectionNav button:focus-visible,.coach-rounds-section button:focus-visible{outline:2px solid #2bff4a;outline-offset:-3px}
.has-section-nav .controls{bottom:var(--section-nav-height);padding-bottom:14px}
.has-section-nav .app-content{padding-bottom:calc(150px + var(--section-nav-height))}
.has-section-nav .training-section,.has-section-nav .sparring-setup{bottom:var(--section-nav-height)}
.coach-rounds-section{position:fixed;inset:0 0 var(--section-nav-height);z-index:9600;overflow-y:auto;background:#080808;color:#f5f5f5;padding:calc(24px + var(--app-safe-top)) max(20px,var(--app-safe-right)) 24px max(20px,var(--app-safe-left));box-sizing:border-box;overscroll-behavior:contain}
.coach-rounds-panel{max-width:620px;margin:auto;padding:10px 0 104px}
.coach-home{border:0;background:none;color:#aaa;font:inherit;padding:10px 0;cursor:pointer}
.coach-rounds-panel h1{font-size:clamp(30px,6vw,46px);line-height:1.1;margin:22px 0 12px;text-transform:none;letter-spacing:-1px}
.coach-intro{color:#bbb;line-height:1.6;margin:0 0 25px;max-width:48ch}
.coach-rounds-panel fieldset{border:0;margin:22px 0;padding:0;min-width:0}
.coach-rounds-panel legend{font-size:14px;color:#aaa;margin-bottom:10px}
.coach-segments{display:flex;gap:8px;flex-wrap:wrap}
.coach-segments button{flex:1;min-width:0}
.coach-rounds-panel fieldset button{border:1px solid #444;border-radius:3px;background:#151515;color:#eee;font:inherit;padding:13px 10px;min-height:48px;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.coach-rounds-panel button[aria-pressed=true]{border-color:#2bff4a;background:#111d13;color:#2bff4a}
.coach-intensities{display:grid;gap:8px}
.coach-intensities button{text-align:left;display:flex;justify-content:space-between;align-items:center;gap:14px}
.coach-intensities strong{font-size:19px}.coach-intensities span{font-size:13px;color:#bbb;text-align:right;line-height:1.5}
.coach-session-info{font-weight:700;margin:24px 0 10px}.coach-detail{font-size:14px;line-height:1.6;color:#aaa;margin:12px 0}
.coach-rounds-panel .coach-segments button{font-size:14px;padding:13px 5px}
.coach-start{position:fixed;left:18px;right:18px;bottom:calc(var(--section-nav-height) + 12px);width:calc(100% - 36px);max-width:620px;margin:0 auto;z-index:9601;box-shadow:0 -14px 28px #080808}
.coach-combo{margin:12px 0;padding-left:1.1em;font-size:clamp(26px,5.7vw,40px);font-weight:850;line-height:1.25;list-style:disc}
.coach-combo li{padding:3px 0}.coach-combo li::marker{color:#2bff4a;font-size:.6em}
.coach-error{color:#ffd166;font-size:17px;line-height:1.5}
.coach-tip{font-size:clamp(18px,3.6vw,24px);line-height:1.4;color:#2bff4a;font-weight:700;margin:16px 0 8px}
.coach-tip:empty{display:none}
.coach-setup-panel{padding-bottom:108px}
.coach-setup-top{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#aaa;font-size:13px}
.coach-setup-progress{display:flex;gap:10px;list-style:none;padding:0;margin:18px 0 26px}
.coach-setup-progress li{flex:1;min-width:0;border-top:3px solid #333;padding-top:10px;color:#888;font-size:12px;line-height:1.4}
.coach-setup-progress .reached{border-color:#2bff4a}
.coach-setup-progress [aria-current=step]{color:#eee}
.coach-setup-panel h1{font-size:clamp(30px,6vw,42px);margin:0 0 12px;line-height:1.12}
#coachSetupHeading:focus{outline:none}
.coach-setup-panel .coach-intro{font-size:15px;margin-bottom:22px}
.coach-setup-choices{display:grid;gap:12px}
.coach-choice-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;width:100%;min-height:142px;padding:22px 20px;border:1px solid #42483e;border-radius:5px;background:#000;color:#eee;font:inherit;text-align:left;cursor:pointer;white-space:normal}
.coach-choice-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;pointer-events:none;z-index:-2}
.coach-choice-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000e 0%,#000a 44%,#0000 100%);pointer-events:none}
.coach-choice-main{display:flex;flex-direction:column;gap:7px;max-width:76%}
.coach-choice-main strong{font-size:28px;font-weight:900;line-height:1.12}
.coach-choice-main>span{font-size:14px;line-height:1.4;color:#ddd}
.coach-choice-main small{font-size:13px;line-height:1.45;color:#aaa}
.coach-choice-card[aria-pressed=true]{border-color:#2bff4a;background:#000;color:#2bff4a}
.coach-choice-card:hover{border-color:#2bff4a}
.coach-choice-card:focus-visible{outline:2px solid #2bff4a;outline-offset:3px}
.coach-choice-check{position:absolute;right:16px;top:14px;font-size:18px;color:#2bff4a}
.coach-sport-choice{min-height:120px;background:#111!important}
.coach-sport-choice::after{display:none}
.coach-sport-choice .coach-choice-main{max-width:90%}
.coach-setup-footer{position:fixed;bottom:var(--section-nav-height);left:50%;transform:translateX(-50%);width:min(calc(100% - 36px),620px);display:flex;gap:12px;padding:14px 0;background:#080808;box-shadow:0 -12px 18px #080808;z-index:9602}
.coach-setup-footer button{flex:1;min-width:0;min-height:52px;padding:12px;border:1px solid #555;border-radius:4px;background:#171717;color:#eee;font:inherit;font-size:14px;font-weight:800;line-height:1.3;white-space:normal;cursor:pointer}
.coach-setup-footer .coach-setup-next{background:#2bff4a;color:#000;border-color:#2bff4a}
@media(max-height:750px){.coach-setup-progress{margin:12px 0 20px}.coach-setup-panel .coach-intro{margin-bottom:18px}.coach-choice-card{min-height:126px;padding:18px}.coach-choice-main strong{font-size:25px}.coach-sport-choice{min-height:110px}}
#sectionSwitchDialog{position:fixed;inset:0;z-index:15000;background:#000b;display:grid;place-items:center;padding:20px;color:#eee}
#sectionSwitchDialog>[role=dialog]{width:min(100%,440px);box-sizing:border-box;background:#141414;border:1px solid #555;padding:24px;border-radius:4px}
#sectionSwitchDialog h2{font-size:22px;line-height:1.4;margin:0 0 24px}
#sectionSwitchDialog [role=dialog]>div{display:flex;gap:10px;flex-wrap:wrap}
#sectionSwitchDialog button{flex:1;min-width:120px;min-height:48px;border:1px solid #555;background:#242424;color:#fff;border-radius:3px;font:inherit;padding:12px;cursor:pointer}
#sectionSwitchDialog #sectionSwitchCancel{background:#2bff4a;color:#000;border-color:#2bff4a}
@media(min-width:700px){.coach-rounds-panel{padding-top:0}.coach-rounds-panel h1{margin-top:12px}.coach-intro{margin-bottom:16px}.coach-rounds-panel fieldset{margin:14px 0}.coach-intensities{gap:6px}.coach-intensities button{padding:10px}}
@media(max-width:480px){.has-section-nav .timer-section{padding-bottom:150px}.coach-rounds-section{padding:calc(14px + var(--app-safe-top)) max(18px,var(--app-safe-right)) 14px max(18px,var(--app-safe-left))}.coach-intensities button{padding:12px}.coach-combo{font-size:26px}.has-section-nav .guided-session .timer-ring-wrap{width:min(84vw,340px)}}

/* In-flow sticky actions reserve real space below the last choice. */
.coach-setup-panel{width:100%;min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:10px 0 0}
.coach-setup-footer{position:sticky;bottom:0;left:auto;transform:none;width:100%;margin-top:auto;padding:14px 0 0;box-shadow:0 -10px 14px #080808;flex-shrink:0}
.coach-setup-choices{padding-bottom:18px}
@media(max-width:600px),(max-height:800px){.coach-setup-panel{padding-top:0}.coach-setup-progress{margin:10px 0 18px}.coach-setup-panel h1{font-size:28px;margin-bottom:8px}.coach-setup-panel .coach-intro{margin-bottom:16px;font-size:14px}.coach-setup-choices{gap:10px}.coach-choice-card{min-height:108px;padding:16px}.coach-sport-choice{min-height:98px}.coach-choice-main{gap:5px}.coach-choice-main strong{font-size:25px}.coach-choice-main small{font-size:12px}.coach-setup-footer button{min-height:48px}}
