/* Stadium 21 / cold blue glass. Additive finish; existing routes and positions stay owned by their original controls. */
body:not(.stadium-arena) :is(.rotor-club>summary,.rotor-club>div,#pfRadio,#pfDeck,.rotor-pilot-summary,#mainMenu),
body.stadium-green #world-ui :is(.stadium-room-nav>summary,.stadium-room-nav>nav,#pilotToggle,.opening-title){
  border:1px solid rgba(148,198,255,.46);
  color:#e9f3ff;
  background:linear-gradient(138deg,#2f5891e6,#061529ed 62%,#122b4feb);
  box-shadow:inset 0 1px 0 #e2f4ff70,inset 0 -1px 0 #305fa666,0 9px 28px #0007,0 0 20px #1267e615;
}
body:not(.stadium-arena) .rotor-club>summary,
body.stadium-green #world-ui .stadium-room-nav>summary{border-radius:14px 14px 14px 5px;}
body:not(.stadium-arena) :is(.rotor-club>div,#pfDeck),
body.stadium-green #world-ui .stadium-room-nav>nav{border-radius:16px;}
body:not(.stadium-arena) #pfRadio{border-radius:16px 16px 6px 16px;}
body:not(.stadium-arena) #pfRadio b{color:#c7dfff;}
body:not(.stadium-arena) #pfRadio button{color:#e6f1ff;border-radius:10px;}
body:not(.stadium-arena) #pfRadio button[aria-pressed=true]{color:#f4f9ff;background:linear-gradient(145deg,#548ced,#1748a4);box-shadow:inset 0 1px #d5edff8c,0 0 12px #2365d644;}
body:not(.stadium-arena) #pfRadio .pf-radio-state{color:#c1dbff;background:#07192dc9;}
body:not(.stadium-arena) #pfDeck :is(button,a){color:#dcebff;}
body:not(.stadium-arena) .rotor-club>div a{border-radius:9px;background:#97caff0a;color:#edf5ff;}
body:not(.stadium-arena) :is(.rotor-club>summary,.rotor-club>div a,#pfRadio button,#pfDeck button):hover,
body.stadium-green #world-ui :is(.stadium-room-nav>summary,.stadium-room-nav>nav a,.stadium-room-nav>nav button,#pilotToggle):hover{border-color:#c2e6ff;background-color:#3278cd38;}
/* Clear pilot stage: the visible shield is geometry behind this DOM window, rendered by the existing court renderer. */
body:not(.stadium-arena) .rotor-pilot-summary{box-sizing:border-box;min-width:218px;border-radius:18px 18px 6px 18px;pointer-events:auto;}
body:not(.stadium-arena) .rotor-pilot-summary:has(.rotor-badge-stage){
  /* The common :is() glass rule contains IDs. This exact specimen needs an
     explicit override so its live 3D geometry is neither covered nor blurred. */
  background:linear-gradient(160deg,#2f5e9638,#07192b14 34%,#06142705 75%,#11336766)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
body:not(.stadium-arena) .rotor-pilot-summary :is(small,span){color:#bfd8f2;}
body:not(.stadium-arena) .rotor-pilot-summary strong{color:#f0f7ff;}
.rotor-badge-stage{position:relative;width:100%;height:112px;outline:none;cursor:grab;touch-action:none;background:none;border-radius:12px;}
.rotor-badge-stage[data-dragging=true]{cursor:grabbing;}
.rotor-badge-stage:focus-visible{outline:2px solid #a9d8ff;outline-offset:3px;}
.rotor-badge-stage::before{content:'';position:absolute;inset:12px 17%;border:1px solid #98caff1a;border-radius:50%;pointer-events:none;}
.rotor-badge-stage::after{content:'';position:absolute;bottom:5px;left:30%;right:30%;height:1px;background:linear-gradient(90deg,transparent,#98caff99,transparent);pointer-events:none;}
.rotor-badge-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rotor-badge-actions small{max-width:8ch;font:500 12px/1.4 Inter,Arial,sans-serif;letter-spacing:.03em;}
.rotor-badge-inspect{min-height:44px;padding:7px 9px;border:1px solid #abd4ff57;border-radius:8px;background:linear-gradient(150deg,#8bbfff26,#14397377);color:#e7f4ff;font:700 12px/1.4 Inter,Arial,sans-serif;letter-spacing:.03em;cursor:pointer;}
.rotor-badge-inspect:focus-visible{outline:2px solid #a9d8ff;outline-offset:3px;}
.rotor-pilot-summary[data-badge-inspect=true] .rotor-badge-stage{height:160px;}
body:has(#pfDeck.expanded:not([hidden])) .rotor-pilot-summary :is(.rotor-badge-stage,.rotor-badge-actions){display:none;}
/* The home radio button reopens the live iframe. Its compact header must not cover the badge. */
body:has(#mainMenu) #pfDeck:not(.expanded){visibility:hidden!important;pointer-events:none!important;}
/* Main court invitation gets a clear pane; its text, anchors and sizing remain the existing menu. */
body:not(.stadium-arena) #mainMenu,
body.stadium-green #world-ui .opening-title{box-sizing:border-box;padding:18px 20px;border-radius:24px 24px 8px 24px;background:linear-gradient(132deg,#2953844a,#07172b66 62%,#1033583d);}
body:not(.stadium-arena) #mainMenu h1 em,
body.stadium-green #world-ui #nightTitleCopy h1 em{color:#ffcf00;text-shadow:0 1px 0 #f0faff20,0 0 18px #368fff18;}
body:not(.stadium-arena) #mainMenu .cm-kicker{color:#c4dfff;}
body:not(.stadium-arena) #mainMenu :is(.cm-intro,.cm-angles-toggle),
body.stadium-green #world-ui #nightSubtitle{color:#cadaee;}
body:not(.stadium-arena) #mainMenu .cm-primary a,
body.stadium-green #world-ui .opening-title .power-court-play{
  border:1px solid #b8dcff91;border-radius:14px 14px 5px 14px;color:#f4f9ff;
  background:linear-gradient(145deg,#609befd9,#215cb3e3 50%,#123568e8);
  box-shadow:inset 0 1px #e4f5ffc4,inset 0 -2px #03214c85,0 5px 16px #0004;
  transition:transform .18s ease;
}
body:not(.stadium-arena) #mainMenu .cm-primary .cm-train{color:#daeaff;background:linear-gradient(145deg,#7fafff30,#122d5ab8);}
body:not(.stadium-arena) #mainMenu .cm-primary .cm-play,
body.stadium-green #world-ui .opening-title .power-court-play{color:#ffe457;border-color:#e7d785a1;}
body:not(.stadium-arena) #mainMenu .cm-primary a:hover,
body.stadium-green #world-ui .opening-title .power-court-play:hover{transform:translateY(-2px);}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body:not(.stadium-arena) :is(.rotor-club>summary,.rotor-club>div,#pfRadio,#pfDeck,.rotor-pilot-summary,#mainMenu),
  body.stadium-green #world-ui :is(.stadium-room-nav>summary,.stadium-room-nav>nav,#pilotToggle,.opening-title){-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);}
  body:not(.stadium-arena) :is(.rotor-club>summary,#pfRadio){background:linear-gradient(138deg,#6098ef42,#07172bbc 65%,#17396399);}
  body:not(.stadium-arena) #mainMenu,
  body.stadium-green #world-ui .opening-title{background:linear-gradient(132deg,#3d70b021,#07172b40 62%,#15385a29);}
  /* A blur would blur the real badge behind it. Keep only this small viewport optically clear. */
  body:not(.stadium-arena) .rotor-pilot-summary:has(.rotor-badge-stage){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
}
@media(max-width:650px){
  body:not(.stadium-arena) #mainMenu,
  body.stadium-green #world-ui .opening-title{padding:14px 15px;border-radius:18px 18px 6px 18px;}
  body:not(.stadium-arena) .rotor-pilot-summary{min-width:172px;}
  .rotor-badge-stage{height:88px;}
  .rotor-pilot-summary[data-badge-inspect=true] .rotor-badge-stage{height:126px;}
  .rotor-badge-actions{gap:5px;}.rotor-badge-actions small{font-size:12px;}.rotor-badge-inspect{font-size:12px;padding:7px 6px;}
}
@media(prefers-reduced-motion:reduce){
  body:not(.stadium-arena) #mainMenu .cm-primary a,
  body.stadium-green #world-ui .opening-title .power-court-play{transition:none;}
  body:not(.stadium-arena) #mainMenu .cm-primary a:hover,
  body.stadium-green #world-ui .opening-title .power-court-play:hover{transform:none;}
}
