.playbook-shell{max-width:1680px;margin:auto;padding:22px 3% 35px}
.playbook-nav{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:24px;font-size:1rem}
.playbook-nav a{padding:10px 0 15px;color:var(--muted)}
.playbook-nav a[aria-current]{border-bottom:3px solid var(--blue);color:var(--blue-light)}
.playbook-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 24px}
.playbook-heading h1{font-size:clamp(1.5rem,2.25vw,2.1rem);letter-spacing:-.8px}
.playbook-heading .eyebrow{margin-bottom:8px}
.play-count{white-space:nowrap;border:1px solid var(--line);border-radius:25px;padding:8px 15px;color:var(--blue-light);font-size:.875rem}
.playbook-grid{display:grid;grid-template-columns:250px minmax(330px,1fr) 320px;gap:20px;align-items:start}
.play-setup{padding:20px;display:flex;flex-direction:column;gap:9px}
.play-setup>label,.location-grid label{font-size:.875rem;font-weight:650;color:#d5deea;margin-top:8px}
.play-setup>label:first-child{margin-top:0}
.play-setup select{font-size:.9375rem}
.play-phase{display:flex;gap:8px;margin:12px 0 2px}
.play-phase button{flex:1;border:1px solid var(--line);background:var(--raised);padding:11px 7px;border-radius:9px;font-size:.9375rem;font-weight:650}
.play-phase [aria-pressed=true]{background:#213657;border-color:var(--blue);color:#b7cdff}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.location-grid label{display:block;margin-bottom:7px}
.location-grid select{padding-left:10px;font-size:.875rem}
.location-caption{font-size:.875rem;line-height:1.6;color:var(--blue-light);margin:3px 0 6px}
.play-options{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}
.play-options summary{font-size:.875rem;color:#d5deea;cursor:pointer;min-height:40px}
.play-options label{display:flex;align-items:center;gap:10px;font-size:.875rem;min-height:44px}
.play-options input{accent-color:var(--blue);width:18px;height:18px}
.play-reference{font-size:.8125rem;line-height:1.7;margin-top:10px}
.play-stage{min-width:0}
.play-board{overflow:hidden;background:#121416}
.play-board-bar{background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:9px 16px;font-size:.875rem;color:var(--blue-light)}
#play-field{display:block;width:100%;max-width:580px;height:auto;margin:auto;cursor:pointer;touch-action:pan-y}
.play-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px 17px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.play-legend span{display:flex;align-items:center;gap:6px}
.play-legend i{display:inline-block;width:7px;height:7px;border-radius:50%}
.play-transport{padding:16px;margin-top:13px}
.transport-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.transport-row select{width:82px;padding-left:9px;padding-right:27px;font-size:.875rem}
.transport-row output{margin-left:auto;font-size:.875rem;color:var(--muted);white-space:nowrap}
#play-scrub{width:100%;accent-color:var(--blue);margin:16px 0 12px;height:28px;cursor:ew-resize}
.play-beats{display:flex;gap:8px}
.play-beats button{min-width:38px;min-height:40px;flex:1;background:var(--raised);border-radius:7px;color:var(--muted);border:1px solid var(--line);font-size:.875rem}
.play-beats button[aria-current=true]{border-color:var(--blue);color:var(--blue-light);background:#203456}
.beat-explanation{margin-top:16px;min-height:90px}
.beat-explanation strong{font-size:1rem}.beat-explanation p{font-size:.9375rem;line-height:1.7;margin-top:6px}
.video-actions{display:flex;gap:13px;align-items:center;padding:16px 2px}
.video-actions .button{flex-shrink:0}.video-actions p{font-size:.8125rem;line-height:1.6}
.play-insights{display:flex;flex-direction:column;gap:15px;min-width:0}
.play-insights section,.assignments{padding:20px}
.lesson-overview{background:linear-gradient(145deg,#213151,var(--panel) 78%)}
.lesson-overview h2{font-size:1.25rem;margin:8px 0 10px;line-height:1.35}
.lesson-overview>p:last-child{font-size:.9375rem;line-height:1.75}
.player-lesson-heading{display:flex;align-items:center;gap:13px;margin-bottom:19px}
.player-lesson-heading h2{font-size:1.125rem}.player-lesson-heading .eyebrow{margin:0 0 4px}
.player-lesson h3{font-size:1.05rem;color:#b5ccff;margin-bottom:12px}
.player-lesson ol{padding-left:20px;margin:0}.player-lesson li{font-size:.9375rem;line-height:1.75;color:#bec8d5;padding-left:4px;margin-bottom:13px}
.player-lesson li:last-child{margin-bottom:0}
.assignments summary{font-size:1rem;font-weight:650;cursor:pointer;min-height:32px}
.assignment-row{display:flex;gap:10px;width:100%;align-items:center;text-align:left;background:transparent;border-top:1px solid var(--line);padding:11px 0;color:var(--muted);font-size:.875rem;line-height:1.5}
.assignment-row:first-child{margin-top:12px}.assignment-row b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:#213657;color:#a9c6ff;border-radius:50%}
.assignment-row[aria-pressed=true]{color:var(--blue-light)}
.rule-card ul{padding-left:18px;margin:12px 0 0}.rule-card li{font-size:.875rem;line-height:1.8;color:var(--muted);margin-bottom:11px}
.lesson-sources{font-size:.8125rem;line-height:1.8;margin-top:13px}.lesson-sources a{color:var(--blue-light);text-decoration:underline;text-underline-offset:3px}
.coach-question{border-color:#3a4d67}.coach-question>p:last-child{font-size:1rem;line-height:1.75;color:#d9e1ef}
.playbook-footer{margin-top:30px;display:flex;gap:30px;justify-content:space-between;align-items:start;border-top:1px solid var(--line);padding-top:22px;font-size:.875rem}
.playbook-footer p{max-width:830px;line-height:1.8}.playbook-footer a{color:var(--blue-light);white-space:nowrap}
#video-dialog{width:min(620px,calc(100% - 24px));max-height:92vh;overflow:auto}
#video-dialog h2{padding-right:22px}#video-message{margin:12px 0;line-height:1.7}#video-progress{width:100%;accent-color:var(--blue);height:14px;margin:12px 0 20px}
#lesson-video{display:block;max-width:100%;max-height:55vh;margin:16px auto;border-radius:10px;background:#111}
#download-video,#cancel-video{margin-top:12px}
@media(max-width:1250px){.playbook-grid{grid-template-columns:215px minmax(300px,1fr) 280px;gap:14px}.play-setup,.play-insights section,.assignments{padding:16px}.video-actions{flex-direction:column;align-items:start}.location-grid{grid-template-columns:1fr}.playbook-heading h1{font-size:1.7rem}}
@media(max-width:980px){.playbook-grid{grid-template-columns:225px minmax(300px,1fr)}.play-insights{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.player-lesson{grid-row:span 2}.playbook-footer{flex-direction:column;gap:15px}.location-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.playbook-shell{padding:14px 12px 25px}.playbook-nav{gap:20px;margin-bottom:18px;font-size:.875rem}.playbook-heading{margin-bottom:18px;align-items:start}.playbook-heading h1{font-size:1.5rem}.playbook-heading h1 span{display:block}.play-count{display:none}.playbook-grid{display:flex;flex-direction:column;gap:13px}.play-setup{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px}.play-setup>label{margin:0;font-size:.875rem}.play-setup label[for=lesson-category]{grid-column:1;grid-row:1}.play-setup #lesson-category{grid-column:1;grid-row:2}.play-setup label[for=lesson-play]{grid-column:2;grid-row:1}.play-setup #lesson-play{grid-column:2;grid-row:2}.play-setup .play-phase,.play-setup .location-grid,.play-setup .location-caption,.play-options,.play-reference{grid-column:1/-1}.play-setup label[for=lesson-player]{grid-column:1;grid-row:6}.play-setup #lesson-player{grid-column:1;grid-row:7}.play-setup label[for=lesson-paths]{grid-column:2;grid-row:6}.play-setup #lesson-paths{grid-column:2;grid-row:7}.play-phase{margin:4px 0}.location-caption{margin:0;font-size:.8125rem}.play-options{margin-top:4px;padding-top:8px}.play-options summary{min-height:30px}.play-reference{margin:0;font-size:.8125rem}.play-stage{width:100%}.play-insights{display:flex;width:100%}.play-insights>*{width:100%}.play-transport{padding:13px}.transport-row .button{padding:9px 12px}.transport-row output{font-size:.8125rem}.video-actions{padding:13px 2px}.video-actions .button{width:100%}.playbook-footer{font-size:.8125rem}.play-insights section,.assignments{padding:19px}.player-lesson li{font-size:1rem}.play-beats{gap:6px}.play-beats button{min-width:32px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.video-actions{flex-wrap:wrap}.video-actions .sample-video{font-size:.875rem}
