:root {
  --ink: #f7f7f7;
  --muted: #a5a6aa;
  --navy: #090a0c;
  --navy-2: #121418;
  --navy-3: #1c1f24;
  --teal: #df2029;
  --cyan: #ff535b;
  --orange: #f7f7f7;
  --red: #9f1118;
  --sand: #d5d5d7;
  --line: rgba(247, 247, 247, .15);
  --shadow: 0 24px 70px rgba(0, 0, 0, .32);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #030303; color: var(--ink); overflow: hidden; }
body { display: grid; place-items: center; }
button { font: inherit; }

.deck {
  position: relative;
  width: min(100vw, calc(100vh * 16 / 9));
  height: min(100vh, calc(100vw * 9 / 16));
  background: var(--navy);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.slide {
  position: absolute;
  inset: 0;
  display: none;
  padding: 5.2% 6.2% 7.2%;
  background:
    radial-gradient(circle at 84% 12%, rgba(223, 32, 41, .11), transparent 30%),
    linear-gradient(145deg, var(--navy), #07080a 68%, #131418);
}
.slide.active { display: block; animation: slide-in .34s ease both; }
@keyframes slide-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.slide::before { content: ""; position: absolute; left: 0; top: 0; width: .55%; height: 100%; background: linear-gradient(var(--teal), transparent 62%); }
.slide-no { position: absolute; right: 3.2%; top: 4%; color: rgba(238,248,247,.18); font-size: clamp(12px, 1.25vw, 24px); font-weight: 800; letter-spacing: .1em; }

header { max-width: 86%; margin-bottom: 3.2%; }
.eyebrow { margin: 0 0 .6em; color: var(--teal); font-size: clamp(11px, 1vw, 20px); font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(38px, 5.4vw, 102px); line-height: .98; letter-spacing: -.05em; margin-bottom: .28em; }
h1 span, h2 span { color: var(--teal); }
h2 { font-size: clamp(28px, 3.25vw, 62px); line-height: 1.05; letter-spacing: -.035em; margin-bottom: 0; }
h3 { font-size: clamp(15px, 1.38vw, 27px); line-height: 1.1; }
p { font-size: clamp(12px, 1.05vw, 20px); line-height: 1.42; color: #c6d7d9; }
.lead { font-size: clamp(16px, 1.65vw, 31px); color: #c7d8da; }
.mini-label { color: var(--muted); font-size: clamp(10px, .82vw, 16px); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bottom-line { position: absolute; left: 6.2%; right: 6.2%; bottom: 8.2%; margin: 0; padding-top: 1.2%; border-top: 1px solid var(--line); color: var(--cyan); font-weight: 700; font-size: clamp(14px, 1.25vw, 24px); }

.notes { display: none; position: absolute; left: 6.2%; right: 6.2%; bottom: 8.5%; z-index: 20; padding: 1.3% 1.6%; background: rgba(5, 5, 6, .97); border: 1px solid rgba(223,32,41,.55); box-shadow: 0 14px 45px rgba(0,0,0,.55); }
.show-notes .active .notes { display: block; }
.notes strong { color: var(--teal); font-size: clamp(12px, 1vw, 19px); }
.notes p { margin: .45em 0 0; font-size: clamp(11px, .85vw, 16px); }
.notes .source { color: #78939a; font-size: clamp(9px, .7vw, 13px); }

/* Title */
.title-slide { padding-top: 10.5%; }
.title-copy { position: relative; z-index: 2; width: 60%; }
.hero-court { position: absolute; right: 2.5%; top: 30%; width: 48%; height: auto; aspect-ratio: 2 / 1; transform: rotate(-4deg); border: 2px solid rgba(255,255,255,.38); overflow: hidden; background: linear-gradient(90deg,rgba(255,255,255,.025),rgba(223,32,41,.14)); }
.court-grid { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49.4%, rgba(255,255,255,.75) 49.5%, rgba(255,255,255,.75) 50.5%, transparent 50.6%), linear-gradient(90deg, transparent 33.1%, rgba(255,255,255,.25) 33.2%, rgba(255,255,255,.25) 33.6%, transparent 33.7%, transparent 66.3%, rgba(255,255,255,.25) 66.4%, rgba(255,255,255,.25) 66.8%, transparent 66.9%); }
.hero-player { position: absolute; width: 6%; aspect-ratio: 1; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 9px rgba(223,32,41,.12); }
.hero-player.p1 { left: 60%; top: 18%; }.hero-player.p2 { left: 60%; top: 50%; }.hero-player.p3 { left: 60%; top: 82%; }.hero-player.p4 { left: 82%; top: 18%; }.hero-player.p5 { left: 82%; top: 50%; }.hero-player.p6 { left: 82%; top: 82%; }
.hero-ball { position: absolute; left: 94%; top: 46%; width: 3%; aspect-ratio: 1; border-radius: 50%; background: var(--orange); box-shadow: 0 0 28px var(--orange); animation: pulse 1.9s infinite; }
.hero-path { position: absolute; right: 5%; top: 50%; width: 43%; height: 2px; background: linear-gradient(90deg,var(--orange),rgba(255,255,255,.1)); transform: rotate(8deg); transform-origin: right; }
.court-dimension{position:absolute;color:rgba(255,255,255,.48);font-size:clamp(7px,.58vw,11px);font-weight:800;letter-spacing:.08em}.court-dimension.length{left:47%;bottom:2%}.court-dimension.width{left:1%;top:46%;transform:rotate(-90deg)}
@keyframes pulse { 50% { transform: scale(1.3); box-shadow: 0 0 42px var(--orange); } }

/* Slide 2 */
.contrast { display: grid; grid-template-columns: 1fr 8% 1fr; align-items: stretch; margin-top: 4%; height: 48%; }
.contrast-side { padding: 4%; border: 1px solid var(--line); background: rgba(255,255,255,.025); }
.contrast-side > p:last-child { margin: 2% 0 0; color: var(--ink); font-weight: 700; }
.change-arrow { display: grid; place-items: center; color: var(--orange); font-size: clamp(24px, 3vw, 56px); }
.scatter-field { position: relative; height: 62%; border: 1px solid rgba(238,248,247,.2); }
.scatter-field span { position: absolute; left: var(--x); top: var(--y); width: 8%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: #375361; color: #a7bcc0; font-weight: 800; transform: translate(-50%,-50%); }
.chain-mark { display: flex; align-items: center; height: 62%; }
.chain-mark span { display: grid; place-items: center; min-height: 4.2em; width: 22%; padding: 0 2%; border: 1px solid rgba(255,255,255,.25); border-top: 4px solid var(--teal); background: #191b20; color: var(--ink); text-align: center; font-weight: 900; font-size: clamp(9px,.83vw,16px); }
.chain-mark i { flex: 1; height: 2px; background: linear-gradient(90deg,var(--teal),var(--orange)); }

/* Chain */
.rally-chain { display: grid; grid-template-columns: 1fr 7% 1fr 7% 1fr 7% 1.15fr; align-items: center; margin-top: 5%; }
.chain-step { min-height: 15vw; padding: 12% 10%; border-top: 3px solid var(--teal); background: rgba(255,255,255,.035); }
.chain-step span { display: inline-grid; place-items: center; width: 2.1em; aspect-ratio: 1; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); font-weight: 800; }
.chain-step b { display: block; margin: 12% 0 5%; font-size: clamp(16px,1.6vw,30px); }
.chain-step p { margin: 0; color: var(--muted); }
.chain-link { text-align: center; color: var(--orange); font-size: clamp(20px,2.5vw,48px); }
.accent-step { background: var(--teal); color: var(--navy); border-top-color: var(--orange); }
.accent-step span { border-color: var(--navy); color: var(--navy); }.accent-step p { color: #16434c; }
.equation { display: flex; gap: 2.2%; align-items: center; justify-content: center; margin-top: 4%; color: var(--muted); font-size: clamp(13px,1.2vw,23px); }
.equation b { color: var(--orange); }.equation strong { color: var(--teal); font-size: 1.2em; }
.fragment { opacity: .2; transform: translateY(10px); transition: .35s ease; }.fragment.visible { opacity: 1; transform: none; }

/* Principles */
.principles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.3%; margin-top: 4.4%; }
.principles article { position: relative; padding: 18% 10% 12%; min-height: 19vw; border-top: 4px solid var(--teal); background: rgba(255,255,255,.035); }
.principles article:nth-child(even) { margin-top: 3.6vw; border-top-color: var(--orange); }
.principles em { position: absolute; top: 5%; right: 7%; color: rgba(238,248,247,.16); font-style: normal; font-weight: 900; font-size: clamp(19px,2.1vw,40px); }
.principles h3 { margin-bottom: 1em; }.principles p { color: var(--muted); }

/* Courts */
.tactical-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5%; align-items: center; }
.volley-court { position: relative; width: 100%; aspect-ratio: 1.65; border: 2px solid rgba(255,255,255,.65); background: linear-gradient(#202226 50%, #15171a 50%); overflow: hidden; }
.serve-visual{position:relative;padding-bottom:7%}.serve-court{aspect-ratio:2 / 1}.court-band{position:absolute;left:1.6%;z-index:1;color:rgba(255,255,255,.42);font-size:clamp(6px,.48vw,9px);font-weight:900;letter-spacing:.1em}.opponent-back{top:2%}.opponent-front{top:42%}.own-front{top:53%}.own-back{bottom:2%}
.net { position: absolute; left: 0; right: 0; top: 49.4%; height: 1.2%; background: repeating-linear-gradient(90deg,#eaf6f5 0 4px,transparent 4px 9px); z-index: 4; }
.attack-line { position: absolute; left: 0; right: 0; height: 1px; background: rgba(238,248,247,.35); }.attack-line.top { top: 32%; }.attack-line.bottom { bottom: 32%; }
.player { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%,-50%); display: grid; place-items: center; width: 7%; aspect-ratio: 1; border-radius: 50%; background: #dce7e7; color: var(--navy); font-size: clamp(9px,.7vw,14px); font-weight: 900; z-index: 3; }
.target-zone { position: absolute; left: 34%; top: 8%; width: 16%; height: 29%; display:flex; flex-direction:column; align-items:center; justify-content:center; background: repeating-linear-gradient(135deg,rgba(223,32,41,.42) 0 9px,rgba(223,32,41,.16) 9px 18px); border: 2px dashed #fff; z-index:2; }
.target-zone.opponent-seam-56{left:62%}
.target-zone b { color:#fff; font-size:clamp(11px,1vw,19px); letter-spacing:.13em; }
.target-zone small { margin-top:.35em; color:#efc8ca; font-size:clamp(7px,.55vw,11px); text-align:center; }
.court-label { position:absolute; left:2%; color:rgba(255,255,255,.55); font-size:clamp(7px,.6vw,12px); font-weight:900; letter-spacing:.12em; }
.receive-label { top:3%; }.serve-label { bottom:3%; }
.receiver { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; width:9%; aspect-ratio:1; border-radius:50%; background:#f4f4f4; color:#101114; font-weight:900; z-index:3; box-shadow:0 0 0 7px rgba(255,255,255,.08); }
.receiver b { font-size:clamp(12px,1.1vw,21px); }.receiver small { font-size:clamp(6px,.52vw,10px); font-weight:700; }
.muted-receiver { opacity:.45; }
.server-marker{position:absolute;right:3%;bottom:-.5%;z-index:8;display:grid;place-items:center;width:8%;aspect-ratio:1;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;box-shadow:0 0 0 7px rgba(223,32,41,.15)}.server-marker i{position:absolute;left:-35%;top:-15%;color:#fff;font-style:normal}.server-marker small{position:absolute;right:110%;top:28%;width:9em;text-align:right;color:#fff;font-size:clamp(7px,.56vw,11px);white-space:nowrap}
.serve-flight{position:absolute;inset:0 0 7% 0;width:100%;height:93%;overflow:visible;pointer-events:none;z-index:6}.serve-flight-path{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;animation:route-flow 1.45s linear infinite;filter:drop-shadow(0 0 5px rgba(255,255,255,.55))}.serve-flight marker path{fill:#fff}
.attack-arrow::after { content:""; position:absolute; left:-1px; top:50%; border: 7px solid transparent; border-right-color: var(--orange); transform: translate(-45%,-50%); }
.decision-stack { display: grid; gap: 1.2vw; }.decision-stack div { padding: 5% 6%; border-left: 3px solid var(--teal); background: rgba(255,255,255,.035); }
.decision-stack .result { border-left-color: #fff; background: rgba(255,255,255,.07); }
.decision-stack small { display: block; margin-bottom: .35em; color: var(--muted); font-size: clamp(9px,.75vw,14px); font-weight: 800; letter-spacing: .12em; }
.decision-stack strong { font-size: clamp(14px,1.25vw,24px); }
.discussion-prompt { margin-top: 3%; padding: 1.2% 1.6%; border: 1px solid rgba(255,255,255,.4); color: #f0f0f0; font-size: clamp(12px,1.05vw,20px); }
.discussion-prompt span { margin-right: 1.3em; color: var(--orange); font-weight: 900; }

/* Service menu and likely attack consequences */
.service-menu-layout{display:grid;grid-template-columns:1.16fr .84fr;gap:5%;align-items:center}.service-map-wrap{position:relative;padding-bottom:6%}.service-map{position:relative;aspect-ratio:2 / 1;border:2px solid rgba(255,255,255,.65);background:linear-gradient(#202226 50%,#15171a 50%);overflow:hidden}.service-map .net{top:49.4%}.service-map .attack-line.top{top:32%}.service-map .attack-line.bottom{bottom:32%}.map-receiver{position:absolute;top:18%;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;width:8%;aspect-ratio:1;border-radius:50%;background:#f4f4f4;color:#111;font-weight:900;box-shadow:0 0 0 6px rgba(255,255,255,.08)}.map-receiver small{font-size:clamp(6px,.47vw,9px);white-space:nowrap}.map-r1{left:14%}.map-r6{left:46%}.map-r5{left:78%}.service-target{position:absolute;z-index:7;padding:.45% .7%;border:1px dashed rgba(255,255,255,.75);background:rgba(8,9,11,.88);color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900;letter-spacing:.06em;white-space:nowrap}.st-deep{left:4%;top:5%}.st-body{left:41%;top:25%}.st-seam{left:62%;top:7%}.st-short{right:2%;top:36%}.service-options-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:6;pointer-events:none}.serve-option{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;opacity:.14;animation:service-choice-cycle 8s infinite}.serve-option path{fill:none;stroke:inherit;animation:route-flow 1.35s linear infinite}.serve-option circle{fill:var(--teal);stroke:none}.service-options-svg marker path{fill:#fff}.so-seam{stroke:var(--teal)}.so-deep{animation-delay:2s}.so-short{stroke:#ff777c;animation-delay:4s}.so-body{stroke:#bfc0c3;animation-delay:6s}.service-menu-server{position:absolute;right:3%;bottom:0;z-index:9;display:grid;place-items:center;width:8%;aspect-ratio:1;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;box-shadow:0 0 0 7px rgba(223,32,41,.14)}.service-menu-server small{position:absolute;right:115%;top:30%;width:8.5em;color:#fff;text-align:right;font-size:clamp(7px,.53vw,10px);white-space:nowrap}.service-call-list{display:grid;gap:.55vw}.service-call-list article{padding:3.4% 0 3.4% 5%;border-left:4px solid #fff;border-bottom:1px solid var(--line);animation:service-copy-cycle 8s infinite}.service-call-list article:nth-child(1){border-left-color:var(--teal)}.service-call-list article:nth-child(2){animation-delay:2s}.service-call-list article:nth-child(3){border-left-color:#ff777c;animation-delay:4s}.service-call-list article:nth-child(4){border-left-color:#bfc0c3;animation-delay:6s}.service-call-list b{color:#fff;font-size:clamp(10px,.82vw,16px)}.service-call-list p{margin:.35em 0 0;color:var(--muted);font-size:clamp(9px,.72vw,14px)}.service-call-rule{display:flex;align-items:center;gap:1.3em;margin-top:1.5%;padding:1.1% 1.4%;border:1px solid rgba(255,255,255,.38);font-size:clamp(10px,.84vw,16px)}.service-call-rule b{color:var(--teal);white-space:nowrap}.service-call-rule span{color:#d0d0d2}@keyframes service-choice-cycle{0%,20%{opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}25%,100%{opacity:.14;filter:none}}@keyframes service-copy-cycle{0%,20%{background:rgba(223,32,41,.09)}25%,100%{background:transparent}}

.attack-menu-continuum{display:grid;grid-template-columns:1fr 5% 1fr 5% 1fr;gap:1.2%;align-items:center;margin-top:2.5%}.menu-state{min-height:24vw;padding:4% 5%;border-top:5px solid rgba(255,255,255,.5);background:rgba(255,255,255,.035)}.menu-state.reduced-menu{border-top-color:#ff777c}.menu-state.forced-menu{border-top-color:var(--teal);background:rgba(223,32,41,.07)}.menu-court{position:relative;aspect-ratio:1.67;border:1px solid rgba(255,255,255,.45);background:#191b1f;overflow:hidden}.menu-court .mini-net{top:14%}.menu-court svg{position:absolute;inset:0;width:100%;height:100%}.menu-set-zone{position:absolute;left:51%;top:21%;z-index:4;display:grid;place-items:center;width:10%;aspect-ratio:1;border-radius:50%;background:#fff;color:#111;font-size:clamp(6px,.48vw,9px);font-weight:900}.menu-set-zone.off{left:57%;top:42%}.menu-set-zone.far{left:45%;top:62%}.menu-pass,.menu-attack{fill:none;vector-effect:non-scaling-stroke}.menu-pass{stroke:#fff;stroke-width:2.5;stroke-dasharray:8 6;animation:route-flow 1.35s linear infinite}.menu-attack{stroke:var(--teal);stroke-width:2;stroke-dasharray:6 5;animation:route-flow 1.55s linear infinite}.menu-state small{display:block;margin:1.2em 0 .45em;color:var(--muted);font-size:clamp(7px,.58vw,11px);font-weight:900;letter-spacing:.08em}.menu-state strong{display:block;color:#fff;font-size:clamp(16px,1.38vw,27px)}.menu-state p{margin:.5em 0 0;color:var(--muted);font-size:clamp(9px,.73vw,14px)}.menu-arrow{display:grid;place-items:center;color:var(--teal);font-size:clamp(24px,2.8vw,54px)}.menu-principle{display:flex;justify-content:center;gap:1.2em;margin-top:2%;font-size:clamp(11px,.95vw,18px)}.menu-principle b{color:var(--teal)}.menu-principle span{color:#d1d1d3}

/* Block */
.block-scene { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5%; align-items: center; }
.court-half { position: relative; aspect-ratio: 1.55; border: 2px solid rgba(255,255,255,.65); background: #17191d; overflow: hidden; }
.half-net { position:absolute; left:0; right:0; top:6%; height:5px; background:repeating-linear-gradient(90deg,#fff 0 5px,transparent 5px 10px); }
.half-attack { position:absolute; left:0; right:0; top:42%; height:1px; background:rgba(255,255,255,.3); }
.block-wall { position:absolute; left:12%; top:8%; display:flex; gap:4px; z-index:5 }.block-wall i { display:block; width:3.5vw; height:1.3vw; background:var(--teal); border:2px solid #fff; }
.blocked-lane,.defended-lane { position:absolute; top:12%; height:80%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.55em; text-align:center; z-index:1; }
.blocked-lane { left:0; width:45%; background:repeating-linear-gradient(135deg,rgba(223,32,41,.48) 0 15px,rgba(159,17,24,.23) 15px 30px); border-right:4px solid #fff; color:#fff; }
.defended-lane { right:0; width:55%; background:rgba(255,255,255,.09); color:#fff; }
.blocked-lane strong,.defended-lane strong{font-size:clamp(12px,1.1vw,21px);letter-spacing:.12em}.blocked-lane span,.defended-lane span{max-width:76%;font-size:clamp(8px,.68vw,13px);letter-spacing:0;color:#d5d5d7}
.defender, .attacker { position:absolute; display:grid; place-items:center; width:7.4%; aspect-ratio:1; border-radius:50%; background:#fff; color:#101114; font-weight:900; font-size:clamp(8px,.7vw,14px); z-index:3; }.d1{right:9%;top:43%;}.d6{left:69%;bottom:9%;}.d5{left:51%;bottom:22%;}.attacker{left:12%;top:0;background:var(--teal);color:#fff}
.attack-arrow { position:absolute; left:15%; top:10%; width:55%; height:2px; background:var(--orange); transform:rotate(34deg); transform-origin:left; z-index:4 }
.zone-legend{position:absolute;left:47%;right:2%;bottom:2%;display:flex;justify-content:flex-end;gap:1.2em;z-index:4;color:#e6e6e7;font-size:clamp(7px,.58vw,11px);font-weight:800}.zone-legend b{display:flex;align-items:center;gap:.4em}.zone-legend i{display:block;width:1em;height:1em;background:var(--teal)}.zone-legend b:last-child i{background:#fff}
.read-sequence p { display:flex; align-items:baseline; gap:1em; padding:4% 0; margin:0; border-bottom:1px solid var(--line); }.read-sequence b{color:var(--teal);font-size:clamp(14px,1.2vw,23px);min-width:4em}.read-sequence span{color:var(--muted);font-size:clamp(11px,.95vw,18px)}
.read-sequence blockquote { margin: 9% 0 0; padding-left: 6%; border-left: 4px solid var(--teal); font-size: clamp(15px,1.55vw,29px); font-weight:800; line-height:1.35; }

/* Two block calls */
.block-plan-layout{display:grid;grid-template-columns:1fr .92fr;gap:5%;align-items:center}.defense-court{position:relative;width:82%;max-height:58vh;aspect-ratio:1 / 1;border:2px solid rgba(255,255,255,.68);background:#191b1f;overflow:hidden;margin-left:6%}.defense-court .half-net{top:0;height:5px;z-index:8}.defense-court .half-attack{top:33.33%;z-index:7}.court-end-label{position:absolute;left:1%;top:34.3%;color:rgba(255,255,255,.45);font-size:clamp(6px,.48vw,9px);font-weight:900;letter-spacing:.08em;z-index:8}
.opponent-pin-attacker{position:absolute;right:6%;top:0;transform:translateY(-10%);display:grid;place-items:center;width:8%;aspect-ratio:1;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;z-index:10}.outside-wall{left:auto;right:4%;top:2%;z-index:9}.outside-wall i{width:3.3vw;height:1.1vw}.diagonal-wall{right:10%}
.line-shadow{position:absolute;right:0;top:0;width:27%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,rgba(223,32,41,.52) 0 14px,rgba(159,17,24,.22) 14px 28px);border-left:3px solid var(--teal);z-index:1}.line-shadow strong,.diagonal-shadow strong{color:#fff;font-size:clamp(9px,.76vw,15px);letter-spacing:.08em}.line-shadow small,.diagonal-shadow small{color:#f0b5b8;font-size:clamp(7px,.55vw,10px)}
.open-diagonal{position:absolute;left:4%;bottom:7%;z-index:3;color:#fff;font-size:clamp(9px,.8vw,15px);font-weight:900;letter-spacing:.1em}.attack-ray{position:absolute;height:3px;background:#fff;transform-origin:right;z-index:4}.hard-cross{right:8%;top:11%;width:78%;transform:rotate(-39deg)}.hard-cross::after,.straight-ray::after{content:"";position:absolute;left:-2px;top:50%;border:7px solid transparent;border-right-color:#fff;transform:translate(-45%,-50%)}
.diagonal-shadow{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 0 12% 12%;background:repeating-linear-gradient(135deg,rgba(223,32,41,.48) 0 14px,rgba(159,17,24,.2) 14px 28px);clip-path:polygon(78% 0,100% 0,35% 100%,3% 100%);z-index:1}.open-straight{position:absolute;right:2%;top:45%;z-index:3;color:#fff;font-size:clamp(8px,.7vw,13px);font-weight:900;letter-spacing:.08em;writing-mode:vertical-rl}.straight-ray{right:8%;top:10%;width:74%;transform:rotate(-88deg)}
.role-defender{position:absolute;display:grid;place-items:center;width:9%;aspect-ratio:1;border-radius:50%;background:#fff;color:#111;font-weight:900;font-size:clamp(8px,.68vw,13px);z-index:6}.role-defender small{position:absolute;top:108%;left:50%;transform:translateX(-50%);color:#fff;font-size:clamp(6px,.48vw,9px);white-space:nowrap;text-align:center}.libero-pos{left:18%;bottom:17%}.plback-pos{left:49%;bottom:9%}.rightback-pos{right:7%;top:48%}.diagonal-plan .libero-pos{left:20%;bottom:18%}.diagonal-plan .plback-pos{left:50%;bottom:8%}.diagonal-plan .rightback-pos{right:6%;top:47%}
.block-plan-copy>div{padding:5% 6%;border-left:4px solid var(--teal);background:rgba(223,32,41,.08);margin-bottom:3%}.block-plan-copy small{display:block;color:var(--muted);font-size:clamp(8px,.64vw,12px);font-weight:900;letter-spacing:.12em}.block-plan-copy>div strong{display:block;margin-top:.3em;color:#fff;font-size:clamp(18px,1.75vw,34px)}.block-plan-copy p{display:grid;grid-template-columns:9.5em 1fr;gap:1em;margin:0;padding:3% 0;border-bottom:1px solid var(--line);font-size:clamp(9px,.8vw,15px)}.block-plan-copy b{color:#fff}.block-plan-copy span{color:var(--muted)}

/* Freeze */
.freeze-frame { display:grid; grid-template-columns:1.25fr .75fr; gap:5%; align-items:center; }
.freeze-court { position:relative; aspect-ratio:1.7; border:2px solid rgba(255,255,255,.65); background:#17191d; overflow:hidden; }.freeze-court .net{top:15%}.freeze-court .attack-line{top:43.3%;bottom:auto}
.freeze-three-label{position:absolute;left:1%;top:44%;color:rgba(255,255,255,.45);font-size:clamp(6px,.48vw,9px);font-weight:900;letter-spacing:.08em}
.ff-player { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); display:grid; place-items:center; width:8.5%; aspect-ratio:1; border-radius:50%; background:#4a4d53;color:#fff;font-weight:900;font-size:clamp(8px,.66vw,13px);transition:1s cubic-bezier(.2,.8,.2,1);z-index:5}.ff-player small{position:absolute;top:104%;white-space:nowrap;color:#bfc0c3;font-size:clamp(6px,.48vw,9px)}.ball-player{background:var(--teal);color:#fff}.ball-player i{position:absolute;right:-30%;top:-22%;color:#fff;font-style:normal;text-shadow:0 0 12px #fff}
.opponent-attacker{position:absolute;left:84%;top:8%;display:grid;place-items:center;width:6.5%;aspect-ratio:1;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;z-index:6}.situation-label{position:absolute;z-index:7;padding:.55% .8%;background:#0c0d0f;color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900;letter-spacing:.08em}.opponent-call{left:45%;top:4%}.block-call{right:4%;top:20%;color:#ff6a70}
.defense-path,.set-path{position:absolute;height:3px;transform-origin:left;z-index:2}.defense-path{left:84%;top:15%;width:72%;background:var(--teal);transform:rotate(153deg)}.set-path{left:21%;top:70%;width:55%;background:repeating-linear-gradient(90deg,#fff 0 8px,transparent 8px 14px);transform:rotate(-33deg)}.defense-path::after,.set-path::after{content:"";position:absolute;right:-2px;top:50%;border:6px solid transparent;border-left-color:currentColor;transform:translate(90%,-50%);color:inherit}.defense-path{color:var(--teal)}.set-path{color:#fff}.set-target{position:absolute;right:27%;top:18%;padding:.6% 1%;border:1px dashed #fff;color:#fff;font-size:clamp(7px,.55vw,11px);font-weight:900}
.solution { opacity:0; position:absolute; padding:.7% 1%; border:1px dashed var(--teal); background:rgba(9,10,12,.86); color:#fff; font-size:clamp(7px,.56vw,11px);font-weight:900;transition:.4s .5s;z-index:8}.route-left{left:3%;top:18%}.route-mid{left:34%;top:18%}.route-right{right:2%;top:18%}
.freeze-frame.revealed .m4{--x:15%!important;--y:25%!important}.freeze-frame.revealed .m3{--x:45%!important;--y:24%!important}.freeze-frame.revealed .m2{--x:78%!important;--y:25%!important}.freeze-frame.revealed .m5{--x:47%!important;--y:49%!important}.freeze-frame.revealed .m1{--x:66%!important;--y:24%!important}.freeze-frame.revealed .ml{--x:28%!important;--y:60%!important}.freeze-frame.revealed .solution{opacity:1}.freeze-frame.revealed .block-call{opacity:.28}
.situation-copy{color:#c7c8ca;font-size:clamp(11px,.96vw,18px)}
.freeze-copy .question { font-size:clamp(16px,1.55vw,30px);color:var(--ink); }.freeze-copy .question strong{color:var(--teal)}
.reveal-button { cursor:pointer;border:0;padding:4% 6%;background:var(--orange);color:var(--navy);font-weight:900;font-size:clamp(11px,1vw,19px);}.reveal-button:hover{filter:brightness(1.08)}
.reveal-answer{display:none;padding-left:1.2em;color:#c6d7d9;font-size:clamp(11px,.95vw,18px);line-height:1.55}.revealed .reveal-answer{display:block}.revealed .reveal-button{background:transparent;color:var(--orange);padding-left:0}

/* Visible block phase followed by animated transition routes */
.transition-frame{display:grid;grid-template-columns:1.3fr .7fr;gap:4%;align-items:center}.transition-court{position:relative;aspect-ratio:1.7;border:2px solid rgba(255,255,255,.65);background:#17191d;overflow:hidden}.transition-net{position:absolute;left:0;right:0;top:14.9%;height:1.2%;z-index:8;background:repeating-linear-gradient(90deg,#f2f2f2 0 5px,transparent 5px 10px)}.transition-three-line{position:absolute;left:0;right:0;top:43.3%;height:1px;z-index:3;background:rgba(255,255,255,.38)}.transition-three-line span{position:absolute;left:1%;top:.4em;color:rgba(255,255,255,.5);font-size:clamp(6px,.48vw,9px);font-weight:900;letter-spacing:.08em}.phase-tag{position:absolute;z-index:10;padding:.55% .8%;background:#0b0c0e;color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900;letter-spacing:.08em;transition:.35s}.phase-defense{left:2%;top:18%;border-left:3px solid #fff}.phase-attack{right:2%;top:48%;border-left:3px solid var(--teal);opacity:.18}.transition-opponent{position:absolute;left:85%;top:7%;transform:translate(-50%,-50%);z-index:12;display:grid;place-items:center;width:7%;aspect-ratio:1;border-radius:50%;background:var(--teal);color:#fff;font-weight:900}.transition-opponent small{position:absolute;top:-2.1em;right:0;width:11em;color:#fff;font-size:clamp(6px,.48vw,9px);text-align:right;white-space:nowrap}.visible-double-block{position:absolute;left:73.5%;top:16%;z-index:11;display:flex;gap:4px}.visible-double-block span{display:grid;place-items:center;width:3.25vw;max-width:52px;aspect-ratio:1.35;border:2px solid #fff;background:var(--teal);color:#fff;font-size:clamp(7px,.58vw,11px);font-weight:900}.visible-double-block small{position:absolute;left:50%;top:112%;transform:translateX(-50%);width:13em;color:#fff;font-size:clamp(6px,.48vw,9px);font-weight:900;text-align:center;white-space:nowrap}.transition-player{position:absolute;z-index:9;display:grid;place-items:center;width:7.5%;aspect-ratio:1;border-radius:50%;background:#55585e;color:#fff;font-size:clamp(7px,.6vw,12px);font-weight:900}.transition-player small{position:absolute;top:106%;left:50%;transform:translateX(-50%);color:#c7c8cb;font-size:clamp(6px,.47vw,9px);white-space:nowrap}.transition-player i{position:absolute;right:-29%;top:-20%;color:#fff;font-style:normal;text-shadow:0 0 10px #fff}.tp-pl{left:14%;top:32%}.tp-l{left:20%;top:69%;background:var(--teal)}.tp-pla{left:50%;top:76%}.tp-sv{left:85%;top:76%}.transition-set-zone{position:absolute;left:68%;top:21%;z-index:9;padding:.5% .8%;border:1px dashed #fff;color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900}.transition-svg{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.incoming-attack,.transition-pass,.route-line{fill:none;vector-effect:non-scaling-stroke}.incoming-attack{stroke:var(--teal);stroke-width:3}.transition-pass{stroke:#fff;stroke-width:2.5;stroke-dasharray:9 7;animation:route-flow 1.25s linear infinite}.transition-svg marker path{fill:#fff}.attack-routes{opacity:0;transition:opacity .5s}.route-line{stroke-width:3.2;stroke-dasharray:9 7;animation:route-flow 1.35s linear infinite}.route-pl-transition,.route-pipe-transition{stroke:var(--teal)}.route-m-transition{stroke:#fff}.route-d-transition{stroke:#9fa1a7}.route-sv-transition{stroke:#ff858a}.transition-runner{stroke:none}.runner-pl,.runner-pipe{fill:var(--teal)}.runner-m{fill:#fff}.runner-d{fill:#9fa1a7}.runner-sv{fill:#ff858a}.route-label{position:absolute;z-index:10;padding:.45% .65%;border:1px dashed var(--teal);background:rgba(8,9,11,.9);color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900;opacity:0;transition:.4s .15s}.rl-left{left:2%;top:18%}.rl-middle{left:43%;top:17%}.rl-right{right:2%;top:18%}.rl-pipe{left:47%;top:47%}.transition-copy{display:grid;gap:1vw}.phase-explanation{padding:5% 0 5% 6%;border-left:4px solid #fff;border-bottom:1px solid var(--line)}.phase-explanation.attack-explanation{border-left-color:var(--teal);opacity:.42;transition:.35s}.phase-explanation small{display:block;margin-bottom:.4em;color:var(--muted);font-size:clamp(8px,.64vw,12px);font-weight:900;letter-spacing:.1em}.phase-explanation b{display:block;color:#fff;font-size:clamp(13px,1.04vw,20px)}.phase-explanation p{margin:.45em 0 0;color:var(--muted);font-size:clamp(9px,.74vw,14px)}.transition-copy .reveal-button{justify-self:start;padding:4% 7%}.transition-frame.revealed .attack-routes,.transition-frame.revealed .route-label{opacity:1}.transition-frame.revealed .phase-attack{opacity:1}.transition-frame.revealed .phase-defense{opacity:.3}.transition-frame.revealed .attack-explanation{opacity:1}.transition-frame.revealed .incoming-attack{opacity:.2}.transition-frame.revealed .transition-pass{stroke:rgba(255,255,255,.6)}

/* OOS */
.traffic-system { display:grid;grid-template-columns:repeat(3,1fr);gap:2%;margin-top:4%; }.traffic{display:flex;gap:7%;padding:8% 7%;min-height:18vw;background:rgba(255,255,255,.035);border-top:4px solid}.traffic>span{flex:0 0 1.25vw;height:1.25vw;border-radius:50%;box-shadow:0 0 18px currentColor}.traffic small{font-size:clamp(9px,.75vw,14px);font-weight:900;letter-spacing:.14em}.traffic h3{margin:.7em 0}.traffic p{color:var(--muted)}.traffic.green{color:#42c47c;border-color:#42c47c}.traffic.amber{color:#ffb84a;border-color:#ffb84a}.traffic.red{color:var(--teal);border-color:var(--teal)}.traffic.green p,.traffic.amber p,.traffic.red p{color:#c4c5c8}
.oos-rule{display:flex;justify-content:center;gap:1.4em;margin-top:4%;font-size:clamp(13px,1.25vw,24px)}.oos-rule b{color:var(--orange)}.oos-rule span{color:var(--muted)}

/* Attack approaches */
.approach-logic{display:grid;grid-template-columns:1.15fr .85fr;gap:5%;align-items:center}.approach-court{position:relative;aspect-ratio:1.72;border:2px solid rgba(255,255,255,.55);background:#17191d;overflow:hidden}.mini-net{position:absolute;left:0;right:0;top:17%;height:3px;background:rgba(255,255,255,.65)}.dot{position:absolute;z-index:3;display:grid;place-items:center;width:9%;aspect-ratio:1;border-radius:50%;font-size:clamp(7px,.6vw,12px);font-weight:900;background:var(--teal);color:#fff}.dot.middle{left:46%;bottom:7%}.dot.outside{left:12%;bottom:7%}.dot.setter{left:59%;top:25%;background:#fff;color:#111}.dot.opposite{right:10%;bottom:7%;background:#8e9095;color:#fff}
.approach-court svg{position:absolute;inset:0;width:100%;height:100%}.route{fill:none;stroke-width:5;stroke-dasharray:10 7;animation:route-flow 1.7s linear infinite}.route-pl{stroke:var(--teal)}.route-m{stroke:#fff}.route-d{stroke:#91939a}.approach-caption{position:absolute;left:4%;right:4%;bottom:3%;display:flex;justify-content:space-between;color:#aaa;font-size:clamp(8px,.64vw,12px)}.approach-caption strong{color:#fff}
.optical-list{display:grid;gap:.8vw}.optical-list article{display:grid;grid-template-columns:8.5em 1fr;align-items:start;gap:1em;padding:3.2% 0;border-bottom:1px solid var(--line)}.optical-list b{color:var(--teal);font-size:clamp(10px,.82vw,16px)}.optical-list p{margin:0;font-size:clamp(10px,.84vw,16px);color:#c0c1c4}
.combo-library{display:grid;grid-template-columns:1fr 1fr;gap:1.15vw 4%;margin-top:2.4%}.combo-library article{display:grid;grid-template-columns:17% 1fr;gap:4%;align-items:center;padding:2.4% 0;border-bottom:1px solid var(--line)}.combo-library h3{margin:0 0 .35em;font-size:clamp(13px,1.12vw,22px)}.combo-library p{margin:0;color:var(--muted);font-size:clamp(9px,.76vw,15px)}
.combo-icon{position:relative;height:4.2vw;min-height:38px;border-top:2px solid #fff}.combo-icon i{position:absolute;display:block;bottom:0;width:3px;height:82%;background:var(--teal);transform-origin:bottom}.combo-icon.spread i:nth-child(1){left:14%;transform:rotate(-22deg)}.combo-icon.spread i:nth-child(2){left:50%}.combo-icon.spread i:nth-child(3){right:14%;transform:rotate(22deg)}.combo-icon.cross i:nth-child(1){left:30%;transform:rotate(20deg)}.combo-icon.cross i:nth-child(2){right:30%;transform:rotate(-28deg);background:#fff}.combo-icon.cross.back i:nth-child(1){left:45%;transform:none}.combo-icon.cross.back i:nth-child(2){right:22%;transform:rotate(-28deg)}.combo-icon.tandem i:nth-child(1){left:44%;height:90%}.combo-icon.tandem i:nth-child(2){left:54%;height:70%;background:#fff}.combo-icon.overload i:nth-child(1){left:18%;transform:rotate(-18deg)}.combo-icon.overload i:nth-child(2){left:36%;transform:rotate(-8deg);background:#fff}.combo-icon.overload i:nth-child(3){right:10%;transform:rotate(20deg);background:#8e9095}.combo-icon.pipe i:nth-child(1){left:45%;height:90%}.combo-icon.pipe i:nth-child(2){left:55%;height:57%;background:#fff}
.combo-rule{display:flex;align-items:center;gap:1.4em;margin-top:1.4%;padding:.9% 1.4%;background:var(--teal);color:#fff;font-size:clamp(10px,.88vw,17px)}.combo-rule b{white-space:nowrap}.combo-rule span{font-weight:650}
@keyframes route-flow{to{stroke-dashoffset:-68}}

/* Animated combination courts */
.combo-court-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1vw 4%;margin-top:2.2%}.combo-court-grid article{display:grid;grid-template-columns:43% 1fr;grid-template-rows:auto 1fr;gap:.5em 4%;padding:2% 0;border-bottom:1px solid var(--line)}.combo-court-grid h3{grid-column:2;margin:.2em 0 0;font-size:clamp(13px,1.1vw,21px)}.combo-court-grid p{grid-column:2;margin:0;color:var(--muted);font-size:clamp(9px,.74vw,14px)}.mini-play-court{position:relative;grid-column:1;grid-row:1/3;aspect-ratio:1.7;border:1px solid rgba(255,255,255,.45);background:#191b1f;overflow:hidden}.mini-play-court .mini-net{top:10%}.mini-three-line{position:absolute;left:0;right:0;top:39%;height:1px;background:rgba(255,255,255,.28)}.mini-play-court svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.moving-route{fill:none;stroke-width:4;stroke-dasharray:8 6;animation:route-flow 1.4s linear infinite}.red-route{stroke:var(--teal)}.white-route{stroke:#fff}.grey-route{stroke:#8e9095}.runner{stroke:none}.red-runner{fill:var(--teal)}.white-runner{fill:#fff}.grey-runner{fill:#8e9095}.mini-setter{position:absolute;right:28%;top:15%;z-index:4;display:grid;place-items:center;width:11%;aspect-ratio:1;border-radius:50%;background:#fff;color:#111;font-size:clamp(6px,.48vw,9px);font-weight:900}.start{position:absolute;bottom:2%;z-index:4;color:#fff;font-size:clamp(6px,.5vw,10px);font-weight:900}.pl-start{left:12%}.m-start{left:46%}.m-cross-start{left:42%}.d-start{right:9%}

/* Tandem versus pipe */
.timing-compare{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:1.8%}.timing-compare article{padding:1.5% 2.4% 2%;border-top:5px solid var(--teal);background:rgba(255,255,255,.035)}.timing-compare article:last-child{border-top-color:#fff}.timing-compare h3{margin:.1em 0 .5em;font-size:clamp(17px,1.5vw,29px)}.timing-compare p{margin:1.8% 0 0;color:var(--muted);font-size:clamp(10px,.84vw,16px)}.timing-compare p b{color:#fff}.timing-court{position:relative;aspect-ratio:1.75;border:1px solid rgba(255,255,255,.48);background:#191b1f;overflow:hidden}.timing-court .mini-net{top:8%}.timing-court .mini-setter{right:24%;top:12%;width:9%}.timing-court svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.three-meter-line{position:absolute;left:0;right:0;top:42%;height:2px;background:#fff;z-index:3}.three-meter-line span{position:absolute;left:1%;top:.4em;color:#fff;font-size:clamp(7px,.55vw,10px);font-weight:900}.timing-start{position:absolute;bottom:3%;z-index:4;color:#fff;font-size:clamp(7px,.58vw,11px);font-weight:900}.timing-start.first{left:40%}.timing-start.second{left:16%;color:var(--teal)}.timing-start.pipe-start{left:52%;color:var(--teal)}.attack-window{position:absolute;left:36%;top:10%;z-index:4;padding:1%;border:1px dashed var(--teal);color:#fff;text-align:center;font-size:clamp(6px,.5vw,10px);font-weight:800}.attack-window.deeper{left:47%;top:48%}

/* Training */
.training-ratio{display:grid;grid-template-columns:7fr 2fr 1.25fr;height:17vw;margin-top:4%;overflow:hidden}.training-ratio>div{display:flex;flex-direction:column;justify-content:flex-end;padding:3%;border-right:3px solid var(--navy);}.training-ratio strong{font-size:clamp(20px,2.8vw,53px);line-height:1}.training-ratio span{margin-top:.7em;font-size:clamp(9px,.84vw,16px);font-weight:700}.ratio-main{background:var(--teal);color:#fff}.ratio-mid{background:#f7f7f7;color:#111}.ratio-small{background:#3c3e44;color:var(--ink)}
.session-line{display:flex;align-items:center;justify-content:center;gap:1.2em;margin-top:4%;font-size:clamp(12px,1.2vw,23px);color:var(--muted)}.session-line i{color:var(--orange);font-style:normal}.session-line strong{color:var(--teal)}
.training-note{max-width:80%;margin:3% auto 0;text-align:center;color:#c8c8cb}

/* Season */
.season-road{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4%;margin-top:7%;}.phase{position:relative;min-height:18vw;padding:13% 9% 8%;border-top:5px solid var(--teal);background:rgba(255,255,255,.04)}.phase::after{content:"";position:absolute;top:-5px;right:-7%;width:14%;height:5px;background:var(--teal)}.phase:nth-child(4)::after{display:none}.phase small{color:var(--teal);font-weight:900;letter-spacing:.1em}.phase h3{margin:1.1em 0 .7em}.phase p{font-size:clamp(10px,.86vw,16px);color:var(--muted)}.phase:nth-child(n+3){border-top-color:#fff}.phase:nth-child(n+3) small{color:#fff}
.christmas-reset{position:absolute;left:50%;top:-3.1vw;bottom:-.2vw;width:2px;background:var(--teal);transform:translateX(-50%);z-index:4}.christmas-reset b{position:absolute;top:0;left:50%;transform:translate(-50%,-30%);padding:.55em .8em;background:var(--teal);color:#fff;white-space:nowrap;font-size:clamp(9px,.72vw,14px);letter-spacing:.08em}.christmas-reset span{position:absolute;left:50%;bottom:-2.4em;transform:translateX(-50%);width:24vw;text-align:center;color:#d0d0d2;font-size:clamp(8px,.63vw,12px)}
.road-caption{display:flex;align-items:center;gap:2%;margin-top:3%;color:var(--muted);font-size:clamp(10px,.85vw,16px)}.road-caption div{flex:1;height:2px;background:linear-gradient(90deg,var(--teal),var(--orange),var(--teal))}

/* Impact tally */
.impact-board{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:3%}.impact-column{padding:3% 4%;border-top:5px solid;background:rgba(255,255,255,.035)}.impact-column h3{margin-bottom:3%;font-size:clamp(16px,1.45vw,28px)}.impact-column p{display:grid;grid-template-columns:9.5em 1fr;gap:1em;margin:0;padding:3% 0;border-bottom:1px solid var(--line);font-size:clamp(9px,.79vw,15px)}.impact-column p:last-child{border-bottom:0}.impact-column b{color:#fff}.impact-column span{color:var(--muted)}.positive-impact{border-color:var(--teal)}.positive-impact h3{color:#ff5d64}.negative-impact{border-color:#fff}.negative-impact h3{color:#fff}
.category-impact{display:grid;grid-template-columns:1fr 1fr;gap:1.2vw 4%;margin-top:2.5%}.category-impact article{display:grid;grid-template-columns:9.5em 1fr 1fr;gap:1.1em;align-items:center;padding:2.2% 2.5%;border-top:4px solid var(--teal);background:rgba(255,255,255,.035)}.category-impact h3{margin:0;font-size:clamp(12px,1.06vw,20px)}.category-impact p{display:grid;grid-template-columns:1.4em 1fr;gap:.55em;margin:0;font-size:clamp(8px,.7vw,13px);line-height:1.35}.category-impact p b{font-size:1.45em}.category-impact p span{color:var(--muted)}.category-impact .plus b{color:var(--teal)}.category-impact .minus b{color:#fff}
.tally-rule{display:flex;align-items:center;gap:1.4em;margin-top:2.5%;padding:1.2% 1.5%;border:1px solid rgba(255,255,255,.35);font-size:clamp(10px,.85vw,16px)}.tally-rule b{color:var(--teal);font-size:1.12em}.tally-rule span{color:#cacacd}.tally-rule strong{color:#fff}

/* Encounters */
.encounter-flow{display:grid;grid-template-columns:1fr 8% 1fr;gap:2%;align-items:stretch;margin-top:3.5%}.encounter-flow article{padding:5% 6%;min-height:21vw;background:rgba(255,255,255,.035);border-top:5px solid var(--teal)}.encounter-flow .verify-side{border-top-color:#fff}.encounter-flow small{display:block;margin-bottom:3%;color:var(--teal);font-size:clamp(9px,.72vw,14px);font-weight:900;letter-spacing:.11em}.encounter-flow .verify-side small{color:#fff}.encounter-flow h3{margin:1em 0}.encounter-flow p{display:grid;grid-template-columns:7em 1fr;gap:1em;margin:0;padding:2.2% 0;border-bottom:1px solid var(--line);font-size:clamp(9px,.77vw,15px)}.encounter-flow p:last-child{border-bottom:0}.encounter-flow b{color:#fff}.encounter-flow span{color:var(--muted)}.encounter-arrow{display:grid;place-items:center;color:var(--teal);font-size:clamp(24px,3vw,58px)}.encounter-rule{display:flex;justify-content:center;gap:1em;margin-top:2.4%;font-size:clamp(11px,.98vw,19px)}.encounter-rule b{color:var(--teal)}.encounter-rule span{color:#d1d1d3}

/* Closing */
.closing-slide{display:none;padding-top:9%;text-align:center}.closing-slide.active{display:block}.closing-slide h2{font-size:clamp(34px,4.5vw,85px)}.commitments{display:grid;grid-template-columns:repeat(3,1fr);gap:2%;margin:6% auto 0;max-width:82%}.commitments div{padding:5%;border-top:3px solid var(--teal);background:rgba(255,255,255,.035)}.commitments small{display:block;color:var(--muted);font-weight:900;letter-spacing:.12em}.commitments strong{display:block;margin-top:.7em;font-size:clamp(15px,1.45vw,28px)}.final-question{margin:5% auto 0;padding:2%;max-width:78%;border:1px solid var(--orange);color:var(--orange);font-size:clamp(15px,1.45vw,28px);font-weight:800}

/* Controls */
.deck-controls{position:fixed;left:50%;bottom:1.5vh;transform:translateX(-50%);display:flex;align-items:center;gap:.55em;padding:.4em .55em;background:rgba(2,9,14,.86);border:1px solid rgba(255,255,255,.12);border-radius:999px;backdrop-filter:blur(12px);z-index:100;opacity:.36;transition:.2s}.deck-controls:hover{opacity:1}.deck-controls button{cursor:pointer;width:2.2em;height:2.2em;border:0;border-radius:50%;background:transparent;color:var(--ink);font-weight:900}.deck-controls button:hover{background:rgba(255,255,255,.1)}.deck-controls button:disabled{opacity:.2;cursor:default}.deck-controls span{min-width:4.6em;text-align:center;color:var(--muted);font-size:12px}.progress{width:11vw;min-width:70px;height:3px;background:rgba(255,255,255,.13);overflow:hidden}.progress i{display:block;height:100%;width:7.14%;background:var(--teal);transition:.3s}

/* One presentation, two tactical views */
.dual-view{position:relative;min-width:0;width:100%}.view-mode-3d .dual-view>.view-2d{display:none}.view-mode-2d .dual-view>.view-3d{display:none}.view-mode-3d .dual-view>.view-3d,.view-mode-2d .dual-view>.view-2d{display:block}
.integrated-3d-stage{position:relative;width:100%;height:100%;overflow:hidden;border:2px solid rgba(255,255,255,.48);background:radial-gradient(circle at 50% 20%,#262026,#08090b 72%);box-shadow:inset 0 0 0 1px rgba(223,32,41,.16),0 18px 45px rgba(0,0,0,.24)}
.integrated-3d-stage::before{content:"3D";position:absolute;left:1.2%;top:1.8%;z-index:4;padding:.35em .55em;background:var(--teal);color:#fff;font-size:clamp(7px,.55vw,11px);font-weight:950;letter-spacing:.12em}
.integrated-3d-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none}.integrated-3d-stage canvas:active{cursor:grabbing}
.scene-status{position:absolute;left:50%;top:2%;transform:translateX(-50%);z-index:4;padding:.42em .75em;background:rgba(7,8,10,.88);border-left:3px solid var(--teal);color:#fff;font-size:clamp(7px,.58vw,11px);font-weight:900;letter-spacing:.08em;white-space:nowrap}.camera-hint{position:absolute;right:1.2%;bottom:1.7%;z-index:4;color:rgba(255,255,255,.56);font-size:clamp(6px,.49vw,10px);font-weight:850;letter-spacing:.08em}
.title-visual-dual{position:absolute;right:2.5%;top:25%;width:52%;aspect-ratio:1.55}.title-visual-dual>.view-2d,.title-visual-dual>.view-3d{height:100%}.title-visual-dual .hero-court{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.view-mode-3d .chain-dual{margin-top:2.4%;aspect-ratio:3.1}.view-mode-3d .service-dual{aspect-ratio:1.6}.view-mode-3d .quality-dual{margin-top:2%;aspect-ratio:2.75}.view-mode-3d .block-dual{aspect-ratio:1.25}.view-mode-3d .transition-dual{aspect-ratio:1.7}.view-mode-3d .approach-dual{aspect-ratio:1.72}.view-mode-3d .combo-dual{margin-top:1.6%;aspect-ratio:2.65}.view-mode-3d .timing-dual{aspect-ratio:1.75}
.view-mode-2d .dual-view:not(.title-visual-dual){aspect-ratio:auto}.view-mode-2d .title-visual-dual{top:30%;width:48%;aspect-ratio:2}.view-mode-2d .title-visual-dual .hero-court{transform:rotate(-4deg)}
.view-mode-3d .transition-copy .reveal-button{display:none}.view-mode-3d .transition-copy .reveal-answer{display:block;margin:0;padding-left:1.2em;font-size:clamp(9px,.73vw,14px)}.view-mode-3d .transition-copy .attack-explanation{opacity:1}
.deck-controls .view-mode-switch{display:flex;align-items:center;gap:.2em;width:auto;min-width:5.7em;padding:.24em;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.045)}.deck-controls .view-mode-switch:hover{background:rgba(255,255,255,.08)}.deck-controls .view-mode-switch span{display:grid;place-items:center;min-width:2.35em;height:1.72em;border-radius:999px;color:var(--muted);font-size:10px;font-weight:950;transition:.2s}.view-mode-3d .view-mode-switch [data-mode="3d"],.view-mode-2d .view-mode-switch [data-mode="2d"]{background:var(--teal);color:#fff}.view-mode-3d .view-mode-switch [data-mode="2d"],.view-mode-2d .view-mode-switch [data-mode="3d"]{background:transparent;color:var(--muted)}

.st-body{top:28%}

@media (max-aspect-ratio: 4/3) {
  .deck { width: 100vw; height: 56.25vw; }
}

@media print {
  html,body{overflow:visible;background:#fff}.deck{width:100%;height:auto;box-shadow:none}.slide{position:relative;display:block!important;width:13.333in;height:7.5in;break-after:page}.deck-controls{display:none}.fragment{opacity:1;transform:none}.notes{display:none!important}
}
