/* Additive V30 routes and glass expansion. The blue court/main view is preserved. */
html body.rotor-access-ready {--access-safe:clamp(14px,1.6vw,28px);--access-green:#b6ef3c;--access-gold:#ffe45b;--access-white:#f7ffe8;--rotor-access-bottom:0px;}
html body .rotor-access-dock {position:fixed;z-index:155;top:max(14px,env(safe-area-inset-top));left:240px;right:244px;display:grid;grid-template-columns:.8fr 1.5fr 1fr .9fr 1.15fr .9fr;gap:6px;max-width:860px;margin-inline:auto;padding:6px;border:1px solid #eeffd55c;border-radius:32px;background:#03060324;box-shadow:inset 0 1px 1px #fff9,0 10px 32px #0006;pointer-events:auto;box-sizing:border-box;}
html body .rotor-access-route {box-sizing:border-box;min-width:0;min-height:46px;border:1px solid #c8fb6b69;border-radius:24px;padding:10px 13px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--access-white);font:750 11px/1.2 Inter,Arial,sans-serif;letter-spacing:.035em;text-decoration:none;white-space:normal;text-align:center;cursor:pointer;background:linear-gradient(160deg,#f6ffdd26,#03060355 65%,#b6ef3c10);box-shadow:inset 0 1px 1px #fbffe599,inset 0 -2px 3px #0006,0 5px 14px #0004;}
html body .rotor-access-route:hover {border-color:#d6ff7a;color:#f8ffdb;background-color:#b6ef3c18;}
html body .rotor-access-route:active {transform:translateY(1px);}
html body .rotor-access-route:focus-visible,html body .rotor-access-panel .rotor-badge-stage:focus-visible {outline:2px solid var(--access-green);outline-offset:4px;}
html body .rotor-access-route[disabled] {opacity:.5;cursor:default;}
html body .rotor-access-play {color:var(--access-gold);border-color:#ffe45ba3;font-size:14px;}
html body .rotor-access-world {color:#d7ff82;border-color:#b6ef3ca3;}
html body .rotor-access-glyph {flex:none;width:28px;height:28px;}
html body .rotor-access-dock .rotor-ui3d-icon,html body .rotor-access-panel .rotor-ui3d-icon {display:none!important;}
html body .rotor-access-panel {position:fixed;z-index:150;top:94px;right:var(--access-safe);width:min(540px,calc(100vw - 2 * var(--access-safe)));max-height:calc(100dvh - 118px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:22px;border:1px solid #f5ffdf8c;border-radius:34px;color:var(--access-white);background:linear-gradient(135deg,#02050130,#02040118);box-shadow:inset 0 2px 1px #ffffff8c,inset 0 -2px 3px #eaffb51f,0 24px 54px #0009;scrollbar-width:thin;scrollbar-color:#b6ef3c80 transparent;}
html body .rotor-access-panel[hidden] {display:none!important;}
html body .rotor-access-head {display:flex;align-items:center;gap:18px;margin-bottom:16px;}
html body .rotor-access-head h2 {font:800 29px/1.08 'Barlow Condensed',Inter,sans-serif;letter-spacing:0;margin:0;flex:1;text-wrap:balance;}
html body .rotor-access-close {min-height:44px;font-size:10px;padding-inline:13px;}
html body .rotor-access-state,html body .rotor-access-description {margin:0 0 20px;color:#d5f6a2;font:600 12px/1.5 Inter,Arial,sans-serif;}
html body .rotor-access-versus {display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;}
html body .rotor-access-versus section {min-width:0;}
html body .rotor-access-versus h3 {font:800 27px/1.05 'Barlow Condensed',Inter,sans-serif;margin:0;overflow-wrap:anywhere;}
html body .rotor-access-versus p {font:650 10px/1.5 Inter,Arial,sans-serif;margin:7px 0 10px;color:#d8f7aa;}
html body .rotor-access-opponent h3,html body .rotor-access-opponent p,html body .rotor-access-vs {color:var(--access-gold);}
html body .rotor-access-vs {font:800 12px/1 Inter,Arial,sans-serif;text-align:center;}
html body .rotor-access-badge {position:relative;width:100%;}
html body .rotor-access-badge .rotor-badge-stage {position:relative;display:block!important;width:100%;height:174px;border:1px solid #e5ffb12f;border-radius:28px;background:transparent;touch-action:none;box-sizing:border-box;}
html body .rotor-access-badge[data-badge-inspect=true] .rotor-badge-stage {height:236px;}
html body .rotor-access-badge .rotor-badge-actions {display:flex;align-items:center;justify-content:space-between;gap:7px;margin:8px 0 17px;}
html body .rotor-access-badge .rotor-badge-actions small {font:650 8px/1.4 Inter,Arial,sans-serif;color:#e9fbc9;}
html body .rotor-access-badge .rotor-badge-inspect {min-height:44px;border-radius:22px;border:1px solid #efffc963;background:#05080557;color:#e7ffc0;font:750 9px/1.2 Inter,Arial,sans-serif;padding:8px;cursor:pointer;}
html body .rotor-access-opponent .rotor-badge-inspect {color:var(--access-gold);border-color:#ffe45b70;}
html body .rotor-access-score {margin:16px 0;color:var(--access-gold);font:800 24px/1 'Barlow Condensed',Inter,sans-serif;letter-spacing:.02em;}
html body .rotor-access-charge {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 0 20px;font:650 9px/1.3 Inter,Arial,sans-serif;color:#d7ff82;}
html body .rotor-access-charge[hidden],html body .rotor-access-score[hidden] {display:none;}
html body .rotor-access-charge meter {width:100%;height:14px;accent-color:var(--access-green);}
html body .rotor-access-charge meter::-webkit-meter-optimum-value {background:var(--access-green);}
html body .rotor-access-modes {display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;}
html body .rotor-access-start {color:var(--access-gold);border-color:#ffe45bad;min-height:54px;font-size:13px;}
html body .rotor-access-player-actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #f1ffd631;}
html body .rotor-access-views {left:var(--access-safe);right:auto;width:min(440px,calc(100vw - 2 * var(--access-safe)));}
html body .rotor-access-view-grid {display:grid;grid-template-columns:1fr 1fr;gap:9px;}
html body .rotor-access-view-grid .rotor-access-route {justify-content:flex-start;text-align:left;padding:16px;min-height:56px;color:#d7ff82;}
html body .rotor-access-live {width:100%;margin-block:18px;min-height:52px;color:var(--access-gold);}
html body .rotor-access-world-more {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
html body .rotor-access-panel ::selection {background:var(--access-green);color:#020601;text-shadow:none;}
/* A visible action outside the preserved draw iframe; never a dark click trap. */
html body.rotor-access-ready #opponentPull {background:#02050180!important;color:#f4ffdc;}
html body.rotor-access-ready #opponentPull .scanCopy h2 {font-size:clamp(28px,3vw,42px);color:#f8ffe8;}
html body.rotor-access-ready #opponentPull .scanCopy p {color:#defba7;}
html body.rotor-access-ready #opponentPull .scanStatus {color:#d6ff79;}
html body.rotor-access-ready #opponentPull #ownedPullContinue {min-width:190px;min-height:54px;border-radius:27px;background:#b6ef3c;color:#091101;font-size:13px;font-weight:850;border-color:#efffc6;bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--rotor-access-bottom));right:50%;transform:translateX(50%);}
html body.rotor-access-ready #opponentPull #ownedPullBack {background:#02040188;color:#f5ffe2;border-color:#d7ff826c;border-radius:24px;bottom:calc(max(26px,env(safe-area-inset-bottom)) + var(--rotor-access-bottom));}
/* Visible, contained Green Room choices. Existing world positions stay authored. */
html body.rotor-access-ready.stadium-green #world-ui #choices .mode {color:#dfff91!important;border-color:#c8ff727f!important;background:linear-gradient(160deg,#f6ffdb23,#010401ab)!important;box-shadow:inset 0 2px 1px #f5ffe680,0 8px 22px #0006;}
html body.rotor-access-ready.stadium-green #world-ui #choices .mode:first-child {color:#ffe45b!important;border-color:#ffe45ba8!important;}
html body.rotor-access-ready.stadium-green #world-ui #choices .mode[data-rotor-ui-3d] {background:#02050147!important;border-color:#d8ff8270!important;}
html body.rotor-access-ready.stadium-green #world-ui #choices .mode :is(strong,.index,.detail) {color:inherit!important;}
html body.rotor-access-ready.stadium-green :is(#courtsideVault,#openFlightLab,.rotor-emblem-launch) {color:#dfff91!important;border-color:#caff737c!important;border-radius:25px!important;background:#0205018c!important;}
@media(max-width:1200px){html body .rotor-access-dock {left:180px;right:120px;gap:5px;}html body .rotor-access-dock .rotor-access-route {padding-inline:8px;font-size:10px;}html body .rotor-access-glyph {width:23px;height:23px;}}
@media(max-width:960px){html body.rotor-access-ready {--rotor-access-bottom:76px;}html body .rotor-access-dock {top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:var(--access-safe);right:var(--access-safe);max-width:760px;}html body .rotor-access-panel {top:max(82px,env(safe-area-inset-top));max-height:calc(100dvh - 170px);}}
@media(max-width:620px){html body.rotor-access-ready {--rotor-access-bottom:112px;}html body .rotor-access-dock {grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;border-radius:28px;}html body .rotor-access-dock .rotor-access-route {min-height:44px;font-size:10px;padding:8px 7px;}html body .rotor-access-panel {left:var(--access-safe);right:var(--access-safe);top:78px;width:auto;max-height:calc(100dvh - 198px);padding:18px;border-radius:28px;}html body .rotor-access-head h2 {font-size:26px;}html body .rotor-access-badge .rotor-badge-stage {height:130px;}html body .rotor-access-versus h3 {font-size:24px;}html body .rotor-access-badge .rotor-badge-actions {flex-wrap:wrap;}html body .rotor-access-badge .rotor-badge-inspect {width:100%;}html body .rotor-access-modes {grid-template-columns:1fr 1fr;}html body .rotor-access-start {grid-column:1 / -1;}}
@media(max-height:560px) and (orientation:landscape){html body.rotor-access-ready {--rotor-access-bottom:76px;}html body .rotor-access-dock {top:auto;bottom:10px;grid-template-columns:.8fr 1.5fr 1fr .9fr 1.15fr .9fr;min-height:48px;}html body .rotor-access-panel {top:72px;max-height:calc(100dvh - 150px);}html body .rotor-access-badge .rotor-badge-stage {height:105px;}}
@media(prefers-reduced-motion:reduce){html body .rotor-access-route:active {transform:none;}}
@media(forced-colors:active){html body :is(.rotor-access-dock,.rotor-access-panel,.rotor-access-route) {background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;}html body .rotor-access-glyph {display:none;}html body .rotor-access-route:focus-visible {outline-color:Highlight;}}
html body.rotor-access-ready #opponentPull #ownedPullContinue{color:#091101!important}

html body.rotor-access-ready .rotor-view-toggle{display:none!important}
