:root{color-scheme:light;--ink:#173b31;--muted:#596c63;--green:#216a4b;--deep:#123d35;--lime:#d8eea4;--page:#f2f4ee;--card:#fff;--soft:#edf2e7;--line:#d7dfd2;--blue:#16729c;--orange:#ab4e22;--purple:#7250a4}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--page);color:var(--ink);font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,select,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button,a{transition:background-color 140ms,color 140ms}a{color:var(--green);text-underline-offset:4px}svg{display:block}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{opacity:.4;cursor:default}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:26px;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px;text-wrap:balance}h2{font-size:20px;line-height:1.3;margin:0 0 12px}h3{font-size:16px;margin:0 0 10px}p{margin:0 0 12px}.muted,.small-note{color:var(--muted)}.small-note{font-size:12px;line-height:1.5}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:750;color:var(--green);margin:0 0 5px}.skip-link{position:fixed;z-index:30;top:6px;left:6px;padding:12px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{background:var(--deep);color:white;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.header-inner{max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;color:white;text-decoration:none;font-size:13px;font-weight:750;letter-spacing:.04em;min-height:42px}.brand b{font-weight:600;color:var(--lime);margin-left:4px;white-space:nowrap}.brand svg{width:30px;height:34px;fill:none;stroke:var(--lime);stroke-width:1.5}.header-button{background:#ffffff14;color:white;border:1px solid #ffffff48;border-radius:9px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:650}.header-button:hover{background:#ffffff28}.container{max-width:900px;margin:auto;padding:15px 16px calc(98px + env(safe-area-inset-bottom))}.session-picker{display:flex;gap:10px;align-items:end}.date-picker{flex:1;min-width:0}.attendance-picker{width:87px;flex-shrink:0}.session-picker label{display:block;font-size:11px;font-weight:650;color:var(--muted);margin-bottom:4px}select{width:100%;height:45px;border:1px solid #a5b4a7;border-radius:9px;background:white;color:var(--ink);padding:8px 25px 8px 9px;font-size:14px}.session-meta{font-size:11px;color:var(--muted);margin:7px 0 14px}.block-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:17px}.block-rail button{min-height:44px;min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:white;font-weight:650;font-variant-numeric:tabular-nums}.block-rail button[aria-current]{background:var(--deep);color:white;border-color:var(--deep)}.block-rail button.is-complete:not([aria-current]){background:var(--soft);color:var(--green);border-color:#8caf91}.activity-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.activity-heading h1{font-size:25px;margin-bottom:12px}.icon-button{align-self:flex-start;margin-top:12px;width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--green)}.icon-button svg{width:21px;height:21px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.diagram{border:1px solid #c8d8bf;background:#eff5e7;border-radius:14px;margin:0 0 13px;overflow:hidden}.diagram svg{width:100%;height:auto;max-height:240px}.diagram text{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;fill:var(--ink)}.diagram .player-label{fill:white;font-weight:650}.diagram-help{border-top:1px solid #d5e0cf;padding:0 12px;color:var(--muted);font-size:12px}.diagram-help summary{min-height:36px;padding:8px 0}.diagram-help p{margin-bottom:10px}.diagram-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:10px 0;font-size:11px}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}.legend-dot.opponent{background:var(--orange);border-radius:2px}.legend-dot.keeper{background:var(--purple)}.legend-line{width:20px;border-top:2px dashed var(--muted)}.legend-line.move{border-top-style:solid;border-color:var(--blue)}.essentials{padding:13px 15px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.essentials-label{font-size:10px;letter-spacing:.09em;color:var(--green);font-weight:750;margin:0 0 4px}.essentials p:last-child{margin:0;font-size:14px}.active-cue{background:#e4edd8;color:#244a30;padding:12px 15px;border-radius:11px;font-size:15px;font-weight:650;margin:0 0 14px}.detail-buttons{display:flex;gap:7px;margin-bottom:12px}.detail-buttons button{min-height:44px;flex:1;background:white;color:var(--green);border:1px solid #a7b7a4;border-radius:10px;font-size:14px;font-weight:650}.detail-buttons button[aria-expanded=true]{background:var(--green);border-color:var(--green);color:white}.detail-panel{padding:17px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.detail-panel ul{padding-left:20px;margin:0}.detail-panel li+li{margin-top:10px}.detail-group+.detail-group{margin-top:20px}.detail-panel p,.detail-panel li{font-size:15px}.table-wrap{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:15px 0}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}caption{text-align:left;padding:10px;font-weight:700;background:var(--soft)}th,td{padding:10px 7px;text-align:left;vertical-align:top;border-top:1px solid var(--line);overflow-wrap:anywhere}th{background:#f4f7f0}tr:nth-child(even) td{background:#fafbf8}.timer-panel{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:15px}.timer-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:47px;padding:10px 14px;font-size:13px;font-weight:650;list-style:none}.timer-panel>summary::-webkit-details-marker{display:none}.timer-panel>summary::after{content:"+";font-size:20px;color:var(--green);margin-left:10px}.timer-panel[open]>summary::after{content:"−"}.timer-preview{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted)}.timer-body{padding:16px;border-top:1px solid var(--line)}#timer-value{display:block;font-size:45px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.04em}#timer-state{font-size:12px;color:var(--muted);margin:6px 0 14px}.timer-actions{display:flex;gap:8px;margin-bottom:10px}.button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 15px;font-weight:650;border-radius:10px;border:1px solid var(--green);font-size:14px;text-align:center}.button{background:var(--green);color:white}.button:hover{background:var(--deep)}.button:active{background:#0e2d21}.secondary-button{background:white;color:var(--green);border-color:#9eb197}.secondary-button:hover{background:var(--soft)}.step-actions{display:flex;gap:8px}.step-actions .button{flex:1}.step-actions .secondary-button{flex:0 0 89px}.next-preview{font-size:12px;color:var(--muted);margin:9px 0 0;text-align:right}.finished{padding:20px;background:var(--soft);border:1px solid #96b58a;border-radius:12px;margin-top:15px}.text-button{min-height:44px;border:0;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding:9px 0;font-size:13px}.overview-blocks{display:grid;gap:9px}.overview-item{display:flex;align-items:center;gap:12px;text-align:left;background:white;border:1px solid var(--line);border-radius:12px;padding:15px;min-height:76px;color:var(--ink);width:100%}.overview-index{display:flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--green);font-weight:700}.overview-item small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.overview-item strong{display:block;font-size:15px;line-height:1.3}.overview-item.is-complete .overview-index{background:var(--green);color:white}.grouping{padding:13px 15px;background:white;border:1px solid var(--line);border-radius:11px;font-size:14px;margin-bottom:14px}.equipment-list{display:grid;gap:10px}.equipment-card{display:flex;align-items:flex-start;gap:13px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-height:72px}.equipment-card input{width:23px;height:23px;margin:4px 0 0;accent-color:var(--green);flex-shrink:0}.equipment-card strong{display:block;font-size:15px}.equipment-card small{display:block;color:var(--green);font-size:12px;font-weight:650;margin:3px 0}.equipment-card p{font-size:13px;color:var(--muted);margin:5px 0 0}.equipment-card:has(input:checked){background:var(--soft)}.equipment-card:has(input:checked) strong{text-decoration:line-through;text-decoration-color:#5f895c}.note-card,.private-card{padding:18px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.note-card p{font-size:14px;color:var(--muted);margin:0}.sources summary{padding:12px 0;min-height:44px;color:var(--muted);font-size:13px}.sources p{font-size:13px}.guide-link{font-size:13px;display:inline-block;min-height:44px;padding:10px 0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;gap:3px;justify-content:center;z-index:10;border-top:1px solid var(--line);background:#fffffff7;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.bottom-nav a{display:flex;flex:1;max-width:160px;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:53px;text-decoration:none;color:var(--muted);border-radius:9px;font-size:10px;font-weight:650}.bottom-nav a[aria-current]{background:var(--soft);color:var(--green)}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.toast{position:fixed;z-index:30;bottom:calc(86px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);margin:0;width:max-content;max-width:calc(100% - 28px);padding:12px 16px;background:var(--deep);color:white;border-radius:10px;font-size:13px;box-shadow:0 3px 15px #0002;pointer-events:none}.toast:empty{display:none}.notice{background:white;padding:24px;border:1px solid var(--line);border-radius:12px}.loading{padding:80px 15px;text-align:center;color:var(--muted)}dialog{max-width:min(450px,calc(100% - 28px));padding:22px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:white}dialog::backdrop{background:#102e25ac}dialog label,.private-card label{display:block;font-size:13px;font-weight:650;margin:17px 0 7px}dialog input,.private-card input:not([type=file]),textarea{width:100%;min-height:46px;border:1px solid #92a58e;border-radius:8px;background:white;color:var(--ink);padding:10px;font-size:16px}textarea{resize:vertical}dialog button{width:100%;margin-top:12px}dialog .text-button{margin-top:3px}.private-card .button{margin-top:17px;width:100%}.private-card p{font-size:14px}.private-tools{display:flex;gap:8px;margin-bottom:15px}.private-tools button{flex:1;font-size:12px;padding:8px}.form-message{font-size:14px;color:#8b321b}.private-card input[type=file]{display:block;width:100%;font-size:13px}.personal-section{background:#f3f6ed;border-left:3px solid var(--green);padding:14px;border-radius:0 10px 10px 0;margin-bottom:12px}.personal-section ul{font-size:15px;margin:0;padding-left:19px}.personal-section li+li{margin-top:9px}
@media(min-width:740px){.container{padding-top:24px}.session-picker{max-width:620px}.view{max-width:760px;margin:auto}.session-meta{max-width:760px;margin:8px auto 21px}.session-picker{margin:auto}.activity-heading h1{font-size:32px}.diagram svg{max-height:310px}.equipment-list{grid-template-columns:1fr 1fr}.block-rail{gap:10px}.block-rail button{height:49px}.essentials p:last-child{font-size:16px}.detail-buttons button{font-size:15px}.session-picker select{font-size:16px}}
@media(max-width:340px){.container{padding-left:12px;padding-right:12px}.block-rail{gap:4px}.activity-heading h1{font-size:23px}.brand{font-size:11px}.header-button{font-size:12px;padding:7px 10px}.detail-buttons{gap:5px}.detail-buttons button{font-size:12px}.attendance-picker{width:75px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.step-actions{position:fixed;z-index:9;bottom:calc(75px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:760px;padding:8px;background:#f2f4eef7;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 18px #153b2710}.container{padding-bottom:calc(166px + env(safe-area-inset-bottom))}
html{scroll-padding-top:12px;scroll-padding-bottom:calc(166px + env(safe-area-inset-bottom))}.note-card summary{min-height:44px;cursor:pointer;font-weight:650}.note-card[open] summary{margin-bottom:12px}
.private-mode .session-picker,.private-mode .session-meta{display:none}.private-mode{padding-bottom:calc(85px + env(safe-area-inset-bottom))}.private-mode #private-title{font-size:24px;margin-bottom:14px}.private-mode #vault-content{max-width:550px}.step-label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}#personal-topic{font-size:14px}.personal-step{padding:18px;background:white;border:1px solid var(--line);border-radius:14px;margin:12px 0;min-height:210px}.personal-step h2{font-size:20px;margin:10px 0 14px}.personal-tip{font-size:18px;line-height:1.5;margin-bottom:0}.personal-navigation{display:flex;gap:10px}.personal-navigation .button{flex:1}.personal-navigation .secondary-button{flex:0 0 95px}#personal-options>summary{min-height:48px}#personal-options .private-card{margin-top:8px}
.personal-tip{margin-top:14px}@media(max-height:650px){.private-mode{padding-top:10px}.private-mode #private-title{font-size:21px;margin-bottom:8px}.personal-step{min-height:175px;padding:14px;margin:10px 0}.personal-tip{font-size:16px;margin-top:10px}.private-mode #personal-options>summary{padding:8px 0}}
body{min-height:100dvh}.header-actions{display:flex;gap:6px;flex-shrink:0}.header-inner{gap:8px}.brand{min-width:0}.container,.view,.session-picker>*{min-width:0}dialog{width:min(560px,calc(100% - 24px));max-width:560px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}dialog input{min-width:0;box-sizing:border-box}.archive-list{display:grid;gap:10px}.archive-item{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:11px;text-decoration:none;background:var(--page);min-width:0;overflow-wrap:anywhere}.archive-item[aria-current]{border-color:var(--green);background:var(--soft)}.archive-item span{color:var(--ink);font-size:14px}.archive-item small{color:var(--muted);font-size:12px}.archive-item:hover{background:var(--soft)}#archive-all{width:auto;margin:4px 0 8px}.diagram svg{max-height:clamp(130px,29dvh,310px)}#private-view{max-width:600px}#private-view #vault-content{max-width:none}.personal-step{min-height:clamp(175px,27dvh,260px)}
@media(max-width:380px){.brand{gap:5px;font-size:10px}.brand svg{width:23px;flex-shrink:0}.brand b{margin-left:2px}.header-button{font-size:12px;padding:7px 9px}.header-inner{gap:5px}}
@media(min-width:1000px){.container,.header-inner{max-width:1120px}.view{max-width:1024px}.session-picker{max-width:1024px}.session-meta{max-width:1024px}.step-actions{max-width:1024px}#field-view{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:24px}#field-view>.block-rail,#field-view>.activity-heading{grid-column:1/-1}#active-diagram{grid-column:1;grid-row:3/9;min-width:0}#field-view>.essentials,#field-view>.active-cue,#field-view>.detail-buttons,#field-view>.detail-panel,#field-view>.timer-panel,#field-view>.next-preview,#field-view>.finished{grid-column:2}#field-view .diagram svg{max-height:clamp(240px,45dvh,470px)}#overview-view .overview-blocks{grid-template-columns:1fr 1fr}}
@media(max-height:540px) and (min-width:600px){.container{padding-top:10px}.session-picker{max-width:none}.session-meta{margin-bottom:8px}.block-rail{margin-bottom:10px}.activity-heading h1{font-size:23px}.diagram svg{max-height:150px}.bottom-nav{padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom))}.bottom-nav a{min-height:44px;gap:1px}.bottom-nav svg{width:18px;height:18px}.step-actions{bottom:calc(57px + env(safe-area-inset-bottom))}.private-mode .personal-step{min-height:130px}.container{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.private-mode{padding-bottom:calc(65px + env(safe-area-inset-bottom))}}
.football-board{min-width:0;margin-bottom:16px}.football-selectors{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.football-select-label{display:block;flex:1;min-width:0;font-size:12px;color:var(--muted)}.football-select-label select{display:block;margin-top:4px;font-size:14px}.football-figure{margin:0 0 8px}.football-figure>svg{display:block;width:100%}#field-view .football-figure>svg{max-height:clamp(180px,32dvh,330px)}.football-caption{font-size:12px;color:var(--muted);margin:0 0 10px}.football-status{font-size:14px;font-weight:650;padding:10px 12px;border-radius:9px;background:var(--soft);min-height:62px;margin-bottom:8px}.football-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.football-controls button{font-size:12px;padding:9px 6px;min-width:0}.football-scrub{display:block;width:100%;height:44px;margin:4px 0;accent-color:var(--green)}.football-board>.small-note{margin-bottom:4px}.football-board>.diagram-help{padding:0;border:0}.football-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;margin-bottom:8px}.football-legend-item{display:flex;align-items:center;gap:6px;min-width:0}.football-legend-item svg{width:36px;height:22px;flex-shrink:0}.football-controls button:focus-visible,.football-scrub:focus-visible{outline-offset:2px}
.football-selectors{align-items:end}.football-expand{font-size:12px;min-height:45px}.football-controls{margin-bottom:10px}.football-focus{width:min(900px,calc(100% - 16px));max-width:900px;max-height:calc(100dvh - 16px);padding:12px;background:var(--page)}.football-focus>.football-close{width:100%;margin:0 0 12px;min-height:44px}.football-focus .football-controls button,.football-focus .football-expand{margin:0;width:auto}.football-focus .football-figure>svg{max-height:clamp(220px,42dvh,470px)}.football-focus .football-board{margin-bottom:0}.football-focus .football-status{min-height:44px}.football-focus .football-selectors{margin-bottom:8px}
.football-focus .football-select-label{margin:0}
.football-layout-map{display:block;width:100%;max-height:300px;margin:0 0 10px}
.football-cone-guide{border:1px solid #c9b08d;border-radius:9px;background:#fff7e9;padding:0 10px;margin:0 0 10px;font-size:13px}.football-cone-guide summary{min-height:44px;padding:10px 0;font-weight:650}.football-cone-guide p{margin:0 0 10px}.football-cone-guide .small-note{font-size:12px}
.football-playback-settings{display:flex;align-items:end;gap:12px;margin-bottom:10px}.football-playback-settings>.football-select-label{flex:0 1 110px}.football-repeat{display:flex;align-items:center;gap:8px;min-height:45px;font-size:12px;cursor:pointer;margin:0}.football-repeat input{width:20px;height:20px;margin:0;accent-color:var(--green);flex-shrink:0}.football-focus .football-repeat{margin:0}
#private-plan-select{margin-bottom:12px;font-size:14px}.football-progress{display:block;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0}.football-complete{background:var(--green);color:white}
@media(max-height:650px){.private-mode #private-view.is-unlocked>.eyebrow{display:none}}

/* Group the coaching instructions without changing the opening football diagram. */
.football-guide-entry{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;margin:0 0 10px;border:1px solid #a7bd95;border-radius:12px;background:var(--soft);color:var(--deep);text-align:left;cursor:pointer;min-height:44px}
.football-guide-entry strong{font-size:16px;line-height:1.25}.football-guide-entry span{font-size:20px;line-height:1}
.football-options{border:1px solid var(--line);border-radius:12px;padding:0 12px;margin-bottom:12px;background:#fff}
.football-options>summary{min-height:44px;padding:12px 0;font-size:13px;font-weight:650;cursor:pointer}
.football-options[open]>summary{margin-bottom:8px}.football-options .football-selectors{margin-top:12px}
.coaching-guide{width:min(720px,calc(100% - 16px));max-width:720px;height:min(820px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--page);color:var(--ink);overflow:hidden}
.coaching-guide[open]{display:flex;flex-direction:column}.coaching-guide::backdrop{background:rgba(12,37,29,.6)}
.guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px;flex:none;background:#fff}
.guide-header .eyebrow{font-size:10px;margin:0 0 6px}.guide-header h2{font-size:22px;line-height:1.2;margin:0}
.coaching-guide button{margin:0;width:auto;min-height:44px;font:inherit;cursor:pointer}
.coaching-guide .guide-close{width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:26px;line-height:1;color:var(--ink)}
.guide-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 16px 12px;background:#fff;border-bottom:1px solid var(--line);flex:none}
.guide-tabs button{padding:8px 3px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;font-weight:650}
.guide-tabs button[aria-pressed=true]{background:var(--deep);color:#fff}
.guide-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px;scrollbar-gutter:stable;line-height:1.65}
.guide-intro{margin:0 0 16px;font-size:15px;color:var(--muted)}
.guide-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.guide-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0 0 12px;overflow-wrap:anywhere}
.guide-card h3{font-size:13px;color:var(--muted);margin:0 0 6px}.guide-card p{margin:0;font-size:15px;line-height:1.65}
.guide-facts .guide-card{margin:0;padding:12px}.guide-facts .guide-card p{font-size:20px;font-weight:700;line-height:1.3}
.guide-disclosure{border-bottom:1px solid var(--line);margin:0 0 8px}.guide-disclosure summary{padding:12px 0;min-height:44px;font-size:13px;font-weight:650;cursor:pointer}.guide-disclosure p{font-size:14px;margin:0 0 16px}
.guide-progress{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin:0 0 10px}
.guide-step-track{display:flex;gap:5px;margin-bottom:20px}.guide-step-track span{height:4px;flex:1;background:var(--line);border-radius:8px}.guide-step-track .is-done{background:var(--green)}
.guide-current-step{padding:22px;border-top:4px solid var(--green)}.guide-current-step h3{font-size:22px;line-height:1.25;color:var(--ink);margin:0 0 16px}.guide-current-step p{font-size:17px;line-height:1.7}
.guide-group{display:block;font-size:13px;color:var(--muted);margin-bottom:16px}.guide-group select{display:block;margin-top:6px;width:100%}
.guide-rotation{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0 0 12px}
.guide-rotation>div{display:grid;grid-template-columns:minmax(84px,1fr) minmax(0,2fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.guide-rotation>div:first-child{padding-top:0}.guide-rotation>div:last-child{padding-bottom:0;border:0}
.guide-rotation dt{font-size:12px;color:var(--muted)}.guide-rotation dd{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}
.guide-section-title{font-size:14px;margin:0 0 12px}.guide-quote{margin:0 0 12px;padding:16px;border-left:3px solid var(--green);border-radius:0 12px 12px 0;background:var(--soft);font-size:17px;font-weight:600}
.guide-watch{padding-left:20px;font-size:15px}.guide-watch li{padding:0 0 14px}
.guide-footer{display:flex;gap:10px;flex:none;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.guide-footer button{flex:1}.guide-footer .button{flex:2}
@media(max-width:360px){.guide-header{padding:14px 14px 10px}.guide-header h2{font-size:19px}.guide-tabs{padding:4px 8px 10px;gap:0}.guide-tabs button{font-size:12px}.guide-body{padding:14px}.guide-current-step{padding:16px}.guide-current-step p{font-size:16px}.guide-current-step h3{font-size:20px}.guide-footer{padding:10px 14px}.guide-facts .guide-card p{font-size:18px}}

.football-area-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:10px}.football-area-tools button{font-size:12px;min-height:44px;padding:8px 10px}.football-area-tools select{width:100%;min-height:44px}
.guide-selected{margin:0 0 14px;color:var(--green);font-size:13px;font-weight:650}
.football-layout-dialog{padding:0;width:min(760px,calc(100% - 16px));max-width:760px;max-height:calc(100dvh - 16px);background:var(--page);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.football-layout-dialog[open]{display:flex;flex-direction:column}.football-layout-dialog::backdrop{background:rgba(12,37,29,.6)}
.layout-header{padding:18px 18px 12px;background:#fff;flex:none}.layout-header h2{font-size:20px;margin:0;line-height:1.3}
.layout-body{padding:14px 18px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.layout-body .football-layout-map{max-height:420px;margin:0}.layout-body p{font-size:14px;line-height:1.6}.layout-body .layout-legend{font-size:12px;color:var(--muted)}
.layout-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.football-layout-dialog .layout-choices button{width:100%;margin:0;min-height:44px;font-size:13px;padding:8px}.layout-choices button[aria-pressed=true]{background:var(--deep);color:#fff}
.layout-footer{padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex:none}.football-layout-dialog .layout-footer button{width:100%;margin:0;min-height:44px}
@media(max-width:360px){.football-area-tools{gap:6px}.football-area-tools select{font-size:13px}.football-area-tools button{font-size:11px;padding:8px}.layout-header,.layout-body,.layout-footer{padding-left:12px;padding-right:12px}.layout-header h2{font-size:18px}}

.setup-entry{display:block;width:100%;min-height:44px;margin:0 0 16px;padding:10px 14px;border:1px solid #a7bd95;border-radius:12px;background:var(--soft);color:var(--deep);font-size:14px;font-weight:650;text-align:left;cursor:pointer}.setup-entry[hidden]{display:none}
.pitch-setup{width:min(820px,calc(100% - 16px));max-width:820px;height:min(900px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);border:1px solid var(--line);border-radius:18px;background:var(--page);padding:0;overflow:hidden;color:var(--ink)}.pitch-setup[open]{display:flex;flex-direction:column}.pitch-setup::backdrop{background:rgba(12,37,29,.6)}
.setup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 8px;background:#fff;flex:none}.setup-header h2{font-size:22px;margin:0;line-height:1.3}.pitch-setup .setup-close{width:44px;height:44px;min-height:44px;margin:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:26px;cursor:pointer}
.setup-nav{padding:0 18px 12px;background:#fff;border-bottom:1px solid var(--line);flex:none}.setup-nav label{font-size:12px;color:var(--muted)}.setup-nav select{display:block;width:100%;min-height:44px;margin-top:4px;font-size:14px}
.setup-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px;line-height:1.6}.setup-progress{font-size:12px;font-weight:700;color:var(--green);margin:0 0 8px}.setup-step-title{font-size:21px;line-height:1.25;margin:0 0 14px}.setup-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.setup-facts>div{padding:8px 5px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center}.setup-facts span{display:block;font-size:12px;color:var(--muted)}.setup-facts strong{display:block;font-size:21px;line-height:1.3}
.setup-map{display:block;width:100%;max-height:360px;margin:0 auto 8px}.setup-legend{font-size:12px;color:var(--muted);margin:0 0 14px}.setup-action{margin:0 0 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px}.setup-kit{padding:12px;border-left:3px solid var(--green);background:var(--soft);font-size:14px;margin:0 0 12px}.setup-details summary{min-height:44px;padding:10px 0;font-size:13px;font-weight:650;cursor:pointer}.setup-details p{font-size:14px;margin:0 0 12px}
.setup-footer{display:flex;gap:10px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex:none}.pitch-setup .setup-footer button{margin:0;width:auto;min-height:44px;flex:1;font-size:14px;cursor:pointer}.pitch-setup .setup-footer .button{flex:2}
@media(max-width:360px){.setup-header{padding:10px 12px 6px}.setup-header h2{font-size:20px}.setup-nav{padding:0 12px 10px}.setup-body{padding:12px}.setup-step-title{font-size:19px}.setup-facts span{font-size:11px}.setup-action{padding:12px;font-size:15px}.setup-footer{padding:10px 12px}.setup-nav select{font-size:13px}}

.setup-motion-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 10px}.pitch-setup .setup-motion-controls button{width:auto;min-width:0;min-height:44px;margin:0;padding:8px 5px;font-size:12px;cursor:pointer}
.setup-motion-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;margin:0 0 8px}.setup-motion-settings>label{font-size:12px;color:var(--muted)}.setup-motion-settings select{display:block;width:100%;min-height:44px;margin-top:4px;font-size:13px}.setup-motion-settings .setup-motion-repeat{display:flex;align-items:center;gap:6px;min-height:44px;font-size:12px;color:var(--ink)}.setup-motion-repeat input{width:18px;height:18px;accent-color:var(--green);flex:none}
.setup-motion-status{font-size:13px;line-height:1.5;font-weight:650;margin:0 0 8px;color:var(--ink)}.setup-motion-timeline{border-bottom:1px solid var(--line);margin:0 0 10px}.setup-motion-timeline summary{min-height:44px;padding:10px 0;font-size:12px;cursor:pointer}.setup-motion-timeline input{display:block;width:100%;height:44px;margin:0;accent-color:var(--green)}.setup-motion-time{font-size:12px;color:var(--muted)}.setup-motion-note{font-size:12px;color:var(--muted);margin:0 0 10px}
@media(max-width:360px){.pitch-setup .setup-motion-controls button{font-size:11px}.setup-motion-settings{gap:6px}.setup-motion-settings select{font-size:12px}.setup-motion-settings .setup-motion-repeat{font-size:11px}}

.topic-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}.topic-chip{display:inline-block;padding:5px 9px;border-radius:20px;border:1px solid var(--line);background:var(--soft);font-size:12px;line-height:1.4;color:var(--ink)}
.plan-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;margin:0 0 16px}.plan-card h2{font-size:18px;margin:0 0 12px}.plan-card[hidden]{display:none}.plan-card ul{padding-left:20px;font-size:14px;line-height:1.6;margin:0 0 10px}.plan-card li{margin-bottom:8px}.plan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-form-grid label,.catalog-filters label{display:block;font-size:13px;color:var(--muted)}.plan-form-grid input,.plan-form-grid select,.catalog-filters input,.catalog-filters select{display:block;width:100%;min-width:0;min-height:44px;margin-top:5px;font-size:14px}.plan-card>.button{min-height:44px;width:100%;margin:0}.plan-card .text-button{padding-left:0;text-align:left;min-height:44px}
.summary-journey{display:grid;gap:10px;margin:0 0 24px}.summary-journey button{min-height:48px;width:100%;text-align:left}.summary-panels{display:grid;gap:0}.catalog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.catalog-search{grid-column:1/-1}.catalog-list{display:grid;gap:12px}.catalog-card{display:block;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}.catalog-card small{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.catalog-card strong{display:block;font-size:19px;line-height:1.3}.catalog-card p{font-size:14px;line-height:1.6;margin:10px 0}.catalog-open{font-size:13px;font-weight:650;color:var(--green)}.catalog-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(min-width:900px){.summary-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-list{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters{grid-template-columns:1fr 1fr 2fr}.catalog-search{grid-column:auto}}
@media(max-width:360px){.plan-card,.catalog-card{padding:14px}.plan-form-grid{gap:8px}.plan-form-grid label,.catalog-filters label{font-size:12px}.plan-form-grid input,.plan-form-grid select{font-size:13px}.topic-chip{font-size:11px}}
.plan-dimensions{margin:8px 0 14px;border-bottom:1px solid var(--line)}.plan-dimensions summary{min-height:44px;padding:10px 0;font-size:13px;font-weight:650;cursor:pointer}.plan-form-grid input,.catalog-filters input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}.plan-form-grid input,.plan-form-grid select,.catalog-filters input,.catalog-filters select{font-size:16px}
.plan-levels{margin-top:12px}.plan-levels>summary{padding:10px 0;min-height:44px;font-size:14px;font-weight:650;cursor:pointer}.plan-groups{display:grid;gap:12px}.plan-group-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--soft)}.plan-group-fields{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;margin-top:8px}.plan-group-fields label{font-size:12px;color:var(--muted)}.plan-group-fields input,.plan-group-fields select{width:100%;min-width:0;min-height:44px;margin-top:4px;font-size:16px}.plan-group-fields input{border:1px solid var(--line);border-radius:10px;background:white;padding:8px;color:var(--ink)}.plan-group-fields input[aria-invalid=true]{border:2px solid #a33528}.football-skill{padding:12px;border-radius:12px;background:var(--soft);border:1px solid var(--line);margin:0 0 10px;font-size:13px;line-height:1.5}.football-skill p{margin:6px 0 0}.football-skill[hidden]{display:none}@media(min-width:600px){.plan-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
.football-level-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0 0 10px}.football-level-tools select{width:100%;min-height:44px;font-size:16px}.football-level-tools .small-note{margin:0}
.football-count-tools{border:1px solid var(--line);border-radius:12px;padding:0 12px;margin:0 0 10px;background:var(--soft)}.football-count-tools>summary{min-height:44px;padding:12px 0;font-size:13px;font-weight:650;cursor:pointer}.football-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.football-count-grid input{display:block;width:100%;min-height:44px;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:16px}.football-count-tools .button{width:100%;min-height:44px;margin:0 0 12px}.football-count-tools .small-note{margin:4px 0 8px}
.football-pitch-tools{border:1px solid var(--line);border-radius:12px;padding:0 12px;margin:0 0 10px;background:var(--soft)}.football-pitch-tools>summary{min-height:44px;padding:12px 0;font-size:13px;font-weight:650;cursor:pointer}.football-pitch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.football-pitch-tools input,.football-pitch-tools select{display:block;width:100%;min-height:44px;font-size:16px}.football-pitch-grid input{margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.football-pitch-tools .button{width:100%;min-height:44px;margin:0 0 12px}.football-pitch-tools .small-note{margin:4px 0 8px}
.exercise-focus>.session-picker,.exercise-focus>.session-meta,.exercise-focus>#open-pitch-setup{display:none}.exercise-focus #field-view{display:block;max-width:820px}.exercise-focus #field-view>.essentials,.exercise-focus #field-view>.active-cue,.exercise-focus #field-view>.detail-buttons,.exercise-focus #field-view>.detail-panel{display:none}.exercise-focus .block-rail{margin-bottom:10px}.exercise-focus .activity-heading{margin-bottom:10px}.exercise-focus #field-view .football-figure>svg{max-height:clamp(150px,36dvh,360px)}.exercise-visual-label{font-size:12px;color:var(--muted);margin:6px 0 10px;text-align:center}.exercise-card{padding:18px;margin:0 0 12px;background:white;border:1px solid var(--line);border-radius:14px}.exercise-card h2{font-size:19px;line-height:1.3;margin:0 0 12px}.exercise-card p,.exercise-card li{font-size:15px;line-height:1.6}.exercise-card p{margin:0 0 10px}.exercise-card ol,.exercise-card ul{margin:0 0 12px;padding-left:22px}.exercise-card li+li{margin-top:8px}.exercise-card .small-note{font-size:13px}.exercise-card .exercise-fact{font-weight:650}.exercise-card .secondary-button{min-height:44px;width:100%}.exercise-card .football-guide-entry{margin-top:14px}.exercise-card .text-button{min-height:44px;text-align:left}.exercise-slogan{background:var(--soft);border-color:#b9cda9}.exercise-slogan blockquote{margin:0;font-size:20px;font-weight:700;line-height:1.4}.exercise-tweaks{padding:0 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.exercise-tweaks>summary{padding:12px 0;min-height:44px;font-size:14px;font-weight:650;cursor:pointer}.exercise-tweaks[open]>summary{margin-bottom:8px}.exercise-focus .step-actions{max-width:820px}.exercise-focus .football-controls button{min-height:44px}@media(max-width:360px){.exercise-card{padding:14px}.exercise-card h2{font-size:18px}.exercise-card p,.exercise-card li{font-size:14px}.exercise-slogan blockquote{font-size:18px}}
.exercise-work{border-left:4px solid var(--green)}.exercise-rest{border-left:4px solid var(--blue);background:#f5fafc}.exercise-rotation{border-left:4px solid var(--purple)}.exercise-notes{border-left:4px solid var(--orange)}.exercise-kit{border-left:4px solid var(--green)}.exercise-kit-grid{display:grid;gap:10px;margin-bottom:14px}.exercise-kit-tile{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--page);min-width:0}.exercise-kit-icon{width:48px;height:48px;flex:0 0 48px}.exercise-kit-text{min-width:0;overflow-wrap:anywhere}.exercise-kit-text h3{font-size:14px;line-height:1.4;margin:0 0 4px}.exercise-kit-value{display:block;font-size:20px;line-height:1.3;margin-bottom:5px}.exercise-kit-text p{font-size:13px;line-height:1.5;margin:0}.exercise-kit>.small-note{margin-top:8px}@media(min-width:640px){.exercise-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Thumb navigation: one topic and one instruction/equipment item at a time. */
.exercise-topic-nav{position:fixed;z-index:9;bottom:calc(147px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:820px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;background:#f2f4eef7;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 18px #153b2710}.exercise-topic-nav button{min-height:48px;min-width:0;padding:8px 2px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:12px;font-weight:700;line-height:1.2}.exercise-topic-nav button[aria-pressed=true],.exercise-time-nav button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}.exercise-focus{padding-bottom:calc(232px + env(safe-area-inset-bottom))}.exercise-flow:not([data-topic=steps])>.football-figure,.exercise-flow:not([data-topic=steps])>.football-controls{display:none}.exercise-focus #field-view:has(.exercise-flow:not([data-topic=time]))>.timer-panel{display:none}.exercise-focus #field-view .football-figure>svg{max-height:clamp(120px,23dvh,200px)}.exercise-focus .activity-heading h1{font-size:23px;margin-bottom:8px}.exercise-focus .activity-heading .eyebrow{margin-bottom:4px}.exercise-focus .next-preview{display:none}.exercise-topic-panel>.exercise-card{margin-bottom:10px;padding:14px}.exercise-topic-panel .exercise-card h2{font-size:18px;margin-bottom:10px}.exercise-current-step{font-weight:650;min-height:48px}.exercise-card .exercise-step-count{font-size:12px;color:var(--muted);margin-bottom:4px}.exercise-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:12px 0}.exercise-pager button{min-height:48px;padding:10px 8px;font-size:14px}.exercise-pager output{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.exercise-more{border-top:1px solid var(--line);margin-top:12px}.exercise-more>summary{min-height:48px;padding:12px 0;font-size:13px;font-weight:650;cursor:pointer}.exercise-more[open]>summary{margin-bottom:8px}.exercise-time-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.exercise-time-nav button{min-width:0;min-height:48px;font-size:13px;padding:10px 6px}.exercise-flow .exercise-kit-grid{grid-template-columns:1fr}.exercise-flow .exercise-kit-icon{width:56px;height:56px;flex-basis:56px}.exercise-flow .exercise-kit-tile{min-height:124px;align-items:center}.exercise-flow .exercise-kit-text h3{font-size:16px}.exercise-flow .exercise-kit-value{font-size:23px}.football-focus .exercise-topic-nav{position:static;transform:none;width:100%;margin-top:10px}.football-focus .exercise-flow>.football-figure{display:block}.football-focus .exercise-flow>.football-controls{display:grid}@media(max-height:650px){.exercise-focus{padding-top:8px}.exercise-focus .block-rail{margin-bottom:6px}.exercise-focus #field-view .football-figure>svg{max-height:110px}.exercise-focus .activity-heading h1{font-size:20px}.exercise-topic-panel .exercise-card p{font-size:14px}}@media(max-height:540px) and (min-width:600px){.exercise-topic-nav{bottom:calc(129px + env(safe-area-inset-bottom))}.exercise-focus{padding-bottom:calc(214px + env(safe-area-inset-bottom))}}

/* Keep the current task inside the viewport; long optional detail scrolls locally. */
.exercise-focus{height:calc(100dvh - 58px);padding-top:8px;padding-bottom:calc(222px + env(safe-area-inset-bottom));overflow:hidden}.exercise-focus>#training,.exercise-focus #field-view{height:100%;min-height:0}.exercise-focus #field-view{display:flex;flex-direction:column}.exercise-focus .block-rail,.exercise-focus .activity-heading{flex-shrink:0}.exercise-focus #active-diagram{display:flex;flex:1;min-height:0}.exercise-focus .exercise-flow{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;margin-bottom:0}.exercise-focus .exercise-info{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:12px}.exercise-focus .exercise-flow>.football-figure{display:flex;flex-direction:column;flex:1;min-height:0;margin-bottom:8px}.exercise-focus #field-view .exercise-flow>.football-figure>svg{height:100%;max-height:none;min-height:0;flex:1}.exercise-flow .exercise-visual-label{flex-shrink:0;margin:4px 0 8px}.exercise-flow>.football-controls{flex-shrink:0}.exercise-flow .exercise-mode-button{flex-shrink:0;min-height:48px;margin-top:8px;width:100%;font-size:14px}.exercise-flow .exercise-item-pager{flex-shrink:0}.exercise-item-pager .exercise-pager{margin:8px 0 0}.exercise-focus .exercise-flow:not([data-topic=steps])>.football-figure,.exercise-focus .exercise-flow[data-instructions=true]>.football-figure,.exercise-focus .exercise-flow[data-instructions=true]>.football-controls{display:none}.exercise-focus .timer-panel{flex-shrink:0;max-height:42%;overflow-y:auto;margin-top:8px;margin-bottom:0}.exercise-focus .timer-panel>summary{min-height:48px}.exercise-focus .finished{flex-shrink:0;max-height:40vh;overflow-y:auto}.exercise-topic-panel>.exercise-card:last-child{margin-bottom:0}.football-focus .exercise-info{max-height:40dvh;overflow-y:auto}.football-focus .exercise-mode-button,.football-focus .exercise-item-pager{display:none}

@media(max-width:360px){.exercise-topic-nav{width:calc(100% - 16px);padding:6px 4px}.exercise-topic-nav button{font-size:11.5px;padding:8px 0}.exercise-topic-panel>.exercise-kit{padding:8px}.exercise-topic-panel>.exercise-kit>h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.exercise-flow .exercise-kit-tile{padding:8px;gap:8px;min-height:92px}.exercise-flow .exercise-kit-icon{width:40px;height:40px;flex-basis:40px}.exercise-flow .exercise-kit-text h3{font-size:14px}.exercise-flow .exercise-kit-value{font-size:20px}.exercise-flow .exercise-kit-text p{font-size:12px}.exercise-flow .exercise-kit-grid{margin-bottom:8px}}

@media(max-height:520px){.exercise-focus{height:auto;overflow:visible;padding-bottom:calc(222px + env(safe-area-inset-bottom))}.exercise-focus>#training,.exercise-focus #field-view{height:auto}.exercise-focus .exercise-flow>.football-figure{flex:none}.exercise-focus #field-view .exercise-flow>.football-figure>svg{height:130px;flex:none}.exercise-focus .exercise-info{max-height:260px;flex:auto}.exercise-focus .timer-panel{max-height:180px}}

/* Compact exercise view: one bottom dock, summary first, detail on demand. */
.exercise-toolbar{display:none}body:has(.exercise-focus)>.site-header,body:has(.exercise-focus)>#bottom-nav{display:none}.exercise-focus .exercise-toolbar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin:-4px 0 4px}.exercise-toolbar a{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;color:var(--ink);font-size:13px;font-weight:650;text-decoration:none;border-radius:8px}.exercise-toolbar a:hover{background:var(--soft)}.exercise-focus{height:100dvh;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:calc(146px + env(safe-area-inset-bottom))}.exercise-focus .block-rail{margin-bottom:8px}.exercise-focus .activity-heading{margin-bottom:8px}.exercise-focus .activity-heading h1{font-size:22px}.exercise-focus .exercise-topic-nav{bottom:calc(72px + env(safe-area-inset-bottom));width:calc(100% - 16px);padding:6px;gap:6px;border-radius:16px 16px 0 0;border-bottom:0;box-shadow:0 -4px 16px #153b270a}.exercise-focus .exercise-topic-nav button{padding:8px 0;min-height:48px;font-size:12px}.exercise-focus .step-actions{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 16px);border-radius:0 0 16px 16px;border-top:0;box-shadow:none;padding:8px}.exercise-focus .exercise-flow{justify-content:flex-start;gap:0}.exercise-focus .exercise-flow>.football-figure{flex:0 1 auto;max-height:45%;margin-bottom:8px}.exercise-focus #field-view .exercise-flow>.football-figure>svg{height:clamp(110px,27dvh,240px);flex:0 1 auto;min-height:40px}.exercise-flow .exercise-visual-label{font-size:12px;margin:2px 0 6px}.exercise-focus .exercise-flow>.football-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.exercise-focus .exercise-flow:not([data-topic=steps])>.football-controls{display:none}.exercise-focus .exercise-flow[data-topic=steps][data-instructions=true]>.football-controls{display:grid;grid-template-columns:1fr}.exercise-focus .exercise-flow[data-instructions=true]>.football-controls>.button{display:none}.exercise-focus .exercise-mode-button{margin:0;min-height:44px}.exercise-focus .football-controls button{min-height:44px;font-size:14px}.exercise-focus .exercise-preview{font-size:15px;line-height:1.5;font-weight:600;margin:0;padding:12px 14px;border-left:3px solid var(--green);background:white;border-radius:10px}.exercise-focus .exercise-info{flex:0 1 auto;overflow-y:auto}.exercise-focus .exercise-item-pager{margin-top:4px}.exercise-topic-panel>.exercise-card{padding:12px;border-radius:12px}.exercise-topic-panel .exercise-card h2{font-size:16px;margin-bottom:10px}.exercise-topic-panel .exercise-card p,.exercise-topic-panel .exercise-card li{font-size:14px;line-height:1.5}.exercise-current-step{min-height:0}.exercise-more{margin-top:8px}.exercise-more>summary{min-height:44px;padding:10px 0}.exercise-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.exercise-facts>div{padding:10px;background:var(--soft);border-radius:10px}.exercise-facts strong{display:block;font-size:20px;line-height:1.3}.exercise-facts span{font-size:12px;color:var(--muted)}.exercise-card .exercise-group-chip{font-size:13px;font-weight:650;margin-bottom:12px}.exercise-coach-notes{padding:0 12px;background:white;border:1px solid var(--line);border-radius:12px}.exercise-coach-notes ul{padding-left:20px;font-size:14px;line-height:1.5}.exercise-coach-notes li+li{margin-top:10px}.exercise-flow .exercise-kit-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exercise-kit-choice{display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-items:center;min-width:0;min-height:78px;padding:10px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--page);color:var(--ink)}.exercise-kit-choice[aria-expanded=true]{border-color:var(--green);background:var(--soft)}.exercise-flow .exercise-kit-choice>.exercise-kit-icon{width:28px;height:28px;grid-row:1/3}.exercise-kit-name{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.exercise-kit-count{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.exercise-kit-detail{margin-top:10px;padding:10px;border-radius:10px;background:var(--soft)}.exercise-kit-detail h3{font-size:14px;margin-bottom:5px}.exercise-kit-detail p:last-child{margin-bottom:0}.exercise-flow .exercise-animation-tools{grid-template-columns:1fr 1fr}.football-focus .exercise-preview{display:none}.football-focus .exercise-mode-button{display:none}@media(min-width:740px){.exercise-flow .exercise-kit-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-height:650px){.exercise-focus .activity-heading h1{font-size:19px}.exercise-focus .exercise-flow>.football-figure{max-height:42%}.exercise-focus #field-view .exercise-flow>.football-figure>svg{height:120px}.exercise-kit-choice{min-height:68px;padding:8px}.exercise-facts strong{font-size:18px}}@media(max-height:520px){.exercise-focus{height:auto;overflow:visible;padding-bottom:calc(146px + env(safe-area-inset-bottom))}.exercise-focus .exercise-flow>.football-figure{max-height:none}.exercise-focus .exercise-info{max-height:260px}.exercise-focus #field-view .exercise-flow>.football-figure>svg{height:130px}.exercise-focus .exercise-flow>.football-controls{max-width:none}}

@media(max-width:360px){.exercise-focus .exercise-topic-nav{grid-template-columns:repeat(4,minmax(0,1fr)) 62px}}
