:root{--wii-font: "Rounded Mplus 1c", "Trebuchet MS", "Nunito", "Varela Round", "Arial Rounded MT Bold", system-ui, -apple-system, sans-serif;--wii-cyan: #25a8f5;--wii-cyan-Light: #7be0ff;--wii-cyan-dark: #006cc4;--wii-yellow: #ffea28;--wii-gold-dark: #d98c00;--wii-green: #58b828;--wii-green-dark: #2c7a12;--wii-hud-bg: rgba(16, 20, 26, .84);--wii-hud-border: rgba(235, 244, 255, .68)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background:#4fa6ff;font-family:var(--wii-font);color:#fff}html.autoplay-mode #title-modal{display:none!important;opacity:0!important;pointer-events:none!important}.hidden,#btn-phone-racket,#btn-multiplayer-modal{display:none!important}#canvas-container{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;background:linear-gradient(180deg,#56abff,#9fd4ff 48%,#55a224 50%,#468a1c)}#game-canvas{display:block;width:100%;height:100%;cursor:crosshair}#hud-root{position:fixed;inset:0;z-index:10;pointer-events:none}#top-hud-bar{position:absolute;top:14px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.wii-games-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:linear-gradient(180deg,#303842e0,#101419e6 55%,#0a0c10f0);border:2px solid rgba(230,238,248,.72);box-shadow:0 3px 10px #00000073,inset 0 1px 1px #ffffff73}.game-bubble{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3c444ee6,#0e1216f2);border:2px solid rgba(220,230,242,.8);box-shadow:inset 0 2px 4px #000000b3;transition:transform .25s cubic-bezier(.2,1.3,.4,1),background .25s ease}.game-bubble.won{background:radial-gradient(circle at 32% 30%,#ffff7a,#dfff00 55%,#99b800);border-color:#fff;box-shadow:0 0 8px #dfff00cc,inset 0 -2px 3px #64780099;transform:scale(1.08)}.wii-scoreboard-pill{display:inline-flex;align-items:center;justify-content:space-between;min-width:404px;height:56px;padding:0 12px;border-radius:999px;background:linear-gradient(180deg,#404852e6,#1c2128eb 46%,#0e1116f2 52%,#161a20ed);border:2.5px solid rgba(235,242,250,.82);box-shadow:0 5px 16px #00000080,inset 0 2px 2px #ffffff6b,inset 0 -2px 4px #0009}.mii-side{display:flex;align-items:center;gap:5px}.mii-avatar-badge{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;filter:drop-shadow(0 2px 4px rgba(0,0,0,.48))}.mii-avatar-badge.secondary-mii{width:42px;height:42px;opacity:.98}.mii-avatar-badge.player-tint{background:radial-gradient(circle at 50% 52%,#ff66449e,#eb321c24 72%,#ff3c1e00)}.mii-avatar-badge.opponent-tint{background:radial-gradient(circle at 50% 52%,#588eff99,#2b5cff24 72%,#2b5cff00)}.mii-avatar-badge canvas,.mii-avatar-badge .wii-mii-svg{width:100%;height:100%;display:block}canvas.mii-canvas-backed{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.mii-avatar-badge.opponent-ready{box-shadow:0 0 0 2.5px #4ade80,0 0 10px #4ade80b3}.opponent-presence-pill{position:absolute;top:72px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;background:#10161ed1;border:1.5px solid rgba(255,255,255,.28);box-shadow:0 4px 12px #00000059;font-size:12.5px;font-weight:700;letter-spacing:.01em;color:#f0f6ffeb;backdrop-filter:blur(6px);transition:all .25s ease;pointer-events:none}.opponent-presence-pill.ready{background:#0c2416e0;border-color:#4ade80ad;color:#dcffe8;box-shadow:0 4px 14px #22c55e47}.opponent-presence-pill.just-joined{animation:presenceJoinPop .75s cubic-bezier(.2,1.35,.4,1)}.opponent-presence-pill.in-rally{opacity:.55;transform:translate(-50%) scale(.92)}.presence-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px #fbbf24cc;animation:presenceWaitPulse 1.6s infinite ease-in-out}.opponent-presence-pill.ready .presence-dot{background:#4ade80;box-shadow:0 0 8px #4ade80;animation:none}@keyframes presenceWaitPulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes presenceJoinPop{0%{transform:translate(-50%) scale(.86)}45%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.score-center-display{display:flex;align-items:center;justify-content:center;gap:10px;min-width:165px;padding:0 12px;font-size:31px;font-weight:900;letter-spacing:.03em;color:#fff;text-shadow:0 2px 0 #0b0e12,0 -1px 0 #0b0e12,2px 0 0 #0b0e12,-2px 0 0 #0b0e12,0 3px 6px rgba(0,0,0,.75)}.score-center-display.deuce-mode{font-size:27px;color:#fff35c}.score-dash{opacity:.9;font-weight:800}#world-labels-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.wii-server-tag{position:absolute;left:50%;top:56%;transform:translate(-50%,-100%);padding:3px 18px 4px;border-radius:5px;background:linear-gradient(180deg,#fff854,#ffea19 55%,#edd000);border:2px solid #332b00;box-shadow:0 3px 8px #0000006b,inset 0 1px #ffffffbf;z-index:12;will-change:left,top}.wii-server-tag:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border-width:7px 6px 0 6px;border-style:solid;border-color:#332b00 transparent transparent transparent}.server-tag-text{display:block;font-size:19px;font-weight:900;line-height:1.05;letter-spacing:.02em;color:#1c1700;text-shadow:0 1px 0 rgba(255,255,255,.65)}.wii-court-nameplate{position:absolute;left:50%;top:78%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:3px 12px 3px 5px;border-radius:999px;background:linear-gradient(180deg,#2094f5eb,#0c62c4f2);border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 10px #00000073}.wii-court-nameplate canvas,.wii-court-nameplate .wii-mii-svg{width:34px;height:34px;border-radius:50%;background:#fff3;flex-shrink:0;display:block}.plate-info{display:flex;flex-direction:column;line-height:1.05}.plate-name{font-size:13px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.plate-skill{font-size:10px;font-weight:800;color:#e2f4ff}.wii-timing-popup{position:absolute;left:50%;top:52%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;padding:5px 14px;border-radius:10px;background:#0e1218d6;border:2px solid rgba(255,255,255,.78);box-shadow:0 4px 12px #00000080;animation:popupFloat .22s ease-out;z-index:15}@keyframes popupFloat{0%{opacity:0;transform:translate(-50%,-70%) scale(.85)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.timing-grade{font-size:15px;font-weight:900;letter-spacing:.05em;color:#ffea28;text-shadow:0 1px 2px rgba(0,0,0,.9)}.timing-grade.grade-early{color:#5ee6ff}.timing-grade.grade-perfect{color:#ffea28}.timing-grade.grade-late{color:#ff9c42}.timing-detail{font-size:11px;font-weight:800;color:#fff;opacity:.95}.center-banner-layer{position:absolute;left:0;right:0;top:43%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:20}.center-banner-streak{position:absolute;left:10%;right:10%;height:76px;background:radial-gradient(ellipse 55% 50% at 50% 50%,#fffff047,#fff8c81f 55%,#fff0);border:none;z-index:-1}.center-banner-text{font-size:clamp(50px,6.4vw,78px);font-weight:900;letter-spacing:.02em;line-height:1.05;text-align:center;padding:4px 28px;animation:bannerPopIn .26s cubic-bezier(.2,1.35,.4,1)}@keyframes bannerPopIn{0%{opacity:0;transform:scale(.76)}to{opacity:1;transform:scale(1)}}.center-banner-text.style-gold{color:#ffea19;background:linear-gradient(180deg,#ffff6b,#ffdf14 52%,#e09600);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #261a00) drop-shadow(0 -2px 0 #261a00) drop-shadow(3px 0 0 #261a00) drop-shadow(-3px 0 0 #261a00) drop-shadow(0 6px 12px rgba(0,0,0,.55))}.center-banner-text.style-start{color:#29a9f8;background:linear-gradient(180deg,#8ae4ff,#24a4f5,#0062bd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #ffffff) drop-shadow(0 -3px 0 #ffffff) drop-shadow(3px 0 0 #ffffff) drop-shadow(-3px 0 0 #ffffff) drop-shadow(0 6px 14px rgba(0,35,75,.65))}.center-banner-text.style-score{color:#fff;background:linear-gradient(180deg,#fff,#e4f3ff 55%,#a8d4ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #122030) drop-shadow(0 -2px 0 #122030) drop-shadow(3px 0 0 #122030) drop-shadow(-3px 0 0 #122030) drop-shadow(0 6px 14px rgba(0,0,0,.55))}.center-banner-text.style-fault{color:#ff6e40;background:linear-gradient(180deg,#ffd180,#ff6e40 55%,#c62828);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #260800) drop-shadow(0 -2px 0 #260800) drop-shadow(3px 0 0 #260800) drop-shadow(-3px 0 0 #260800) drop-shadow(0 6px 14px rgba(0,0,0,.55))}.center-banner-sub{margin-top:4px;padding:3px 16px;border-radius:999px;background:#0e1218cc;border:1.5px solid rgba(255,255,255,.65);font-size:15px;font-weight:800;color:#fff88c;text-shadow:0 1px 2px rgba(0,0,0,.8)}.wii-replay-badge{position:absolute;bottom:24px;left:22px;display:inline-flex;align-items:center;gap:10px;padding:6px 26px 6px 14px;border-radius:6px;background:linear-gradient(90deg,#161a1eeb,#161a1ed1 72%,#161a1e26);border-left:3px solid #ffca28;box-shadow:0 3px 10px #00000073;z-index:18}.replay-dots{display:inline-flex;align-items:center;gap:4px}.replay-dots .dot{width:7px;height:7px;border-radius:50%;background:#ffca28;box-shadow:0 0 5px #ffca28d9;animation:replayDotPulse 1.05s infinite ease-in-out}.replay-dots .dot-2{animation-delay:.18s;background:#ffd95a}.replay-dots .dot-3{animation-delay:.36s;background:#fff176}@keyframes replayDotPulse{0%,to{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.18)}}.replay-label{font-size:20px;font-weight:900;letter-spacing:.03em;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.85)}.hud-corner-dock{position:absolute;bottom:14px;display:flex;flex-direction:column;gap:6px;pointer-events:auto;z-index:14}.bottom-left-dock{position:fixed;left:18px;bottom:14px}body.replay-mode .bottom-left-dock{bottom:66px;opacity:.72}.bottom-right-dock{right:18px;align-items:flex-end}html[data-url-state=serve] .hud-corner-dock,html[data-url-state=gamepoint] .hud-corner-dock,html[data-url-state=replay] .hud-corner-dock{opacity:0;pointer-events:none}.dock-pill-row{display:flex;align-items:center;gap:6px}.hud-mini-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#10141ac7;border:1.5px solid rgba(230,240,255,.55);color:#fff;font-family:var(--wii-font);font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 2px 8px #00000059;transition:background .15s ease,transform .12s ease,border-color .15s ease}.hud-mini-btn:hover{background:#202a38eb;border-color:#7be0ff;transform:translateY(-1px)}.btn-dot{width:8px;height:8px;border-radius:50%;background:#8a99ad}.btn-dot.music-on,.btn-dot.active{background:#4eff7a;box-shadow:0 0 6px #4eff7a}.timing-gauge-card{width:224px;padding:6px 10px 8px;border-radius:12px;background:#10141acc;border:1.5px solid rgba(235,244,255,.6);box-shadow:0 3px 10px #0006}.gauge-header{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:.04em;color:#d6ecff;margin-bottom:4px}#gauge-speed-readout{color:#ffea28}.timing-bar-track{position:relative;height:15px;border-radius:999px;overflow:hidden;display:grid;grid-template-columns:1fr 1.15fr 1fr;border:1px solid rgba(255,255,255,.65);background:#10151c}.timing-zone{display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:900;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.85)}.zone-early{background:linear-gradient(90deg,#1b76c4,#28a9e0)}.zone-sweet{background:linear-gradient(90deg,#4ec928,#ffe619,#4ec928);color:#161800;text-shadow:none}.zone-late{background:linear-gradient(90deg,#e68a19,#d94625)}.timing-cursor{position:absolute;top:-2px;bottom:-2px;width:5px;border-radius:3px;background:#fff;border:1px solid #000000;box-shadow:0 0 6px #fff;transform:translate(-50%);transition:left .06s linear}.motion-controls-row{display:flex;align-items:flex-end;gap:8px}.motion-buttons-col{display:flex;flex-direction:column;gap:5px}.webcam-pip-card{position:relative;width:132px;height:96px;border-radius:10px;overflow:hidden;background:#0d1218;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #00000080}#webcam-video,#webcam-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.pip-badge{position:absolute;left:6px;bottom:5px;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;background:#0a0e12d1;font-size:9.5px;font-weight:800;color:#fff}.pip-live-dot{width:6px;height:6px;border-radius:50%;background:#4eff7a;box-shadow:0 0 5px #4eff7a}.wii-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 35%,#ffffffd1,#d2ebffb8 55%,#10243aa6);backdrop-filter:blur(5px)}.wii-title-card{width:min(520px,94vw);max-height:92vh;overflow-y:auto;border-radius:26px;padding:22px 26px;background:linear-gradient(180deg,#fff,#f5faff 76%,#e4f2ff);border:4px solid #63bfff;box-shadow:0 18px 48px #00204861,inset 0 2px #fff;color:#243242;display:flex;flex-direction:column;gap:14px}.wii-logo-header{text-align:center}.argon-logo-title{font-size:clamp(32px,4.4vw,44px);font-weight:900;letter-spacing:-.02em;line-height:1.02;filter:drop-shadow(0 3px 0 rgba(16,56,96,.14))}.logo-word-argon{color:#1e324a;margin-right:6px}.logo-word-tennis{color:#169bf0;font-style:italic;text-shadow:0 3px 0 #bfe6ff}.court-preview-diagram{background:linear-gradient(180deg,#74c63b,#56a324);border-radius:16px;padding:9px 16px;border:3px solid #ffffff;box-shadow:inset 0 2px 8px #00000038,0 4px 12px #003c0f2e}.mini-court-turf{position:relative;height:72px;border:2.5px solid rgba(255,255,255,.92);border-radius:4px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.mini-court-lines{position:absolute;inset:0;pointer-events:none}.mini-net-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fffffff2;transform:translate(-50%)}.court-slot-marker{position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;border-radius:999px;background:#10161cd1;border:2px solid #ffffff;color:#fff}.court-slot-marker canvas,.court-slot-marker .wii-mii-svg{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:block}.slot-tag{font-size:12.5px;font-weight:900}.you-tag{color:#ffea28}.cpu-tag{color:#b8dcff}.setup-section{display:flex;flex-direction:column;gap:6px}.wii-green-btn-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.wii-green-choice{display:flex;align-items:center;justify-content:center;padding:11px 8px;border-radius:13px;background:linear-gradient(180deg,#74cc3d,#4ea11d);border:2.5px solid #c8f29e;color:#fff;font-family:var(--wii-font);cursor:pointer;box-shadow:0 3px 8px #00000029,inset 0 1px #ffffff80;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.wii-green-choice.selected{border-color:#ffea28;box-shadow:0 0 0 3px #25a8f5,0 5px 12px #0050a052;transform:translateY(-2px)}.choice-main{font-size:14.5px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.45)}.wii-modal-actions{display:flex;justify-content:center;margin-top:2px}.wii-ok-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:240px;padding:11px 32px;border-radius:999px;background:linear-gradient(180deg,#7be0ff,#24a4f5 52%,#0072d6);border:3px solid #ffffff;box-shadow:0 6px 18px #0066cc73,inset 0 2px 1px #ffffffa6;color:#fff;font-family:var(--wii-font);font-size:19px;font-weight:900;text-shadow:0 2px 3px rgba(0,45,95,.65);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.wii-ok-btn:hover{transform:scale(1.04);box-shadow:0 8px 24px #0078eb99}.wii-dialog-box{width:min(350px,92vw);padding:22px 24px;border-radius:24px;background:linear-gradient(180deg,#fff,#f4faff);border:4px solid #5cb8ff;color:#1f2e3d;text-align:center;box-shadow:0 16px 40px #00000073;display:flex;flex-direction:column;align-items:center;gap:12px}.mp-dialog-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-title{font-size:19px;font-weight:900;color:#0072d6;margin:0}.dialog-desc{font-size:13px;font-weight:700;color:#54687d;margin:-4px 0 0}.mp-clean-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.mp-conn-tag{padding:4px 11px;border-radius:999px;background:#e4edf7;color:#4a5a6a;font-size:11.5px;font-weight:800}.mp-conn-tag.online{background:#d4f8df;color:#127a32}.mp-qr-img{border-radius:14px;border:2px solid #d0e4f8;background:#fff;padding:6px;box-shadow:0 4px 14px #003c8214}.mp-subtle-link{font-size:12px;font-weight:800;color:#1c7ed6;text-decoration:none;opacity:.85}.mp-subtle-link:hover{opacity:1;text-decoration:underline}.dialog-actions{display:flex;justify-content:center;margin-top:2px}.wii-pill-btn{padding:9px 32px;border-radius:999px;background:linear-gradient(180deg,#5cc4ff,#168be8);border:2px solid #ffffff;color:#fff;font-family:var(--wii-font);font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #0050aa59}.wii-skill-card{width:min(560px,94vw);border-radius:22px;background:#1c222aeb;border:3px solid rgba(220,235,250,.8);padding:20px 24px;box-shadow:0 18px 44px #0009;display:flex;flex-direction:column;gap:16px}.skill-card-header{align-self:center;padding:5px 32px;border-radius:999px;background:linear-gradient(180deg,#d8e2ec,#99a8b8);color:#1f2833;font-size:18px;font-weight:900;box-shadow:0 2px 6px #00000059}.skill-card-body{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:center}.skill-chart-frame{background:#f5f9fc;border-radius:14px;padding:8px;border:3px solid #aebdca}#skill-graph-canvas{width:100%;height:auto;display:block}.skill-mii-summary{display:flex;flex-direction:column;gap:12px}.victory-result-banner{font-size:30px;font-weight:900;color:#ffea28;text-shadow:0 3px 6px rgba(0,0,0,.7)}.skill-score-pill{position:relative;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:14px;background:linear-gradient(180deg,#2ca4f5,#0d6ec4);border:2px solid #ffffff}.skill-score-pill canvas,.skill-score-pill .wii-mii-svg{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:block}.skill-rating-number{font-size:24px;font-weight:900;color:#fff}.skill-player-name{font-size:12px;font-weight:800;color:#e2f3ff}.victory-match-score{font-size:14px;font-weight:800;color:#d0dfef}.skill-card-footer{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wii-footer-btn{padding:11px 20px;border-radius:12px;font-family:var(--wii-font);font-size:18px;font-weight:900;cursor:pointer;border:2.5px solid #8ecbff}.wii-footer-btn.primary{background:linear-gradient(180deg,#aee4ff,#52b8f5);color:#0c2b47}.wii-footer-btn.secondary{background:linear-gradient(180deg,#fff,#dde6f0);color:#2c3a47}
@media (max-width: 768px){#top-hud-bar{top:10px;left:8px;right:8px;gap:6px}.wii-games-pill{padding:4px 8px;gap:5px;flex-shrink:0}.game-bubble{width:12px;height:12px;border-width:1.5px}.wii-scoreboard-pill{min-width:0;flex:1 1 auto;max-width:calc(100vw - 108px);height:42px;padding:0 6px;border-width:2px}.mii-side{gap:3px;flex-shrink:0}.mii-avatar-badge{width:28px;height:28px}.mii-avatar-badge.secondary-mii{width:24px;height:24px}.score-center-display{min-width:0;padding:0 4px;gap:5px;font-size:20px}.score-center-display.deuce-mode{font-size:16px}#bottom-right-dock{left:10px;right:10px;bottom:10px;align-items:center;gap:8px}#timing-gauge-card{width:100%;max-width:360px;padding:6px 12px 8px}.motion-controls-row{width:100%;flex-direction:column;align-items:center;gap:6px}.webcam-pip-card{width:112px;height:82px;align-self:flex-end}.motion-buttons-col{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 2px}#motion-buttons-col::-webkit-scrollbar,.motion-buttons-col::-webkit-scrollbar{display:none}#bottom-left-dock,.bottom-left-dock,.dock-pill-row{display:contents!important}.motion-buttons-col .hud-mini-btn{flex:0 0 auto;white-space:nowrap;padding:6px 12px;font-size:12px}.wii-replay-badge{bottom:104px;left:10px;padding:4px 16px 4px 10px}.replay-label{font-size:15px}}
.top-hud-left-group,.top-hud-right-group{display:flex;align-items:center;gap:10px;pointer-events:auto}.hud-tactical-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;background:rgba(16,22,32,.88);border:2px solid rgba(123,224,255,.65);color:#e6f6ff;font-family:var(--wii-font);font-size:11.5px;font-weight:900;letter-spacing:.03em;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.45);transition:all .15s ease}.hud-tactical-pill:hover{transform:translateY(-1px);border-color:#ffea28;background:rgba(24,36,52,.95)}.hud-tactical-pill.active{border-color:#4eff7a;background:rgba(12,38,26,.9);color:#dcffe8}.hud-tactical-pill.wonder-pill{background:linear-gradient(180deg,rgba(45,32,84,.92),rgba(24,18,48,.94));border-color:#ffea28;color:#fff8b8}.hud-tactical-pill.lab-pill{background:linear-gradient(180deg,rgba(14,48,68,.92),rgba(10,28,44,.94));border-color:#38bdf8;color:#bae6fd}.tactical-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px #fbbf24}.hud-tactical-pill.active .tactical-dot{background:#4eff7a;box-shadow:0 0 8px #4eff7a}.squash-shot-selector-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.shot-chip{padding:4px 9px;border-radius:8px;background:rgba(16,22,30,.85);border:1.5px solid rgba(200,225,255,.45);color:#cfe6ff;font-family:var(--wii-font);font-size:10.5px;font-weight:900;cursor:pointer;transition:all .12s ease}.shot-chip:hover{border-color:#7be0ff;color:#fff}.shot-chip.active{background:linear-gradient(180deg,#25a8f5,#006cc4);border-color:#ffea28;color:#fff;box-shadow:0 0 8px rgba(37,168,245,.55)}.webcam-btn-group{display:flex;align-items:center;gap:5px}.squash-subtitle-tag{font-size:12.5px;font-weight:800;color:#4a6682;margin-top:3px}.setup-label-row{font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#4c6680;padding-left:2px}.squash-preview-diagram{background:linear-gradient(180deg,#243748,#162432);border-color:#7be0ff;padding:10px 14px}.mini-squash-court{position:relative;height:86px;background:linear-gradient(180deg,#d8a96e,#c49256);border:2.5px solid rgba(255,255,255,.92);border-radius:6px;display:flex;align-items:flex-end;justify-content:space-between;padding:8px 16px;overflow:hidden}.mini-front-wall-bar{position:absolute;top:0;left:0;right:0;height:14px;background:linear-gradient(90deg,#ef4444,#dc2626);color:#fff;font-size:8.5px;font-weight:900;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;border-bottom:2px solid #fff}.mini-short-line{position:absolute;top:46%;left:0;right:0;height:2px;background:#ef4444}.mini-half-court-line{position:absolute;top:46%;bottom:0;left:50%;width:2px;background:#ef4444;transform:translateX(-50%)}.mini-t-zone-glow{position:absolute;top:46%;left:50%;transform:translate(-50%,-35%);padding:2px 7px;border-radius:6px;background:rgba(0,210,255,.28);border:1.5px solid #00f0ff;color:#082230;font-size:8.5px;font-weight:900;pointer-events:none}.mini-service-box{position:absolute;top:46%;width:22%;height:26%;border:1.5px solid #ef4444}.mini-service-box.left{left:0;border-left:none;border-top:none}.mini-service-box.right{right:0;border-right:none;border-top:none}.squash-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.squash-modal-actions .wii-ok-btn{min-width:195px;padding:10px 20px;font-size:15.5px}.wonder-start-btn{background:linear-gradient(180deg,#ffe45e,#f59e0b 55%,#b45309)!important;box-shadow:0 6px 18px rgba(245,158,11,.45),inset 0 2px 1px rgba(255,255,255,.7)!important;color:#1e1200!important;text-shadow:0 1px 0 rgba(255,255,255,.65)!important}
.wonder-intro-overlay{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);width:min(640px,92vw);padding:12px 18px;border-radius:14px;background:rgba(12,18,28,.92);border:2px solid #ffea28;box-shadow:0 10px 28px rgba(0,0,0,.65);pointer-events:auto;z-index:26;display:flex;flex-direction:column;gap:6px;backdrop-filter:blur(8px)}
.wonder-intro-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wonder-intro-kicker{font-size:11.5px;font-weight:900;letter-spacing:.06em;color:#ffea28;text-transform:uppercase}
.wonder-intro-actions{display:flex;align-items:center;gap:8px}
.wonder-next-btn{background:linear-gradient(180deg,#25a8f5,#006cc4)!important;border-color:#fff!important}
.wonder-intro-commentary{font-size:13.5px;font-weight:700;color:#eef6ff;line-height:1.35}
.squash-tuning-drawer{position:fixed;top:76px;right:18px;bottom:18px;width:min(400px,94vw);background:rgba(11,17,27,.94);border:2px solid rgba(56,189,248,.65);border-radius:16px;box-shadow:0 16px 42px rgba(0,0,0,.75);z-index:45;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;backdrop-filter:blur(10px);color:#e2f1ff}
.tuning-lab-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(18,29,45,.95);border-bottom:1px solid rgba(123,224,255,.25)}
.tuning-lab-kicker{font-size:9.5px;font-weight:900;letter-spacing:.08em;color:#38bdf8}
.tuning-lab-title{font-size:16px;font-weight:900;color:#fff;margin-top:1px}
.tuning-lab-close-btn{width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer}
.tuning-preset-bar{padding:10px 14px;background:rgba(15,23,36,.85);border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:7px}
.preset-select-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.preset-label{font-size:11px;font-weight:800;color:#94a3b8;white-space:nowrap}
.tuning-select{flex:1;padding:5px 8px;border-radius:7px;background:#09101a;border:1px solid rgba(123,224,255,.4);color:#fff;font-family:var(--wii-font);font-size:11.5px;font-weight:700}
.preset-btn-row{display:flex;flex-wrap:wrap;gap:5px}
.tuning-mini-btn{padding:4px 8px;border-radius:6px;background:rgba(30,45,66,.9);border:1px solid rgba(148,163,184,.4);color:#e2e8f0;font-size:10.5px;font-weight:800;cursor:pointer}
.tuning-mini-btn:hover{border-color:#38bdf8;color:#fff}
.tuning-tabs-row{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px 10px;background:#09101a;border-bottom:1px solid rgba(255,255,255,.12)}
.tuning-tab-btn{padding:6px 4px;border-radius:6px;background:transparent;border:1px solid transparent;color:#94a3b8;font-size:10.5px;font-weight:800;cursor:pointer;text-align:center}
.tuning-tab-btn.active{background:rgba(37,168,245,.22);border-color:#38bdf8;color:#fff}
.tuning-tab-body{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.tuning-sliders-list{display:flex;flex-direction:column;gap:10px}
.tuning-slider-item{display:flex;flex-direction:column;gap:3px;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.tuning-slider-top{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:800}
.tuning-slider-label{color:#cbd5e1}
.tuning-slider-val{color:#ffea28;font-variant-numeric:tabular-nums}
.tuning-range-input{width:100%;accent-color:#38bdf8;cursor:pointer}
.nick-lab-section{display:flex;flex-direction:column;gap:12px}
.nick-lab-card{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(123,224,255,.22);display:flex;flex-direction:column;gap:8px}
.nick-lab-card-title{font-size:12px;font-weight:900;color:#38bdf8}
.nick-lab-desc{font-size:11px;color:#94a3b8;line-height:1.35}
.nick-cannon-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nick-cannon-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;border-radius:8px;background:rgba(20,32,48,.9);border:1px solid rgba(148,163,184,.35);color:#f1f5f9;text-align:left;cursor:pointer;transition:all .12s ease}
.nick-cannon-btn:hover{border-color:#38bdf8;background:rgba(28,46,68,.95)}
.nick-cannon-btn.highlight{border-color:rgba(255,234,40,.6);background:rgba(44,36,16,.65)}
.nick-cannon-btn strong{font-size:11px;color:#fff}
.nick-cannon-btn span{font-size:9.5px;color:#94a3b8}
.tuning-action-btn{padding:8px 12px;border-radius:8px;background:linear-gradient(180deg,#25a8f5,#006cc4);border:1px solid #7be0ff;color:#fff;font-size:11.5px;font-weight:900;cursor:pointer}
.ab-compare-results{display:flex;flex-direction:column;gap:6px;font-size:11px}
.ab-row{padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
.ab-row-title{font-weight:900;color:#ffea28;margin-bottom:3px}
.ab-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#cbd5e1}
.test-summary-banner{padding:6px 10px;border-radius:6px;font-weight:900;font-size:11.5px;text-align:center}
.test-summary-banner.pass{background:rgba(34,197,94,.2);border:1px solid #4ade80;color:#bbf7d0}
.test-summary-banner.fail{background:rgba(239,68,68,.2);border:1px solid #f87171;color:#fecaca}
.test-rows-list{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.test-row-item{display:flex;align-items:flex-start;gap:7px;padding:5px 7px;border-radius:6px;background:rgba(0,0,0,.3);font-size:10.5px}
.test-badge{padding:2px 5px;border-radius:4px;font-size:9px;font-weight:900}
.test-badge.pass{background:#16a34a;color:#fff}
.test-badge.fail{background:#dc2626;color:#fff}
.test-row-meta{display:flex;flex-direction:column;gap:1px}
.test-row-meta strong{color:#f8fafc}
.test-row-meta span{color:#94a3b8;font-size:9.5px}
.tuning-telemetry-footer{padding:8px 14px;background:#070c14;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:800;color:#94a3b8}
.hud-tactical-pill.guide-pill{background:linear-gradient(180deg,rgba(18,52,44,.92),rgba(10,32,26,.94));border-color:#4ade80;color:#dcfce7}
.setup-quick-controls-strip{display:flex;flex-direction:column;gap:4px;padding:9px 12px;border-radius:12px;background:rgba(16,36,58,.08);border:1.5px solid rgba(37,168,245,.38);font-size:11.5px;line-height:1.38;color:#1e324a}
.setup-quick-controls-strip strong{color:#0b5cab}
.controls-guide-card{width:min(760px,95vw);max-height:92vh;background:linear-gradient(180deg,#0f172a,#1e293b);border:3px solid #38bdf8;color:#f1f5f9;gap:14px}
.controls-guide-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.25)}
.controls-guide-heading{font-size:20px;font-weight:900;color:#fff}
.controls-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.guide-box{padding:12px 14px;border-radius:12px;background:rgba(15,23,42,.75);border:1.5px solid rgba(148,163,184,.28);display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.42;color:#cbd5e1}
.guide-box.highlight-box{background:rgba(20,42,34,.82);border-color:#4ade80}
.guide-box h3{font-size:13.5px;font-weight:900;color:#ffea28;margin:0}
.guide-box ul{padding-left:16px;display:flex;flex-direction:column;gap:5px}
.guide-box strong{color:#fff}
kbd{display:inline-block;padding:1px 6px;border-radius:5px;background:#1e293b;border:1px solid #64748b;box-shadow:0 1px 0 #0f172a;color:#ffea28;font-family:var(--wii-font);font-size:10.5px;font-weight:900}
.welcome-announcer-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.welcome-callout-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:linear-gradient(180deg,#0f172a,#1e293b);border:2px solid #38bdf8;color:#ffea28;font-family:var(--wii-font);font-size:11.5px;font-weight:900;cursor:pointer;box-shadow:0 3px 10px rgba(0,40,90,.25);transition:transform .14s ease,border-color .14s ease}
.welcome-callout-pill:hover{transform:translateY(-1px) scale(1.02);border-color:#ffea28;color:#fff}
.welcome-callout-pill.jukebox-tag-pill{background:linear-gradient(180deg,#311b59,#1d1138);border-color:#c084fc;color:#f3e8ff}
.jukebox-pill-btn{background:linear-gradient(180deg,rgba(49,27,89,.92),rgba(29,17,56,.95))!important;border-color:#c084fc!important;color:#f3e8ff!important}
.jukebox-modal-card{width:min(820px,95vw);max-height:92vh;background:linear-gradient(180deg,#0c1322,#172236);border:3px solid #c084fc;color:#f1f5f9;gap:12px}
.jukebox-now-playing-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;background:linear-gradient(90deg,rgba(30,20,56,.92),rgba(15,28,48,.92));border:1.5px solid rgba(192,132,252,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.jukebox-eq-bars{display:inline-flex;align-items:flex-end;gap:3px;height:26px;padding:2px 4px}
.jukebox-eq-bars span{width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,#ffea28,#38bdf8);animation:eqBounce .65s infinite ease-in-out alternate}
.jukebox-eq-bars span:nth-child(2){animation-delay:.12s;height:24px}
.jukebox-eq-bars span:nth-child(3){animation-delay:.24s;height:14px}
.jukebox-eq-bars span:nth-child(4){animation-delay:.08s;height:22px}
.jukebox-eq-bars span:nth-child(5){animation-delay:.20s;height:16px}
.jukebox-eq-bars.paused span{animation:none;height:5px;opacity:.45}
@keyframes eqBounce{0%{transform:scaleY(.35)}100%{transform:scaleY(1.05)}}
.jukebox-now-meta{flex:1;min-width:0}
.jukebox-now-kicker{font-size:9.5px;font-weight:900;letter-spacing:.08em;color:#c084fc;text-transform:uppercase}
.jukebox-now-title{font-size:15.5px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jukebox-now-sub{font-size:11px;font-weight:700;color:#94a3b8}
.jukebox-transport-btns{display:flex;align-items:center;gap:6px}
.jukebox-ctrl-btn{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease}
.jukebox-ctrl-btn:hover{background:rgba(56,189,248,.28);border-color:#ffea28;transform:translateY(-1px)}
.jukebox-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:2px 4px}
.jukebox-mode-label{font-size:11.5px;font-weight:900;color:#cbd5e1}
.jukebox-mode-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.jukebox-mode-chip{padding:5px 11px;border-radius:999px;background:rgba(15,23,42,.85);border:1.5px solid rgba(148,163,184,.4);color:#cbd5e1;font-family:var(--wii-font);font-size:11px;font-weight:900;cursor:pointer;transition:all .12s ease}
.jukebox-mode-chip.active{background:linear-gradient(180deg,#9333ea,#6b21a8);border-color:#ffea28;color:#fff;box-shadow:0 0 10px rgba(147,51,234,.5)}
.jukebox-layout-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}
@media (max-width: 720px){.jukebox-layout-grid{grid-template-columns:1fr}}
.jukebox-tracklist-box,.jukebox-referee-box{padding:11px 13px;border-radius:12px;background:rgba(10,16,28,.78);border:1.5px solid rgba(148,163,184,.25);display:flex;flex-direction:column;gap:8px}
.jukebox-section-title{font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#ffea28}
.jukebox-tracks-list{display:flex;flex-direction:column;gap:5px;max-height:285px;overflow-y:auto;padding-right:2px}
.jukebox-track-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:9px;background:rgba(24,34,52,.78);border:1.5px solid rgba(148,163,184,.25);color:#e2e8f0;text-align:left;cursor:pointer;transition:all .12s ease;font-family:var(--wii-font)}
.jukebox-track-item:hover{border-color:#7be0ff;background:rgba(32,48,74,.92)}
.jukebox-track-item.active{background:linear-gradient(90deg,rgba(37,168,245,.32),rgba(147,51,234,.32));border-color:#ffea28;color:#fff;box-shadow:0 0 10px rgba(56,189,248,.28)}
.jukebox-track-left{display:flex;flex-direction:column;gap:1px;min-width:0}
.jukebox-track-name{font-size:12px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jukebox-track-sub{font-size:10px;font-weight:700;color:#94a3b8}
.jukebox-track-tag{padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:900;background:rgba(255,255,255,.08);color:#bae6fd;white-space:nowrap}
.jukebox-ref-desc{font-size:11.5px;line-height:1.38;color:#cbd5e1}
.jukebox-ref-toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:10px;background:rgba(24,36,54,.92);border:2px solid rgba(148,163,184,.45);color:#fff;font-family:var(--wii-font);font-size:12.5px;font-weight:900;cursor:pointer;transition:all .14s ease}
.jukebox-ref-toggle-btn.active{background:linear-gradient(180deg,#15803d,#14532d);border-color:#4ade80;box-shadow:0 0 12px rgba(74,222,128,.35)}
.jukebox-slider-group{display:flex;flex-direction:column;gap:3px}
.jukebox-slider-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#cbd5e1}
.jukebox-slider-row strong{color:#ffea28}
.jukebox-test-calls-title{font-size:11px;font-weight:900;color:#94a3b8;margin-top:2px}
.jukebox-test-calls-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.jukebox-call-btn{padding:6px 8px;border-radius:8px;background:rgba(30,45,68,.9);border:1px solid rgba(123,224,255,.4);color:#e0f2fe;font-family:var(--wii-font);font-size:10.5px;font-weight:800;cursor:pointer;text-align:left;transition:all .12s ease}
.jukebox-call-btn:hover{border-color:#ffea28;background:rgba(37,168,245,.28);color:#fff}
.spectator-pill{border-color:rgba(123,224,255,.55);background:linear-gradient(180deg,rgba(20,40,68,.92),rgba(10,22,40,.95));color:#e0f2fe}
.spectator-pill:hover{border-color:#ffea28;transform:translateY(-1px)}
.spectator-pill.active{background:linear-gradient(180deg,#0284c7,#0369a1);border-color:#ffea28;color:#fff;box-shadow:0 0 14px rgba(56,189,248,.5)}
.spectator-pill.active .tactical-dot{background:#ffea28;box-shadow:0 0 8px #ffea28}
.hud-tactical-pill.menu-exit-pill{background:linear-gradient(180deg,rgba(68,24,36,.92),rgba(42,14,22,.94));border-color:#fb7185;color:#ffe4e6}
.hud-tactical-pill.menu-exit-pill:hover{border-color:#ffea28;background:rgba(88,28,44,.96);color:#fff}
.hud-tactical-pill.rules-pill{background:linear-gradient(180deg,rgba(45,32,12,.92),rgba(28,18,6,.95));border-color:#facc15;color:#fef08a}
.hud-tactical-pill.rules-pill:hover{border-color:#fff;background:rgba(68,48,14,.96);color:#fff}
.rules-tag-pill{background:linear-gradient(180deg,#ca8a04,#854d0e)!important;border-color:#fde047!important;color:#fff!important}
.squash-copyright-notice{display:inline-block;margin-top:3px;font-size:11px;font-weight:800;color:#2c5282;letter-spacing:.02em}
.watch-ai-start-btn{background:linear-gradient(180deg,#0ea5e9 0%,#0369a1 100%)!important;border-color:#7dd3fc!important;color:#fff!important}
.watch-ai-start-btn:hover{filter:brightness(1.08);border-color:#ffea28!important}
.let-call-chip{background:linear-gradient(180deg,#ca8a04,#854d0e)!important;border-color:#facc15!important;color:#fef9c3!important;font-weight:900!important}
.let-call-chip:hover{background:linear-gradient(180deg,#eab308,#a16207)!important;border-color:#fff!important;transform:translateY(-1px)}
.let-call-chip.let-advised-pulse{animation:letPulseGlow .55s infinite alternate!important;background:linear-gradient(180deg,#facc15,#ca8a04)!important;color:#0f172a!important;border-color:#fff!important;box-shadow:0 0 18px rgba(250,204,21,.95)!important}
@keyframes letPulseGlow{0%{transform:scale(1);box-shadow:0 0 10px rgba(250,204,21,.75)}100%{transform:scale(1.07);box-shadow:0 0 22px rgba(250,204,21,1)}}
.let-advisory-banner{padding:6px 11px;border-radius:10px;background:linear-gradient(90deg,rgba(161,98,7,.95),rgba(113,63,18,.96));border:1.5px solid #fde047;color:#fef9c3;font-size:11px;font-weight:800;letter-spacing:.01em;box-shadow:0 4px 14px rgba(0,0,0,.5);margin-bottom:4px;text-align:center;animation:letPulseGlow .65s infinite alternate}
.let-advisory-banner kbd{padding:1px 5px;border-radius:4px;background:rgba(15,23,42,.85);border:1px solid #fde047;color:#fff;font-size:10px}
.progressive-menu-card{max-width:650px!important;padding:14px 18px!important;gap:7px!important}
.compact-preview-diagram{max-height:92px!important;overflow:hidden;transition:max-height .24s ease}
.compact-preview-diagram:hover{max-height:165px!important}
.setup-step-hint{font-size:11px;font-weight:800;color:#475569;text-align:center;margin:1px 0 2px}
.setup-step{border:1.5px solid rgba(56,189,248,.32);border-radius:12px;padding:7px 11px!important;background:rgba(241,245,249,.75);transition:all .18s ease;cursor:pointer}
.setup-step:hover,.setup-step.step-active{border-color:#0284c7;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(2,132,199,.14)}
.setup-step .setup-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0!important;font-size:12.5px;font-weight:900;color:#0f172a}
.step-title-text{display:inline-flex;align-items:center;gap:7px}
.step-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#0284c7;color:#fff;font-size:11px;font-weight:900}
.step-summary-pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:rgba(2,132,199,.14);border:1px solid rgba(2,132,199,.38);color:#0369a1;font-size:11px;font-weight:800}
.setup-step .setup-step-body{max-height:0;opacity:0;overflow:hidden;margin-top:0;pointer-events:none;transition:max-height .22s ease,opacity .18s ease,margin-top .18s ease}
.setup-step:hover .setup-step-body,.setup-step:focus-within .setup-step-body,.setup-step.step-active .setup-step-body,.setup-step.step-unlocked .setup-step-body{max-height:240px;opacity:1;margin-top:7px;pointer-events:auto}
.squash-rules-card{max-width:860px!important;max-height:88vh!important;display:flex;flex-direction:column}
.rules-official-links-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;background:rgba(15,23,42,.82);border:1px solid rgba(250,204,21,.45);font-size:11.5px;color:#e2e8f0;margin-bottom:8px}
.rules-ext-link{color:#fde047;font-weight:800;text-decoration:underline;transition:color .12s ease}
.rules-ext-link:hover{color:#fff}
.squash-rules-scroll-grid{max-height:58vh;overflow-y:auto;padding-right:4px}
.wii-timing-popup{position:fixed!important;right:18px!important;left:auto!important;top:78px!important;transform:none!important;align-items:flex-end!important;text-align:right!important;max-width:min(300px,42vw);padding:6px 13px!important;border-radius:10px!important;background:rgba(10,16,26,.86)!important;border:1.5px solid rgba(148,163,184,.45)!important;border-right:4px solid #ffea28!important;box-shadow:0 4px 14px rgba(0,0,0,.55)!important;backdrop-filter:blur(6px);animation:sideToastSlide .16s ease-out!important;pointer-events:none!important}
@keyframes sideToastSlide{0%{opacity:0;transform:translateX(10px)}100%{opacity:1;transform:translateX(0)}}
@media (max-width: 768px){.wii-timing-popup{right:10px!important;left:auto!important;top:62px!important;max-width:min(230px,58vw);padding:4px 10px!important}.wii-timing-popup .timing-grade{font-size:12.5px}.wii-timing-popup .timing-detail{font-size:9.5px}}
#title-modal.side-docked-menu{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none!important;justify-content:flex-start!important;align-items:flex-start!important;padding:72px 14px 48px 14px!important;z-index:28!important}
.side-docked-card{pointer-events:auto!important;width:min(368px,90vw)!important;max-width:min(368px,90vw)!important;max-height:calc(100vh - 122px)!important;padding:11px 14px!important;gap:6px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,248,255,.92) 78%,rgba(224,240,255,.93))!important;border:3px solid rgba(99,191,255,.92)!important;box-shadow:0 14px 36px rgba(0,16,38,.55),inset 0 1px #fff!important;transition:all .22s ease}
.side-docked-card .argon-logo-title{font-size:clamp(24px,2.8vw,31px)!important}
.side-docked-card .squash-subtitle-tag{font-size:11px!important;line-height:1.28!important;margin-top:2px!important}
.side-docked-card .welcome-announcer-row{gap:5px!important;margin-top:5px!important}
.side-docked-card .welcome-callout-pill{padding:4px 9px!important;font-size:10.5px!important}
.side-docked-card .compact-preview-diagram{max-height:76px!important;padding:6px 10px!important}
.side-docked-card .mini-squash-court{height:62px!important;padding:5px 10px!important}
.side-docked-card .court-slot-marker canvas{width:28px!important;height:28px!important}
.side-docked-card .slot-tag{font-size:11px!important}
.side-docked-card .choice-main{font-size:12px!important}
.side-docked-card .wii-green-choice{padding:7px 5px!important;border-radius:10px!important}
.side-docked-card .squash-modal-actions{gap:6px!important;margin-top:2px!important}
.side-docked-card .squash-modal-actions .wii-ok-btn{min-width:102px!important;flex:1 1 auto;padding:8px 10px!important;font-size:12.5px!important}
.side-menu-top-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}
.live-ai-showcase-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:rgba(15,23,42,.9);border:1.5px solid #38bdf8;color:#e0f2fe;font-size:9.5px;font-weight:900;letter-spacing:.04em}
.live-ai-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:presenceWaitPulse 1.2s infinite ease-in-out}
.side-menu-collapse-btn{padding:3px 9px;border-radius:999px;background:rgba(15,23,42,.85);border:1.5px solid rgba(56,189,248,.65);color:#ffea28;font-family:var(--wii-font);font-size:10px;font-weight:900;cursor:pointer;transition:all .14s ease}
.side-menu-collapse-btn:hover{background:#0284c7;color:#fff;border-color:#fff}
#title-modal.side-docked-menu.menu-collapsed .side-docked-card{width:min(265px,78vw)!important;padding:9px 12px!important}
#title-modal.side-docked-menu.menu-collapsed .court-preview-diagram,#title-modal.side-docked-menu.menu-collapsed .setup-step-hint,#title-modal.side-docked-menu.menu-collapsed .setup-step,#title-modal.side-docked-menu.menu-collapsed .welcome-announcer-row{display:none!important}



/* Sound gate: prominent pre-gesture unlock button (autoplay policy workaround) */
#btn-sound-gate{position:fixed;left:50%;bottom:16vh;transform:translateX(-50%);z-index:9000;padding:18px 40px;font-size:20px;font-weight:800;letter-spacing:.08em;font-family:inherit;color:#06210f;background:linear-gradient(180deg,#8dffb8,#2fd47c);border:2px solid #baffd8;border-radius:14px;cursor:pointer;box-shadow:0 0 26px rgba(63,255,150,.55),0 10px 24px rgba(0,0,0,.5);animation:soundGatePulse 1.5s ease-in-out infinite}
#btn-sound-gate:hover{filter:brightness(1.1);transform:translateX(-50%) scale(1.04)}
#btn-sound-gate.hidden{display:none!important}
@keyframes soundGatePulse{0%,100%{box-shadow:0 0 16px rgba(63,255,150,.4),0 10px 24px rgba(0,0,0,.5)}50%{box-shadow:0 0 44px rgba(63,255,150,.95),0 10px 24px rgba(0,0,0,.5)}}

/* === YOU-ARE-RED identity cues === */
#score-player-text{color:#ff4a33}
#score-opponent-text{color:#58a2ff}
.score-dash{color:#9aa2b8}
.mii-avatar-badge{position:relative}
.mii-avatar-badge.player-tint{box-shadow:0 0 0 2px #ff4a3390,0 0 12px #ff4a3355}
.mii-avatar-badge.opponent-tint{box-shadow:0 0 0 2px #3f7dff70,0 0 12px #3f7dff44}
.you-chip{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);background:#e5341c;color:#fff;font:900 8px/1 "Rounded Mplus 1c","Trebuchet MS",sans-serif;letter-spacing:.09em;padding:3px 7px;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.55);pointer-events:none}
.wii-court-nameplate.player-plate{border:2px solid #ff4a33;box-shadow:0 0 14px #ff4a3355}
.plate-you{color:#ffb4a8;font-weight:900;font-size:10px;letter-spacing:.06em}
.slot-tag.you-tag{background:#e5341c;color:#fff}
.slot-tag.cpu-tag{background:#2b5cff;color:#fff}

/* === RACKET SPIN ceremony (who serves first) === */
.racket-spin-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(8,10,18,.55);backdrop-filter:blur(4px);pointer-events:auto}
.racket-spin-overlay.hidden{display:none}
.rs-card{background:linear-gradient(180deg,#232a38,#12161f);border:2px solid #3a4459;border-radius:18px;padding:26px 34px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.6);font-family:var(--wii-font,inherit)}
.rs-title{font-size:15px;font-weight:900;letter-spacing:.06em;color:#eaf0ff;margin-bottom:10px}
.rs-racket{font-size:64px;line-height:1;height:72px;display:inline-block;transition:transform .3s}
.rs-racket.spinning{animation:rs-twirl .55s linear infinite}
@keyframes rs-twirl{from{transform:rotateX(0deg) rotate(-12deg)}to{transform:rotateX(360deg) rotate(-12deg)}}
.rs-prompt{margin:10px 0 14px;font-size:14px;color:#c9d2ea;min-height:20px}
.rs-prompt b{color:#fff}
.rs-btns{display:flex;gap:12px;justify-content:center}
.rs-btns.hidden{display:none}
.rs-btn{font:inherit;font-weight:800;font-size:13px;letter-spacing:.05em;color:#eaf0ff;background:linear-gradient(180deg,#3a4560,#232a3d);border:1px solid #56617e;border-radius:12px;padding:10px 18px;cursor:pointer;transition:transform .12s,box-shadow .12s}
.rs-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.rs-serve{background:linear-gradient(180deg,#e5341c,#a8230f);border-color:#ff7a5c;color:#fff}
.rs-note{margin-top:14px;padding-top:12px;border-top:1px solid #3a4459;font-size:12.5px;line-height:1.5;color:#c9d2ea}
.rs-note b{color:#ffb4a8;letter-spacing:.04em}
.rs-note kbd{background:#0d1117;border:1px solid #4a5570;border-radius:4px;padding:0 4px;font-size:11px;color:#eaf0ff}
.rs-note small{color:#8b95b3}

/* === Mobile: completely roll up the setup menu to a slim handle === */
@media (max-width: 768px){
  #title-modal.side-docked-menu.menu-collapsed{pointer-events:none}
  #title-modal.side-docked-menu.menu-collapsed .side-docked-card{width:auto!important;max-width:80vw!important;padding:6px 10px!important;pointer-events:auto}
  #title-modal.side-docked-menu.menu-collapsed .wii-logo-header .argon-logo-title,
  #title-modal.side-docked-menu.menu-collapsed .squash-subtitle-tag,
  #title-modal.side-docked-menu.menu-collapsed .welcome-announcer-row,
  #title-modal.side-docked-menu.menu-collapsed .live-ai-showcase-pill,
  #title-modal.side-docked-menu.menu-collapsed .court-preview-diagram,
  #title-modal.side-docked-menu.menu-collapsed .setup-step,
  #title-modal.side-docked-menu.menu-collapsed .setup-step-hint,
  #title-modal.side-docked-menu.menu-collapsed .squash-modal-actions,
  #title-modal.side-docked-menu.menu-collapsed .wii-footer-row{display:none!important}
}
.skill-rating-caption{font-size:9px;font-weight:900;letter-spacing:.12em;color:#8b95b3;margin-top:2px}

/* Keep build identity visible above menus and clear of gameplay controls. */
#build-version {
  position: fixed;
  right: max(8px, env(safe-area-inset-right));
  bottom: max(4px, env(safe-area-inset-bottom));
  z-index: 10000;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(8, 12, 20, 0.92);
  color: #f1f5f9;
  font: 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

#bottom-right-dock {
  bottom: calc(32px + env(safe-area-inset-bottom, 0px));
}
/* Recorded replay notice stays out of the middle of the court. */
.point-replay-toast {
  position: fixed; top: 108px; right: 18px; z-index: 70;
  display: flex; flex-direction: column; gap: 3px; pointer-events: none;
  padding: 9px 13px; border: 1px solid #ffe575; border-radius: 10px;
  background: rgba(10, 20, 36, .92); color: #fff6c9;
  box-shadow: 0 3px 14px #0006; font-size: 12px;
}
.point-replay-toast strong { font-size: 14px; }
.point-replay-toast:not(.hidden) { animation: replay-toast-pulse .65s ease-out 1; }
@keyframes replay-toast-pulse { 50% { border-color: #fff; box-shadow: 0 0 16px #ffe575aa; } }
@media (max-width: 768px) { .point-replay-toast { top: 120px; right: 10px; padding: 7px 10px; font-size: 10px; } .point-replay-toast strong { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .point-replay-toast:not(.hidden) { animation: none; } }
.red-control-card {
  align-self: flex-end; display: flex; flex-direction: column; gap: 3px;
  padding: 7px 10px; border: 1px solid #ff6b73; border-radius: 9px;
  background: rgba(43, 12, 22, .9); color: #fff; font-size: 11px;
  max-width: 100%; text-align: right;
}
.red-control-card span { color: #ffb8bd; font-size: 10px; font-weight: 800; }
.squash-shot-selector-row .shot-chip.active {
  background: linear-gradient(180deg, #f24f61, #a51e32);
  box-shadow: 0 0 8px #ff536355;
}
.you-chip { background: #b32236; color: white; }
@media (max-width: 768px) { .red-control-card { font-size: 10px; padding: 5px 8px; } }

/* Keep identity outside the portrait crop, and reserve compact screens for play. */
.mii-side-player { position: relative; }
.you-chip { white-space: nowrap; }
.mobile-only { display: none; }
@media (max-width: 900px), (pointer: coarse) and (max-width: 1200px) {
  #top-hud-bar {
    top: max(8px, env(safe-area-inset-top)); left: 8px; right: 8px;
    display: flex; gap: 8px; align-items: center;
  }
  #top-hud-bar > .top-hud-left-group,
  #top-hud-bar > .top-hud-right-group { display: none; }
  #scoreboard-pill {
    flex: 1 1 auto; min-width: 0; max-width: 340px; height: 62px;
    padding: 3px 12px; gap: 8px; box-sizing: border-box;
  }
  #scoreboard-pill .mii-side { flex: 0 0 auto; gap: 2px; }
  #scoreboard-pill .mii-side-player { flex-direction: column; }
  #scoreboard-pill .mii-avatar-badge { width: 36px; height: 36px; flex: 0 0 36px; }
  #scoreboard-pill .you-chip {
    position: static; transform: none; font-size: 10px; line-height: 1;
    letter-spacing: .02em; padding: 3px 6px; border: 1px solid #ff949c;
  }
  #score-center-display { min-width: 0; padding: 0; gap: 7px; font-size: 25px; flex: 1; }
  #btn-mobile-menu {
    display: inline-flex; flex: 0 0 auto; justify-content: center;
    min-height: 44px; padding: 8px 11px; font-size: 13px; white-space: nowrap;
    pointer-events: auto; margin-left: auto;
  }
  #title-modal.side-docked-menu { padding: 78px 8px 20px!important; }
  #title-modal.side-docked-menu.menu-collapsed { display: none!important; }
  #title-modal .side-docked-card {
    width: min(420px, calc(100vw - 16px))!important;
    max-width: calc(100vw - 16px)!important;
    max-height: calc(100dvh - 98px)!important; overflow-y: auto; overscroll-behavior: contain;
  }
  #title-modal .side-menu-top-bar { position: sticky; top: -11px; z-index: 2; background: #eaf5ff; padding: 4px 0; }
  #btn-collapse-side-menu { min-height: 44px; }
  .mobile-menu-tools { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
  .mobile-menu-tools button { min-height: 44px; }
  #btn-sound-gate {
    top: 78px; bottom: auto; left: 8px; transform: none; padding: 8px 12px;
    min-height: 36px; font-size: 0; letter-spacing: 0; animation: none;
    border-radius: 999px; box-shadow: 0 2px 8px #0006;
  }
  #btn-sound-gate::after { content: '🔊 Sound'; font-size: 12px; }
  #btn-sound-gate:hover { transform: none; }
  .point-replay-toast { top: 78px; right: 8px; padding: 6px 9px; font-size: 10px; }
  .point-replay-toast strong { font-size: 12px; }
  .wii-timing-popup { top: 78px!important; right: 8px!important; max-width: min(220px, 60vw); }
  @media (max-height: 500px) {
    #bottom-right-dock {
      left: 8px; right: 8px; bottom: 18px; flex-direction: row;
      align-items: center; justify-content: center; gap: 8px;
    }
    #bottom-right-dock .motion-controls-row,
    #timing-gauge-card,
    #bottom-left-dock { display: none!important; }
    .red-control-card { align-self: center; max-width: 190px; padding: 5px 8px; }
    .red-control-card strong { display: none; }
    .squash-shot-selector-row { flex-wrap: nowrap; }
    .squash-shot-selector-row .shot-chip { min-height: 36px; }
  }
}
