@import './mancala-terrace-876667b5bf15.css';
@import './picross-quilt-876667b5bf15.css';
@import './network-atlas-876667b5bf15.css';
@import './circuit-bloom-876667b5bf15.css';
@import './domino-salon-876667b5bf15.css';
@import './tictactoe-studio-876667b5bf15.css';
@import './sokoban-workshop-876667b5bf15.css';
@import './block-atelier-876667b5bf15.css';
@import './reflex-prism-876667b5bf15.css';
@import './helicopter-coast-876667b5bf15.css';
@import './penalty-stadium-876667b5bf15.css';
@import './bubble-lab-876667b5bf15.css';
@import './connect-grove-876667b5bf15.css';
@import './naval-command-876667b5bf15.css';
@import './card-council-876667b5bf15.css';
.grid a.game-card{display:flex;align-items:center;gap:14px;border:1px solid #29405a;border-radius:18px;padding:20px;color:inherit;text-decoration:none;background:#0d1d32;min-width:0;transition:transform .16s,border-color .16s}
.grid a.game-card:hover,.grid a.game-card:focus-visible{transform:translateY(-3px);border-color:var(--game);outline:2px solid var(--game);outline-offset:3px}
.game-card .game-copy{flex:1;min-width:0}.game-card h3{margin:6px 0}.game-card small{color:var(--game)}.game-card .game-icon{font-size:34px}.game-card span{font-size:14px;line-height:1.5}
.game-heading{max-width:1000px;margin:18px auto;padding:0 16px}.game-heading h1{font-size:24px;margin:8px 0}.game-heading p{margin:8px 0;line-height:1.5;color:#c5d3e6}.game-heading a,.locale-links a{color:#8fd6ff}.locale-links{display:flex;flex-wrap:wrap;gap:14px;padding:20px;justify-content:center;font-size:14px}
.game-page{padding:0!important;max-width:none!important}.game-page .campaign-shell{padding-top:0}.game-card .play-glyph{padding:12px;border-radius:12px;background:#233b56}
.classic-ludo,.standard-board,.chess-board,.checkerboard,.checkers-board,.dames-board,.board,.rebuilt-stage,.rebuilt-controls,.p2-controls,.dice-cube,.dice-scene,.ludo-dice,.snake-grid,.maze-grid,.connect-board,.season-grid,.rg-grid{direction:ltr}
[dir=rtl] .rebuilt-overlay,[dir=rtl] .rebuilt-help,[dir=rtl] .action-message,[dir=rtl] .game-heading{direction:rtl}
.seo-preview{max-width:1000px;margin:25px auto;padding:24px}.seo-preview a{color:#8fd6ff}.seo-preview .grid{margin-top:20px}.seo-preview h1{font-size:30px}.seo-preview p{line-height:1.6}
.checkerboard{grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr))}.checkerboard button{min-width:0;min-height:0}.checkerboard button:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media(max-width:600px){.game-heading h1{font-size:20px}.game-heading{margin:8px auto}.grid a.game-card{padding:14px;gap:10px}.locale-links{gap:12px}}
@media(max-width:600px){.gamebar{height:auto;min-height:64px;flex-wrap:wrap}.gamebar>div{flex:1}.gamebar>button:not(:first-child){font-size:14px;white-space:normal}.board-shell{padding-top:20px}}
/* A single measured play viewport: no nested 100vh panels or clipped controls. */
html{overscroll-behavior-y:contain}body{overflow-x:hidden}.game-page{width:100%;color:#eaf5ff}
.game-surface{height:var(--game-viewport,100dvh);min-height:280px;max-width:1440px;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;overflow:hidden;isolation:isolate;background:#081225}
.game-surface .campaign-play{flex:1;min-height:0;display:flex;flex-direction:column}
.game-surface .play-view{position:relative!important;inset:auto!important;width:100%;height:auto!important;min-height:0!important;flex:1;display:flex;flex-direction:column;overflow:hidden!important}
.game-surface .campaign-bar{flex:none;width:100%;max-width:none;min-height:38px;margin:0;padding:4px 12px;border:0;border-bottom:1px solid #31526b;border-radius:0;font-size:13px;gap:8px;background:#10273a}
.game-surface .campaign-bar strong{font-size:13px}.game-surface .campaign-bar small{display:none}.game-surface .campaign-bar label{font-size:12px}.game-surface .campaign-bar select{padding:2px 5px;min-height:28px}
.game-surface .gamebar{flex:none;height:54px;min-height:54px;padding:5px 10px;flex-wrap:nowrap;gap:8px;background:#091729;z-index:25;overflow:visible}
.game-surface .gamebar>div{flex:1;min-width:0}.game-surface .gamebar small{display:none}.game-surface .gamebar strong{font-size:16px;line-height:1.15}.game-surface .gamebar>button{min-height:42px;height:42px;padding:5px 12px;white-space:nowrap;font-size:14px;flex-shrink:0}.game-surface .gamebar>button:first-child{width:42px;padding:5px}
.game-surface .rebuilt-main:has(.rebuilt-stage){display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);flex:1;min-height:0;width:100%;max-width:1040px;padding:8px 12px;gap:8px;overflow:hidden}
.game-surface .rebuilt-hud{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;align-items:center;margin:0;padding:0;background:none;min-height:0;line-height:1.3;flex:none;font-variant-numeric:tabular-nums}
.game-surface .rebuilt-hud>span{padding:4px 8px;min-height:26px;font-size:13px;border:1px solid #284b64;background:#10243a;border-radius:6px}
.game-surface .rebuilt-stage{height:auto!important;min-height:0!important;width:100%;margin:0;container-type:size;overflow:hidden;border-radius:12px;border:1px solid #375873;box-shadow:0 6px 20px #0005}
.game-surface .rebuilt-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:0;padding:6px;gap:8px;border-radius:12px;touch-action:none;user-select:none;background:#0e2237;min-height:0}
.game-surface .rebuilt-controls button{min-width:48px;min-height:48px;padding:8px 12px;flex:1;max-width:180px;font-size:14px;line-height:1.1;touch-action:none}
.game-surface .rebuilt-controls label{flex:1;min-width:110px;max-width:45%;font-size:13px;gap:0}.game-surface .rebuilt-controls input{min-height:24px}
.game-surface [data-playing=true] .rebuilt-controls button{box-shadow:0 3px #020812}.game-surface .rebuilt-overlay{padding:8px;overflow:hidden;overscroll-behavior:contain}.game-surface .rebuilt-overlay>div{max-height:100%;max-width:540px;width:auto;padding:14px;overflow:auto;border-color:#3e7085}.game-surface .rebuilt-overlay h2{font-size:23px;margin:0 0 8px;line-height:1.15}.game-surface .rebuilt-overlay p{font-size:14px;line-height:1.4;max-height:23dvh;overflow:auto;margin:7px 0 12px}.game-surface .rebuilt-overlay button{min-height:48px;position:relative;margin:3px}
.game-surface .uncovered-start{position:absolute;z-index:22;top:50%;left:50%;transform:translate(-50%,-50%);width:min(85%,360px);padding:16px;border-radius:12px;background:#0c203bea;box-shadow:0 12px 40px #0008;text-align:center;display:grid;gap:10px}
.game-surface .season-grid{position:absolute;width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-height:100%;margin:0;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;aspect-ratio:1;gap:2px}
.game-surface .season-hockey{position:absolute;inset:auto;width:min(100cqw,74cqh);height:100cqh;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box}
.game-surface .hockey-pad{width:16%;height:auto;aspect-ratio:1;max-height:none}.game-surface .hockey-puck{width:7%;height:auto;aspect-ratio:1;max-height:none}
.game-surface .shadow-stage{height:100%;min-height:0}.game-surface .action-health{top:6px}.game-surface .action-health meter{height:16px}.game-surface .action-health small{font-size:12px}.game-surface .action-message{bottom:4px;padding:4px;font-size:12px}
.game-surface canvas,.game-surface .rebuilt-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-surface canvas{max-width:100%;max-height:100%}
.game-surface .race-notice{top:8px;padding:5px 9px;font-size:13px;white-space:normal;max-width:90%;text-align:center}.game-heading{padding:20px 18px;max-width:1000px}.game-rules-copy{font-size:16px;line-height:1.65}
/* Advertising retains its responsive unit; it never shares gameplay geometry. */
.ad{height:auto!important;min-height:300px!important;max-height:none!important;margin:28px auto!important;padding:12px;max-width:1000px;width:calc(100% - 32px);overflow:visible!important;contain:layout style;background:#0c1a2b;border:1px solid #273e55;border-radius:12px;display:block!important}
.ad>span{display:block;text-align:center;font-size:12px;color:#9aadc2;margin-bottom:12px;letter-spacing:.08em}.ad .adsbygoogle{display:block;min-height:250px;height:auto;max-width:100%}
@media(min-width:1000px){.ad{min-height:320px!important}.game-surface .rebuilt-main:has(.rebuilt-stage){padding:10px 16px;gap:10px}}
@media(max-width:400px){.game-surface .gamebar{gap:5px;padding:4px 6px}.game-surface .gamebar strong{font-size:14px}.game-surface .gamebar>button{padding:5px 8px}.game-surface .gamebar>button:last-child{max-width:92px;white-space:normal;font-size:12px}.game-surface .rebuilt-main:has(.rebuilt-stage){padding:6px;gap:6px}.game-surface .rebuilt-controls{gap:5px;padding:5px}.game-surface .rebuilt-controls button{min-width:44px;min-height:48px;padding:8px 6px}.game-surface .rebuilt-hud>span{font-size:12px;padding:3px 6px}.game-surface .campaign-bar strong{font-size:12px}.game-surface .campaign-bar label{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .campaign-bar{min-height:32px;padding:2px 10px}.game-surface .gamebar{height:46px;min-height:46px}.game-surface .gamebar>button{height:38px;min-height:38px}.game-surface .rebuilt-main:has(.rebuilt-stage){max-width:none;grid-template-columns:minmax(0,1fr) clamp(140px,25vw,250px);grid-template-rows:auto minmax(0,1fr);gap:5px;padding:5px}.game-surface .rebuilt-hud{grid-column:1;grid-row:1;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.game-surface .rebuilt-hud>span{font-size:12px;min-height:24px;flex-shrink:0}.game-surface .rebuilt-stage{grid-column:1;grid-row:2}.game-surface .rebuilt-controls{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:6px;padding:6px;overflow:auto}.game-surface .rebuilt-controls button{min-width:0;max-width:none;min-height:46px;width:100%}.game-surface .rebuilt-controls label{min-width:0;max-width:none;grid-column:1/-1}.game-surface .p2-controls{grid-column:1/-1}.game-surface .rebuilt-overlay>div{padding:8px}.game-surface .rebuilt-overlay p{max-height:15dvh;font-size:13px;margin:5px 0}.game-surface .rebuilt-overlay h2{font-size:18px;margin:0 0 4px}.game-surface .rebuilt-overlay button{min-height:40px;padding:6px 14px}.game-surface .action-message{display:none}}
.game-surface .rebuilt-controls button{white-space:normal;overflow-wrap:anywhere}
@media(orientation:landscape) and (max-height:600px){.game-surface .rebuilt-hud{flex-wrap:wrap;overflow:visible;white-space:normal;justify-content:center}.game-surface .rebuilt-controls{overflow-x:hidden}.game-surface .rebuilt-hud>span{white-space:normal}}
.game-surface [data-game="Tennis Rally"] .rg-paddle,.game-surface [data-game="Tennis Rally"] .rg-ball,.game-surface .rg-net{pointer-events:none}
/* Secondary commands form a rail in landscape; board geometry stays square. */
.game-surface .rebuilt-controls button{min-width:60px;padding:7px 6px;overflow-wrap:normal;word-break:normal}
.game-surface .strategy-main{flex:1;min-height:0;width:100%;max-width:1050px;margin:0 auto;padding:8px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;box-sizing:border-box}
.game-surface .strategy-board{min-width:0;min-height:0;container-type:size;display:flex;justify-content:center;align-items:center;position:relative}
.game-surface .strategy-board>.rg-grid{width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-width:560px;max-height:560px;margin:0;grid-auto-rows:minmax(0,1fr);gap:3px}
.game-surface .strategy-board>.rg-grid>button{min-width:0;min-height:0;padding:0;aspect-ratio:auto;font-size:clamp(13px,3vw,23px)}
.game-surface .strategy-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px;background:#0e2237;border-radius:12px;min-width:0}
.game-surface .strategy-tools>.rebuilt-hud,.game-surface .strategy-tools>.rg-status,.game-surface .strategy-tools>.modern-notice{width:100%;font-size:14px;line-height:1.35;margin:0;padding:3px}.game-surface .strategy-tools .rg-options{gap:5px}.game-surface .strategy-tools button{font-size:14px;min-height:44px;padding:8px 12px}.game-surface .rg-piece{grid-template-columns:repeat(4,9px);gap:1px}.game-surface .rg-piece i{width:9px;height:9px}
.game-surface .strategy-tools .treasure-log{display:flex;gap:10px;font-size:12px;flex-wrap:wrap;max-height:55px;overflow:auto}.game-surface .strategy-tools .treasure-log p{margin:0}.game-surface .modern-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.game-surface .modern-toolbar b{font-size:14px}
.game-surface .modern-tubes{width:100%;height:100%;align-content:center;align-items:center;gap:24px 12px;padding:16px 8px 28px;overflow:hidden;box-sizing:border-box}.game-surface .modern-tube{width:clamp(42px,12cqw,62px);height:clamp(110px,37cqh,220px);min-height:0;flex:none}.game-surface .modern-tube span{height:calc((100% - 12px)/4);min-height:0;font-size:18px}.game-surface .modern-tube small{font-size:13px;bottom:-22px}.game-surface .modern-tube.selected{transform:translateY(-8px)}
.game-surface .rg-fleet{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:850px;align-items:center}.game-surface .naval-board{min-width:0}.game-surface .naval-board h3{margin:0 0 5px;font-size:14px}.game-surface .naval-board .rg-grid{width:100%;aspect-ratio:1;grid-auto-rows:minmax(0,1fr)}.game-surface .naval-board .rg-grid button{min-height:0;padding:0;min-width:0;aspect-ratio:1;font-size:20px}
.game-surface .card-table{max-height:100%;width:100%;overflow:auto;padding:12px;box-sizing:border-box}.game-surface .card-table p{font-size:14px;line-height:1.3;margin:5px}.game-surface .card-table h2{font-size:19px;margin:8px}.game-surface .tactical-card{min-width:42px;width:44px;height:65px;min-height:65px;padding:5px;font-size:22px}.game-surface .card-table .rg-options{gap:6px}
.game-surface .board-shell{width:100%;height:auto;min-height:0;flex:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;padding:8px;gap:6px;box-sizing:border-box}.game-surface .board-shell .checkerboard{width:min(100%,calc(var(--game-viewport,100dvh) - 180px));height:auto;max-height:100%;margin:0;min-height:0}.game-surface .board-shell .game-help{display:none}.game-surface .board-shell .reset-game{font-size:13px;min-height:40px;padding:7px 10px}
.game-surface .board-main{flex:1;min-height:0;width:100%;max-width:1000px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:6px;padding:6px 10px;box-sizing:border-box}.game-surface .board-main>.board-options{grid-row:1;margin:0;gap:5px;justify-content:center}.game-surface .board-main>.classic-ludo{grid-row:2;justify-self:center;width:min(100%,calc(var(--game-viewport,100dvh) - 295px));max-height:100%;margin:0}.game-surface .board-main>.ludo-control{grid-row:3;min-height:94px;padding:6px;gap:6px}.game-surface .ludo-control strong{font-size:15px}.game-surface .ludo-control p{font-size:13px;line-height:1.2;margin:4px 0}.game-surface .ludo-control .pawn-shortcuts{gap:3px}.game-surface .ludo-control .pawn-shortcuts button{font-size:12px;min-height:35px;padding:5px}.game-surface .ludo-control .ludo-roll{min-width:85px!important;min-height:90px;padding:5px}.game-surface .dice-space{height:52px;margin:4px auto 8px}.game-surface .ludo-roll small{font-size:12px}.game-surface .board-main>.ludo-scores{grid-row:4;gap:6px}.game-surface .ludo-scores span{font-size:12px;padding:3px 6px}.game-surface .board-rules{display:none}.game-surface .board-options label{font-size:13px;gap:4px}.game-surface .board-options select{padding:6px;font-size:13px;min-height:36px}.game-surface .board-options button{font-size:13px;min-height:36px;padding:6px 9px}
.game-surface .chess-main{flex:1;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:5px;padding:6px;width:100%;max-width:1000px;box-sizing:border-box}.game-surface .chess-main>.board-options{margin:0;justify-content:center}.game-surface .chess-status{margin:0;padding:6px;font-size:14px;line-height:1.3}.game-surface .chess-layout{min-height:0;grid-template-columns:1fr;justify-items:center}.game-surface .standard-board{width:min(100%,calc(var(--game-viewport,100dvh) - 220px));aspect-ratio:1;min-height:0;grid-template-rows:repeat(8,minmax(0,1fr));max-height:100%}.game-surface .chess-square{min-height:0;aspect-ratio:auto}.game-surface .chess-piece{font-size:clamp(24px,7vw,45px)}.game-surface .chess-history{display:none}.game-surface .chess-actions{margin:0;gap:6px;flex-wrap:wrap;justify-content:center}.game-surface .chess-actions button{font-size:13px;min-height:40px;padding:6px 10px}.game-surface .promotion-panel{position:absolute;z-index:40;left:5%;right:5%;top:30%;margin:0;box-shadow:0 0 0 100vmax #020916aa}
@media(orientation:landscape) and (max-height:600px){.game-surface .strategy-main{grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr);gap:6px;padding:6px}.game-surface .strategy-tools{align-content:center;overflow-y:auto;gap:5px;padding:6px}.game-surface .strategy-tools button{padding:6px 9px;min-height:40px}.game-surface .strategy-tools .rg-options{width:100%}.game-surface .strategy-tools .modern-toolbar b{width:100%}.game-surface .modern-tubes{gap:18px 10px;padding:8px 5px 22px}.game-surface .modern-tube{width:clamp(35px,10cqw,50px);height:calc(100cqh - 40px);max-height:215px}.game-surface .modern-tube span{font-size:16px}.game-surface .board-shell{grid-template-columns:minmax(0,1fr) 195px;grid-template-rows:minmax(0,1fr) auto}.game-surface .board-shell .checkerboard{grid-column:1;grid-row:1/3;width:min(100%,calc(var(--game-viewport,100dvh) - 75px))}.game-surface .board-shell>div:first-child{grid-column:2;grid-row:1;align-content:center}.game-surface .board-shell>.reset-game{grid-column:2;grid-row:2}.game-surface .board-main{grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:auto minmax(0,1fr) auto;padding:5px;gap:5px}.game-surface .board-main>.classic-ludo{grid-column:1;grid-row:1/4;width:min(100%,calc(var(--game-viewport,100dvh) - 65px))}.game-surface .board-main>.board-options{grid-column:2;grid-row:1}.game-surface .board-main>.ludo-control{grid-column:2;grid-row:2;align-self:center}.game-surface .board-main>.ludo-scores{grid-column:2;grid-row:3}.game-surface .chess-main{grid-template-columns:minmax(0,1fr) 210px;grid-template-rows:auto minmax(0,1fr) auto}.game-surface .chess-layout{grid-column:1;grid-row:1/4;height:100%}.game-surface .standard-board{width:min(100%,calc(var(--game-viewport,100dvh) - 64px));height:auto}.game-surface .chess-main>.board-options{grid-column:2;grid-row:1}.game-surface .chess-status{grid-column:2;grid-row:2;align-self:center}.game-surface .chess-actions{grid-column:2;grid-row:3}.game-surface .chess-piece{font-size:clamp(20px,6vh,30px)}.game-surface .rg-fleet{grid-template-columns:1fr 1fr;gap:5px}.game-surface .naval-board .rg-grid{max-width:calc(var(--game-viewport,100dvh) - 100px)}}
@media(min-width:900px) and (min-height:601px){.game-surface .chess-layout{grid-template-columns:minmax(0,1fr) 240px}.game-surface .chess-history{display:block;width:100%;max-height:100%;padding:12px}.game-surface .standard-board{width:min(100%,calc(var(--game-viewport,100dvh) - 200px))}.game-surface .strategy-main{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:1fr}.game-surface .strategy-tools{align-content:center}.game-surface .board-main>.classic-ludo{width:min(100%,calc(var(--game-viewport,100dvh) - 270px))}}
.game-page>.game-heading{min-height:160px;box-sizing:border-box}
.game-sprite{display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 3px 4px #0008)}.game-sprite svg{width:100%;height:100%;overflow:hidden}.sprite-hero{filter:drop-shadow(0 6px 7px #2bcfff66)}.sprite-boss{filter:drop-shadow(0 2px 5px #ff554466)}
.game-surface [data-game="Nova Hero"] .rg-token{width:clamp(32px,9cqw,62px);height:clamp(44px,14cqh,85px)}.game-surface [data-game="Space Runner"] .rg-token:has(.game-sprite){width:clamp(30px,12cqw,70px);height:clamp(42px,18cqh,86px)}
.game-surface .goal-keeper{width:clamp(55px,17cqw,110px);height:clamp(70px,23cqh,150px);font-size:0}.game-surface [data-game="Penalty King"] .rg-token:has(.sprite-keeper){width:clamp(60px,18cqw,150px);height:clamp(75px,30cqh,170px)}
.game-surface [data-game="Penalty King"] .rebuilt-stage,.game-surface .goal-field{background:repeating-linear-gradient(0deg,#0000 0 9%,#a6d29f12 9% 18%),linear-gradient(#132e42 0 12%,#286543 12% 100%)}
.game-surface .hockey-pro{box-shadow:inset 0 0 0 7px #18293b,inset 0 0 45px #0e608055;background:radial-gradient(circle at 50% 50%,#2b617d,#11344a);border:4px solid #82cde2}.hockey-pro.scored{box-shadow:inset 0 0 55px #79ffff99}.hockey-trail{position:absolute;width:7%;aspect-ratio:1;border-radius:50%;background:#e3ffef;transform:translate(-50%,-50%);pointer-events:none}.hockey-pro .hockey-pad{background:radial-gradient(circle at 42% 35%,#ecfeff 0 16%,#58c4ed 17% 35%,#1c7dae 38% 62%,#8ef3ff 66% 72%,#134b7e 75%);box-shadow:0 4px 7px #031320b0}.hockey-pro .hockey-pad.enemy{filter:hue-rotate(150deg)}.hockey-pro .hockey-puck{background:radial-gradient(circle at 40% 35%,#fff,#bce9ee 50%,#367287 72%);box-shadow:0 2px 4px #041523}
.game-surface .tennis-player{position:absolute;width:clamp(38px,13cqw,85px);height:clamp(48px,23cqh,130px);transform:translate(-50%,-100%);z-index:3;pointer-events:none}.game-surface .tennis-player.rival{filter:hue-rotate(170deg);z-index:2}.game-surface [data-game="Tennis Rally"] .rg-ball{z-index:5;box-shadow:2px 7px 4px #031a2370,0 0 6px #e9ff8990}.game-surface [data-game="Tennis Rally"] .rg-paddle{opacity:.55;z-index:4}
.game-surface [data-game="Helicopter Rescue"] .rg-token:has(.sprite-heli){width:clamp(75px,23cqw,150px);height:clamp(33px,12cqh,75px)}
.game-surface [data-game="Helicopter Rescue"] .rebuilt-stage{background:linear-gradient(#0e385c55,#0d284977),url(/canyon-rescue.webp) center/cover}
.game-surface .art-bike{width:min(25cqw,32cqh)!important}.game-surface .art-volley{width:min(20cqw,30cqh)!important}
.game-surface [data-game="Bike Stunt"][data-playing=true] .rebuilt-stage,.game-surface [data-game="Dirt Bike X"][data-playing=true] .rebuilt-stage{background-size:auto 110%;animation:terrain-pan 25s linear infinite}.game-surface [data-game="Space Runner"][data-playing=true] .rebuilt-stage{background-image:radial-gradient(1px 1px at 10% 30%,#def 100%,transparent),radial-gradient(2px 2px at 75% 55%,#8ba6ea 100%,transparent);background-size:63px 131px,121px 223px;animation:stars-drift 3s linear infinite}
@keyframes terrain-pan{from{background-position:0 0}to{background-position:100% 0}}@keyframes stars-drift{to{background-position:0 262px,0 446px}}
.game-surface .strategy-board button{transition:background .16s,box-shadow .16s,transform .12s}.game-surface .strategy-board button:active{transform:scale(.93)}.game-surface .strategy-board button[aria-pressed=true]{outline:3px solid #89e8ff;outline-offset:-3px}.game-surface .snake-head{box-shadow:0 0 8px #adfff6}.game-surface .snake-food{box-shadow:0 0 12px #ffd87a;animation:orb-pulse 1.4s ease-in-out infinite}@keyframes orb-pulse{50%{filter:brightness(1.5)}}
@media(prefers-reduced-motion:reduce){.game-surface .snake-food{animation:none}.game-surface .strategy-board button{transition:none}}

.game-surface .goal-keeper{top:82%;transform:translate(-50%,-50%)}.goal-field:before{content:"";position:absolute;inset:30% 15% 0;border:2px solid #dbf4df6b;pointer-events:none}.goal-field:after{content:"";position:absolute;width:28%;height:18%;left:36%;top:22%;border:2px solid #dbf4df6b;border-radius:50% 50% 0 0;border-bottom:0;pointer-events:none}

/* Two local fighters get independent pads; neither pad hides below the other. */
.fight-pads,.fight-p1{display:contents}.fight-pads.local{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.fight-pads.local>div{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:5px;min-width:0}.fight-pads strong,.fight-pads .fight-mode{grid-column:1/-1;text-align:center}.fight-pads strong{font-size:12px}.game-surface .fight-pads.local button{min-width:0;min-height:44px;font-size:12px}
@media(orientation:landscape) and (max-height:600px){.game-surface .rebuilt-main:has(.fight-pads.local){grid-template-columns:135px minmax(0,1fr) 135px}.game-surface .rebuilt-main:has(.fight-pads.local) .rebuilt-hud,.game-surface .rebuilt-main:has(.fight-pads.local) .rebuilt-stage{grid-column:2}.game-surface .rebuilt-controls:has(.fight-pads.local),.game-surface .fight-pads.local{display:contents}.game-surface .fight-pads.local>div{grid-row:1/3;display:grid;background:#0e2237;padding:5px;border-radius:8px;gap:4px}.game-surface .fight-p1{grid-column:1}.game-surface .fight-p2{grid-column:3}.game-surface .fight-pads.local button{min-height:44px;padding:4px;font-size:11px}}

.game-surface .rg-token,.game-surface .rg-lane{pointer-events:none}.game-surface .rebuilt-stage:focus-visible{outline:2px solid #8fe1ff;outline-offset:-3px}

@media(orientation:landscape) and (max-height:600px){.game-surface .season-hockey{width:min(100cqh,74cqw);height:min(135cqh,100cqw);transform:translate(-50%,-50%) rotate(90deg)}}

@container (max-height:200px){.action-health{top:3px;gap:10px}.action-health label{font-size:11px;line-height:1;gap:2px}.action-health meter{height:7px}.action-health small{font-size:10px;white-space:nowrap}.action-message{display:none}}
.session-play{display:flex;flex-direction:column;min-height:0;height:100%;position:relative}.session-play>.game-rebuilt,.session-play>.strategy-game{flex:1;min-height:0}.resume-screen{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;text-align:center;background:radial-gradient(ellipse at 50% 15%,#203e70,#091424 65%);color:#f7fafc}.resume-screen h2{font-size:clamp(25px,5vw,40px);margin:0}.resume-screen p{max-width:34ch;font-size:16px;line-height:1.5;margin:0 0 12px}.resume-screen button{min-width:230px;min-height:48px;padding:12px 22px;border-radius:12px;border:1px solid #4e6582;background:#172940;color:white;font-weight:700}.resume-screen .resume-primary{background:#f0c86b;color:#102138;border-color:#f0c86b}.resume-symbol{font-size:42px;color:#f0c86b}.save-status{position:absolute;bottom:0;left:0;right:0;padding:5px 12px;background:#182738;color:#fff;text-align:center;font-size:12px;pointer-events:none;z-index:15}
.card-arena{width:100%;height:100%;display:flex!important;flex-direction:column;align-items:stretch;gap:8px;padding:12px!important;background:radial-gradient(ellipse at 50% 30%,#25554f,#0d252d 75%);border:1px solid #b89354!important;overflow:auto}.duel-score{display:flex;justify-content:space-between;align-items:center;color:#bfcdd2;font-size:14px}.duel-score>span{display:flex;gap:10px;align-items:center}.duel-score b{font-size:24px;color:#fff}.duel-pot{display:flex;justify-content:center;align-items:baseline;gap:10px;color:#f2d495}.duel-pot strong{font-size:clamp(28px,7cqh,60px)}.duel-pot small{text-transform:uppercase;letter-spacing:2px}.duel-hand{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.duel-hand .tactical-card{min-width:42px!important;width:clamp(42px,8cqw,76px)!important;height:clamp(55px,17cqh,100px)!important;padding:5px;background:linear-gradient(145deg,#fff9e7,#e7dab9);color:#172b3d;border:2px solid #c9b98d;border-radius:9px;font-size:26px;box-shadow:0 5px 8px #0006;transition:transform .12s}.duel-hand .tactical-card:hover{transform:translateY(-5px);background:#fff}.duel-instruction{text-align:center;margin:0!important;color:#fff;font-size:16px}.duel-played{display:flex;justify-content:center;align-items:center;gap:24px}.duel-card{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff4d9;color:#1b3247;width:75px;height:105px;border-radius:9px;font-weight:800;font-size:38px;border:3px solid #d2b475;animation:card-reveal .3s ease-out}.duel-card small{font-size:12px}.duel-card.opponent-card{background:#b9daf0}.duel-reveal,.duel-handoff{text-align:center}.duel-reveal p{margin:6px!important}.duel-history{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-top:auto;font-size:12px;color:#b9c8ce}.duel-history span{padding:4px 6px;border:1px solid #426262;border-radius:5px}.duel-history .won{color:#f2d495;border-color:#b29655}.gold-action{background:#edc877!important;color:#132b3e!important;min-height:44px;padding:9px 18px;border:0;border-radius:9px;font-weight:800}.naval-arena{display:flex!important;flex-direction:column;width:100%;height:100%;gap:8px;padding:10px!important;background:radial-gradient(ellipse at 45% 0,#17445d,#081c2d);overflow:auto}.naval-mission{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;color:#e9f4fa;font-size:14px}.naval-boards{display:flex;justify-content:center;align-items:center;gap:12px;flex:1;min-height:0}.naval-chart{width:min(47%,42cqh);max-width:360px}.naval-chart h3{font-size:14px;margin:0 0 6px;text-align:center}.naval-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;aspect-ratio:1}.naval-cells button{min-width:0;min-height:0;aspect-ratio:1;padding:0;border:1px solid #42738a;border-radius:3px;background:#13374b;color:#9bc0d3;font-size:clamp(10px,2cqw,16px)}.naval-cells .ship{background:#597880;color:#fff}.naval-cells .hit{background:#b9472f;color:#fff}.naval-cells .miss{background:#163044;color:#a4cfdf}.naval-cells .sunk{background:#6f352f}.naval-cells .last-shot{box-shadow:inset 0 0 0 2px #f5d88b}.naval-report{margin:0!important;font-size:14px;min-height:20px;text-align:center;color:#f2d495}.strategy-tools .modern-toolbar{flex-wrap:wrap}@keyframes card-reveal{from{transform:rotateY(90deg) translateY(-12px)}to{transform:none}}@media(max-width:520px) and (min-height:601px){.naval-boards{flex-direction:column;gap:8px}.naval-chart{width:min(86cqw,37cqh);max-width:270px}.naval-cells button{font-size:12px}.duel-hand{gap:6px}.card-arena{gap:12px}}@container(max-height:250px){.duel-pot strong{font-size:24px}.duel-card{height:56px;width:48px;font-size:24px}.duel-card small{font-size:10px}.duel-score b{font-size:18px}.duel-history{display:none}.card-arena{gap:4px;padding:8px!important}.duel-hand .tactical-card{height:48px!important;font-size:22px}.naval-chart{width:min(47%,60cqh)}}
.circuit-rank{position:absolute;top:15px;left:18px;display:flex;flex-direction:column;color:#fff;text-shadow:0 2px 8px #08203c;pointer-events:none}.circuit-rank small{letter-spacing:2px;font-size:12px}.circuit-rank strong{font-size:46px;font-style:italic;line-height:1.1}.circuit-rank strong span{font-size:18px;color:#c1dfec}.session-play>.play-view{flex:1;min-height:0}
.reflex-studio{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:radial-gradient(ellipse at 50% 35%,#234265,#0e1a31 65%)}.reflex-level{display:flex;gap:4px;max-width:90%;width:360px}.reflex-level i{height:5px;background:#40516b;flex:1;border-radius:3px}.reflex-level .done{background:#f0cc7e}.reflex-rule{font-size:clamp(14px,4cqh,24px);letter-spacing:2px;color:#fff}.reflex-dial{width:min(65cqw,46cqh,280px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#8acdda var(--remaining),#253e5a 0);position:relative;isolation:isolate}.reflex-dial:before{content:'';position:absolute;inset:7px;background:#0b1b30;border-radius:50%;z-index:-1}.reflex-dial b{font-size:clamp(24px,8cqh,48px);text-shadow:0 0 22px currentColor}.reflex-feedback{min-height:24px;margin:0;color:#f6d28b;font-weight:700}.reflex-studio.correct{box-shadow:inset 0 0 45px #6ff9b866}.reflex-studio.incorrect{box-shadow:inset 0 0 65px #f9586377}.rebuilt-controls button small{display:block;font-size:12px;margin-right:5px}@container(max-height:250px){.reflex-studio{gap:7px}.reflex-level{display:none}.reflex-dial{width:44cqh}.reflex-rule{font-size:14px}.reflex-feedback{font-size:13px}.reflex-dial b{font-size:20px}}
.game-surface .rg-fleet.naval-arena{align-items:stretch;max-width:none}.naval-arena .naval-boards{width:100%}.duel-reveal{margin:auto 0}.duel-reveal .duel-card{width:clamp(65px,18cqh,145px);height:clamp(90px,25cqh,205px);font-size:clamp(32px,8cqh,70px)}.card-arena>.duel-instruction{margin-top:auto!important}.card-arena>.duel-hand{margin-bottom:auto}.game-surface .strategy-tools>.board-rules{display:block;width:100%;max-height:110px;overflow:auto;font-size:14px}.strategy-tools>.board-rules:not([open]){max-height:24px}.strategy-tools>.board-rules summary{cursor:pointer}
.game-surface{overflow-anchor:none}.strategy-tools>.board-rules:not([open]){min-height:24px;flex:none}.strategy-tools>.board-rules[open]{min-height:64px}.naval-cells button:disabled{opacity:1}.naval-cells button:not(:disabled):hover{background:#247095}
.restart-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;background:#11243b;color:#f5f8fc;border:1px solid #435775;border-radius:22px;padding:26px;box-shadow:0 24px 100px #0009;text-align:left}
.restart-dialog::backdrop{background:#020b18c9;backdrop-filter:blur(7px)}
.restart-dialog h2{font-size:24px;margin:12px 0}.restart-dialog p{font-size:16px;line-height:1.55;color:#c6d5e6}.restart-icon{color:#ffcb78;font-size:32px}.restart-actions{display:grid;gap:10px;margin-top:22px}.restart-actions button{min-height:48px;border-radius:12px;background:#def2f9;color:#102738;font-weight:750;border:1px solid #7893aa;padding:12px 18px}.restart-actions .restart-destructive{background:#482839;color:#ffc0c2;border-color:#855262}.restart-actions button:focus-visible{outline:3px solid #6ef1e5;outline-offset:3px}
/* Mission games: compact live instruments remain inside the play surface. */
.mission-objective{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);display:grid;gap:4px;background:#102438dc;border:1px solid #a8d5e039;border-radius:12px;padding:10px 13px;pointer-events:none;box-shadow:0 6px 24px #0003}.mission-objective small{font-size:11px;letter-spacing:.13em;font-weight:800;color:#87d6e6}.mission-objective strong{font-size:clamp(13px,2.2vw,18px);color:#f4f7fa}.mission-objective span{font-size:12px;color:#d3e4e8}.mission-notice{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;box-sizing:border-box;padding:9px 15px;text-align:center;background:#102538ee;border:1px solid #89dfe16b;border-radius:30px;color:#e8fffa;font-size:14px;pointer-events:none}.urban-objective{top:8px;left:8px;padding:7px 11px}.urban-objective small{color:#ffe6a2}.urban-objective strong{font-size:14px}.highway-dash{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;border:1px solid #618ba177;border-radius:16px;padding:8px 18px;background:#081d30ed;color:#e5f6fc;width:min(520px,calc(100% - 30px));box-sizing:border-box;box-shadow:0 8px 25px #0005;pointer-events:none}.highway-dash>div{display:grid;line-height:1.1}.highway-dash strong{font:750 clamp(25px,5vw,42px)/1 system-ui}.highway-dash small{font-size:11px;color:#aac4d2}.highway-dash label{flex:1;min-width:0;font-size:12px;font-weight:700;display:grid;gap:5px}.highway-dash meter{width:100%;height:8px}.highway-dash span{font-size:12px;max-width:85px}.play-view[data-game='Highway Pursuit'] .mission-notice{bottom:100px}.tank-status{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between;gap:14px;pointer-events:none}.tank-status>div{width:min(230px,43%);box-sizing:border-box;border:1px solid #6b96ab66;border-radius:12px;background:#092338dc;padding:10px 12px;display:grid;gap:4px}.tank-status>div:nth-child(2){border-color:#ed9faa77}.tank-status strong{font-size:16px;color:#daf7ff}.tank-status>div:nth-child(2) strong{color:#ffc1cb}.tank-status meter{width:100%;height:9px}.tank-status label{display:grid;gap:3px;font-size:12px;color:#b6e3f1}.tank-status small{font-size:12px;color:#a9ccdc}.tank-feedback{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;padding:7px 13px;background:#08243bd9;color:#e2f9ff;border-radius:20px;font-size:14px;text-align:center;pointer-events:none}.play-view[data-game='Tank Duel'] .rebuilt-stage{background:#243945}.play-view[data-game='Urban Driver'] .rebuilt-stage{background:#152b30}
@media(max-width:450px){.highway-dash{gap:10px;padding:8px 11px}.highway-dash span{display:none}.mission-objective{top:8px;left:8px;padding:7px 10px}.tank-status{inset:8px 8px auto;gap:10px}.tank-status>div{width:46%;padding:7px 8px}.tank-status strong{font-size:14px}.tank-feedback,.mission-notice{font-size:12px;bottom:8px;padding:6px 10px}}
@media(max-height:600px) and (orientation:landscape){.mission-objective{top:6px;left:7px;padding:6px 10px}.mission-objective span{display:none}.mission-objective strong{font-size:13px}.mission-objective small{font-size:10px}.tank-status{inset:6px 8px auto}.tank-status>div{padding:5px 8px;gap:2px;max-width:180px}.tank-status strong{font-size:12px}.tank-status small{display:none}.tank-status label{font-size:11px}.tank-feedback{font-size:12px;padding:5px 10px;bottom:6px}.highway-dash{gap:12px;bottom:7px;padding:6px 11px;width:calc(100% - 28px)}.highway-dash strong{font-size:25px}.highway-dash span{display:none}.highway-dash label{font-size:11px}.play-view[data-game='Highway Pursuit'] .mission-notice{bottom:70px;font-size:12px}}
.tank-status meter::-webkit-meter-bar,.highway-dash meter::-webkit-meter-bar{background:#254252;border:0;border-radius:5px}.tank-status meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#49bc87,#b5f5a7);border-radius:5px}.tank-status label meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#218baa,#8decff)}.highway-dash meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#20a9b4,#aff9df);border-radius:5px}.urban-objective{max-width:52%}
/* Reserve space for save notices; never overlay the bottom controls. */
.session-play>.save-status{position:static;flex:none;width:100%;box-sizing:border-box;padding:5px 12px;max-height:60px;overflow:auto;pointer-events:auto}
.play-view[data-game='Urban Driver'] .rebuilt-controls button{overflow-wrap:anywhere;white-space:normal;font-size:13px}
/* Highway v3: give the road the full working width and free the near road from HUD. */
.game-surface .play-view[data-game='Highway Pursuit'] .rebuilt-main{max-width:none}
.play-view[data-game='Highway Pursuit'] .highway-dash{top:10px;bottom:auto;width:min(480px,calc(100% - 24px));background:#102f3aed;border-color:#afd6ce80;box-shadow:0 5px 20px #16333b40}
.play-view[data-game='Highway Pursuit'] .mission-notice{bottom:12px;max-width:75%;background:#143641e8}
@media(max-height:600px) and (orientation:landscape){.play-view[data-game='Highway Pursuit'] .highway-dash{top:6px;padding:5px 10px;width:min(400px,calc(100% - 20px))}.play-view[data-game='Highway Pursuit'] .highway-dash strong{font-size:24px}.play-view[data-game='Highway Pursuit'] .highway-dash label{font-size:12px}.play-view[data-game='Highway Pursuit'] .mission-notice{bottom:6px}}
/* Turbo Circuit 3D: scoped racing cockpit; advertisements remain outside the play viewport. */
.game-surface .play-view[data-game='Turbo Circuit'] .rebuilt-main{max-width:none;padding:8px;gap:7px}
.play-view[data-game='Turbo Circuit'] .rebuilt-stage{border:1px solid #a7bdba;border-radius:15px;background:#6b8c9a;isolation:isolate}
.play-view[data-game='Turbo Circuit'] .rebuilt-hud{justify-content:flex-start;gap:8px}
.play-view[data-game='Turbo Circuit'] .rebuilt-hud>span{background:#172d3d;border-color:#3c5968;color:#eaf6f2;font-size:13px}
.play-view[data-game='Turbo Circuit'] .rebuilt-hud>span:last-child{color:#ffda83;border-color:#897440}
.circuit-rank{position:absolute;top:18px;left:20px;color:#fff;text-shadow:0 2px 10px #183544;display:flex;flex-direction:column;pointer-events:none;background:#143140db;border-left:3px solid #f2bf57;padding:9px 16px;border-radius:2px 12px 12px 2px;line-height:1.2}
.circuit-rank small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#cbdfdf}.circuit-rank strong{font-size:46px;line-height:1.05;font-weight:850;letter-spacing:-.04em}.circuit-rank strong span{font-size:19px;color:#c1d9dc;font-weight:500}.circuit-rank>span{font-size:12px;margin-top:3px}
.circuit-minimap{position:absolute;right:15px;top:15px;width:130px;height:110px;border:1px solid #c4dcdd60;background:#173544c9;border-radius:13px;pointer-events:none;padding:5px;box-sizing:border-box}
.circuit-speed{position:absolute;right:23px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;color:#fff;text-shadow:0 2px 8px #102a3a;pointer-events:none}.circuit-speed strong{font-size:54px;font-weight:850;font-variant-numeric:tabular-nums;line-height:.95;letter-spacing:-.055em}.circuit-speed span{font-size:13px;color:#d9e8e6}.circuit-speed small{margin-top:8px;font-size:12px;background:#143140d9;padding:4px 9px;border-radius:5px}
.circuit-gauges{position:absolute;left:20px;bottom:23px;display:grid;gap:8px;background:#153544de;border:1px solid #d1e3e342;padding:10px 13px;border-radius:10px;color:#fff;pointer-events:none}.circuit-gauges label{display:flex;flex-direction:column;gap:3px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.circuit-gauges meter{width:123px;height:8px}.circuit-gauges meter::-webkit-meter-bar{background:#294955;border:0;border-radius:6px}.circuit-gauges meter::-webkit-meter-optimum-value{background:#8dd9b2;border-radius:6px}.circuit-gauges label+label meter::-webkit-meter-optimum-value{background:#efc764}.circuit-gauges meter::-webkit-meter-suboptimum-value{background:#f28f68}
.circuit-countdown{position:absolute;inset:0;display:grid;place-content:center;font-size:clamp(54px,11vw,100px);font-weight:900;color:#fff5d5;text-shadow:0 6px 0 #153746,0 12px 45px #16364c;pointer-events:none}
.circuit-notice{position:absolute;top:28%;left:50%;transform:translateX(-50%);max-width:60%;text-align:center;padding:9px 15px;background:#153747ed;border:1px solid #a8ded2;border-radius:8px;color:#fff2bf;font-weight:800;letter-spacing:.06em;font-size:13px;pointer-events:none}
.circuit-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#15344466;pointer-events:none}.circuit-progress i{height:100%;display:block;background:#ffd26a}
.play-view[data-game='Turbo Circuit'] .rebuilt-controls{flex-direction:column;padding:0;gap:6px;border:0;background:none}.circuit-driving-controls{width:100%;display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:8px}.circuit-driving-controls button{min-height:48px!important;border-color:#3d6171!important;background:#193a4a!important;font-weight:700;font-size:14px!important;min-width:0!important}.circuit-driving-controls button:nth-child(3){background:#e8bd61!important;color:#142f3c!important;border-color:#ffda87!important}.circuit-driving-controls button:active{filter:brightness(1.25);transform:translateY(1px)}
.circuit-menu{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;flex-wrap:wrap}.circuit-menu label{display:flex;align-items:center;gap:8px;font-size:12px!important;max-width:none!important;min-width:0!important;color:#c4d6db}.circuit-menu select{color:#f3f7ec;background:#1a3949;border:1px solid #4d7180;border-radius:6px;font:inherit;padding:5px;min-height:34px}.circuit-menu button{font-size:13px!important;min-height:34px!important;padding:5px 12px!important;background:#77d8b4!important;color:#173f3d!important}
.play-view[data-game='Turbo Circuit'] .rebuilt-overlay{background:linear-gradient(90deg,#102b3bdc,#19384a5c);backdrop-filter:none;-webkit-backdrop-filter:none;padding:18px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay>div{background:#102d3ded;border:1px solid #8aafaf88;border-top:4px solid #f2c46e;border-radius:15px;box-shadow:0 18px 60px #0b253855;max-width:480px;padding:23px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay h2{font-size:29px;letter-spacing:-.02em;line-height:1.2;margin:0 0 12px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay p{font-size:14px;line-height:1.6;color:#d6e5e3;margin:0 0 17px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay button{background:#f0c46a;color:#14303e;border:1px solid #ffe5a1;border-radius:8px;min-width:150px}
.circuit-error{position:absolute;inset:0;z-index:40;background:#153140f5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#edf5f1;text-align:center;gap:12px;overflow:auto}.circuit-error p{max-width:45ch;line-height:1.5}.circuit-best{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:21;background:#173947;padding:4px 10px;border-radius:6px;color:#ffdb95;font-size:12px;white-space:nowrap}
@media(max-width:520px){.game-surface .play-view[data-game='Turbo Circuit'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Turbo Circuit'] .rebuilt-hud{gap:4px}.play-view[data-game='Turbo Circuit'] .rebuilt-hud>span{font-size:11px;min-height:24px;padding:3px 6px}.circuit-rank{top:10px;left:10px;padding:7px 10px}.circuit-rank strong{font-size:34px}.circuit-minimap{top:10px;right:10px;width:94px;height:81px}.circuit-speed{right:13px;bottom:16px}.circuit-speed strong{font-size:42px}.circuit-gauges{left:10px;bottom:16px;padding:8px 10px}.circuit-gauges meter{width:92px}.circuit-gauges label{font-size:10px}.circuit-driving-controls{gap:5px}.circuit-driving-controls button{padding:5px!important;font-size:12px!important;min-height:46px!important}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay{padding:10px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay>div{padding:17px;max-height:100%;overflow:auto}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay h2{font-size:23px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay p{font-size:12px;line-height:1.5}.circuit-menu{gap:6px}.circuit-menu label{font-size:11px!important}.circuit-notice{font-size:11px;padding:7px 10px}}
@media(max-height:540px) and (orientation:landscape){.circuit-rank{top:8px;left:10px;padding:5px 9px}.circuit-rank strong{font-size:30px}.circuit-rank small{font-size:9px}.circuit-minimap{width:87px;height:76px;top:8px;right:10px}.circuit-speed{right:13px;bottom:12px}.circuit-speed strong{font-size:34px}.circuit-speed small{margin-top:3px}.circuit-gauges{left:10px;bottom:12px;padding:6px 9px;gap:5px}.circuit-gauges meter{width:95px;height:6px}.circuit-gauges label{font-size:9px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay{padding:7px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay>div{padding:10px 15px;max-width:540px;max-height:100%;overflow:auto}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay h2{font-size:20px;margin-bottom:5px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay p{font-size:11px;line-height:1.35;margin-bottom:8px}.play-view[data-game='Turbo Circuit'] .rebuilt-overlay button{min-height:36px;padding:5px 15px}.circuit-driving-controls button{min-height:42px!important}.circuit-notice{top:18%;font-size:10px}.circuit-menu select{min-height:28px}.circuit-best{bottom:5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.circuit-driving-controls button:active{transform:none}}
/* Keep the nested driving pad intact inside the shared landscape control rail. */
.play-view[data-game='Turbo Circuit'] .rebuilt-controls{display:flex}
.play-view[data-game='Turbo Circuit'] .circuit-driving-controls button{width:100%;max-width:none}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Turbo Circuit'] .circuit-driving-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.play-view[data-game='Turbo Circuit'] .circuit-menu{flex-direction:column;gap:7px}.play-view[data-game='Turbo Circuit'] .circuit-menu label{flex-direction:column;gap:4px;text-align:center;width:100%}.play-view[data-game='Turbo Circuit'] .circuit-menu select{max-width:100%;width:100%}.play-view[data-game='Turbo Circuit'] .circuit-menu button{width:100%}}
/* Night Pursuit 3D: one scoped night-driving cockpit, no changes to other games. */
.game-surface .play-view[data-game='Night Pursuit'] .rebuilt-main{max-width:none;padding:7px;gap:6px}
.play-view[data-game='Night Pursuit'] .rebuilt-stage{border:1px solid #5d8398;border-radius:14px;background:#112a3d;isolation:isolate}
.play-view[data-game='Night Pursuit'] .rebuilt-hud{justify-content:flex-start;gap:6px}
.play-view[data-game='Night Pursuit'] .rebuilt-hud>span{background:#153447;border-color:#426879;color:#d3e5e7;font-size:12px}
.play-view[data-game='Night Pursuit'] .rebuilt-hud>span:last-child{color:#f6d7a0;border-color:#776b51}
.night-clock,.night-lead{position:absolute;top:12px;display:flex;flex-direction:column;color:#e7f6f4;background:#102e40db;border:1px solid #83adba80;border-radius:9px;padding:7px 11px;pointer-events:none;font-variant-numeric:tabular-nums;box-shadow:0 5px 20px #04131b66}
.night-clock{left:13px}.night-lead{right:13px;text-align:right}.night-clock small,.night-lead small{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#b0d3dc}.night-clock strong,.night-lead strong{font-size:34px;line-height:1.1;letter-spacing:-.04em}.night-clock strong span,.night-lead strong span{font-size:14px;font-weight:500;margin-left:4px;color:#bed6dd}.night-clock.urgent,.night-lead.urgent{border-color:#ef9e8f;background:#482d39e8}.night-clock.urgent strong,.night-lead.urgent strong{color:#ffcbba}.night-lead progress{width:76px;height:5px;margin-top:4px;accent-color:#f6aa82}
.night-mirror{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:clamp(116px,30%,220px);height:clamp(42px,16%,75px);border:2px solid #a7bdc6;border-radius:7px;box-shadow:0 5px 15px #0008,inset 0 0 0 1px #294654;pointer-events:none;box-sizing:border-box;background:none;overflow:hidden}.night-mirror span{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#d5e7eb;font-size:9px;letter-spacing:.07em;text-transform:uppercase;background:#092234a6;line-height:1.5}
@container (width < 500px) and (height > 250px){.night-mirror{top:66px}}
.night-gauges{position:absolute;left:13px;bottom:24px;display:grid;gap:8px;padding:9px 12px;color:#e5f2f0;background:#103246e8;border:1px solid #7bacb36b;border-radius:10px;pointer-events:none}.night-gauges label{display:flex;flex-direction:column;gap:4px;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.night-gauges meter{width:116px;height:7px}.night-gauges meter::-webkit-meter-bar{background:#2e4c5e;border:0;border-radius:4px}.night-gauges meter::-webkit-meter-optimum-value{background:#79d5b7;border-radius:4px}.night-gauges label+label meter::-webkit-meter-optimum-value{background:#efca87}.night-gauges meter::-webkit-meter-suboptimum-value{background:#ee9b87}
.night-speed{position:absolute;right:17px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;color:#f0f8f2;text-shadow:0 3px 10px #041b2a;pointer-events:none}.night-speed strong{font-size:50px;line-height:.95;font-weight:850;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.night-speed span{font-size:12px;letter-spacing:.09em;color:#b5d6dd}
.night-waypoints{position:absolute;bottom:11px;left:50%;transform:translateX(-50%);width:clamp(115px,36%,310px);display:flex;justify-content:space-between;gap:5px;pointer-events:none}.night-waypoints:before{content:'';position:absolute;top:10px;left:10px;right:10px;border-top:1px solid #7894a1;z-index:-1}.night-waypoints>div{display:flex;align-items:center;flex-direction:column;gap:3px;color:#e6ded0}.night-waypoints b{display:grid;place-content:center;width:21px;height:21px;border-radius:50%;font-size:10px;background:#193a4d;border:1px solid #7393a5}.night-waypoints small{font-size:9px;background:#153649d9;padding:1px 4px;border-radius:3px;white-space:nowrap}.night-waypoints .complete b{background:#77d1b4;border-color:#c1efd8;color:#143a35}.night-waypoints .current b{background:#e8bb72;border-color:#ffdaa1;color:#243742}
.night-notice{position:absolute;left:50%;top:38%;transform:translateX(-50%);max-width:65%;padding:8px 14px;border-radius:6px;background:#12384aeb;border:1px solid #8cc1c2;color:#f6d99f;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;pointer-events:none}
.night-countdown{position:absolute;inset:0;display:grid;place-content:center;color:#ecf3df;font-size:clamp(50px,11vw,100px);font-weight:900;text-shadow:0 5px 0 #163e54,0 10px 35px #081e35;pointer-events:none}
.night-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#1a3a4a;pointer-events:none}.night-progress i{display:block;height:100%;background:#b8e1cc}
.play-view[data-game='Night Pursuit'] .rebuilt-controls{display:flex;flex-direction:column;gap:0;padding:0;background:none;border:0}.night-driving-controls{width:100%;display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:7px}.play-view[data-game='Night Pursuit'] .night-driving-controls button{width:100%;max-width:none;min-width:0;min-height:48px;background:#193b4e;border-color:#547c8c;color:#e3f0f0;font-size:13px;font-weight:750}.play-view[data-game='Night Pursuit'] .night-driving-controls button:nth-child(3){background:#e5bd78;color:#1b3543;border-color:#f2d39c}.night-driving-controls button:active{filter:brightness(1.3)}
.play-view[data-game='Night Pursuit'] .rebuilt-overlay{background:linear-gradient(110deg,#0c253ad9,#15314870);backdrop-filter:none;-webkit-backdrop-filter:none;padding:15px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay>div{background:#103149f2;border:1px solid #91b7bd8a;border-top:3px solid #e8c787;box-shadow:0 20px 50px #05162266;border-radius:14px;padding:22px;max-width:560px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay h2{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay p{color:#cfdee0;line-height:1.55;font-size:13px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay button{background:#e9c584;color:#163449;border:1px solid #ffe2ac;min-width:120px;border-radius:8px}
.night-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#12344af5;color:#eef7f3;padding:24px;text-align:center;overflow:auto}.night-error p{max-width:45ch;line-height:1.5}.night-best{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);z-index:21;background:#1a3f53;color:#f1d49d;padding:3px 9px;border-radius:4px;font-size:11px;white-space:nowrap}
@media(max-width:520px){.game-surface .play-view[data-game='Night Pursuit'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Night Pursuit'] .rebuilt-hud{gap:4px}.play-view[data-game='Night Pursuit'] .rebuilt-hud>span{font-size:10px;padding:3px 6px;min-height:23px}.night-clock,.night-lead{top:10px;padding:6px 9px}.night-clock{left:10px}.night-lead{right:10px}.night-clock strong,.night-lead strong{font-size:29px}.night-gauges{left:10px;bottom:25px;padding:7px 9px;gap:6px}.night-gauges label{font-size:9px}.night-gauges meter{width:82px}.night-speed{right:12px;bottom:25px}.night-speed strong{font-size:37px}.night-driving-controls{gap:5px}.play-view[data-game='Night Pursuit'] .night-driving-controls button{padding:5px;font-size:12px;min-height:46px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay{padding:9px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay h2{font-size:23px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay p{font-size:12px}.night-notice{font-size:10px;padding:7px 10px}.night-waypoints{width:124px}.night-waypoints small{font-size:8px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Night Pursuit'] .rebuilt-controls{display:flex}.play-view[data-game='Night Pursuit'] .night-driving-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.play-view[data-game='Night Pursuit'] .night-driving-controls button{min-height:48px}.night-clock,.night-lead{top:8px;padding:4px 8px}.night-clock strong,.night-lead strong{font-size:26px}.night-clock small,.night-lead small{font-size:9px}.night-gauges{left:10px;bottom:12px;padding:6px 8px;gap:5px}.night-gauges label{font-size:8px}.night-gauges meter{width:78px;height:6px}.night-speed{right:12px;bottom:12px}.night-speed strong{font-size:32px}.night-waypoints{bottom:8px;width:150px}.night-notice{top:44%;font-size:10px;padding:6px 10px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay{padding:7px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay>div{padding:10px 14px;max-width:520px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay h2{font-size:19px;margin-bottom:6px}.play-view[data-game='Night Pursuit'] .rebuilt-overlay p{font-size:11px;line-height:1.4}.play-view[data-game='Night Pursuit'] .rebuilt-overlay button{min-height:37px;padding:6px 13px}}
/* Narrow play surfaces reserve a separate lower row for the three mission gates. */
@container (width < 400px){.night-gauges,.night-speed{bottom:55px}.night-waypoints{bottom:9px}}
@container (width < 400px) and (height < 230px){.night-gauges{padding:4px 7px;gap:3px}.night-gauges label{font-size:8px;gap:2px}.night-gauges meter{width:75px;height:5px}.night-clock strong,.night-lead strong{font-size:24px}}

/* Audio preferences are scoped to Night and do not consume driving-pad columns. */
.play-view[data-game='Night Pursuit'] .night-audio{width:100%;margin-top:6px;border:1px solid #355f72;border-radius:8px;background:#102c40;color:#d0e6e7;min-width:0;touch-action:pan-y}
.night-audio summary{font-size:11px;padding:7px 10px;min-height:32px;cursor:pointer;box-sizing:border-box;font-weight:650}.night-audio summary:focus-visible{outline:2px solid #e5bd78;outline-offset:-2px}
.night-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 7px}.game-surface .rebuilt-controls .night-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.night-audio label>span{display:flex;justify-content:space-between;gap:5px}.night-audio output{color:#f3d09a;font-variant-numeric:tabular-nums}.night-audio input[type=range]{width:100%;margin:0;accent-color:#e5bd78;min-height:28px;touch-action:pan-y}.night-audio small{display:block;font-size:10px;line-height:1.35;padding:0 10px 8px;color:#d9bfa3}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Night Pursuit'] .rebuilt-controls{flex-wrap:nowrap;justify-content:flex-start;padding-top:5px;overflow-y:auto;touch-action:pan-y}.night-driving-controls{flex-shrink:0}.night-audio{flex-shrink:0}.night-audio-levels{grid-template-columns:minmax(0,1fr);gap:5px}.night-audio summary{min-height:30px;padding:7px 9px}}
[dir=rtl] .night-audio{direction:rtl}
.night-audio-alert{display:block;width:100%;box-sizing:border-box;padding:5px 8px;font-size:11px;line-height:1.3;color:#f2d09d;background:#263b45;border-radius:5px;flex-shrink:0}

/* Turbo audio preferences appear only during pause, preserving the active cockpit. */
.play-view[data-game='Turbo Circuit'] .circuit-audio{width:100%;margin-top:6px;border:1px solid #466a7d;border-radius:8px;background:#153247;color:#dcebea;min-width:0;touch-action:pan-y;flex-shrink:0}
.circuit-audio summary{font-size:11px;padding:7px 10px;min-height:32px;cursor:pointer;box-sizing:border-box;font-weight:650}.circuit-audio summary:focus-visible{outline:2px solid #ffd05d;outline-offset:-2px}
.circuit-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 7px}.game-surface .rebuilt-controls .circuit-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.circuit-audio label>span{display:flex;justify-content:space-between;gap:5px}.circuit-audio output{color:#ffd876;font-variant-numeric:tabular-nums}.circuit-audio input[type=range]{width:100%;margin:0;accent-color:#f2bc4f;min-height:28px;touch-action:pan-y}.circuit-audio small{display:block;font-size:10px;line-height:1.35;padding:0 10px 8px;color:#e4c8a3}.circuit-audio-alert{display:block;width:100%;box-sizing:border-box;padding:5px 8px;font-size:11px;line-height:1.3;color:#f2d09d;background:#263b45;border-radius:5px;flex-shrink:0}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Turbo Circuit'][data-playing=false] .rebuilt-controls{flex-wrap:nowrap;justify-content:flex-start;overflow-y:auto;touch-action:pan-y}.circuit-audio-levels{grid-template-columns:minmax(0,1fr);gap:5px}.circuit-audio summary{min-height:30px;padding:7px 9px}.play-view[data-game='Turbo Circuit'][data-playing=false] .circuit-driving-controls,.play-view[data-game='Turbo Circuit'] .circuit-menu{flex-shrink:0}}
[dir=rtl] .circuit-audio{direction:rtl}

/* Canyon Rescue: daylight expedition instruments, separate from the driving games. */
.play-view[data-game='Canyon Rescue']{background:#e2d2ad;color:#293d34}
.play-view[data-game='Canyon Rescue'] .gamebar{background:#344a3d;border-bottom:2px solid #d9bc7b;color:#fff8de}
.play-view[data-game='Canyon Rescue'] .gamebar button{background:#e9d7ac;color:#304438;border-color:#d2ba82;border-radius:5px}
.play-view[data-game='Canyon Rescue'] .rebuilt-main{background:#dfd1ad}
.play-view[data-game='Canyon Rescue'] .rebuilt-hud{justify-content:flex-start}
.play-view[data-game='Canyon Rescue'] .rebuilt-hud>span{background:#f3e7c9;border:1px solid #b7a578;color:#384635;border-radius:4px;font-weight:700;letter-spacing:.02em}
.play-view[data-game='Canyon Rescue'] .rebuilt-stage{border:2px solid #897c58;border-radius:8px;background:#c8ba8c;box-shadow:0 5px 0 #b7a782,0 8px 18px #52633c22}
.canyon-webgl{display:block;width:100%;height:100%;background:#d8c39d}
.canyon-task{position:absolute;left:12px;top:12px;max-width:calc(100% - 106px);display:flex;flex-direction:column;gap:3px;padding:8px 11px;background:#fff2d6ef;color:#354737;border:1px solid #a6a078;border-left:4px solid #c3743f;border-radius:4px;box-shadow:0 3px 10px #3a423022;pointer-events:none}
.canyon-task small{font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase}.canyon-task strong{font-size:16px;line-height:1.15}.canyon-task span{font-size:10px}.canyon-task.aligned{border-left-color:#428b5e;background:#f3f8d9f5}.canyon-task progress{width:100%;height:7px;margin:3px 0 0;accent-color:#3e8054}
.canyon-time{position:absolute;right:12px;top:12px;padding:7px 10px;background:#344b3beb;color:#fff5cf;border:1px solid #a6a078;border-radius:4px;display:flex;flex-direction:column;pointer-events:none}.canyon-time small{font-size:9px;letter-spacing:.08em}.canyon-time strong{font-size:29px;line-height:1.15;font-variant-numeric:tabular-nums}.canyon-time strong span{font-size:12px;font-weight:500;margin-left:3px}.canyon-time.urgent{background:#883d2d}
.canyon-map{position:absolute;left:12px;bottom:12px;width:96px;height:116px;background:#f6eacaf0;border:1px solid #9c936c;border-radius:4px;padding:6px;box-sizing:border-box;pointer-events:none}.canyon-map>small{display:block;text-align:center;font-size:8px;font-weight:800;letter-spacing:.09em;color:#506447}.canyon-map-field{position:absolute;inset:22px 12px 10px;border:1px solid #b6b186;background:repeating-linear-gradient(0deg,transparent 0 18px,#8b95621c 19px 20px),repeating-linear-gradient(90deg,transparent 0 18px,#8b95621c 19px 20px)}
.canyon-map-field i,.canyon-map-player{position:absolute;transform:translate(-50%,-50%);font-style:normal;font-size:8px;display:grid;place-content:center;width:11px;height:11px;border-radius:50%;font-weight:800}.canyon-map-rescue{background:#af733f;color:#fff6dc;box-shadow:0 0 0 1px #fff1cf}.canyon-map-rescue.current{background:#db732c;box-shadow:0 0 0 2px #3c6641}.canyon-map-rescue.complete{background:#658267;color:#f5f4c9}.canyon-map-field .canyon-map-base{background:#395d49;color:#fff9d8;border-radius:2px}.canyon-map-player{color:#203e35;font-size:14px;text-shadow:0 0 2px #fff;z-index:2}
.canyon-instruments{position:absolute;bottom:12px;right:12px;display:flex;flex-direction:column;gap:6px;min-width:105px;padding:9px 11px;background:#fff0d3ee;color:#344939;border:1px solid #8b936b;border-radius:4px;pointer-events:none}.canyon-altitude{display:flex;flex-direction:column}.canyon-altitude small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.canyon-altitude strong{font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}.canyon-altitude strong span{font-size:13px;margin-left:4px}.canyon-altitude>span{font-size:9px}.canyon-instruments label{display:flex;flex-direction:column;gap:3px;font-size:9px}.canyon-instruments meter{width:100%;height:8px;accent-color:#47885e}
.canyon-notice{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100% - 270px);background:#35533eea;color:#fff5d9;border:1px solid #c9c18b;border-radius:4px;padding:8px 10px;text-align:center;font-size:12px;line-height:1.3;font-weight:650;pointer-events:none}
.canyon-countdown{position:absolute;inset:0;display:grid;place-content:center;font-size:clamp(44px,9vw,84px);font-weight:900;color:#fff3ce;text-shadow:0 3px 0 #395642,0 5px 22px #233529;pointer-events:none}
.play-view[data-game='Canyon Rescue'] .rebuilt-controls{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:0;background:transparent;border-radius:0}
.canyon-flight-controls{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;width:100%;direction:ltr;flex-shrink:0}
.canyon-direction-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,48px);gap:5px}.canyon-direction-pad button:first-child{grid-column:2}.canyon-direction-pad button:nth-child(2){grid-column:1;grid-row:2}.canyon-direction-pad button:nth-child(3){grid-column:2;grid-row:2}.canyon-direction-pad button:nth-child(4){grid-column:3;grid-row:2}
.canyon-lift-pad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,48px);gap:5px}.canyon-lift-pad button:last-child{grid-column:1/-1}
.play-view[data-game='Canyon Rescue'] .canyon-flight-controls button{width:100%;max-width:none;min-width:0;min-height:48px;padding:4px 5px;background:#f2e2bc;border:1px solid #9c9366;border-bottom:3px solid #8b8660;border-radius:5px;color:#344a39;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;box-shadow:none;line-height:1.1;font-size:10px;font-weight:700;overflow:hidden}
.canyon-flight-controls button b{font-size:22px;line-height:1}.canyon-flight-controls button span{max-width:100%;overflow-wrap:normal}.play-view[data-game='Canyon Rescue'] .canyon-lift-pad button:last-child{background:#477456;color:#fff3ce;border-color:#315b44;flex-direction:row;gap:7px;font-size:11px}.canyon-flight-controls button:active{filter:brightness(.9)}
.play-view[data-game='Canyon Rescue'] .rebuilt-overlay{background:#424b3177;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay>div{background:#fff1d8f5;border:1px solid #9a9c70;border-top:5px solid #48704c;border-radius:7px;box-shadow:0 12px 35px #2e45374d;padding:20px;max-width:550px;color:#344937}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay h2{font-family:Georgia,serif;font-size:29px;letter-spacing:-.025em;margin-bottom:10px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay p{color:#58624a;font-size:13px;line-height:1.55}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay button{background:#42664c;color:#fff2ce;border-color:#294d38;border-radius:5px;min-width:115px}
.canyon-audio{width:100%;margin-top:6px;border:1px solid #aaa176;border-radius:4px;background:#f4e9cd;color:#40523d;min-width:0;touch-action:pan-y;flex-shrink:0}.canyon-audio summary{font-size:11px;padding:7px 10px;min-height:32px;cursor:pointer;box-sizing:border-box;font-weight:700}.canyon-audio summary:focus-visible{outline:2px solid #42664c;outline-offset:-2px}.canyon-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 7px}.game-surface .rebuilt-controls .canyon-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.canyon-audio label>span{display:flex;justify-content:space-between;gap:5px}.canyon-audio output{font-variant-numeric:tabular-nums}.canyon-audio input[type=range]{width:100%;margin:0;accent-color:#4b7553;min-height:28px;touch-action:pan-y}.canyon-audio small{display:block;font-size:10px;line-height:1.35;padding:0 10px 8px}.canyon-audio-alert{padding:5px 8px;color:#624e31;background:#f4e9cd;font-size:11px;line-height:1.3}
.canyon-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:#f4e9cdf8;color:#354d3a;overflow:auto}.canyon-error p{max-width:45ch;line-height:1.5}.canyon-error button{background:#42664c;color:#fff2ce;min-height:46px}.canyon-best{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);z-index:21;background:#405f44;color:#fff1c7;padding:4px 9px;font-size:10px;border-radius:3px;white-space:nowrap}
@media(max-width:520px){.game-surface .play-view[data-game='Canyon Rescue'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Canyon Rescue'] .rebuilt-hud>span{font-size:10px;padding:3px 5px;min-height:23px}.canyon-flight-controls{gap:7px}.canyon-task{top:8px;left:8px;padding:6px 8px;max-width:calc(100% - 88px)}.canyon-task strong{font-size:13px}.canyon-task small{font-size:8px}.canyon-task span{font-size:9px}.canyon-time{top:8px;right:8px;padding:6px 8px}.canyon-time strong{font-size:25px}.canyon-map{left:8px;bottom:8px;width:83px;height:102px}.canyon-instruments{right:8px;bottom:8px;padding:7px 9px;min-width:88px}.canyon-altitude strong{font-size:28px}.canyon-notice{bottom:121px;max-width:80%;font-size:10px;padding:6px 9px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay h2{font-size:25px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay p{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Canyon Rescue'] .rebuilt-controls{display:flex;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.canyon-flight-controls{grid-template-columns:minmax(0,1fr);gap:8px}.canyon-direction-pad,.canyon-lift-pad{grid-template-rows:repeat(2,44px);gap:4px}.play-view[data-game='Canyon Rescue'] .canyon-flight-controls button{min-height:44px;font-size:9px}.canyon-flight-controls button b{font-size:21px}.canyon-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.canyon-task{top:7px;left:7px;padding:5px 8px;max-width:calc(100% - 86px)}.canyon-task strong{font-size:12px}.canyon-task small,.canyon-task span{font-size:8px}.canyon-time{top:7px;right:7px;padding:5px 8px}.canyon-time strong{font-size:24px}.canyon-map{left:7px;bottom:7px;width:70px;height:80px;padding:4px}.canyon-map-field{inset:18px 10px 8px}.canyon-map>small{font-size:7px}.canyon-instruments{bottom:7px;right:7px;padding:5px 8px;min-width:80px;gap:3px}.canyon-altitude strong{font-size:23px}.canyon-altitude small,.canyon-altitude>span,.canyon-instruments label{font-size:8px}.canyon-notice{bottom:9px;max-width:calc(100% - 200px);font-size:10px;padding:5px 8px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay>div{padding:9px 12px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay h2{font-size:21px;margin-bottom:5px}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay p{font-size:11px;line-height:1.4}.play-view[data-game='Canyon Rescue'] .rebuilt-overlay button{min-height:38px}}
@container (width < 360px) and (height < 240px){.canyon-map{width:62px;height:72px}.canyon-instruments{min-width:74px}.canyon-notice{bottom:8px;max-width:calc(100% - 180px);padding:4px 5px;font-size:8px}}
[dir=rtl] .canyon-task,[dir=rtl] .canyon-audio{direction:rtl}
.game-surface .campaign-play:has([data-game='Canyon Rescue']) .campaign-bar{background:#55694a;border-color:#a6a078;color:#f8edca}.game-surface .campaign-play:has([data-game='Canyon Rescue']) .campaign-bar select{background:#f1e5c2;border-color:#a6a078;color:#354a39}
.canyon-sound-retry{position:absolute;right:8px;top:83px;max-width:155px;padding:6px;background:#fff0d3f5;border:1px solid #9c936c;border-radius:4px;z-index:5;color:#3d523c;display:flex;flex-direction:column;gap:5px;font-size:10px;line-height:1.3}.canyon-sound-retry button{min-height:38px;padding:4px 8px;background:#42664c;color:#fff2ce;border-color:#294d38;font-size:12px}
@media(orientation:landscape) and (max-height:600px){.canyon-sound-retry{top:67px;max-width:125px;font-size:9px}.canyon-sound-retry button{min-height:32px}}

/* Tank Duel: compact spectator arena and mechanical blue/red tactical panels. */
.play-view[data-game='Tank Duel']{background:#d2d9df;color:#253747}.play-view[data-game='Tank Duel'] .gamebar{background:#283744;border-bottom:3px solid #92a9ba;color:#f1f6fa}.play-view[data-game='Tank Duel'] .gamebar button{background:#e2eaf0;color:#253c50;border-color:#8da4b4;border-radius:3px}.play-view[data-game='Tank Duel'] .rebuilt-main{background:#cbd4dc}.play-view[data-game='Tank Duel'] .rebuilt-hud>span{background:#edf2f6;border:1px solid #8ea3b3;border-radius:3px;color:#2e475c;font-size:12px;font-weight:750;letter-spacing:.02em}.play-view[data-game='Tank Duel'] .rebuilt-stage{border:2px solid #6f8799;border-radius:4px;background:#b8c6cf;box-shadow:0 5px 0 #99adbb,0 10px 20px #354d6222}.tank-webgl{display:block;width:100%;height:100%;background:#b8c6cf}
.tank-telemetry{position:absolute;top:10px;width:clamp(110px,28%,210px);box-sizing:border-box;padding:8px 10px;background:#eef5faf2;color:#234361;border:1px solid #799cb9;border-top:4px solid #367bba;border-radius:3px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.tank-telemetry-0{left:10px}.tank-telemetry-1{right:10px;border-color:#b68a7a;border-top-color:#c66648;color:#673f31;background:#fcf0eaf2}.tank-telemetry>div{display:flex;justify-content:space-between;align-items:center;gap:5px}.tank-telemetry strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.tank-telemetry b{font-size:23px;line-height:1;font-variant-numeric:tabular-nums}.tank-telemetry meter{height:7px;width:100%;accent-color:#387caf}.tank-telemetry-1 meter{accent-color:#bb6648}.tank-telemetry label{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:9px;gap:2px}.tank-telemetry label meter{flex-basis:100%;height:5px}.tank-telemetry>small,.tank-aim{font-size:9px;line-height:1.2}.tank-aim{font-weight:750;color:#2e795b}.tank-aim.blocked{color:#866343}.tank-telemetry-1 .tank-aim{color:#8a5a3f}
.tank-timer{position:absolute;left:50%;top:12px;transform:translateX(-50%);padding:7px 10px;background:#2b4053e8;border:1px solid #c5d6e0;color:#edf6fc;display:flex;flex-direction:column;align-items:center;border-radius:3px;pointer-events:none}.tank-timer small{font-size:8px;letter-spacing:.1em}.tank-timer strong{font-size:26px;line-height:1.05;font-variant-numeric:tabular-nums}.tank-timer.urgent{background:#9a4f3c}.tank-notice{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);max-width:78%;padding:7px 11px;background:#2f475bec;color:#f2f6f8;border:1px solid #adc2cf;border-radius:3px;font-size:12px;font-weight:700;text-align:center;pointer-events:none}.tank-countdown{position:absolute;inset:0;display:grid;place-content:center;font-size:clamp(46px,10vw,88px);font-weight:900;color:#fff;text-shadow:0 3px 0 #47677f,0 8px 24px #243c52;pointer-events:none}
.play-view[data-game='Tank Duel'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:0;background:transparent;border-radius:0}.tank-controls{width:100%;display:grid;gap:6px;direction:ltr;flex-shrink:0}.tank-pad{min-width:0;background:#dce9f2;border:1px solid #7898af;border-radius:3px;padding:5px}.tank-pad>small{display:flex;justify-content:space-between;font-size:10px;color:#315d80;font-weight:800;margin-bottom:4px;letter-spacing:.05em}.tank-pad-1{background:#f0ddd4;border-color:#b18979}.tank-pad-1>small{color:#8c4f39}.tank-pad-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.play-view[data-game='Tank Duel'] .tank-pad-buttons button{min-width:0;max-width:none;width:100%;min-height:48px;padding:5px 3px;background:#edf4f8;border:1px solid #7597b1;border-bottom:3px solid #6687a0;border-radius:3px;color:#284f6e;font-size:10px;font-weight:750;line-height:1.2;box-shadow:none;overflow-wrap:anywhere}.play-view[data-game='Tank Duel'] .tank-pad-1 button{background:#faeee8;border-color:#ad8573;border-bottom-color:#9e7665;color:#77422f}.play-view[data-game='Tank Duel'] .tank-pad-buttons button:nth-child(5){background:#467eaa;color:#fff;border-color:#285c84}.play-view[data-game='Tank Duel'] .tank-pad-1 button:nth-child(5){background:#b66a4f;border-color:#8b4c36}.play-view[data-game='Tank Duel'] .tank-pad-buttons button:last-child{background:#365a70;color:#edf7fc;border-color:#26485d}.play-view[data-game='Tank Duel'] .tank-pad-1 button:last-child{background:#775a4b;border-color:#604536}.tank-pad-buttons button:active{filter:brightness(1.16)}
.tank-options{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;width:100%;margin-top:6px;flex-shrink:0}.game-surface .rebuilt-controls .tank-options button{background:#dde6ee;color:#344d62;border-color:#8ea4b5;min-height:36px;font-size:11px;max-width:none;padding:6px}.game-surface .rebuilt-controls .tank-options label{display:flex;align-items:center;gap:4px;min-width:0;max-width:none;flex:none;font-size:10px}.tank-options select{background:#f3f6f8;color:#31495b;border:1px solid #92a6b5;min-height:35px;max-width:175px;font-size:11px;padding:4px}
.play-view[data-game='Tank Duel'] .rebuilt-overlay{background:#243a507d;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Tank Duel'] .rebuilt-overlay>div{background:#ecf2f7f5;color:#293f53;border:1px solid #839eaf;border-top:5px solid #467fac;border-radius:5px;padding:20px;box-shadow:0 12px 35px #253f514d;max-width:550px}.play-view[data-game='Tank Duel'] .rebuilt-overlay h2{font-size:29px;letter-spacing:-.035em}.play-view[data-game='Tank Duel'] .rebuilt-overlay p{font-size:13px;line-height:1.55;color:#4f6575}.play-view[data-game='Tank Duel'] .rebuilt-overlay button{background:#3d6f97;color:#fff;border-color:#274f70;border-radius:3px;min-width:110px}
.tank-round-card{position:absolute;inset:0;z-index:30;display:grid;place-content:center;padding:15px;background:#263b4ee8;color:#eef5fa;text-align:center}.tank-round-card>div{padding:20px;max-width:400px;border:1px solid #8ea9bd;border-top:4px solid #90c0df;background:#334f65}.tank-round-card small{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.tank-round-card h2{font-size:24px;line-height:1.15;margin:8px 0}.tank-round-card strong{display:block;font-size:36px;letter-spacing:.14em;font-variant-numeric:tabular-nums}.tank-round-card p{font-size:12px;line-height:1.4}.tank-round-card button{background:#e5eff5;color:#29465e;min-height:46px;border:1px solid #a8c5d7;border-radius:3px;padding:8px 15px;font-weight:800}
.tank-audio{width:100%;margin-top:6px;border:1px solid #95a9b7;border-radius:3px;background:#e7eef3;color:#3a5367;min-width:0;touch-action:pan-y;flex-shrink:0}.tank-audio summary{font-size:11px;padding:7px 10px;min-height:32px;cursor:pointer;box-sizing:border-box;font-weight:700}.tank-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 7px}.game-surface .rebuilt-controls .tank-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.tank-audio label>span{display:flex;justify-content:space-between;gap:5px}.tank-audio input[type=range]{width:100%;margin:0;accent-color:#467eaa;min-height:28px;touch-action:pan-y}.tank-audio small{display:block;font-size:10px;padding:0 10px 8px}.tank-audio-alert{padding:5px 8px;color:#3c5366;background:#e7eef3;font-size:11px;line-height:1.3}
.tank-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#e9f0f6f8;color:#2d485e;text-align:center;overflow:auto}.tank-error p{max-width:45ch;line-height:1.5}.tank-error button{background:#3d6f97;color:#fff;min-height:46px}.tank-sound-retry{position:absolute;bottom:8px;right:8px;z-index:5;max-width:150px;padding:6px;background:#eaf2f7f5;border:1px solid #8aa3b5;color:#354f63;font-size:10px;display:flex;flex-direction:column;gap:5px}.tank-sound-retry button{min-height:38px;background:#3d6f97;color:#fff;font-size:12px}
@media(min-width:650px){.tank-controls-local{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.game-surface .play-view[data-game='Tank Duel'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Tank Duel'] .rebuilt-hud{gap:4px}.play-view[data-game='Tank Duel'] .rebuilt-hud>span{font-size:10px;padding:3px 5px;min-height:23px}.tank-telemetry{top:7px;width:calc(50% - 35px);padding:6px;gap:3px}.tank-telemetry-0{left:7px}.tank-telemetry-1{right:7px}.tank-telemetry strong{font-size:9px}.tank-telemetry b{font-size:21px}.tank-telemetry label,.tank-telemetry>small,.tank-aim{font-size:8px}.tank-timer{top:9px;padding:6px}.tank-timer strong{font-size:23px}.tank-pad{padding:4px}.tank-pad-buttons{gap:3px}.play-view[data-game='Tank Duel'] .tank-pad-buttons button{font-size:9px;padding:4px 2px}.tank-notice{font-size:10px}.play-view[data-game='Tank Duel'] .rebuilt-overlay>div{padding:13px}.play-view[data-game='Tank Duel'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Tank Duel'] .rebuilt-overlay p{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Tank Duel'] .rebuilt-controls{display:flex;justify-content:flex-start;overflow-y:auto;touch-action:pan-y}.tank-controls-solo .tank-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.play-view[data-game='Tank Duel'] .tank-pad-buttons button{min-height:44px;font-size:9px}.tank-options{flex-direction:column;align-items:stretch}.game-surface .rebuilt-controls .tank-options label{display:flex;flex-direction:column;align-items:stretch}.tank-options select{max-width:none;width:100%}.tank-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.tank-telemetry{top:6px;padding:5px 7px;gap:2px;width:clamp(100px,28%,170px)}.tank-telemetry-0{left:6px}.tank-telemetry-1{right:6px}.tank-telemetry strong{font-size:9px}.tank-telemetry b{font-size:20px}.tank-telemetry label,.tank-telemetry>small,.tank-aim{font-size:8px}.tank-telemetry meter{height:5px}.tank-telemetry label meter{height:4px}.tank-timer{top:7px;padding:5px 7px}.tank-timer strong{font-size:22px}.tank-notice{bottom:6px;padding:5px 8px;font-size:10px}.tank-round-card>div{padding:10px 16px}.tank-round-card h2{font-size:19px;margin:5px 0}.tank-round-card strong{font-size:26px}.tank-round-card p{font-size:10px;margin:5px 0}.tank-round-card button{min-height:38px}.play-view[data-game='Tank Duel'] .rebuilt-overlay>div{padding:10px 13px}.play-view[data-game='Tank Duel'] .rebuilt-overlay h2{font-size:21px}.play-view[data-game='Tank Duel'] .rebuilt-overlay p{font-size:11px;line-height:1.4}
 .game-surface .play-view[data-game='Tank Duel'] .rebuilt-main:has(.tank-controls-local){grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.play-view[data-game='Tank Duel'] .rebuilt-main:has(.tank-controls-local) .rebuilt-hud{grid-column:1;grid-row:1}.play-view[data-game='Tank Duel'] .rebuilt-main:has(.tank-controls-local) .rebuilt-stage{grid-column:1;grid-row:2}.play-view[data-game='Tank Duel'] .rebuilt-main:has(.tank-controls-local) .rebuilt-controls{grid-column:1;grid-row:3;max-height:145px}.tank-controls-local{grid-template-columns:repeat(2,minmax(0,1fr))}.tank-controls-local .tank-pad-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}.tank-controls-local .tank-pad{padding:3px}.tank-controls-local .tank-pad>small{font-size:8px;margin-bottom:2px}.play-view[data-game='Tank Duel'] .tank-controls-local .tank-pad-buttons button{min-height:44px;font-size:8px;padding:3px 1px}.play-view[data-game='Tank Duel'][data-playing=false] .rebuilt-main:has(.tank-controls-local) .rebuilt-controls{max-height:145px}}
@container (height < 220px){.tank-telemetry label meter{display:none}.tank-telemetry>small{font-size:7px}.tank-aim{font-size:7px}.tank-telemetry{padding:4px 6px;gap:2px}.tank-telemetry b{font-size:18px}.tank-telemetry label{font-size:7px}.tank-timer strong{font-size:20px}.tank-notice{max-width:60%;font-size:9px}}
[dir=rtl] .tank-options,[dir=rtl] .tank-audio{direction:rtl}
/* Short duel viewports keep combat visible below a compact 46px status strip. */
@container (height <= 260px){.tank-telemetry{padding:4px 6px;gap:2px}.tank-telemetry>meter,.tank-telemetry label meter,.tank-telemetry>small{display:none}.tank-telemetry strong{font-size:9px}.tank-telemetry b{font-size:18px}.tank-telemetry label,.tank-aim{font-size:8px;line-height:1.1}.tank-timer{padding:5px 7px}.tank-timer strong{font-size:21px}}

/* Galaxy Defender: luminous deep-space cockpit, independent from terrestrial games. */
.play-view[data-game='Galaxy Defender']{background:#080c24;color:#e2f9ff}.play-view[data-game='Galaxy Defender'] .gamebar{background:#0b1231;border-bottom:1px solid #596daf;color:#d8f7ff}.play-view[data-game='Galaxy Defender'] .gamebar button{background:#182347;color:#c8f5ff;border-color:#536794;border-radius:18px}.play-view[data-game='Galaxy Defender'] .rebuilt-main{background:radial-gradient(ellipse at 50% 10%,#21183d,#080e24 70%)}.play-view[data-game='Galaxy Defender'] .rebuilt-hud{justify-content:flex-start;gap:5px}.play-view[data-game='Galaxy Defender'] .rebuilt-hud>span{background:#111c3b;border:1px solid #3a5576;color:#bdeefa;border-radius:18px;font-size:11px;letter-spacing:.04em}.play-view[data-game='Galaxy Defender'] .rebuilt-stage{border:1px solid #6279ac;border-radius:16px;background:#080c24;box-shadow:0 0 24px #5e4e8c20,inset 0 0 2px #d9f5ff}.galaxy-webgl{display:block;width:100%;height:100%;background:#080c24}
.galaxy-mission{position:absolute;inset:10px 12px auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(44px,.45fr);align-items:start;gap:10px;pointer-events:none;color:#e3f9ff;text-shadow:0 1px 6px #020719}.galaxy-objective{display:flex;flex-direction:column;gap:3px;max-width:200px;padding:6px 9px;border-left:2px solid #81e9e5;background:linear-gradient(90deg,#07182ddb,transparent)}.galaxy-objective>small{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#94d8ed}.galaxy-objective strong{font-size:15px;line-height:1.2;font-weight:650}.galaxy-objective progress{width:100%;height:7px;accent-color:#d4a3ff;margin-top:3px}.galaxy-wave-map{display:flex;gap:5px;padding:6px 0}.galaxy-wave-map span{width:23px;text-align:center;color:#657ca1}.galaxy-wave-map i{display:grid;place-content:center;width:22px;height:22px;box-sizing:border-box;border:1px solid #52678a;border-radius:50%;font-style:normal;font-size:10px}.galaxy-wave-map small{font-size:7px;display:block;margin-top:2px}.galaxy-wave-map .current{color:#edfaff}.galaxy-wave-map .current i{border-color:#8eeff2;box-shadow:0 0 8px #7cd6eb50}.galaxy-wave-map .complete{color:#99e9db}.galaxy-wave-map .complete i{background:#255c6466;border-color:#74b9af}.galaxy-time{justify-self:end;text-align:right;padding:5px 7px;background:linear-gradient(-90deg,#0b1934e6,transparent);border-right:2px solid #707fa5}.galaxy-time>small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#a3bed8}.galaxy-time strong{font-size:25px;line-height:1.15;font-variant-numeric:tabular-nums}.galaxy-time strong span{font-size:10px;font-weight:400;margin-left:3px}.galaxy-time.urgent{color:#ffbba4;border-color:#f49e86}
.galaxy-flight-status{position:absolute;bottom:10px;left:12px;right:12px;display:grid;grid-template-columns:1fr minmax(0,1.6fr) 1fr;align-items:end;gap:9px;pointer-events:none;text-shadow:0 1px 4px #000}.galaxy-lives,.galaxy-barrier{display:flex;flex-direction:column;gap:3px;padding:6px 9px;background:#0a1934dd;border:1px solid #526c9780;border-radius:9px;min-width:0}.galaxy-lives small,.galaxy-barrier small{color:#a2cbe2;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.galaxy-lives strong{font-size:18px;letter-spacing:3px;color:#abf2ea;line-height:1}.galaxy-barrier{align-items:flex-end;text-align:right}.galaxy-barrier strong{font-size:11px;font-weight:600;color:#dfdcff;line-height:1.2}.galaxy-barrier.deployed{border-color:#96f5f5;background:#18465bdd}.galaxy-lock{text-align:center;padding:4px 0;color:#a9b8d1;min-width:0}.galaxy-lock>span{display:block;font-size:10px;line-height:1.2}.galaxy-lock>small{display:block;font-size:8px;color:#88a9bd;margin-top:3px;line-height:1.2}.galaxy-lock.locked>span{color:#b8fff2}.galaxy-notice{position:absolute;left:50%;top:77px;transform:translateX(-50%);max-width:80%;padding:6px 13px;border:1px solid #85bdd678;border-radius:20px;background:#0d1c37d9;color:#e0f9ff;text-align:center;font-size:11px;line-height:1.3;pointer-events:none}.galaxy-countdown{position:absolute;inset:0;display:grid;place-content:center;font-size:clamp(52px,10vw,95px);font-weight:300;color:#d3fdff;text-shadow:0 0 30px #72d6ee;pointer-events:none}
.play-view[data-game='Galaxy Defender'] .rebuilt-controls{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:0;background:none;border-radius:0}.galaxy-flight-controls{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;width:100%;flex-shrink:0;direction:ltr}.galaxy-direction-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,48px);gap:5px}.galaxy-direction-pad button:first-child{grid-column:2}.galaxy-direction-pad button:nth-child(2){grid-column:1;grid-row:2}.galaxy-direction-pad button:nth-child(3){grid-column:2;grid-row:2}.galaxy-direction-pad button:nth-child(4){grid-column:3;grid-row:2}.galaxy-action-pad{display:grid;grid-template-rows:repeat(2,48px);gap:5px}.play-view[data-game='Galaxy Defender'] .galaxy-flight-controls button{width:100%;max-width:none;min-width:0;min-height:48px;border:1px solid #50678f;border-bottom:3px solid #35496d;border-radius:14px;background:#162543;color:#c5eaf7;font-size:11px;font-weight:600;line-height:1.15;letter-spacing:.02em;padding:4px;box-shadow:inset 0 1px 0 #b4d6ef15;overflow-wrap:anywhere}.play-view[data-game='Galaxy Defender'] .galaxy-action-pad button:first-child{background:#b5edf1;color:#163347;border-color:#7bbbc8;font-size:14px;letter-spacing:.08em}.play-view[data-game='Galaxy Defender'] .galaxy-action-pad button:last-child{background:#322b57;color:#e7dcff;border-color:#756ba2}.galaxy-flight-controls button:active{filter:brightness(1.25)}
.galaxy-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:#bcdce9;touch-action:pan-y}.game-surface .galaxy-options label{display:flex;gap:5px;align-items:center;min-width:0;max-width:100%;font-size:10px}.galaxy-options select{background:#18243e;color:#d3f4ff;border:1px solid #4d6587;border-radius:9px;padding:5px 8px;min-height:36px;max-width:100%;font-size:11px}.galaxy-options>small{margin-left:auto;font-size:10px}.play-view[data-game='Galaxy Defender'] .galaxy-options>button{min-height:38px;padding:6px 11px;background:#b8ebea;color:#1c3449;border:1px solid #81bdcc;border-radius:18px;font-size:11px}.galaxy-audio{width:100%;min-width:0;margin-top:6px;background:#111e38;border:1px solid #3f5679;border-radius:10px;color:#bedce9;touch-action:pan-y;flex-shrink:0}.galaxy-audio summary{padding:7px 10px;min-height:32px;box-sizing:border-box;font-size:11px;cursor:pointer}.galaxy-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 8px}.game-surface .rebuilt-controls .galaxy-audio label{display:flex;flex-direction:column;gap:3px;max-width:none;min-width:0;font-size:11px}.galaxy-audio label>span{display:flex;justify-content:space-between;gap:5px}.galaxy-audio input[type=range]{width:100%;margin:0;min-height:28px;accent-color:#9edee8;touch-action:pan-y}.galaxy-audio small{display:block;padding:0 10px 8px;font-size:10px;line-height:1.3}.galaxy-audio-alert{font-size:10px;padding:5px 8px;color:#cfddf4}.galaxy-sound-retry{position:absolute;right:9px;top:84px;max-width:150px;z-index:5;border:1px solid #6c8bac;border-radius:10px;padding:7px;background:#132642ee;display:flex;flex-direction:column;gap:5px;color:#e4f5ff;font-size:10px;line-height:1.3}.galaxy-sound-retry button{min-height:36px;background:#a9e2e8;color:#173346;border:1px solid #87b7ce;border-radius:12px}
.play-view[data-game='Galaxy Defender'] .rebuilt-overlay{background:#050b2577;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay>div{background:linear-gradient(140deg,#182a49f5,#211c3df5);color:#e1f6ff;border:1px solid #7596be;border-radius:24px;box-shadow:0 12px 50px #0009;padding:24px;max-width:550px;max-height:100%;overflow:auto}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay h2{font-weight:400;letter-spacing:.04em;font-size:29px;color:#cefbff;margin-bottom:12px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay p{color:#bdd3e4;font-size:13px;line-height:1.55}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay button{background:#b9edf1;border-color:#86c4d4;color:#173348;border-radius:22px;min-width:115px;min-height:44px}.galaxy-error{position:absolute;inset:0;z-index:40;background:#0c1b35f7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:20px;overflow:auto;color:#d3eaff}.galaxy-error p{max-width:44ch;line-height:1.5}.galaxy-error button{background:#b7e9f0;color:#183247;border-radius:20px;min-height:46px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Galaxy Defender'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Galaxy Defender'] .rebuilt-hud>span{font-size:9px;min-height:22px;padding:3px 7px}.galaxy-flight-controls{gap:8px}.galaxy-mission{inset:8px 8px auto;gap:6px}.galaxy-objective{padding:5px 6px}.galaxy-objective strong{font-size:12px}.galaxy-objective>small{font-size:8px}.galaxy-time{padding:4px 5px}.galaxy-time strong{font-size:22px}.galaxy-wave-map{gap:3px}.galaxy-wave-map span{width:19px}.galaxy-wave-map i{width:19px;height:19px;font-size:8px}.galaxy-flight-status{left:8px;right:8px;bottom:8px;gap:6px}.galaxy-lives,.galaxy-barrier{padding:5px 6px}.galaxy-lives strong{font-size:16px;letter-spacing:1px}.galaxy-barrier strong{font-size:9px}.galaxy-lock>span{font-size:9px}.galaxy-lock>small{font-size:7px}.galaxy-notice{top:70px;font-size:10px;padding:5px 10px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay>div{padding:17px;border-radius:19px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay h2{font-size:25px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay p{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Galaxy Defender'] .rebuilt-controls{display:flex;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.galaxy-flight-controls{grid-template-columns:minmax(0,1fr);gap:7px}.galaxy-direction-pad{grid-template-rows:repeat(2,44px);gap:4px}.galaxy-action-pad{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:44px;gap:4px}.play-view[data-game='Galaxy Defender'] .galaxy-flight-controls button{min-height:44px;font-size:9px;border-radius:11px}.play-view[data-game='Galaxy Defender'] .galaxy-action-pad button:first-child{font-size:11px}.galaxy-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.galaxy-options{gap:5px}.game-surface .galaxy-options label{display:flex;flex-direction:column;align-items:stretch;width:100%}.galaxy-options>small{margin-left:0}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay>div{padding:10px 15px;border-radius:16px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay h2{font-size:21px;margin-bottom:5px}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay p{font-size:11px;line-height:1.4}.play-view[data-game='Galaxy Defender'] .rebuilt-overlay button{min-height:38px}.galaxy-sound-retry{top:56px;max-width:130px}}
@container (height <= 280px){.galaxy-mission{top:5px;left:7px;right:7px;gap:6px}.galaxy-objective{padding:3px 6px;gap:1px}.galaxy-objective>small{font-size:7px}.galaxy-objective strong{font-size:11px}.galaxy-objective progress{height:5px;margin-top:1px}.galaxy-wave-map{padding:2px 0}.galaxy-wave-map i{width:18px;height:18px;font-size:8px}.galaxy-wave-map small{display:none}.galaxy-time{padding:2px 5px}.galaxy-time>small{font-size:7px}.galaxy-time strong{font-size:20px}.galaxy-flight-status{bottom:5px;left:7px;right:7px;gap:5px}.galaxy-lives,.galaxy-barrier{padding:3px 6px;gap:1px;border-radius:6px}.galaxy-lives small,.galaxy-barrier small{font-size:7px}.galaxy-lives strong{font-size:13px}.galaxy-barrier strong,.galaxy-lock>span{font-size:9px}.galaxy-lock>small{display:none}.galaxy-notice{top:43px;padding:3px 9px;font-size:9px;max-width:70%}}
[dir=rtl] .galaxy-options,[dir=rtl] .galaxy-audio{direction:rtl}

/* Bike Stunt: sunlit rooftop festival, bold printed panels and tactile trial controls. */
.play-view[data-game='Bike Stunt']{background:#f2e9d5;color:#29383e}.play-view[data-game='Bike Stunt'] .gamebar{background:#263b48;color:#fff0d4;border-bottom:4px solid #ef906b}.play-view[data-game='Bike Stunt'] .gamebar button{background:#f5e6c8;color:#283b49;border-color:#889a9e;border-radius:4px}.play-view[data-game='Bike Stunt'] .rebuilt-main{background:#e9e0cb}.play-view[data-game='Bike Stunt'] .rebuilt-hud{justify-content:flex-start;gap:5px}.play-view[data-game='Bike Stunt'] .rebuilt-hud>span{background:#fff4da;border:1px solid #a7a58d;color:#34434a;border-radius:3px;font-size:11px;font-weight:700}.play-view[data-game='Bike Stunt'] .rebuilt-stage{border:2px solid #415b67;border-radius:6px;box-shadow:0 4px 0 #9ba7a4,0 8px 18px #27384522;background:#c5dee1}.bike-stunt-webgl{display:block;width:100%;height:100%;background:#c5dee1}
.bike-stunt-score{position:absolute;top:10px;left:10px;width:clamp(104px,24%,150px);box-sizing:border-box;padding:7px 9px;background:#fff3d8f2;border:1px solid #859995;border-left:5px solid #e27a56;border-radius:3px;pointer-events:none;color:#293d46}.bike-stunt-score>small{display:block;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.bike-stunt-score strong{display:block;font-size:25px;line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.bike-stunt-score strong>span{font-size:11px;font-weight:600;color:#6a7777}.bike-stunt-score progress{display:block;width:100%;height:5px;accent-color:#d97754;margin-top:4px}.bike-stunt-gates{position:absolute;top:17px;left:54%;transform:translateX(-50%);width:clamp(100px,26%,170px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;pointer-events:none}.bike-stunt-gates>span{text-align:center;color:#50676c}.bike-stunt-gates b{display:grid;place-content:center;box-sizing:border-box;height:22px;border:1px solid #809c9f;border-radius:3px;background:#e5ede4d9;font-size:10px}.bike-stunt-gates small{display:block;font-size:8px;font-weight:650;margin-top:3px}.bike-stunt-gates .current b{background:#e98962;color:#203d45;border-color:#934e37;box-shadow:0 2px 0 #a46247}.bike-stunt-gates .banked b{background:#3c8e87;color:#f8f1d6;border-color:#266a6d}.bike-stunt-chances{position:absolute;right:10px;top:10px;background:#293f4ae8;color:#fff2d5;padding:7px 9px;border:1px solid #72888b;border-radius:3px;pointer-events:none}.bike-stunt-chances>small{font-size:8px;display:block;text-transform:uppercase;letter-spacing:.08em}.bike-stunt-chances strong{font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}.bike-stunt-chances strong>span{font-size:11px;font-weight:400}
.bike-stunt-guidance{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 100px);display:flex;align-items:center;gap:10px;padding:6px 9px;background:#fff5dded;border:1px solid #7e9595;border-radius:4px;box-sizing:border-box;pointer-events:none;color:#2e474e}.bike-stunt-guidance>div:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.bike-stunt-guidance small{font-size:8px;letter-spacing:.06em;text-transform:uppercase;font-weight:750}.bike-stunt-guidance strong{font-size:14px;line-height:1.15}.bike-stunt-guidance span{font-size:9px;color:#596e6f}.bike-stunt-tilt{position:relative;width:46px;height:46px;flex-shrink:0;border:1px solid #9aa9a0;border-radius:50%;background:repeating-linear-gradient(0deg,#dfebde 0 10px,#c5d6cb 11px 12px);direction:ltr}.bike-stunt-tilt:after{content:'';position:absolute;width:6px;height:6px;background:#293e46;border-radius:50%;left:19px;top:19px}.bike-stunt-tilt i,.bike-stunt-tilt b{position:absolute;left:5px;right:5px;top:21px;height:3px;transform-origin:center}.bike-stunt-target-angle{background:#31877e;border:1px dashed #f8f5dc;height:5px!important;top:20px!important}.bike-stunt-current-angle{background:#e57e57;box-shadow:0 0 0 1px #945234}.bike-stunt-speed{position:absolute;right:10px;bottom:10px;min-width:61px;padding:6px 9px;text-align:right;background:#2f4853eb;color:#fff1cf;border:1px solid #7c969b;border-radius:4px;pointer-events:none}.bike-stunt-speed>small{display:block;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.bike-stunt-speed strong{font-size:32px;line-height:1.05;font-variant-numeric:tabular-nums}.bike-stunt-speed>span{display:block;font-size:9px}.bike-stunt-notice{position:absolute;top:80px;left:50%;transform:translateX(-50%);max-width:80%;background:#fff2d9ed;color:#2f4b50;border:1px solid #9aa18a;border-bottom:3px solid #d17a56;border-radius:4px;padding:6px 12px;text-align:center;font-size:11px;font-weight:700;line-height:1.3;pointer-events:none}.bike-stunt-recovery{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:6px;max-width:85%;padding:12px 17px;background:#fbebcdef;color:#34484f;border:2px solid #cf7b57;border-radius:5px;text-align:center;pointer-events:none}.bike-stunt-recovery strong{font-size:21px}.bike-stunt-recovery span{font-size:11px}
.play-view[data-game='Bike Stunt'] .rebuilt-controls{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:0;background:none;border-radius:0}.bike-stunt-controls{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;width:100%;direction:ltr;flex-shrink:0}.bike-stunt-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bike-stunt-drive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,48px);gap:5px}.bike-stunt-drive button:last-child{grid-column:1/-1}.play-view[data-game='Bike Stunt'] .bike-stunt-controls button{width:100%;min-width:0;max-width:none;min-height:48px;padding:5px;background:#f7ecd2;color:#2c454e;border:1px solid #809b9d;border-bottom:4px solid #7f9799;border-radius:6px;font-size:11px;font-weight:750;line-height:1.2;box-shadow:none;overflow-wrap:anywhere}.play-view[data-game='Bike Stunt'] .bike-stunt-balance button{background:#326b77;color:#fff1d0;border-color:#214e5e;font-size:13px}.play-view[data-game='Bike Stunt'] .bike-stunt-drive button:last-child{background:#ef996e;color:#263f46;border-color:#b56243;font-size:14px;letter-spacing:.04em}.bike-stunt-controls button:active{filter:brightness(.88)}.bike-stunt-record{font-size:10px;font-weight:700;color:#47646a;text-align:right;padding:4px 5px 0}
.bike-stunt-audio{width:100%;margin-top:5px;min-width:0;background:#f8edd4;color:#37565d;border:1px solid #9ba99d;border-radius:4px;touch-action:pan-y;flex-shrink:0}.bike-stunt-audio summary{font-size:11px;font-weight:700;padding:7px 10px;min-height:32px;box-sizing:border-box;cursor:pointer}.bike-stunt-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 8px}.game-surface .rebuilt-controls .bike-stunt-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.bike-stunt-audio label>span{display:flex;justify-content:space-between;gap:5px}.bike-stunt-audio input[type=range]{width:100%;margin:0;accent-color:#377d80;min-height:28px;touch-action:pan-y}.bike-stunt-audio small{display:block;font-size:10px;padding:0 10px 8px;line-height:1.3}.bike-stunt-audio-alert{font-size:10px;padding:5px 8px;color:#675447}.bike-stunt-sound-retry{position:absolute;right:8px;top:78px;max-width:150px;z-index:5;border:1px solid #8b9f97;border-radius:4px;padding:7px;background:#fff0d4f2;display:flex;flex-direction:column;gap:5px;color:#36565c;font-size:10px;line-height:1.3}.bike-stunt-sound-retry button{min-height:36px;background:#386f77;color:#fff2d3;border:1px solid #285861;border-radius:4px}
.play-view[data-game='Bike Stunt'] .rebuilt-overlay{background:#29404d55;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay>div{background:#fff0d7f5;color:#304851;border:1px solid #91a09a;border-top:6px solid #e18158;border-radius:7px;box-shadow:0 12px 35px #23384344;padding:21px;max-width:550px;max-height:100%;overflow:auto}.play-view[data-game='Bike Stunt'] .rebuilt-overlay h2{font-weight:900;letter-spacing:-.035em;font-size:31px;color:#294651;margin-bottom:10px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay p{color:#536863;font-size:13px;line-height:1.5}.play-view[data-game='Bike Stunt'] .rebuilt-overlay button{background:#e78d62;border-color:#b46442;color:#253f48;border-radius:5px;min-width:115px;min-height:44px;font-weight:750}.bike-stunt-error{position:absolute;inset:0;z-index:40;background:#fff0d7f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#35535a}.bike-stunt-error p{max-width:44ch;line-height:1.5}.bike-stunt-error button{background:#3c7279;color:#fff2d5;min-height:46px;border-radius:5px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Bike Stunt'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Bike Stunt'] .rebuilt-hud>span{font-size:9px;min-height:22px;padding:3px 6px}.bike-stunt-controls{gap:7px}.bike-stunt-score{top:8px;left:8px;padding:5px 6px}.bike-stunt-score strong{font-size:21px}.bike-stunt-score strong>span{font-size:9px}.bike-stunt-gates{left:55%;top:15px}.bike-stunt-gates b{height:18px;font-size:8px}.bike-stunt-gates small{font-size:7px}.bike-stunt-chances{top:8px;right:8px;padding:6px 7px}.bike-stunt-chances strong{font-size:23px}.bike-stunt-guidance{bottom:8px;left:8px;gap:7px;padding:5px 7px;max-width:calc(100% - 88px)}.bike-stunt-guidance strong{font-size:12px}.bike-stunt-guidance small{font-size:7px}.bike-stunt-guidance span{font-size:8px}.bike-stunt-speed{bottom:8px;right:8px;min-width:52px;padding:5px 7px}.bike-stunt-speed strong{font-size:29px}.bike-stunt-notice{top:73px;padding:5px 9px;font-size:10px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay>div{padding:15px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay h2{font-size:26px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay p{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Bike Stunt'] .rebuilt-controls{display:flex;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.bike-stunt-controls{grid-template-columns:minmax(0,1fr);gap:7px}.bike-stunt-balance{grid-template-rows:44px}.bike-stunt-drive{grid-template-rows:repeat(2,44px)}.play-view[data-game='Bike Stunt'] .bike-stunt-controls button{min-height:44px;font-size:10px}.play-view[data-game='Bike Stunt'] .bike-stunt-balance button{font-size:10px}.bike-stunt-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay>div{padding:10px 14px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay h2{font-size:22px;margin-bottom:5px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay p{font-size:11px;line-height:1.4}.play-view[data-game='Bike Stunt'] .rebuilt-overlay button{min-height:38px}.bike-stunt-sound-retry{top:58px;max-width:130px}}
@container (height <= 280px){.bike-stunt-score{top:5px;left:7px;padding:3px 6px}.bike-stunt-score>small{font-size:7px}.bike-stunt-score strong{font-size:20px}.bike-stunt-score strong>span{font-size:9px}.bike-stunt-score progress{height:4px;margin-top:2px}.bike-stunt-gates{top:11px}.bike-stunt-gates b{height:18px;font-size:8px}.bike-stunt-gates small{display:none}.bike-stunt-chances{right:7px;top:5px;padding:4px 7px}.bike-stunt-chances strong{font-size:21px}.bike-stunt-chances>small{font-size:7px}.bike-stunt-guidance{bottom:5px;left:7px;padding:3px 6px;gap:6px}.bike-stunt-tilt{width:32px;height:32px}.bike-stunt-tilt:after{left:13px;top:13px;width:4px;height:4px}.bike-stunt-tilt i,.bike-stunt-tilt b{left:3px;right:3px;top:14px}.bike-stunt-target-angle{top:13px!important}.bike-stunt-guidance strong{font-size:11px}.bike-stunt-guidance small,.bike-stunt-guidance span{font-size:7px}.bike-stunt-speed{bottom:5px;right:7px;padding:3px 6px;min-width:50px}.bike-stunt-speed strong{font-size:24px}.bike-stunt-speed>small,.bike-stunt-speed>span{font-size:7px}.bike-stunt-notice{top:52px;font-size:9px;padding:4px 8px}.bike-stunt-recovery strong{font-size:17px}}
[dir=rtl] .bike-stunt-audio{direction:rtl}.game-surface:has(.play-view[data-game='Bike Stunt']) .campaign-bar{background:#eddcb9;color:#344c54;border-color:#9aa48f}

.game-surface:has(.play-view[data-game='Bike Stunt']) .campaign-bar select{background:#fff1d4;color:#35515a;border-color:#9ba48e}

/* Shadow Clash: quiet timber dojo, jade ink and vermilion martial-arts scorecards. */
.play-view[data-game='Shadow Clash']{background:#eeeadd;color:#253d36}.play-view[data-game='Shadow Clash'] .gamebar{background:#243f37;color:#f3ebd4;border-bottom:3px solid #ac5a42}.play-view[data-game='Shadow Clash'] .gamebar button{background:#eae4cf;color:#29463d;border:1px solid #91a28b;border-radius:3px}.game-surface:has(.play-view[data-game='Shadow Clash']) .campaign-bar{background:#e2ddca;color:#30483c;border-bottom:1px solid #a4ac94}.game-surface:has(.play-view[data-game='Shadow Clash']) .campaign-bar select{background:#f5efdc;color:#294239;border:1px solid #a3ae94}.game-surface .play-view[data-game='Shadow Clash'] .rebuilt-main{max-width:1180px;background:#eeeadd;gap:7px}.play-view[data-game='Shadow Clash'] .rebuilt-hud{justify-content:center;gap:5px}.play-view[data-game='Shadow Clash'] .rebuilt-hud>span{background:#f7f0dd;color:#3c5545;border:1px solid #aab396;border-radius:2px;font-size:11px;font-weight:650}.play-view[data-game='Shadow Clash'] .rebuilt-stage{background:#bac6af;border:2px solid #647461;border-radius:3px;box-shadow:0 3px 0 #a5aa91}.shadow-webgl{display:block;width:100%;height:100%;background:#bac6af}
.shadow-scoreboard{position:absolute;top:7px;left:10px;right:10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,18%,150px);pointer-events:none}.shadow-health{padding:4px 7px;background:#f3ecd8eb;border:1px solid #94a58a;border-left:4px solid #46776a;color:#28453d;min-width:0;max-width:260px}.shadow-health-1{border-left:1px solid #a5a28a;border-right:4px solid #b66348;justify-self:end;width:100%;box-sizing:border-box}.shadow-health>div:first-child{display:flex;justify-content:space-between;gap:5px;align-items:center}.shadow-health strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shadow-health b{font-size:16px;font-variant-numeric:tabular-nums}.shadow-health>meter{width:100%;height:7px;display:block;margin-top:1px;accent-color:#367768}.shadow-health-1>meter{accent-color:#b56449}.shadow-stamina{display:flex;align-items:center;gap:5px;margin-top:3px}.shadow-stamina small{font-size:7px;white-space:nowrap;letter-spacing:.03em}.shadow-stamina meter{height:4px;width:100%;accent-color:#a59656}.shadow-round-pips{display:flex;gap:4px;margin-top:3px}.shadow-health-1 .shadow-round-pips{justify-content:flex-end}.shadow-round-pips i{width:7px;height:5px;background:#b9c1a6;border:1px solid #8c9c80;transform:skew(-10deg)}.shadow-round-pips i.won{background:#4e7b65;border-color:#335842}.shadow-health-1 .shadow-round-pips i.won{background:#b26247;border-color:#854631}
.shadow-stances{position:absolute;left:10px;right:10px;bottom:8px;display:flex;justify-content:space-between;gap:20px;pointer-events:none}.shadow-stance{min-width:100px;max-width:43%;background:#f5edd5eb;border:1px solid #a3ad93;border-left:3px solid #4a7e6a;padding:4px 7px;color:#2d4d3e;display:flex;flex-direction:column;gap:2px}.shadow-stance:last-child{text-align:right;border-left:1px solid #a3ad93;border-right:3px solid #b96648}.shadow-stance small{font-size:7px;letter-spacing:.09em;text-transform:uppercase}.shadow-stance strong{font-size:11px;line-height:1.1}.shadow-stance>span{font-size:8px;color:#6c795e}.shadow-stance.windup{border-color:#ba9150;background:#fbebc5f2}.shadow-stance.active{background:#e6b699f2;color:#613e28}.shadow-stance.guardBreak,.shadow-stance.stunned{background:#eac4b1f0;color:#6d4030}.shadow-stance.counter{background:#d4e5c8f2;border-color:#528763}
.play-view[data-game='Shadow Clash'] .rebuilt-controls{display:flex;flex-direction:column;align-items:stretch;gap:0;flex-wrap:nowrap;padding:0;background:none;border-radius:0}.shadow-controls{display:grid;width:100%;gap:10px;direction:ltr;flex-shrink:0}.shadow-local{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shadow-pad{min-width:0;background:#dfdfca;border:1px solid #9ba98c;padding:5px;box-sizing:border-box}.shadow-pad>strong{display:block;color:#365747;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:4px}.shadow-pad-1{background:#e7d9c5;border-color:#b3a18b}.shadow-pad-1>strong{color:#84503b}.shadow-pad-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.play-view[data-game='Shadow Clash'] .shadow-pad-buttons button{width:100%;min-width:0;max-width:none;min-height:45px;padding:4px;color:#315342;background:#f6efdc;border:1px solid #9bab90;border-bottom:3px solid #7e9377;border-radius:4px;font-size:11px;font-weight:700;line-height:1.15;overflow-wrap:anywhere;box-shadow:none}.play-view[data-game='Shadow Clash'] .shadow-pad-buttons button:nth-child(5),.play-view[data-game='Shadow Clash'] .shadow-pad-buttons button:nth-child(6){background:#416b58;color:#fbefd7;border-color:#2e5442}.play-view[data-game='Shadow Clash'] .shadow-pad-1 .shadow-pad-buttons button:nth-child(5),.play-view[data-game='Shadow Clash'] .shadow-pad-1 .shadow-pad-buttons button:nth-child(6){background:#a85f43;border-color:#82432d}.shadow-pad-buttons button:last-child{grid-column:span 2}.shadow-pad-buttons button:active{filter:brightness(.86)}.shadow-options{display:flex;justify-content:center;gap:6px;padding-top:5px}.play-view[data-game='Shadow Clash'] .shadow-options button{background:#e8dfc8;color:#3a5849;border:1px solid #9ba587;border-radius:3px;min-height:34px;font-size:11px}
.shadow-audio{margin-top:5px;width:100%;min-width:0;background:#f3ecd9;color:#405d4c;border:1px solid #a8b096;border-radius:3px;touch-action:pan-y;flex-shrink:0}.shadow-audio summary{padding:6px 10px;font-size:11px;font-weight:700;min-height:30px;box-sizing:border-box;cursor:pointer}.shadow-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 8px}.game-surface .rebuilt-controls .shadow-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.shadow-audio label>span{display:flex;justify-content:space-between;gap:5px}.shadow-audio input[type=range]{width:100%;margin:0;accent-color:#477760;min-height:28px;touch-action:pan-y}.shadow-audio small,.shadow-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3}.shadow-sound-retry{position:absolute;top:70px;right:8px;max-width:155px;z-index:5;background:#f6ecd4f2;color:#3a5746;border:1px solid #a2ae91;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.shadow-sound-retry button{min-height:36px;background:#3e6852;color:#fff2d3;border:1px solid #2e4c3b;border-radius:3px}
.shadow-countdown{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:3px;text-align:center;pointer-events:none;color:#2f5945;text-shadow:0 2px #f8f0d8}.shadow-countdown small{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.shadow-countdown strong{font-size:66px;font-weight:900;line-height:1}.shadow-round-card{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);max-width:80%;box-sizing:border-box;background:#f7efdaed;border:1px solid #91a384;border-top:4px solid #a35b41;padding:13px 22px;color:#365442;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;pointer-events:none}.shadow-round-card small{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.shadow-round-card strong{font-size:20px;line-height:1.15}.shadow-round-card b{font-size:30px}.shadow-round-card span{font-size:10px;color:#6b795f}.play-view[data-game='Shadow Clash'] .rebuilt-overlay{background:#304e3c44;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay>div{background:#f8f0dbf7;color:#2f4f3e;border:1px solid #94a184;border-top:5px solid #a55f43;border-radius:3px;box-shadow:0 14px 35px #263f3438;max-width:560px;max-height:100%;overflow:auto;padding:20px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay h2{color:#2d513e;font-size:29px;letter-spacing:-.03em;font-weight:900;margin-bottom:8px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay p{color:#5b7059;font-size:12px;line-height:1.5}.play-view[data-game='Shadow Clash'] .rebuilt-overlay button{background:#416f57;border:1px solid #31523d;color:#fff2d5;border-radius:3px;min-height:44px;font-weight:700}.shadow-error{position:absolute;inset:0;z-index:40;background:#f5edd8f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#375541}.shadow-error p{max-width:44ch;line-height:1.5}.shadow-error button{background:#3b6950;color:#fff3d5;min-height:46px;border:1px solid #2f513c;border-radius:3px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Shadow Clash'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Shadow Clash'] .rebuilt-hud>span{font-size:9px;min-height:21px;padding:2px 5px}.shadow-controls{gap:6px}.shadow-local .shadow-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.play-view[data-game='Shadow Clash'] .shadow-local .shadow-pad-buttons button{min-height:42px;font-size:10px}.shadow-scoreboard{left:7px;right:7px;gap:17%}.shadow-health{padding:3px 5px}.shadow-health strong{font-size:9px}.shadow-health b{font-size:14px}.shadow-stamina{gap:3px}.shadow-stamina small{font-size:6px}.shadow-stances{left:7px;right:7px;bottom:7px;gap:14px}.shadow-stance{padding:4px 5px;min-width:80px}.shadow-stance strong{font-size:10px}.shadow-stance small,.shadow-stance>span{font-size:7px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Shadow Clash'] .rebuilt-controls{display:flex;overflow:auto;justify-content:flex-start;touch-action:pan-y}.shadow-solo .shadow-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.play-view[data-game='Shadow Clash'] .shadow-pad-buttons button{min-height:42px;font-size:10px}.shadow-pad{padding:3px}.shadow-pad>strong{font-size:8px;margin-bottom:3px}.shadow-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.game-surface .play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local){grid-template-columns:clamp(108px,16vw,140px) minmax(0,1fr) clamp(108px,16vw,140px);grid-template-rows:auto minmax(0,1fr);gap:4px}.play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .rebuilt-hud{grid-column:2;grid-row:1}.play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .rebuilt-stage{grid-column:2;grid-row:2}.game-surface .play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .rebuilt-controls,.shadow-controls.shadow-local{display:contents}.shadow-local .shadow-pad{grid-row:1/3;align-self:center}.shadow-local .shadow-pad-0{grid-column:1}.shadow-local .shadow-pad-1{grid-column:3}.shadow-local .shadow-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.shadow-local .shadow-pad>strong{display:block}.play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .shadow-options{grid-column:1/4;grid-row:3}.play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .shadow-audio{grid-column:1/4;grid-row:4;margin:0}.play-view[data-game='Shadow Clash'] .rebuilt-main:has(.shadow-local) .shadow-audio-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.play-view[data-game='Shadow Clash'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Shadow Clash'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.shadow-sound-retry{top:48px;max-width:130px}.shadow-round-card{padding:6px 12px;gap:3px}.shadow-round-card strong{font-size:16px}.shadow-round-card b{font-size:24px}}
@container (height < 350px){.shadow-scoreboard{top:4px;left:6px;right:6px}.shadow-health{padding:2px 5px;border-width:1px}.shadow-health strong{font-size:8px}.shadow-health b{font-size:12px}.shadow-health>meter{height:5px;margin-top:0}.shadow-stamina{margin-top:1px}.shadow-stamina small{font-size:6px}.shadow-stamina meter{height:3px}.shadow-round-pips{margin-top:2px;gap:3px}.shadow-round-pips i{height:3px;width:6px}.shadow-stances{bottom:4px;left:6px;right:6px}.shadow-stance{padding:2px 5px;gap:1px;min-width:85px}.shadow-stance small{display:none}.shadow-stance strong{font-size:9px}.shadow-stance>span{font-size:7px}.shadow-countdown strong{font-size:42px}.shadow-countdown small{font-size:9px}}
[dir=rtl] .shadow-audio,[dir=rtl] .shadow-options{direction:rtl}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Shadow Clash'][data-playing='false'] .rebuilt-main:has(.shadow-local){grid-template-columns:minmax(0,1fr)}.play-view[data-game='Shadow Clash'][data-playing='false'] .shadow-local .shadow-pad{display:none}.play-view[data-game='Shadow Clash'][data-playing='false'] .rebuilt-main:has(.shadow-local) .rebuilt-hud,.play-view[data-game='Shadow Clash'][data-playing='false'] .rebuilt-main:has(.shadow-local) .rebuilt-stage{grid-column:1}.play-view[data-game='Shadow Clash'][data-playing='false'] .rebuilt-main:has(.shadow-local) .shadow-options,.play-view[data-game='Shadow Clash'][data-playing='false'] .rebuilt-main:has(.shadow-local) .shadow-audio{grid-column:1}}
.shadow-scoreboard,.shadow-stances{direction:ltr}[dir=rtl] .shadow-health>div:first-child,[dir=rtl] .shadow-stamina,[dir=rtl] .shadow-stance{direction:rtl}
.shadow-health{line-height:1}

/* Sky Jumper: airy island expedition, three distinct trails rather than a cockpit. */
.play-view[data-game='Sky Jumper']{background:#edf2e8;color:#355e67}
.play-view[data-game='Sky Jumper'] .gamebar{background:#e7efe5;border-bottom:1px solid #a8c6c4;color:#355e67}
.play-view[data-game='Sky Jumper'] .gamebar strong{color:#355e67;letter-spacing:.03em}
.play-view[data-game='Sky Jumper'] .gamebar button{background:#fffaf0;border:1px solid #9ebeb9;color:#365e68;border-radius:18px}
.game-surface .play-view[data-game='Sky Jumper'] .rebuilt-main{background:#e9f0e8;max-width:none;gap:7px;padding:7px}
.play-view[data-game='Sky Jumper'] .rebuilt-hud{justify-content:center;gap:5px}
.play-view[data-game='Sky Jumper'] .rebuilt-hud>span{background:#fffcf2;border:1px solid #b8cdc3;color:#456a6b;border-radius:20px;font-size:11px;font-weight:700;min-height:23px;padding:3px 9px}
.play-view[data-game='Sky Jumper'] .rebuilt-stage{background:#b6dfe4;border:1px solid #9ebfbf;border-radius:24px 24px 15px 15px;box-shadow:0 5px 0 #c6d9ce,0 10px 22px #527b6f18;isolation:isolate}
.sky-webgl{display:block;width:100%;height:100%;background:#b6dfe4}
.sky-altimeter{position:absolute;top:8px;left:12px;right:12px;height:36px;box-sizing:border-box;border:1px solid #acc8bd;background:#fffcefec;border-radius:18px;padding:5px 12px;pointer-events:none;color:#456d6a}
.sky-altimeter-title{display:flex;justify-content:space-between;gap:8px;align-items:center;line-height:1.1}
.sky-altimeter-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-altimeter-title span{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sky-route-strip{display:flex;gap:7px;margin-top:5px;direction:ltr}.sky-route-region{display:flex;flex:1;gap:3px;min-width:0}.sky-route-region i{display:block;flex:1;height:4px;background:#d1ded3;border-radius:4px;min-width:1px}.sky-route-region i.done{background:#5b9c8d}.sky-route-region i.next{background:#de9777}.sky-route-region i.milestone{height:6px;transform:translateY(-1px);border-radius:1px}
.sky-island-label{position:absolute;transform:translate(-50%,-100%);display:flex;gap:4px;align-items:center;padding:2px 6px;border:1px solid #4d8c7db3;border-radius:11px;background:#fff9eae8;box-shadow:0 2px 5px #335d5d16;color:#376d67;pointer-events:none;white-space:nowrap;font-size:9px;line-height:1.2;max-width:150px;box-sizing:border-box}.sky-island-label b{font-size:12px}.sky-island-label span{overflow:hidden;text-overflow:ellipsis}
.sky-supplies{position:absolute;left:10px;right:10px;bottom:8px;height:27px;display:flex;align-items:center;justify-content:space-between;gap:6px;pointer-events:none;color:#416a68;direction:ltr}
.sky-supplies>span{font-size:10px;font-weight:750;line-height:1.1;border:1px solid #acc6bf;border-radius:16px;background:#fff9eae8;padding:6px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:67%}.sky-supplies .sky-crystals{color:#7b6a95}.sky-supplies .sky-jetpack-status.ready{background:#d8f2d9;border-color:#6da98b;color:#356e52}
.sky-checkpoint-notice{position:absolute;left:50%;top:55px;transform:translateX(-50%);padding:5px 10px;border:1px solid #81b79a;border-radius:20px;background:#eff9deec;color:#4c775b;font-size:11px;white-space:nowrap;pointer-events:none}
.game-surface .play-view[data-game='Sky Jumper'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}
.sky-controls{width:100%;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px;flex-shrink:0;direction:ltr}
.game-surface .play-view[data-game='Sky Jumper'] .sky-controls button{min-width:0;max-width:none;width:100%;min-height:52px;border-radius:22px;border:1px solid #8db3ae;background:#f7f6e9;color:#3f6b6d;font-size:13px;font-weight:800;box-shadow:0 3px #afc8bb}
.game-surface .play-view[data-game='Sky Jumper'] .sky-controls button:nth-child(2){background:#efcdb2;color:#72553e;border-color:#c99c7b}.game-surface .play-view[data-game='Sky Jumper'] .sky-controls[data-jetpack-ready=true] button:nth-child(2){background:#b9dfb9;border-color:#79ae85;color:#376f4a}.sky-controls button:active{filter:brightness(.94);transform:translateY(1px)}
.sky-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;width:100%;flex-shrink:0}
.game-surface .play-view[data-game='Sky Jumper'] .sky-menu label{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;min-width:0;max-width:none;color:#55746b}
.sky-menu select{min-height:38px;min-width:0;max-width:100%;border:1px solid #a6bfb1;border-radius:12px;background:#fffaf0;color:#3c635e;font:inherit;padding:5px 8px}
.game-surface .play-view[data-game='Sky Jumper'] .sky-menu button{min-height:38px;min-width:0;border:1px solid #9bb9ac;border-radius:14px;background:#d6e8cd;color:#446a57;font-size:11px;padding:6px 10px;box-shadow:none}
.sky-menu small,.sky-complete{width:100%;text-align:center;font-size:10px;color:#67836e}.sky-complete{font-size:13px}
.sky-audio{margin-top:2px;width:100%;min-width:0;background:#fff9ee;color:#526f6b;border:1px solid #b6cbbb;border-radius:14px;touch-action:pan-y;flex-shrink:0}
.sky-audio summary{padding:7px 12px;font-size:11px;font-weight:700;min-height:32px;box-sizing:border-box;cursor:pointer}.sky-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 8px}.game-surface .rebuilt-controls .sky-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.sky-audio label>span{display:flex;justify-content:space-between;gap:5px}.sky-audio input[type=range]{width:100%;margin:0;accent-color:#75a897;min-height:28px;touch-action:pan-y}.sky-audio small,.sky-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#677b63}
.sky-sound-retry{position:absolute;top:60px;right:8px;max-width:155px;z-index:5;background:#fff7e8f2;color:#557566;border:1px solid #a7c0af;border-radius:10px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.sky-sound-retry button{min-height:36px;background:#b6d8bf;color:#386a50;border:1px solid #91b49b;border-radius:12px}
.play-view[data-game='Sky Jumper'] .rebuilt-overlay{background:#b8d6c955;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}
.play-view[data-game='Sky Jumper'] .rebuilt-overlay>div{background:#fffbecf5;color:#456a61;border:1px solid #a9c3b2;border-radius:24px 24px 12px 12px;box-shadow:0 16px 34px #486f5f24;max-width:560px;max-height:100%;overflow:auto;padding:21px}
.play-view[data-game='Sky Jumper'] .rebuilt-overlay h2{font-size:29px;line-height:1.15;color:#426d62;letter-spacing:-.02em}.play-view[data-game='Sky Jumper'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#687c68}.play-view[data-game='Sky Jumper'] .rebuilt-overlay button{min-height:46px;background:#9fcbb6;color:#2f5f4c;border:1px solid #78a58f;border-radius:20px;font-weight:800;box-shadow:0 3px #d3e1c9}
.sky-error{position:absolute;inset:0;z-index:40;background:#f1f5e7f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#456d63}.sky-error p{max-width:44ch;line-height:1.5}.sky-error button{background:#b3d7c0;color:#396c54;min-height:46px;border:1px solid #7cae95;border-radius:20px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Sky Jumper'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Sky Jumper'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.sky-controls{gap:5px}.game-surface .play-view[data-game='Sky Jumper'] .sky-controls button{font-size:11px;padding:5px;min-height:50px}.sky-altimeter{left:7px;right:7px;padding:5px 9px}.sky-altimeter-title strong{font-size:11px}.sky-altimeter-title span{font-size:9px}.sky-route-strip{gap:5px}.sky-route-region{gap:2px}.sky-supplies{left:6px;right:6px;gap:4px}.sky-supplies>span{font-size:9px;padding:5px 7px}.sky-menu{gap:4px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Sky Jumper'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.sky-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.game-surface .play-view[data-game='Sky Jumper'] .sky-controls button{min-height:46px;font-size:11px}.sky-controls button:nth-child(2){grid-column:1/3;grid-row:2}.sky-controls button:last-child{grid-column:2;grid-row:1}.sky-menu{flex-direction:column;align-items:stretch}.game-surface .play-view[data-game='Sky Jumper'] .sky-menu label{flex-direction:column;align-items:stretch;gap:3px}.sky-menu select{width:100%;min-height:32px}.sky-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Sky Jumper'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.sky-sound-retry{top:43px;max-width:130px}}
@container (height < 350px){.sky-altimeter{top:4px;left:6px;right:6px;height:29px;padding:4px 9px}.sky-altimeter-title strong{font-size:9px}.sky-altimeter-title span{font-size:8px}.sky-route-strip{margin-top:3px}.sky-route-region i{height:3px}.sky-route-region i.milestone{height:5px}.sky-supplies{bottom:3px;height:21px}.sky-supplies>span{font-size:8px;padding:4px 7px}.sky-island-label{font-size:8px;padding:1px 5px}.sky-island-label b{font-size:10px}.sky-checkpoint-notice{top:36px;font-size:9px;padding:3px 8px}}
[dir=rtl] .sky-menu,[dir=rtl] .sky-audio,[dir=rtl] .sky-altimeter-title,[dir=rtl] .sky-supplies>span{direction:rtl}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Sky Jumper'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}

/* Urban Driver: daylight courier dispatch, street map and parcel-van controls. */
.play-view[data-game='Urban Driver']{background:#e8ddc5;color:#314e50}
.play-view[data-game='Urban Driver'] .gamebar{background:#f8ecd5;border-bottom:2px solid #c97e53;color:#335453}.play-view[data-game='Urban Driver'] .gamebar strong{color:#2c5354;letter-spacing:-.025em;font-weight:900}.play-view[data-game='Urban Driver'] .gamebar button{background:#2e6665;color:#fff2d8;border:1px solid #235554;border-radius:5px}
.game-surface .play-view[data-game='Urban Driver'] .rebuilt-main{background:#e8ddc5;max-width:none;padding:7px;gap:6px}.play-view[data-game='Urban Driver'] .rebuilt-hud{gap:5px}.play-view[data-game='Urban Driver'] .rebuilt-hud>span{background:#f9eed9;color:#466461;border:1px solid #b9b394;border-radius:4px;font-size:11px;font-weight:750;min-height:22px;padding:3px 8px}
.play-view[data-game='Urban Driver'] .rebuilt-stage{background:#c8d2be;border:2px solid #b9b395;border-radius:7px;box-shadow:0 5px 0 #c6b99b,0 8px 20px #4d63552b;isolation:isolate}.urban-webgl{display:block;width:100%;height:100%;background:#c8d2be}
.urban-dispatch{position:absolute;top:8px;left:10px;right:10px;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 11px;background:#fff3dceF;border:1px solid #b9b197;border-left:5px solid #bd902f;border-radius:4px;color:#3d5c58;pointer-events:none}.urban-dispatch.delivery{border-left-color:#418969}.urban-dispatch>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.urban-dispatch small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.urban-dispatch>div:first-child strong{font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.urban-clock{display:flex;align-items:center;gap:7px;flex-shrink:0;border-left:1px solid #c8c3a9;padding-left:10px}.urban-clock strong{font-size:27px;line-height:1;font-variant-numeric:tabular-nums;color:#355956}.urban-clock strong span{font-size:11px}.urban-clock.urgent strong{color:#ac513b}
.urban-driver-status{position:absolute;bottom:6px;left:9px;right:9px;height:32px;box-sizing:border-box;display:flex;align-items:center;gap:13px;padding:4px 9px;background:#fff3dceF;border:1px solid #b5b499;border-radius:4px;color:#46655d;pointer-events:none}.urban-speed{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.urban-speed strong{font-size:23px;font-variant-numeric:tabular-nums;line-height:1;color:#315c59}.urban-speed small{font-size:8px}.urban-cargo{display:flex;flex-direction:column;gap:1px;min-width:0}.urban-cargo small,.urban-dwell small{font-size:8px;line-height:1.1}.urban-cargo strong{font-size:11px;white-space:nowrap;line-height:1.1}.urban-dwell{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.urban-dwell small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.urban-dwell progress{width:100%;height:5px;accent-color:#598f77;border:0}
.urban-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 7px;background:#fff2d9e8;border:1px solid #bba978;border-radius:8px;color:#3c6a61;pointer-events:none;font-weight:800;box-shadow:0 2px 6px #3a615522}.urban-direction b{display:block;font-size:24px;line-height:1}.urban-direction span{font-size:9px;line-height:1;white-space:nowrap}.urban-notice{position:absolute;top:60px;left:50%;transform:translateX(-50%);max-width:85%;padding:5px 10px;border:1px solid #b9aa7d;border-radius:4px;background:#fff1cfeF;color:#41685b;font-size:11px;font-weight:750;pointer-events:none;text-align:center;box-shadow:0 2px 6px #3a615518}
.game-surface .play-view[data-game='Urban Driver'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.urban-controls-layout{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;align-items:stretch;width:100%;max-width:600px;margin:auto;direction:ltr;flex-shrink:0}.urban-route-map{padding:3px;border:1px solid #9da88f;background:#f7ecd4;border-radius:5px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.urban-route-map svg{display:block;width:100%;height:auto;max-height:94px;border-radius:2px}.urban-route-map small{color:#5a7569;font-size:8px;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.urban-driving-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:6px;align-items:stretch}.game-surface .play-view[data-game='Urban Driver'] .urban-driving-controls button{width:100%;max-width:none;min-width:0;min-height:47px;padding:6px 4px;background:#326f6c;border:1px solid #235754;border-radius:6px;color:#fff3d9;font-size:12px;font-weight:800;box-shadow:0 3px #b1a88c}.urban-driving-controls button:nth-child(1){grid-column:1;grid-row:2}.urban-driving-controls button:nth-child(2){grid-column:2;grid-row:1}.game-surface .play-view[data-game='Urban Driver'] .urban-driving-controls button:nth-child(3){grid-column:3;grid-row:1;background:#e9b371;border-color:#bc8b50;color:#574f3b}.urban-driving-controls button:nth-child(4){grid-column:2;grid-row:2}.urban-driving-controls button:nth-child(5){grid-column:3;grid-row:2}.urban-driving-controls button:active{filter:brightness(.9);transform:translateY(1px)}
.urban-audio{width:100%;min-width:0;margin-top:2px;background:#f9edd6;border:1px solid #b8b394;border-radius:6px;color:#516f61;touch-action:pan-y;flex-shrink:0}.urban-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.urban-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .urban-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.urban-audio label>span{display:flex;justify-content:space-between;gap:5px}.urban-audio input[type=range]{width:100%;margin:0;accent-color:#3f8071;min-height:28px;touch-action:pan-y}.urban-audio small,.urban-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#6e795d}
.urban-sound-retry{position:absolute;top:64px;right:8px;max-width:155px;z-index:5;background:#fff1d9f2;color:#45695b;border:1px solid #b2b08d;border-radius:5px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.urban-sound-retry button{min-height:36px;background:#377969;color:#fff0cf;border:1px solid #2b6255;border-radius:4px}
.play-view[data-game='Urban Driver'] .rebuilt-overlay{background:#80998466;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Urban Driver'] .rebuilt-overlay>div{background:#fff1d8f5;color:#3f6658;border:1px solid #b4ad87;border-top:5px solid #c67a4e;border-radius:7px;box-shadow:0 15px 35px #3c5c4e30;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Urban Driver'] .rebuilt-overlay h2{font-size:29px;font-weight:900;line-height:1.15;color:#325e54;letter-spacing:-.025em}.play-view[data-game='Urban Driver'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#64765d}.play-view[data-game='Urban Driver'] .rebuilt-overlay button{min-height:46px;background:#377f6c;color:#fff0ce;border:1px solid #2a6354;border-radius:5px;font-weight:800;box-shadow:0 3px #cec19e}
.urban-error{position:absolute;inset:0;z-index:40;background:#f4eddaF8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#466c5b}.urban-error p{max-width:44ch;line-height:1.5}.urban-error button{background:#3d7c68;color:#fff1cf;min-height:46px;border:1px solid #2d6252;border-radius:5px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Urban Driver'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Urban Driver'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.urban-controls-layout{grid-template-columns:96px minmax(0,1fr);gap:5px}.urban-driving-controls{gap:5px}.game-surface .play-view[data-game='Urban Driver'] .urban-driving-controls button{font-size:10px;min-height:46px;padding:4px 2px}.urban-dispatch{left:6px;right:6px;padding:5px 8px}.urban-dispatch>div:first-child strong{font-size:12px}.urban-dispatch small{font-size:8px}.urban-clock{padding-left:7px;gap:3px}.urban-clock>small{display:none}.urban-clock strong{font-size:25px}.urban-driver-status{left:6px;right:6px;gap:8px;padding:4px 7px}.urban-speed strong{font-size:20px}.urban-cargo strong{font-size:10px}.urban-dwell small{font-size:7px}.play-view[data-game='Urban Driver'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Urban Driver'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Urban Driver'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Urban Driver'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.urban-controls-layout{display:flex;flex-direction:column;gap:7px;margin:0;align-items:stretch}.urban-driving-controls{order:0;grid-template-rows:repeat(2,44px);gap:4px}.game-surface .play-view[data-game='Urban Driver'] .urban-driving-controls button{min-height:44px;font-size:9px;box-shadow:0 2px #b1a88c}.urban-route-map{order:1;width:90px;box-sizing:border-box;align-self:center}.urban-route-map svg{max-height:81px}.urban-route-map small{font-size:7px}.urban-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Urban Driver'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Urban Driver'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Urban Driver'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.urban-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Urban Driver'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.urban-dispatch{top:4px;left:6px;right:6px;height:32px;padding:3px 7px;border-left-width:4px}.urban-dispatch>div:first-child{gap:1px}.urban-dispatch>div:first-child strong{font-size:11px}.urban-dispatch small{font-size:7px}.urban-clock strong{font-size:22px}.urban-clock strong span{font-size:9px}.urban-driver-status{bottom:3px;height:22px;padding:2px 7px;gap:9px}.urban-speed strong{font-size:17px}.urban-speed small{font-size:6px}.urban-cargo small{display:none}.urban-cargo strong{font-size:9px}.urban-dwell small{font-size:7px}.urban-dwell{gap:2px}.urban-dwell progress{height:3px}.urban-direction{padding:2px 5px}.urban-direction b{font-size:19px}.urban-direction span{font-size:8px}.urban-notice{top:41px;font-size:9px;padding:3px 8px}}
[dir=rtl] .urban-audio,[dir=rtl] .urban-dispatch,[dir=rtl] .urban-driver-status{direction:rtl}.urban-route-map svg{direction:ltr}

/* Dirt Bike X: earthy rally timing, terrain preview and physical motocross controls. */
.play-view[data-game='Dirt Bike X']{background:#293a2f;color:#e8dfc5}.play-view[data-game='Dirt Bike X'] .gamebar{background:#23352b;border-bottom:3px solid #b39b57;color:#ede4c9}.play-view[data-game='Dirt Bike X'] .gamebar strong{color:#eee4c3;font-weight:900;letter-spacing:.025em;text-transform:uppercase}.play-view[data-game='Dirt Bike X'] .gamebar button{background:#405141;color:#f1e7c8;border:1px solid #82906b;border-radius:3px}
.game-surface .play-view[data-game='Dirt Bike X'] .rebuilt-main{background:#293a2f;max-width:none;padding:7px;gap:6px}.play-view[data-game='Dirt Bike X'] .rebuilt-hud{gap:5px}.play-view[data-game='Dirt Bike X'] .rebuilt-hud>span{background:#394b39;border:1px solid #657557;border-radius:2px;color:#eee1bd;font-size:11px;font-weight:750;min-height:22px;padding:3px 8px}.play-view[data-game='Dirt Bike X'] .rebuilt-stage{background:#9ca783;border:2px solid #777b55;border-radius:4px;box-shadow:0 4px 0 #17271e;isolation:isolate}.dirt-webgl{display:block;width:100%;height:100%;background:#9ca783}
.dirt-stage-timing{position:absolute;top:7px;left:9px;right:9px;height:45px;box-sizing:border-box;padding:5px 10px 9px;border:1px solid #8c956b;border-left:5px solid #c5a453;background:#253b2beF;color:#f0e8cc;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;border-radius:2px}.dirt-stage-timing>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.dirt-stage-timing small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#bfc8a2}.dirt-stage-timing>div:first-child strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.dirt-clock{display:flex;align-items:baseline;gap:3px;flex-shrink:0}.dirt-clock strong{font-variant-numeric:tabular-nums;font-size:27px;line-height:1;color:#ead399}.dirt-clock span{font-size:10px}.dirt-clock.urgent strong{color:#f2a681}.dirt-stage-strip{position:absolute;left:9px;right:9px;bottom:3px;display:flex;gap:4px;direction:ltr}.dirt-stage-strip i{height:3px;background:#5b6c50;flex:1}.dirt-stage-strip i.current{background:#c4a257}.dirt-stage-strip i.done{background:#b7c78b}
.dirt-bike-status{position:absolute;bottom:5px;left:8px;right:8px;height:33px;box-sizing:border-box;background:#253b2beF;border:1px solid #8b946a;border-radius:2px;display:flex;align-items:center;gap:11px;padding:4px 9px;pointer-events:none;color:#e8dfc4}.dirt-speed{display:flex;gap:3px;align-items:baseline;white-space:nowrap}.dirt-speed strong{font-size:23px;line-height:1;font-variant-numeric:tabular-nums}.dirt-speed small{font-size:8px;color:#c8caae}.dirt-advice{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dirt-advice strong{font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eed29a}.dirt-advice small{font-size:8px;line-height:1.1;color:#bbc6a4}.dirt-contact{font-size:13px;letter-spacing:1px;white-space:nowrap;color:#c2cc9c;direction:ltr}.dirt-notice{position:absolute;top:59px;left:50%;transform:translateX(-50%);background:#e4d5abed;border:1px solid #777a50;border-radius:2px;color:#405039;font-size:11px;font-weight:800;padding:5px 10px;pointer-events:none;max-width:85%;text-align:center}
.game-surface .play-view[data-game='Dirt Bike X'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.dirt-control-layout{display:grid;grid-template-columns:112px minmax(0,1fr);gap:7px;align-items:stretch;width:100%;max-width:660px;margin:auto;direction:ltr;flex-shrink:0}.dirt-terrain-profile{background:#2d4031;border:1px solid #6c7c57;border-radius:3px;padding:4px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.dirt-terrain-profile svg{display:block;width:100%;height:auto;max-height:70px;direction:ltr}.dirt-terrain-profile small{font-size:8px;color:#cbd0ab;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.dirt-driving-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:6px}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button{grid-column:span 2;width:100%;max-width:none;min-width:0;min-height:47px;padding:5px 4px;background:#4b5b42;color:#eee3c5;border:1px solid #8b956b;border-radius:3px;font-size:12px;font-weight:800;box-shadow:0 3px #17271e}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button:nth-child(2){background:#697252;color:#fff0c7}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button:nth-child(4){grid-column:span 3;background:#8e674b;border-color:#b88c67;color:#fff0d8}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button:nth-child(5){grid-column:span 3;background:#c3a45f;border-color:#e0c281;color:#2d3c28}.dirt-driving-controls button:active{filter:brightness(.9);transform:translateY(1px)}
.dirt-menu{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;width:100%;flex-shrink:0}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-menu label{display:flex;align-items:center;gap:6px;font-size:10px;min-width:0;max-width:none;color:#c9d0ab}.dirt-menu select{min-height:36px;min-width:0;max-width:100%;background:#e6dec0;color:#394b32;border:1px solid #8b9567;border-radius:3px;font:inherit;padding:5px 8px}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-menu button{min-height:36px;min-width:0;padding:5px 8px;box-shadow:none;background:#b8bf8c;color:#35452c;border:1px solid #879064;border-radius:3px;font-size:10px}.dirt-menu small,.dirt-menu strong{width:100%;text-align:center;color:#cbd1ac;font-size:10px}
.dirt-audio{width:100%;min-width:0;background:#354832;border:1px solid #6c7d55;border-radius:3px;color:#d5d8b6;touch-action:pan-y;flex-shrink:0}.dirt-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.dirt-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .dirt-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.dirt-audio label>span{display:flex;justify-content:space-between;gap:5px}.dirt-audio input[type=range]{width:100%;margin:0;accent-color:#c6b36f;min-height:28px;touch-action:pan-y}.dirt-audio small,.dirt-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#c0cba7}
.dirt-sound-retry{position:absolute;top:61px;right:8px;max-width:155px;z-index:5;background:#e6dcbbf2;color:#435139;border:1px solid #7d875a;border-radius:3px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.dirt-sound-retry button{min-height:36px;background:#566b44;color:#fff0cb;border:1px solid #788957;border-radius:3px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay{background:#263b2b66;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay>div{background:#e8dfc2f5;color:#3f5036;border:1px solid #8c9568;border-top:5px solid #a5904d;border-radius:4px;box-shadow:0 15px 35px #192b2140;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay h2{font-size:29px;font-weight:900;line-height:1.15;color:#344b32;letter-spacing:.015em;text-transform:uppercase}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#5c684c}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay button{min-height:46px;background:#52683e;color:#fff0c8;border:1px solid #7b8852;border-radius:3px;font-weight:800;box-shadow:0 3px #bcbd94}
.dirt-error{position:absolute;inset:0;z-index:40;background:#e8e0c9f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#4b5e3c}.dirt-error p{max-width:44ch;line-height:1.5}.dirt-error button{background:#5e7548;color:#fff1cd;min-height:46px;border:1px solid #7c8b58;border-radius:3px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Dirt Bike X'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Dirt Bike X'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.dirt-control-layout{grid-template-columns:94px minmax(0,1fr);gap:5px}.dirt-driving-controls{gap:5px}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button{font-size:10px;min-height:46px;padding:4px 2px}.dirt-stage-timing{left:6px;right:6px;padding-left:7px;padding-right:7px}.dirt-stage-timing>div:first-child strong{font-size:12px}.dirt-clock strong{font-size:25px}.dirt-bike-status{left:6px;right:6px;gap:7px;padding:4px 7px}.dirt-speed strong{font-size:20px}.dirt-advice strong{font-size:9px}.dirt-advice small{font-size:7px}.dirt-contact{font-size:11px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Dirt Bike X'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.dirt-control-layout{display:flex;flex-direction:column;gap:7px;margin:0;align-items:stretch}.dirt-driving-controls{order:0;grid-template-rows:repeat(2,44px);gap:4px}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls button{min-height:44px;font-size:9px;box-shadow:0 2px #17271e}.dirt-terrain-profile{order:1;width:100%;box-sizing:border-box}.dirt-terrain-profile svg{max-height:49px}.dirt-terrain-profile small{font-size:7px}.dirt-menu{flex-direction:column;align-items:stretch}.game-surface .play-view[data-game='Dirt Bike X'] .dirt-menu label{flex-direction:column;align-items:stretch;gap:3px}.dirt-menu select{width:100%;min-height:32px}.dirt-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Dirt Bike X'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.dirt-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Dirt Bike X'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.dirt-stage-timing{top:4px;left:6px;right:6px;height:32px;padding:2px 7px 7px;border-left-width:4px}.dirt-stage-timing>div:first-child{gap:1px}.dirt-stage-timing>div:first-child strong{font-size:10px}.dirt-stage-timing small{font-size:7px}.dirt-clock strong{font-size:21px}.dirt-stage-strip{bottom:2px}.dirt-stage-strip i{height:2px}.dirt-bike-status{bottom:3px;height:22px;padding:2px 7px;gap:8px}.dirt-speed strong{font-size:17px}.dirt-speed small{font-size:6px}.dirt-advice{gap:1px}.dirt-advice strong{font-size:8px}.dirt-advice small{font-size:6px}.dirt-contact{font-size:10px}.dirt-notice{top:40px;font-size:9px;padding:3px 8px}}
[dir=rtl] .dirt-menu,[dir=rtl] .dirt-audio,[dir=rtl] .dirt-stage-timing>div:first-child,[dir=rtl] .dirt-advice{direction:rtl}

.game-surface .play-view[data-game='Dirt Bike X'] .dirt-driving-controls[data-jump-ready=true] button:nth-child(2){background:#aebd7c;border-color:#d0d7a4;color:#33452d}

/* Nova Hero: bright civic rooftops and crisp comic-book mission panels. */
.play-view[data-game='Nova Hero']{background:#c8e5e8;color:#244e64}.play-view[data-game='Nova Hero'] .gamebar{background:#f8edc6;border-bottom:3px solid #315b70;color:#294e63}.play-view[data-game='Nova Hero'] .gamebar strong{color:#285777;font-weight:950;letter-spacing:.045em;text-transform:uppercase}.play-view[data-game='Nova Hero'] .gamebar button{background:#fff6d8;color:#345b72;border:1.5px solid #568099;border-radius:8px;box-shadow:0 2px #9ebcc4}.game-surface:has(.play-view[data-game='Nova Hero']) .campaign-bar{background:#e5f0e2;color:#355a6c;border-bottom:1px solid #8bb1b8}.game-surface:has(.play-view[data-game='Nova Hero']) .campaign-bar select{background:#fff6dc;color:#365e72;border:1px solid #83a4ae;border-radius:5px}
.game-surface .play-view[data-game='Nova Hero'] .rebuilt-main{max-width:none;background:#c8e5e8;padding:7px;gap:6px}.play-view[data-game='Nova Hero'] .rebuilt-hud{gap:5px}.play-view[data-game='Nova Hero'] .rebuilt-hud>span{background:#fff4cf;color:#3c6575;border:1px solid #7da4ac;border-radius:6px;font-size:11px;font-weight:750;min-height:22px;padding:3px 8px}.play-view[data-game='Nova Hero'] .rebuilt-stage{background:#a9d7e1;border:2px solid #4a7f98;border-radius:10px;box-shadow:0 3px #6fa3b2;isolation:isolate}.nova-webgl{display:block;width:100%;height:100%;background:#a9d7e1}
.nova-mission{position:absolute;top:7px;left:9px;right:9px;height:45px;box-sizing:border-box;background:#fff4cfea;border:1.5px solid #5b8497;border-left:5px solid #e0a842;border-radius:6px;box-shadow:2px 2px #39617c33;padding:4px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;color:#2e566d}.nova-mission-text{min-width:0;display:flex;flex-direction:column;gap:2px}.nova-mission-text small{font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.09em;color:#5b7b86}.nova-mission-text strong{font-size:14px;line-height:1.05;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nova-mission-text>span{font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#607c84}.nova-relays{display:flex;gap:5px;flex-shrink:0;direction:ltr}.nova-relays b{width:23px;height:23px;display:grid;place-items:center;border:1.5px solid #8ba7b1;border-radius:6px;background:#dbe8df;color:#708b95;font-size:11px;transform:rotate(-4deg)}.nova-relays b.current{background:#f4cc66;border-color:#b48b36;color:#4d624e;box-shadow:2px 2px #d3b664}.nova-relays b.done{background:#68b9a6;border-color:#448d84;color:#fff7d7;transform:rotate(0)}
.nova-hero-status{position:absolute;bottom:5px;left:8px;right:8px;height:33px;box-sizing:border-box;background:#fff3d2ec;border:1px solid #6e9ba9;border-radius:6px;padding:4px 8px;display:flex;align-items:center;gap:10px;color:#3c6575;pointer-events:none}.nova-protection{display:flex;gap:2px;direction:ltr;white-space:nowrap}.nova-protection i{font-size:13px;font-style:normal;color:#c7d2c6;text-shadow:0 1px #a2b5af}.nova-protection i.filled{color:#e5aa3b;text-shadow:0 1px #b7862f}.nova-energy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.nova-energy span{font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.nova-energy progress{display:block;width:100%;height:5px;accent-color:#3d98bd}.nova-status-goal{font-size:8px;font-weight:750;text-align:right;max-width:110px;line-height:1.1}.nova-status-goal progress{width:75px;height:8px;accent-color:#e0ac47}.nova-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 7px;background:#fff1c8ed;border:1px solid #6c98aa;border-radius:7px;color:#375e78;pointer-events:none}.nova-direction b{font-size:23px;line-height:1;display:block}.nova-direction span{font-size:9px;font-weight:800}.nova-notice{position:absolute;top:59px;left:50%;transform:translateX(-50%) rotate(-1deg);background:#fff1b9ed;color:#3f6779;border:1.5px solid #6091a3;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:800;max-width:85%;text-align:center;pointer-events:none;box-shadow:2px 2px #5e90a044}
.game-surface .play-view[data-game='Nova Hero'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.nova-controls-layout{display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px;align-items:stretch;width:100%;max-width:610px;margin:auto;direction:ltr;flex-shrink:0}.nova-route-map{border:1px solid #70a4b2;border-radius:7px;background:#ecf3df;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}.nova-route-map svg{display:block;max-height:87px;width:100%;direction:ltr}.nova-route-map small{font-size:7px;line-height:1;color:#4e7888;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nova-driving-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:6px}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button{width:100%;max-width:none;min-width:0;min-height:46px;padding:4px 5px;background:#f7edc8;color:#416f86;border:1.5px solid #6c9fb2;border-radius:8px;font-size:16px;font-weight:850;box-shadow:0 3px #72a6b5}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(1){font-size:11px;background:#cadfe2;color:#507787;border-color:#82a8b3}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls[data-power-ready=true] button:nth-child(1){background:#f5cb65;color:#596448;border-color:#b8933d}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(3){font-size:12px;background:#428eb0;color:#fff5d4;border-color:#326e94}.nova-driving-controls button:active{transform:translateY(1px);filter:brightness(.96)}.game-surface .play-view[data-game='Nova Hero'] .nova-restart{min-height:35px;min-width:0;max-width:260px;align-self:center;padding:5px 11px;border:1px solid #78a1ac;border-radius:7px;background:#e9f1df;color:#456d7d;box-shadow:none;font-size:11px}
.nova-audio{width:100%;min-width:0;background:#e8f0dc;color:#4e7481;border:1px solid #8cb0b6;border-radius:7px;touch-action:pan-y;flex-shrink:0}.nova-audio summary{padding:7px 11px;font-size:11px;font-weight:800;min-height:32px;box-sizing:border-box;cursor:pointer}.nova-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .nova-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.nova-audio label>span{display:flex;justify-content:space-between;gap:5px}.nova-audio input[type=range]{width:100%;margin:0;accent-color:#d3a746;min-height:28px;touch-action:pan-y}.nova-audio small,.nova-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#637e80}.nova-sound-retry{position:absolute;top:61px;right:8px;max-width:155px;z-index:5;background:#fff3c9f2;color:#4b6f7e;border:1px solid #7ba1ae;border-radius:7px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.nova-sound-retry button{min-height:36px;background:#498fad;color:#fff7d8;border:1px solid #366e92;border-radius:5px}
.play-view[data-game='Nova Hero'] .rebuilt-overlay{background:#8fc2cc5c;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Nova Hero'] .rebuilt-overlay>div{background:#fff3d4f7;color:#456e80;border:2px solid #628ea2;border-top:6px solid #e1b04c;border-radius:12px;box-shadow:5px 5px #46768e40;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Nova Hero'] .rebuilt-overlay h2{font-size:29px;font-weight:950;line-height:1.15;color:#2b668a;letter-spacing:.025em;text-transform:uppercase}.play-view[data-game='Nova Hero'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#587986}.play-view[data-game='Nova Hero'] .rebuilt-overlay button{min-height:46px;background:#468cae;color:#fff4ce;border:1px solid #326f92;border-radius:8px;font-weight:850;box-shadow:0 3px #b4b99c}.nova-error{position:absolute;inset:0;z-index:40;background:#fff0d0f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#4e7283}.nova-error p{max-width:44ch;line-height:1.5}.nova-error button{background:#4d8fac;color:#fff3d2;min-height:46px;border:1px solid #377296;border-radius:7px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Nova Hero'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Nova Hero'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.nova-controls-layout{grid-template-columns:68px minmax(0,1fr);gap:5px}.nova-driving-controls{gap:5px}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button{padding:4px 2px}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(1),.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(3){font-size:10px}.nova-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.nova-mission-text strong{font-size:12px}.nova-relays{gap:3px}.nova-relays b{width:19px;height:21px;font-size:10px}.nova-hero-status{left:6px;right:6px;padding:4px 7px;gap:7px}.nova-protection i{font-size:11px}.nova-status-goal{font-size:7px;max-width:78px}.nova-energy span{font-size:7px}.play-view[data-game='Nova Hero'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Nova Hero'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Nova Hero'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Nova Hero'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.nova-controls-layout{display:flex;flex-direction:column;gap:7px;margin:0;align-items:stretch}.nova-driving-controls{order:0;grid-template-rows:repeat(2,44px);gap:4px}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button{min-height:44px;box-shadow:0 2px #72a6b5}.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(1),.game-surface .play-view[data-game='Nova Hero'] .nova-driving-controls button:nth-child(3){font-size:9px}.nova-route-map{order:1;box-sizing:border-box;width:100%;max-height:70px}.nova-route-map svg{max-height:53px}.nova-route-map small{font-size:7px}.nova-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Nova Hero'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Nova Hero'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Nova Hero'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.nova-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Nova Hero'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.nova-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px;border-left-width:4px}.nova-mission-text{gap:1px}.nova-mission-text small{font-size:6px}.nova-mission-text strong{font-size:10px}.nova-mission-text>span{font-size:6px}.nova-relays b{width:17px;height:19px;font-size:9px}.nova-hero-status{bottom:3px;height:22px;padding:2px 6px;gap:7px}.nova-protection i{font-size:9px}.nova-energy{gap:1px}.nova-energy span{font-size:6px}.nova-energy progress{height:3px}.nova-status-goal{font-size:6px;max-width:75px}.nova-status-goal progress{height:5px;width:60px}.nova-direction{padding:2px 5px}.nova-direction b{font-size:19px}.nova-direction span{font-size:8px}.nova-notice{top:40px;font-size:9px;padding:3px 8px}}
[dir=rtl] .nova-mission-text,[dir=rtl] .nova-audio,[dir=rtl] .nova-energy{direction:rtl}.nova-route-map svg{direction:ltr}

/* Space Runner: analog orbital flight instruments, ivory panels and amber markings. */
.play-view[data-game='Space Runner']{background:#14232c;color:#efe7cf}.play-view[data-game='Space Runner'] .gamebar{background:#e3ddc9;color:#24323b;border-bottom:3px solid #b77240}.play-view[data-game='Space Runner'] .gamebar strong{color:#283640;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.play-view[data-game='Space Runner'] .gamebar button{background:#f2edda;color:#37454a;border:1px solid #9b9e90;border-radius:3px;box-shadow:0 2px #adae9b}.game-surface:has(.play-view[data-game='Space Runner']) .campaign-bar{background:#263740;color:#d9dac8;border-bottom:1px solid #556268}.game-surface:has(.play-view[data-game='Space Runner']) .campaign-bar select{background:#dcd8c4;color:#25363e;border:1px solid #8a968e;border-radius:3px}
.game-surface .play-view[data-game='Space Runner'] .rebuilt-main{max-width:none;background:#14232c;padding:7px;gap:6px}.play-view[data-game='Space Runner'] .rebuilt-hud{gap:5px}.play-view[data-game='Space Runner'] .rebuilt-hud>span{background:#273a43;color:#d5d6bf;border:1px solid #57696b;border-radius:3px;font:650 10px/1.3 ui-monospace,monospace;min-height:22px;padding:3px 8px}.play-view[data-game='Space Runner'] .rebuilt-stage{background:#080f1a;border:2px solid #65736c;border-radius:5px;box-shadow:0 3px #0a151d;isolation:isolate}.space-webgl{display:block;width:100%;height:100%;background:#080f1a}
.space-mission{position:absolute;top:7px;left:9px;right:9px;height:45px;box-sizing:border-box;background:#e9e2cbef;border:1px solid #96a19b;border-left:5px solid #d47b41;border-radius:3px;padding:4px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;color:#263c48}.space-mission-text{min-width:0;display:flex;flex-direction:column;gap:2px}.space-mission-text small{font:650 7px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#657470}.space-mission-text strong{font-size:14px;line-height:1.05;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-mission-text>span{font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#596b6b}.space-gate-ledger{display:grid;grid-template-columns:repeat(4,14px);grid-template-rows:repeat(3,9px);gap:2px;flex-shrink:0;direction:ltr}.space-gate-ledger b{font:700 6px/9px ui-monospace,monospace;text-align:center;background:#c1c9bc;border:1px solid #96a399;border-radius:1px;color:#667773;box-sizing:border-box}.space-gate-ledger b.current{background:#e6aa65;border-color:#b7753b;color:#463c2d}.space-gate-ledger b.done{background:#52736b;border-color:#436259;color:#f0e7c9}
.space-ship-status{position:absolute;bottom:5px;left:8px;right:8px;height:33px;box-sizing:border-box;background:#243b43ee;border:1px solid #7e8a7e;border-radius:3px;padding:4px 8px;display:flex;align-items:center;gap:12px;color:#d6ddc7;pointer-events:none}.space-shields{display:flex;gap:3px;direction:ltr;white-space:nowrap}.space-shields i{font-size:13px;font-style:normal;color:#60746b}.space-shields i.filled{color:#f1bd76}.space-energy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.space-energy span,.space-speed span{font:650 7px/1 ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-energy progress{display:block;width:100%;height:5px;accent-color:#d4965b}.space-speed{min-width:68px;display:flex;flex-direction:column;gap:3px;text-align:right;direction:ltr}.space-speed b{font:750 10px/1 ui-monospace,monospace;color:#f3dfb2}.space-dock-progress{width:58px;height:8px;accent-color:#99c7ad}.space-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 7px;background:#ece2c6ed;border:1px solid #bb9c66;border-radius:3px;color:#614c30;pointer-events:none}.space-direction b{font-size:23px;line-height:1;display:block}.space-direction span{font:750 9px/1.2 ui-monospace,monospace}.space-notice{position:absolute;top:59px;left:50%;transform:translateX(-50%);background:#e8dcc1ed;color:#675138;border:1px solid #c8975a;border-radius:3px;padding:5px 10px;font-size:11px;font-weight:750;max-width:85%;text-align:center;pointer-events:none}
.game-surface .play-view[data-game='Space Runner'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.space-controls-layout{display:grid;grid-template-columns:92px minmax(0,1fr);gap:7px;align-items:stretch;width:100%;max-width:610px;margin:auto;direction:ltr;flex-shrink:0}.space-instrument{border:1px solid #7e8c7c;border-radius:4px;background:#263a43;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}.space-instrument svg{display:block;max-height:82px;width:100%;direction:ltr}.space-instrument small{font:650 7px/1.1 ui-monospace,monospace;color:#c8d2bc;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.space-flight-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:6px}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button{width:100%;max-width:none;min-width:0;min-height:46px;padding:4px 5px;background:#dedac3;color:#344c52;border:1px solid #a3b0a0;border-radius:4px;font-size:17px;font-weight:850;box-shadow:0 3px #6c7b71}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(1){font-size:11px;background:#596f71;border-color:#9aafa5;color:#f1e7c9}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(3){font-size:11px;background:#b47b4b;color:#f6e5c1;border-color:#d9a575}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls[data-boost-ready=true] button:nth-child(3){background:#d58c4c;color:#2e3c3c}.space-flight-controls button:active{transform:translateY(1px);filter:brightness(.94)}.game-surface .play-view[data-game='Space Runner'] .space-restart{min-height:35px;min-width:0;max-width:260px;align-self:center;padding:5px 11px;border:1px solid #6c817d;border-radius:3px;background:#30464c;color:#dedfc6;box-shadow:none;font-size:11px}
.space-audio{width:100%;min-width:0;background:#263b43;color:#d1d8bd;border:1px solid #6c8177;border-radius:3px;touch-action:pan-y;flex-shrink:0}.space-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.space-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .space-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.space-audio label>span{display:flex;justify-content:space-between;gap:5px}.space-audio input[type=range]{width:100%;margin:0;accent-color:#d69b5d;min-height:28px;touch-action:pan-y}.space-audio small,.space-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#bbcdb6}.space-sound-retry{position:absolute;top:61px;right:8px;max-width:155px;z-index:5;background:#e3dcc5f2;color:#485c5d;border:1px solid #b8986b;border-radius:3px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.space-sound-retry button{min-height:36px;background:#ba824e;color:#fff0d0;border:1px solid #896244;border-radius:3px}
.play-view[data-game='Space Runner'] .rebuilt-overlay{background:#07101d70;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Space Runner'] .rebuilt-overlay>div{background:#e7e0cbf7;color:#3d5359;border:2px solid #8e9d90;border-top:6px solid #cd8c50;border-radius:5px;box-shadow:5px 5px #040d174d;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Space Runner'] .rebuilt-overlay h2{font-size:28px;font-weight:900;line-height:1.15;color:#334b56;letter-spacing:.08em;text-transform:uppercase}.play-view[data-game='Space Runner'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#5a6e6c}.play-view[data-game='Space Runner'] .rebuilt-overlay button{min-height:46px;background:#b67c49;color:#fff0ce;border:1px solid #8e653e;border-radius:4px;font-weight:850;box-shadow:0 3px #b7ad90}.space-error{position:absolute;inset:0;z-index:40;background:#e9e0c9fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#435b5e}.space-error p{max-width:44ch;line-height:1.5}.space-error button{background:#b6804c;color:#fff1d2;min-height:46px;border:1px solid #876442;border-radius:3px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Space Runner'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Space Runner'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.space-controls-layout{grid-template-columns:75px minmax(0,1fr);gap:5px}.space-flight-controls{gap:5px}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button{padding:4px 2px}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(1),.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(3){font-size:10px}.space-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.space-mission-text strong{font-size:12px}.space-gate-ledger{grid-template-columns:repeat(4,11px);gap:1px}.space-ship-status{left:6px;right:6px;padding:4px 7px;gap:7px}.space-shields i{font-size:11px}.space-energy span{font-size:7px}.play-view[data-game='Space Runner'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Space Runner'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Space Runner'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Space Runner'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.space-controls-layout{display:flex;flex-direction:column;gap:7px;margin:0;align-items:stretch}.space-flight-controls{order:0;grid-template-rows:repeat(2,44px);gap:4px}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button{min-height:44px;box-shadow:0 2px #6c7b71}.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(1),.game-surface .play-view[data-game='Space Runner'] .space-flight-controls button:nth-child(3){font-size:9px}.space-instrument{order:1;box-sizing:border-box;width:100%;max-height:70px}.space-instrument svg{max-height:53px}.space-instrument small{font-size:7px}.space-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Space Runner'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Space Runner'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Space Runner'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.space-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Space Runner'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.space-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px;border-left-width:4px}.space-mission-text{gap:1px}.space-mission-text small{font-size:6px}.space-mission-text strong{font-size:10px}.space-mission-text>span{font-size:6px}.space-gate-ledger{grid-template-rows:repeat(3,7px);gap:1px}.space-gate-ledger b{font-size:5px;line-height:7px}.space-ship-status{bottom:3px;height:22px;padding:2px 6px;gap:7px}.space-shields i{font-size:9px}.space-energy{gap:1px}.space-energy span,.space-speed span{font-size:6px}.space-energy progress{height:3px}.space-speed{gap:1px}.space-speed b{font-size:8px}.space-dock-progress{height:5px;width:48px}.space-direction{padding:2px 5px}.space-direction b{font-size:19px}.space-direction span{font-size:8px}.space-notice{top:40px;font-size:9px;padding:3px 8px}}
[dir=rtl] .space-mission-text,[dir=rtl] .space-audio,[dir=rtl] .space-energy{direction:rtl}.space-instrument svg{direction:ltr}

/* Highway Pursuit: alpine touring, utilitarian road signs and burgundy upholstery. */
.play-view[data-game='Highway Pursuit']{background:#e2e3d9;color:#35413f}.play-view[data-game='Highway Pursuit'] .gamebar{background:#f0f0e7;color:#35413f;border-bottom:3px solid #7c3c49}.play-view[data-game='Highway Pursuit'] .gamebar strong{color:#4e343c;font-weight:850;letter-spacing:.045em}.play-view[data-game='Highway Pursuit'] .gamebar button{background:#e5e7de;color:#43514b;border:1px solid #a4ada1;border-radius:7px;box-shadow:0 2px #b3bcad}.game-surface:has(.play-view[data-game='Highway Pursuit']) .campaign-bar{background:#3e4f48;color:#e9ecdc;border-bottom:1px solid #829083}.game-surface:has(.play-view[data-game='Highway Pursuit']) .campaign-bar select{background:#e8eadb;color:#354b41;border:1px solid #9eaa95;border-radius:5px}
.game-surface .play-view[data-game='Highway Pursuit'] .rebuilt-main{max-width:none;background:#dce1d5;padding:7px;gap:6px}.play-view[data-game='Highway Pursuit'] .rebuilt-hud{gap:5px}.play-view[data-game='Highway Pursuit'] .rebuilt-hud>span{background:#eef0e6;color:#4d5c50;border:1px solid #aab5a4;border-radius:6px;font:750 10px/1.3 system-ui,sans-serif;min-height:22px;padding:3px 8px}.play-view[data-game='Highway Pursuit'] .rebuilt-stage{background:#bfcbd0;border:2px solid #778c83;border-radius:9px;box-shadow:0 3px #a5afa2;isolation:isolate}.highway-webgl{display:block;width:100%;height:100%;background:#bfcbd0}
.highway-mission{position:absolute;top:7px;left:9px;right:9px;height:45px;box-sizing:border-box;background:#345348ed;border:1px solid #b1c6af;border-radius:5px;padding:4px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;color:#f0f0dc;box-shadow:0 2px 5px #192a3230}.highway-mission-text{min-width:0;display:flex;flex-direction:column;gap:2px}.highway-mission-text small{font:750 7px/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#c5d4bb}.highway-mission-text strong{font-size:14px;line-height:1.05;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.highway-mission-text>span{font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d8dfcb}.highway-route-ledger{display:flex;gap:4px;flex-shrink:0;direction:ltr}.highway-route-ledger b{width:21px;height:25px;font:800 12px/23px system-ui,sans-serif;text-align:center;background:#577165;border:1px solid #8fa58f;border-radius:4px;color:#b5c5ac;box-sizing:border-box}.highway-route-ledger b.current{background:#f0edce;border-color:#f6f2d9;color:#364d3f}.highway-route-ledger b.done{background:#8eaf8a;border-color:#c2d8a8;color:#234537}
.highway-mirror-label{position:absolute;box-sizing:border-box;border:2px solid #697b72;border-radius:5px;pointer-events:none;box-shadow:0 2px 5px #20302d40;color:#e7efdc}.highway-mirror-label span{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);padding:1px 5px;background:#273e38b8;border-radius:2px;font-size:6px;line-height:1.2;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.highway-car-status{position:absolute;bottom:5px;left:8px;right:8px;height:33px;box-sizing:border-box;background:#edece1ed;border:1px solid #a0ac9b;border-radius:5px;padding:4px 8px;display:flex;align-items:center;gap:12px;color:#4f6056;pointer-events:none}.highway-hull{display:flex;gap:2px;direction:ltr;white-space:nowrap}.highway-hull i{font-size:11px;font-style:normal;color:#b8c1af}.highway-hull i.filled{color:#8e4b57}.highway-boost{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.highway-boost span,.highway-speed span,.highway-gap span{font:750 7px/1 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.highway-boost progress{display:block;width:100%;height:5px;accent-color:#884554}.highway-speed,.highway-gap{min-width:53px;display:flex;flex-direction:column;gap:3px;text-align:right;direction:ltr}.highway-speed b,.highway-gap b{font:800 11px/1 ui-monospace,monospace;color:#3c5046}.highway-gap[data-danger=true] b{color:#a23c48}.highway-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 7px;background:#395a4bee;border:1px solid #d6dfc5;border-radius:5px;color:#f3f0d5;pointer-events:none}.highway-direction b{font-size:23px;line-height:1;display:block}.highway-direction span{font:750 9px/1.2 system-ui,sans-serif}.highway-notice{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);background:#efe9dbed;color:#713d47;border:1px solid #b6898b;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:750;max-width:85%;text-align:center;pointer-events:none}
.game-surface .play-view[data-game='Highway Pursuit'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.highway-controls-layout{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;align-items:stretch;width:100%;max-width:610px;margin:auto;direction:ltr;flex-shrink:0}.highway-lane-plan{border:1px solid #9caa98;border-radius:7px;background:#f0f0e4;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.highway-lane-plan svg{display:block;max-height:66px;width:100%;direction:ltr}.highway-lane-plan small{font:650 7px/1.1 system-ui,sans-serif;color:#667763;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.highway-lane-plan strong{font:800 8px/1.1 system-ui,sans-serif;color:#395642;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.highway-driving-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:6px}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button{width:100%;max-width:none;min-width:0;min-height:46px;padding:4px 5px;background:#ebede1;color:#405647;border:1px solid #a3b09a;border-radius:8px;font-size:11px;font-weight:800;box-shadow:0 3px #a0ac96;white-space:normal;overflow-wrap:anywhere}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button:nth-child(2){background:#4a6c56;border-color:#7e9a79;color:#f0f0d9}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button:nth-child(4){background:#b9c3b3;border-color:#929f88;color:#354734}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button:nth-child(5){grid-column:span 2;background:#82505b;color:#f2e9da;border-color:#a67d82}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls[data-boost-ready=true] button:nth-child(5){background:#934b5a;color:#fff0df}.highway-driving-controls button:active{transform:translateY(1px);filter:brightness(.94)}.game-surface .play-view[data-game='Highway Pursuit'] .highway-restart{min-height:35px;min-width:0;max-width:260px;align-self:center;padding:5px 11px;border:1px solid #98a58f;border-radius:6px;background:#e9ebdd;color:#4a5c48;box-shadow:none;font-size:11px}
.highway-audio{width:100%;min-width:0;background:#eceee2;color:#4e624c;border:1px solid #a6b39c;border-radius:6px;touch-action:pan-y;flex-shrink:0}.highway-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.highway-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .highway-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.highway-audio label>span{display:flex;justify-content:space-between;gap:5px}.highway-audio input[type=range]{width:100%;margin:0;accent-color:#8d4a59;min-height:28px;touch-action:pan-y}.highway-audio small,.highway-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#71816a}.highway-sound-retry{position:absolute;top:61px;right:8px;max-width:155px;z-index:5;background:#e8ebdef2;color:#4b614e;border:1px solid #91a287;border-radius:6px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.highway-sound-retry button{min-height:36px;background:#865461;color:#fff0dc;border:1px solid #794650;border-radius:6px}
.play-view[data-game='Highway Pursuit'] .rebuilt-overlay{background:#29433b5c;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay>div{background:#edf0e1f7;color:#405a46;border:2px solid #a6b89a;border-top:6px solid #7c4352;border-radius:10px;box-shadow:0 6px 18px #1b302b33;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay h2{font-size:28px;font-weight:850;line-height:1.15;color:#6b3d49;letter-spacing:.035em}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#61755c}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay button{min-height:46px;background:#86505e;color:#fff0e1;border:1px solid #744352;border-radius:7px;font-weight:850;box-shadow:0 3px #bfbdab}.highway-error{position:absolute;inset:0;z-index:40;background:#eef0e4fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#475f4b}.highway-error p{max-width:44ch;line-height:1.5}.highway-error button{background:#895361;color:#fff1df;min-height:46px;border:1px solid #744451;border-radius:6px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Highway Pursuit'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Highway Pursuit'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.highway-controls-layout{grid-template-columns:68px minmax(0,1fr);gap:5px}.highway-driving-controls{gap:5px}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button{padding:4px 2px;font-size:9px}.highway-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.highway-mission-text strong{font-size:12px}.highway-route-ledger{gap:3px}.highway-route-ledger b{width:18px;font-size:10px}.highway-car-status{left:6px;right:6px;padding:4px 6px;gap:7px}.highway-hull i{font-size:9px}.highway-boost span{font-size:7px}.highway-speed,.highway-gap{min-width:46px}.highway-speed b,.highway-gap b{font-size:9px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Highway Pursuit'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.highway-controls-layout{display:flex;flex-direction:column;gap:6px;margin:0;align-items:stretch}.highway-driving-controls{order:0;grid-template-rows:repeat(2,44px);gap:4px}.game-surface .play-view[data-game='Highway Pursuit'] .highway-driving-controls button{min-height:44px;font-size:9px;box-shadow:0 2px #a0ac96}.highway-lane-plan{order:1;box-sizing:border-box;width:100%;max-height:76px}.highway-lane-plan svg{max-height:48px}.highway-lane-plan small{font-size:6px}.highway-lane-plan strong{font-size:7px}.highway-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Highway Pursuit'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.highway-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Highway Pursuit'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.highway-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px}.highway-mission-text{gap:1px}.highway-mission-text small{font-size:6px}.highway-mission-text strong{font-size:10px}.highway-mission-text>span{font-size:6px}.highway-route-ledger b{width:17px;height:20px;font-size:10px;line-height:18px}.highway-car-status{bottom:3px;height:22px;padding:2px 6px;gap:7px}.highway-hull i{font-size:8px}.highway-boost{gap:1px}.highway-boost span,.highway-speed span,.highway-gap span{font-size:6px}.highway-boost progress{height:3px}.highway-speed,.highway-gap{gap:1px}.highway-speed b,.highway-gap b{font-size:8px}.highway-direction{padding:2px 5px}.highway-direction b{font-size:19px}.highway-direction span{font-size:8px}.highway-notice{font-size:9px;padding:3px 8px}}
[dir=rtl] .highway-mission-text,[dir=rtl] .highway-audio,[dir=rtl] .highway-boost{direction:rtl}.highway-lane-plan svg{direction:ltr}

/* Zombie Survival: a weathered outpost instrument panel, with a dawn-blue field. */
.play-view[data-game='Zombie Survival']{background:#273b3e;color:#e4e2ca}
.play-view[data-game='Zombie Survival'] .gamebar{background:#243639;color:#e9e3cb;border-bottom:2px solid #9e6545}.play-view[data-game='Zombie Survival'] .gamebar strong{color:#e5e1c9;letter-spacing:.055em;font-weight:850}.play-view[data-game='Zombie Survival'] .gamebar button{background:#a96e47;color:#fff1d3;border:1px solid #d2a172;border-radius:3px}
.game-surface .play-view[data-game='Zombie Survival'] .rebuilt-main{max-width:none;background:#2c4042;padding:7px;gap:6px}.play-view[data-game='Zombie Survival'] .rebuilt-hud{gap:5px}.play-view[data-game='Zombie Survival'] .rebuilt-hud>span{background:#25393b;color:#dedec4;border:1px solid #586867;border-radius:2px;font-size:10px;font-weight:750;min-height:22px;padding:3px 8px}
.play-view[data-game='Zombie Survival'] .rebuilt-stage{background:#7c9498;border:2px solid #657575;border-radius:3px;box-shadow:0 4px #192c30,0 10px 20px #16272b44;isolation:isolate}.zombie-webgl{display:block;width:100%;height:100%;background:#7c9498;touch-action:none}
.zombie-mission{position:absolute;top:7px;left:9px;right:9px;height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 10px;background:#223a3cec;border:1px solid #7b8980;border-left:4px solid #d4a05d;border-radius:2px;color:#e5e4c9;pointer-events:none}.zombie-mission-text{display:flex;flex-direction:column;gap:3px;min-width:0}.zombie-mission-text small{font-size:8px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.zombie-mission-text strong{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zombie-wave-ledger{display:flex;gap:4px;direction:ltr;flex-shrink:0}.zombie-wave-ledger b{display:block;width:23px;height:25px;line-height:23px;text-align:center;font-size:11px;border:1px solid #8b9b8d;background:#243b3b;color:#8b9b8d;box-sizing:border-box;border-radius:2px}.zombie-wave-ledger b.current{background:#b9824f;color:#fff1cf;border-color:#ebbf7f}.zombie-wave-ledger b.done{background:#6b8c77;color:#f4efd0;border-color:#9caf91}
.zombie-outpost-status{position:absolute;bottom:6px;left:9px;right:9px;height:29px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 8px;background:#233b3eeb;border:1px solid #71847d;border-radius:2px;color:#e7e3c8;pointer-events:none}.zombie-outpost-status>div{display:flex;align-items:center;gap:6px;min-width:0;position:relative}.zombie-outpost-status span{font-size:8px;line-height:1.1;max-width:90px}.zombie-outpost-status strong{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.zombie-hull strong{display:flex;gap:2px}.zombie-hull i{font-style:normal;font-size:11px;color:#4c6260}.zombie-hull i.filled{color:#c5ae76}.zombie-outpost-status progress{position:absolute;bottom:-4px;left:0;width:100%;height:3px;accent-color:#dfb274}.zombie-magazine{direction:ltr}.zombie-target-health{position:absolute;display:flex;gap:2px;transform:translate(-50%,-100%);padding:2px;pointer-events:none;background:#233b3d99;border-radius:2px}.zombie-target-health i{width:4px;height:3px;background:#495e5e}.zombie-target-health i.filled{background:#e7bd76}
.zombie-notice{position:absolute;top:58px;left:50%;transform:translateX(-50%);max-width:85%;padding:5px 10px;background:#263d3fdc;color:#eddfb7;border:1px solid #a58f63;font-size:10px;text-align:center;pointer-events:none}.zombie-wave-notice{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:6px;padding:15px 22px;background:#2a4345ed;color:#eee6c8;border:1px solid #b1a97f;border-top:4px solid #d2a465;text-align:center;pointer-events:none;min-width:130px}.zombie-wave-notice strong{font-size:20px;line-height:1.2}.zombie-wave-notice span{font-size:11px}.zombie-empty{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);font-size:11px;color:#ffedc7;background:#92593edc;padding:4px 9px;border:1px solid #dfaf76;pointer-events:none;white-space:nowrap}
.game-surface .play-view[data-game='Zombie Survival'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.zombie-controls-layout{display:flex;flex-direction:column;gap:5px;min-width:0}.zombie-driving-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;direction:ltr}.game-surface .play-view[data-game='Zombie Survival'] .zombie-driving-controls button{grid-column:span 2;width:100%;min-width:0;min-height:46px;background:#3c5857;color:#eee7cb;border:1px solid #8c9a86;border-radius:3px;padding:5px;font-size:11px;font-weight:800;box-shadow:0 3px #152d31;line-height:1.15;touch-action:none}.game-surface .play-view[data-game='Zombie Survival'] .zombie-driving-controls button:nth-child(2){background:#ac7048;border-color:#ddad71;color:#fff0ce}.game-surface .play-view[data-game='Zombie Survival'] .zombie-driving-controls button:nth-child(n+4){grid-column:span 3;background:#334b4c;font-size:10px}.zombie-driving-controls button:active{transform:translateY(1px);filter:brightness(1.12)}.zombie-threat-key{display:flex;align-items:center;justify-content:center;gap:14px;color:#c9d1bf;font-size:8px;line-height:1.2;flex-wrap:wrap}.zombie-threat-key span{display:flex;align-items:center;gap:4px}.zombie-threat-key i{font-style:normal;font-size:11px;color:#9eb99b}.zombie-threat-key [data-kind=runner] i{color:#d9a277}.zombie-threat-key [data-kind=armored] i{color:#c0c8c8}.zombie-threat-key b{font-size:9px;border:1px solid #788d80;padding:1px 3px}.game-surface .play-view[data-game='Zombie Survival'] .zombie-restart{min-height:35px;min-width:0;max-width:260px;align-self:center;padding:5px 11px;border:1px solid #82907b;border-radius:3px;background:#3b5351;color:#e2e3c7;box-shadow:none;font-size:11px}
.zombie-audio{width:100%;min-width:0;background:#273f41;color:#dbdec5;border:1px solid #6e8177;border-radius:3px;touch-action:pan-y;flex-shrink:0}.zombie-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.zombie-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .zombie-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.zombie-audio label>span{display:flex;justify-content:space-between;gap:5px}.zombie-audio input[type=range]{width:100%;margin:0;accent-color:#ce9c5e;min-height:28px;touch-action:pan-y}.zombie-audio small,.zombie-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#c2c5ae}.zombie-sound-retry{position:absolute;top:59px;right:8px;max-width:155px;z-index:5;background:#30484aed;color:#eee0bc;border:1px solid #9f9d7b;border-radius:3px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.zombie-sound-retry button{min-height:36px;background:#a4714a;color:#ffefca;border:1px solid #d1ac74;border-radius:3px}
.play-view[data-game='Zombie Survival'] .rebuilt-overlay{background:#152c3266;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay>div{background:#2b4244f7;color:#e4e2c7;border:1px solid #97a38e;border-top:5px solid #d1a56b;border-radius:4px;box-shadow:0 7px 20px #13292e55;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay h2{font-size:28px;font-weight:850;line-height:1.15;color:#e4c695;letter-spacing:.04em}.play-view[data-game='Zombie Survival'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#cbd1bc}.play-view[data-game='Zombie Survival'] .rebuilt-overlay button{min-height:46px;background:#b7804f;color:#fff0ce;border:1px solid #d9b37e;border-radius:3px;font-weight:850;box-shadow:0 3px #192f32}.zombie-error{position:absolute;inset:0;z-index:40;background:#2a4144fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#e2e1c6}.zombie-error p{max-width:44ch;line-height:1.5}.zombie-error button{background:#ad784e;color:#fff0cc;min-height:46px;border:1px solid #d0a879;border-radius:3px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Zombie Survival'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Zombie Survival'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.zombie-driving-controls{gap:5px}.game-surface .play-view[data-game='Zombie Survival'] .zombie-driving-controls button{padding:4px 2px;font-size:10px}.zombie-threat-key{gap:9px;font-size:7px}.zombie-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.zombie-mission-text strong{font-size:12px}.zombie-wave-ledger{gap:3px}.zombie-wave-ledger b{width:18px;font-size:10px}.zombie-outpost-status{left:6px;right:6px;padding:3px 6px;gap:6px}.zombie-outpost-status span{font-size:7px}.zombie-outpost-status strong{font-size:11px}.zombie-hull i{font-size:9px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay h2{font-size:23px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Zombie Survival'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.zombie-driving-controls{gap:4px}.game-surface .play-view[data-game='Zombie Survival'] .zombie-driving-controls button{min-height:44px;font-size:9px;padding:3px 1px;box-shadow:0 2px #172e32}.zombie-threat-key{flex-direction:column;align-items:flex-start;gap:4px;padding:4px 6px;font-size:8px}.zombie-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Zombie Survival'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.zombie-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Zombie Survival'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.zombie-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px}.zombie-mission-text{gap:1px}.zombie-mission-text small{font-size:6px}.zombie-mission-text strong{font-size:10px}.zombie-wave-ledger b{width:17px;height:20px;font-size:9px;line-height:18px}.zombie-outpost-status{bottom:3px;height:22px;padding:2px 6px;gap:6px}.zombie-outpost-status span{font-size:6px}.zombie-outpost-status strong{font-size:10px}.zombie-hull i{font-size:8px}.zombie-notice{top:43px;font-size:9px;padding:3px 8px}.zombie-empty{bottom:29px;font-size:9px;padding:3px 7px}.zombie-wave-notice{padding:10px 15px}.zombie-wave-notice strong{font-size:16px}}
[dir=rtl] .zombie-mission-text,[dir=rtl] .zombie-audio,[dir=rtl] .zombie-threat-key{direction:rtl}

/* Cinematic Rider: ivory trip cards, copper instruments and a sea-glass coast. */
.play-view[data-game='Cinematic Rider']{background:#e9d9bd;color:#385f59}
.play-view[data-game='Cinematic Rider'] .gamebar{background:#fff0d6;color:#365e57;border-bottom:2px solid #c77a50}.play-view[data-game='Cinematic Rider'] .gamebar strong{color:#975336;font-weight:850;letter-spacing:.045em}.play-view[data-game='Cinematic Rider'] .gamebar button{background:#387f76;color:#fff3dd;border:1px solid #28675f;border-radius:16px}
.game-surface .play-view[data-game='Cinematic Rider'] .rebuilt-main{max-width:none;background:#e9d9bd;padding:7px;gap:6px}.play-view[data-game='Cinematic Rider'] .rebuilt-hud{gap:5px}.play-view[data-game='Cinematic Rider'] .rebuilt-hud>span{background:#fff0d8;color:#557068;border:1px solid #c9b68e;border-radius:12px;font-size:10px;font-weight:750;min-height:22px;padding:3px 8px}
.play-view[data-game='Cinematic Rider'] .rebuilt-stage{background:#8bd0c5;border:2px solid #d2ba91;border-radius:15px 15px 7px 7px;box-shadow:0 4px #ccaf88,0 9px 22px #5d7c6330;isolation:isolate}.cinematic-webgl{display:block;width:100%;height:100%;background:#8bd0c5;touch-action:none}
.cinematic-mission{position:absolute;top:7px;left:9px;right:9px;height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:5px 10px;background:#fff3dfee;border:1px solid #cfb894;border-radius:12px 12px 5px 5px;color:#3c6860;pointer-events:none}.cinematic-mission-text{display:flex;flex-direction:column;gap:3px;min-width:0}.cinematic-mission-text small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-mission-text strong{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-countdown{display:flex;align-items:center;gap:7px;flex-shrink:0;border-left:1px solid #d4be9c;padding-left:9px}.cinematic-countdown>span{font-size:8px;max-width:65px;line-height:1.15}.cinematic-countdown strong{font-size:26px;line-height:1;font-variant-numeric:tabular-nums;color:#a65e3d}.cinematic-countdown strong small{font-size:10px;margin-left:3px}.cinematic-countdown[data-urgent=true] strong{color:#a3382e}
.cinematic-rider-status{position:absolute;bottom:6px;left:9px;right:9px;height:29px;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:4px 9px;background:#fff3dfee;border:1px solid #cbb591;border-radius:5px 5px 10px 10px;color:#50736a;pointer-events:none}.cinematic-hull{display:flex;gap:3px}.cinematic-hull i{font-style:normal;color:#d4cab0;font-size:12px}.cinematic-hull i.filled{color:#bc7449}.cinematic-boost{display:flex;flex:1;min-width:22px;flex-direction:column;gap:3px}.cinematic-boost span{font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-boost progress{width:100%;height:5px;accent-color:#3b8a7e;border:0}.cinematic-scenes{display:flex;gap:4px;direction:ltr}.cinematic-scenes b{width:18px;height:18px;line-height:16px;text-align:center;font-size:9px;border:1px solid #c8b99b;border-radius:50%;color:#9f9b82;background:#f3e5c9;box-sizing:border-box}.cinematic-scenes b.current{background:#c37c51;color:#3d271c;border-color:#b46b44}.cinematic-scenes b.done{background:#67a398;color:#173d32;border-color:#4c8b81}.cinematic-speed{display:flex;flex-direction:column;gap:2px;min-width:54px;flex-shrink:0}.cinematic-speed span{font-size:7px;line-height:1}.cinematic-speed b{font-size:11px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.cinematic-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 7px;background:#fff0d9eb;border:1px solid #d09d68;border-radius:12px;color:#3f776e;pointer-events:none;font-weight:800;box-shadow:0 2px 6px #496b5b25}.cinematic-direction b{display:block;font-size:24px;line-height:1}.cinematic-direction span{font-size:9px;line-height:1;white-space:nowrap}.cinematic-notice{position:absolute;top:58px;left:50%;transform:translateX(-50%);max-width:85%;padding:5px 10px;background:#fff0dbe8;color:#925237;border:1px solid #cfa578;border-radius:12px;font-size:10px;text-align:center;pointer-events:none}
.game-surface .play-view[data-game='Cinematic Rider'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.cinematic-driving-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;direction:ltr}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-driving-controls button{grid-column:span 2;width:100%;min-width:0;min-height:46px;background:#306f65;color:#fff3d8;border:1px solid #2c6b63;border-radius:15px;padding:5px;font-size:11px;font-weight:800;box-shadow:0 3px #c3ad89;line-height:1.15;touch-action:none}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-driving-controls button:nth-child(n+4){grid-column:span 3;background:#f4e2bf;color:#6b6950;border-color:#bfac83}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-driving-controls button:last-child{background:#985631;color:#fff1d2;border-color:#a6623d}.cinematic-driving-controls[data-boost-ready=false] button:last-child{filter:saturate(.35)}.cinematic-driving-controls button:active{transform:translateY(1px);filter:brightness(.94)}.cinematic-chapter-name{text-align:center;color:#665c40;font-size:10px;line-height:1.3;letter-spacing:.06em}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-restart{min-height:35px;min-width:0;max-width:260px;align-self:center;padding:5px 11px;border:1px solid #bba77f;border-radius:15px;background:#f6e5c8;color:#5c786b;box-shadow:none;font-size:11px}
.cinematic-audio{width:100%;min-width:0;background:#fff0d7;color:#45695b;border:1px solid #c9b78f;border-radius:12px;touch-action:pan-y;flex-shrink:0}.cinematic-audio summary{padding:7px 11px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.cinematic-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 11px 8px}.game-surface .rebuilt-controls .cinematic-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.cinematic-audio label>span{display:flex;justify-content:space-between;gap:5px}.cinematic-audio input[type=range]{width:100%;margin:0;accent-color:#be7a50;min-height:28px;touch-action:pan-y}.cinematic-audio small,.cinematic-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#636745}.cinematic-sound-retry{position:absolute;top:59px;right:8px;max-width:155px;z-index:5;background:#fff1dceb;color:#617b69;border:1px solid #c4b187;border-radius:12px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.cinematic-sound-retry button{min-height:36px;background:#955a37;color:#fff1d5;border:1px solid #a56843;border-radius:12px}
.play-view[data-game='Cinematic Rider'] .rebuilt-overlay{background:#65a69b55;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay>div{background:#fff1daf7;color:#50756a;border:1px solid #c9af86;border-top:5px solid #c28357;border-radius:24px 24px 12px 12px;box-shadow:0 7px 20px #375e5233;max-width:560px;max-height:100%;overflow:auto;padding:21px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay h2{font-size:28px;font-weight:850;line-height:1.15;color:#9c5d3c;letter-spacing:.025em}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#52694f}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay button{min-height:46px;background:#306e60;color:#fff1d4;border:1px solid #317568;border-radius:18px;font-weight:850;box-shadow:0 3px #d3bf96}.cinematic-error{position:absolute;inset:0;z-index:40;background:#fff1dcfa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#5a7a68}.cinematic-error p{max-width:44ch;line-height:1.5}.cinematic-error button{background:#2e6d5e;color:#fff1d2;min-height:46px;border:1px solid #2e7062;border-radius:17px;padding:8px 16px}
@media(max-width:520px){.game-surface .play-view[data-game='Cinematic Rider'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Cinematic Rider'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 6px}.cinematic-driving-controls{gap:5px}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-driving-controls button{padding:4px 2px;font-size:10px}.cinematic-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.cinematic-mission-text strong{font-size:12px}.cinematic-mission-text small{font-size:7px}.cinematic-countdown{gap:4px;padding-left:6px}.cinematic-countdown>span{display:none}.cinematic-countdown strong{font-size:25px}.cinematic-rider-status{left:6px;right:6px;padding:3px 6px;gap:7px}.cinematic-hull i{font-size:10px}.cinematic-scenes{gap:3px}.cinematic-scenes b{width:16px;height:16px;line-height:14px;font-size:8px}.cinematic-speed b{font-size:10px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay>div{padding:14px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Cinematic Rider'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.cinematic-driving-controls{gap:4px}.game-surface .play-view[data-game='Cinematic Rider'] .cinematic-driving-controls button{min-height:44px;font-size:9px;padding:3px 1px;box-shadow:0 2px #c3ad89}.cinematic-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Cinematic Rider'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.cinematic-sound-retry{top:44px;max-width:130px}.game-surface .play-view[data-game='Cinematic Rider'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 350px){.cinematic-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px}.cinematic-mission-text{gap:1px}.cinematic-mission-text small{font-size:6px}.cinematic-mission-text strong{font-size:10px}.cinematic-countdown strong{font-size:22px}.cinematic-countdown>span{display:none}.cinematic-rider-status{bottom:3px;height:22px;padding:2px 6px;gap:7px}.cinematic-hull i{font-size:8px}.cinematic-boost{gap:1px}.cinematic-boost span,.cinematic-speed span{font-size:6px}.cinematic-boost progress{height:3px}.cinematic-speed{gap:1px}.cinematic-speed b{font-size:8px}.cinematic-scenes b{width:14px;height:14px;line-height:12px;font-size:7px}.cinematic-direction{padding:2px 5px}.cinematic-direction b{font-size:19px}.cinematic-direction span{font-size:8px}.cinematic-notice{top:43px;font-size:9px;padding:3px 8px}}
[dir=rtl] .cinematic-mission-text,[dir=rtl] .cinematic-audio,[dir=rtl] .cinematic-boost,[dir=rtl] .cinematic-chapter-name{direction:rtl}

/* Warrior Quest: engraved ivory, weathered bronze and vermilion expedition banners. */
.play-view[data-game='Warrior Quest']{background:#e0d4b7;color:#334e49}
.play-view[data-game='Warrior Quest'] .gamebar{background:#223f3b;color:#f6e9bd;border-bottom:3px solid #bb8a45}.play-view[data-game='Warrior Quest'] .gamebar strong{font-family:Georgia,serif;font-weight:800;letter-spacing:.07em;color:#f5dea4}.play-view[data-game='Warrior Quest'] .gamebar button{background:#f1dfb9;color:#294c43;border:1px solid #be9b60;border-radius:4px}
.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-main{max-width:none;background:#dfd3b4;padding:7px;gap:6px}.play-view[data-game='Warrior Quest'] .rebuilt-hud>span{background:#ecdfc1;color:#3c5146;border:1px solid #ac9566;border-radius:3px;font-size:10px;font-weight:750;min-height:22px;padding:3px 8px}
.play-view[data-game='Warrior Quest'] .rebuilt-stage{background:#c6b594;border:2px solid #a48047;border-radius:5px;box-shadow:0 3px #766644,inset 0 0 0 2px #ecdcad;isolation:isolate}.warrior-webgl{display:block;width:100%;height:100%;background:#c6b594;touch-action:none}
.warrior-mission{position:absolute;top:7px;left:9px;right:9px;height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:5px 10px;background:#f3e6cbee;border:1px solid #ac8e55;border-left:4px solid #9f4334;color:#314f43;pointer-events:none}.warrior-mission-text{display:flex;flex-direction:column;gap:3px;min-width:0}.warrior-mission-text small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warrior-mission-text strong{font-size:13px;line-height:1.1;font-family:Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warrior-seals{display:flex;gap:5px;direction:ltr;flex-shrink:0}.warrior-seals b{width:25px;height:27px;line-height:25px;text-align:center;font-family:Georgia,serif;font-size:13px;background:#dacdb0;color:#665d41;border:1px solid #a8966d;clip-path:polygon(15% 0,85% 0,100% 20%,100% 80%,85% 100%,15% 100%,0 80%,0 20%)}.warrior-seals .current{background:#a66337;color:#fff3c5;border-color:#bd8246}.warrior-seals .collected{background:#39796a;color:#f7e3a3;border-color:#517e68}.warrior-score{font-size:24px;color:#9a4b35;font-weight:850;white-space:nowrap;direction:ltr}
.warrior-status{position:absolute;bottom:6px;left:9px;right:9px;height:29px;box-sizing:border-box;display:flex;gap:12px;padding:4px 9px;background:#263e35eb;border:1px solid #b19052;color:#f5e7c3;pointer-events:none}.warrior-actor-status{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.warrior-actor-status>span{font-size:8px;max-width:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warrior-actor-status meter,.warrior-actor-status progress{min-width:15px;width:20%;height:8px;flex:1;accent-color:#99bd72}.warrior-actor-status progress{height:5px;accent-color:#e1bc5e}.warrior-actor-status b{color:#b6b899;font-size:10px;white-space:nowrap}.warrior-actor-status b[data-ready=true]{color:#ffe498}.warrior-actor-status small{font-size:9px;min-width:19px;text-align:center}.warrior-actor-1{border-left:1px solid #b58b59;padding-left:10px}.warrior-actor-1 meter{accent-color:#d98d72}
.warrior-guardian{position:absolute;top:56px;right:10px;display:flex;align-items:center;gap:7px;background:#384c3cde;color:#f7e5b9;border:1px solid #c0a16c;padding:4px 8px;max-width:55%;pointer-events:none}.warrior-guardian span{font-size:9px;font-weight:800}.warrior-guardian meter{width:70px;height:7px;accent-color:#c98959}.warrior-guardian[data-warning=true]{background:#963f2f;color:#fff0c5;border-color:#ecb765}.warrior-direction{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 7px;background:#f5e4bee8;border:1px solid #987747;color:#325a4c;pointer-events:none;font-weight:800;box-shadow:0 2px 5px #4b5b4325}.warrior-direction b{display:block;font-size:24px;line-height:1}.warrior-direction span{font-size:9px;line-height:1;white-space:nowrap}.warrior-notice{position:absolute;top:57px;left:9px;max-width:45%;padding:5px 9px;background:#f6e7c8eb;color:#77452c;border:1px solid #b18d54;font-size:10px;text-align:center;pointer-events:none}
.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:0;background:transparent;border:0}.warrior-pads{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;direction:ltr;width:100%}.warrior-pad{background:#d2c29e;border:1px solid #aa8b54;padding:5px;min-width:0}.warrior-pad>strong{display:block;text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#4d5d44;margin:0 0 3px}.warrior-pad-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button{min-width:0;max-width:none;width:100%;min-height:46px;font-size:11px;font-weight:800;line-height:1.1;padding:5px 3px;background:#31594c;color:#faedc9;border:1px solid #264c40;border-radius:4px;box-shadow:0 2px #a89971;touch-action:none}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button:nth-child(5){background:#9b4c35;border-color:#8c422d}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button:nth-child(6){background:#ddd0aa;color:#3c5443;border-color:#9a875a}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button:nth-child(8){background:#a07539;color:#fff2c5;border-color:#8d652e}.warrior-pad-buttons button:active{transform:translateY(1px);filter:brightness(.9)}.warrior-pad-1{border-color:#aa7050}.warrior-pad-1>strong{color:#8b442e}.warrior-options{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.warrior-chapter-name{flex-basis:100%;text-align:center;font-family:Georgia,serif;font-size:11px;color:#645236}.game-surface .play-view[data-game='Warrior Quest'] .warrior-options button{min-height:44px;min-width:0;max-width:280px;padding:6px 12px;background:#f0dfba;color:#3e5848;border:1px solid #b89a62;border-radius:4px;box-shadow:none;font-size:11px}
.warrior-audio{width:100%;min-width:0;background:#ecdfc0;color:#3f594b;border:1px solid #b39a66;border-radius:4px;touch-action:pan-y;flex-shrink:0}.warrior-audio summary{padding:7px 10px;font-size:11px;font-weight:750;min-height:32px;box-sizing:border-box;cursor:pointer}.warrior-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 8px}.game-surface .rebuilt-controls .warrior-audio label{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:none;font-size:11px}.warrior-audio label>span{display:flex;justify-content:space-between;gap:5px}.warrior-audio input[type=range]{width:100%;margin:0;accent-color:#9b6d38;min-height:28px;touch-action:pan-y}.warrior-audio small,.warrior-audio-alert{display:block;padding:4px 10px 8px;font-size:10px;line-height:1.3;color:#625e42}.warrior-sound-retry{position:absolute;top:83px;right:8px;max-width:155px;z-index:5;background:#f1e2c6ed;color:#415744;border:1px solid #b79a63;border-radius:4px;padding:7px;display:flex;flex-direction:column;gap:5px;font-size:10px}.warrior-sound-retry button{min-height:44px;background:#375f4f;color:#fff0c7;border:1px solid #446a55;border-radius:3px}
.play-view[data-game='Warrior Quest'] .rebuilt-overlay{background:#4b614758;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay>div{background:#f2e5c9f7;color:#475844;border:1px solid #ac8b4f;border-top:5px solid #9d4531;border-radius:5px;box-shadow:0 8px 22px #3a4c3b44;max-width:560px;max-height:100%;overflow:auto;padding:20px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay h2{font-family:Georgia,serif;font-size:28px;font-weight:850;line-height:1.15;color:#855132;letter-spacing:.04em}.play-view[data-game='Warrior Quest'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#4c5842}.play-view[data-game='Warrior Quest'] .rebuilt-overlay button{min-height:46px;background:#345d4d;color:#fff0c9;border:1px solid #2e5748;border-radius:4px;font-weight:850;box-shadow:0 3px #b6a376}.warrior-error{position:absolute;inset:0;z-index:40;background:#f0e1c2fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;overflow:auto;color:#425943}.warrior-error p{max-width:44ch;line-height:1.5}.warrior-error button{background:#365c49;color:#fff0c6;min-height:46px;border:1px solid #345843;border-radius:4px;padding:8px 16px}.warrior-round-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:8px;text-align:center;background:#eddfbef2;border:2px solid #a77e3e;color:#3b5644;padding:20px;max-width:80%;pointer-events:none}.warrior-round-card small{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.warrior-round-card strong{font-family:Georgia,serif;font-size:22px}.warrior-round-card span{font-size:11px}
@media(min-width:700px){.warrior-pads.warrior-local{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Warrior Quest'] .rebuilt-hud>span{font-size:9px;min-height:20px;padding:2px 5px}.warrior-pad{padding:4px}.warrior-pad-buttons{gap:4px}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button{font-size:10px;padding:4px 2px}.warrior-mission{left:6px;right:6px;padding-left:7px;padding-right:7px}.warrior-mission-text strong{font-size:12px}.warrior-mission-text small{font-size:7px}.warrior-seals{gap:3px}.warrior-seals b{width:21px;height:23px;line-height:21px;font-size:11px}.warrior-status{left:6px;right:6px;gap:6px;padding:4px 6px}.warrior-actor-status{gap:4px}.warrior-actor-status>span{max-width:27px;font-size:7px}.warrior-actor-status b{font-size:8px}.warrior-actor-1{padding-left:5px}.warrior-guardian{right:6px;max-width:55%;gap:4px}.warrior-guardian span{font-size:8px}.warrior-guardian meter{width:40px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay>div{padding:13px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay h2{font-size:24px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.warrior-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.game-surface .play-view[data-game='Warrior Quest'] .warrior-pad-buttons button{min-height:44px;font-size:9px;padding:3px 1px;box-shadow:0 2px #a89971}.warrior-pad>strong{font-size:8px}.warrior-audio-levels{grid-template-columns:minmax(0,1fr);gap:4px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay>div{padding:9px 12px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay h2{font-size:20px;margin-bottom:4px}.play-view[data-game='Warrior Quest'] .rebuilt-overlay p{font-size:10px;line-height:1.35}.game-surface .play-view[data-game='Warrior Quest'][data-playing=false] .rebuilt-controls{justify-content:flex-start}.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local){grid-template-columns:clamp(112px,19vw,160px) minmax(0,1fr) clamp(112px,19vw,160px);grid-template-rows:auto minmax(0,1fr)}.play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local) .rebuilt-hud,.play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local) .rebuilt-stage{grid-column:2}.game-surface .play-view[data-game='Warrior Quest'] .rebuilt-controls:has(.warrior-local),.warrior-pads.warrior-local{display:contents}.warrior-local>.warrior-pad{grid-row:1/3;align-self:center;overflow-y:auto;max-height:100%;box-sizing:border-box}.warrior-local>.warrior-pad-0{grid-column:1}.warrior-local>.warrior-pad-1{grid-column:3}.play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local) .warrior-options{grid-column:1/-1;grid-row:3}.play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local) .warrior-audio{grid-column:1/-1;grid-row:4}.play-view[data-game='Warrior Quest'] .rebuilt-main:has(.warrior-local) .warrior-audio-alert{grid-column:1/-1}.warrior-local .warrior-pad-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (height < 350px){.warrior-mission{top:4px;left:6px;right:6px;height:32px;padding:2px 6px}.warrior-mission-text{gap:1px}.warrior-mission-text small{font-size:6px}.warrior-mission-text strong{font-size:10px}.warrior-seals b{width:19px;height:21px;line-height:19px;font-size:10px}.warrior-status{bottom:3px;height:22px;padding:2px 6px;gap:6px}.warrior-actor-status>span{font-size:6px}.warrior-actor-status b{font-size:8px}.warrior-actor-status small{font-size:8px}.warrior-actor-status meter{height:6px}.warrior-actor-status progress{height:4px}.warrior-guardian{top:41px;padding:2px 6px}.warrior-guardian span{font-size:8px}.warrior-direction{padding:2px 5px}.warrior-direction b{font-size:19px}.warrior-direction span{font-size:8px}.warrior-notice{top:41px;font-size:9px;padding:3px 7px}.warrior-sound-retry{top:64px}.warrior-round-card{padding:10px 15px;gap:5px}.warrior-round-card strong{font-size:17px}}
[dir=rtl] .warrior-mission-text,[dir=rtl] .warrior-audio,[dir=rtl] .warrior-chapter-name{direction:rtl}

.warrior-pad[data-power-ready=false] .warrior-pad-buttons button:nth-child(8),.warrior-pad[data-dodge-ready=false] .warrior-pad-buttons button:nth-child(7){filter:saturate(.35);opacity:.8}

.warrior-guardian[data-opening=true]{background:#2e6a51;color:#fff2c6;border-color:#d9bd6c}

/* Moto Rush: ivory desert expressway, turquoise wayfinding and copper machinery. */
.game-surface .play-view[data-game='Moto Rush'] .rebuilt-main{max-width:none;padding:7px;gap:6px;background:#efe5ce}.play-view[data-game='Moto Rush'] .rebuilt-hud{gap:4px}.play-view[data-game='Moto Rush'] .rebuilt-hud>span{background:#fff8e9;color:#234d57;border:1px solid #c8bb98;border-radius:4px;min-height:23px;padding:3px 7px;font-size:10px;font-weight:750}
.play-view[data-game='Moto Rush'] .rebuilt-stage{background:#a6d9df;border:2px solid #f9f1dc;border-radius:5px;box-shadow:0 3px #c7a678;isolation:isolate}.moto-webgl{display:block;width:100%;height:100%;touch-action:none;background:#a6d9df}
.moto-mission{position:absolute;z-index:2;top:8px;left:9px;right:9px;height:50px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;background:#fff8e9f2;border-left:5px solid #188e9e;box-shadow:0 2px 0 #c5ac7b;color:#274f57;pointer-events:none}.moto-mission-text{display:flex;flex-direction:column;gap:5px;min-width:0}.moto-mission-text small{font-size:8px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moto-mission-text strong{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moto-countdown{display:flex;align-items:center;gap:7px;border-left:1px solid #ccb992;padding-left:8px;direction:ltr;flex-shrink:0}.moto-countdown>span{font-size:8px;max-width:45px;line-height:1.1}.moto-countdown strong{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.moto-countdown strong small{font-size:10px;margin-left:2px}.moto-countdown[data-urgent=true]{color:#a13b24}
.moto-status{position:absolute;z-index:2;bottom:7px;left:9px;right:9px;height:33px;box-sizing:border-box;display:flex;gap:10px;align-items:center;padding:4px 8px;background:#123d49ed;border-bottom:3px solid #dd9960;color:#fff0ce;pointer-events:none}.moto-hull{display:flex;gap:3px}.moto-hull i{font-size:12px;color:#788d8b;font-style:normal}.moto-hull i.filled{color:#f3be68}.moto-boost{display:flex;flex:1;min-width:22px;flex-direction:column;gap:4px}.moto-boost span{font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moto-boost progress{width:100%;height:5px;accent-color:#54c4ce;border:0}.moto-gates{display:flex;gap:4px;direction:ltr}.moto-gates b{display:block;box-sizing:border-box;min-width:18px;height:18px;line-height:16px;text-align:center;font-size:10px;border:1px solid #81938c;color:#81938c}.moto-gates b.current{color:#f9e5ba;border-color:#dcb372}.moto-gates b.done{background:#a8d4bc;color:#1d4641;border-color:#a8d4bc}.moto-speed{display:flex;flex-direction:column;gap:3px;min-width:55px;flex-shrink:0}.moto-speed span{font-size:7px;line-height:1}.moto-speed b{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1}
.moto-direction{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;padding:4px 7px;background:#146e7aee;color:#fff8df;border:1px solid #c9ede1;box-shadow:0 2px #103c47;pointer-events:none}.moto-direction b{display:block;font-size:23px;line-height:1;direction:ltr}.moto-direction span{font-size:10px;font-weight:800;white-space:nowrap}.moto-notice{position:absolute;z-index:3;top:73px;left:50%;transform:translateX(-50%);max-width:82%;padding:5px 9px;background:#fff6dced;border:1px solid #c09a5b;color:#524223;font-size:11px;text-align:center;pointer-events:none}.moto-sound-retry{position:absolute;z-index:5;left:8px;top:105px;display:flex;flex-direction:column;gap:4px;max-width:175px;padding:7px;background:#fff7e8f5;color:#28535b;border:1px solid #c7b388;font-size:10px}.moto-sound-retry button{min-height:44px;border:1px solid #197d87;background:#197d87;color:#fff7df;border-radius:4px;padding:6px;font-size:11px}
.game-surface .play-view[data-game='Moto Rush'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;background:transparent;border:0;padding:0}.moto-driving-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;direction:ltr}.game-surface .play-view[data-game='Moto Rush'] .moto-driving-controls button{width:100%;min-width:0;min-height:48px;background:#176d7a;color:#fff8e5;border:1px solid #174b55;border-bottom-width:3px;border-radius:5px;padding:5px 3px;font-size:11px;line-height:1.2;font-weight:850;touch-action:none;box-shadow:none}.game-surface .play-view[data-game='Moto Rush'] .moto-driving-controls button:nth-child(3){background:#faf0d8;color:#53482d;border-color:#bca379}.game-surface .play-view[data-game='Moto Rush'] .moto-driving-controls button:last-child{background:#b96835;color:#fff8dc;border-color:#95512e}.moto-driving-controls button:active{transform:translateY(1px);filter:brightness(.92)}.moto-driving-controls[data-boost-ready=false] button:last-child{filter:saturate(.25)}.moto-route-label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#47564d;font-size:10px;line-height:1.3}.moto-route-label strong{font-size:11px}.moto-route-label small{font-size:9px;max-width:60%;text-align:end}.game-surface .play-view[data-game='Moto Rush'] .moto-restart{align-self:center;max-width:100%;min-height:44px;padding:6px 14px;background:#fff6e1;color:#345b61;border:1px solid #b9a781;border-radius:4px;font-size:11px;box-shadow:none}
.moto-audio{color:#3b5d62;font-size:11px;padding:0 6px}.moto-audio summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:750}.moto-audio-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 0}.moto-audio-levels label{min-width:0;display:flex;flex-direction:column;gap:4px}.moto-audio-levels label>span{display:flex;justify-content:space-between;gap:8px}.moto-audio-levels input{width:100%;min-height:44px;accent-color:#23838d;touch-action:pan-x}.moto-audio>small,.moto-audio-alert{display:block;text-align:center;font-size:10px;line-height:1.4;padding:4px}.moto-error{position:absolute;z-index:12;inset:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;background:#fff4e5f5;color:#294f55;text-align:center;border:2px solid #bf8152;border-radius:4px}.moto-error p{font-size:13px;line-height:1.5;max-width:430px}.moto-error button{min-height:48px;padding:8px 18px;background:#216e7c;border:1px solid #184e59;color:#fff7de;border-radius:4px}
.play-view[data-game='Moto Rush'] .rebuilt-overlay{background:#153d4b66}.play-view[data-game='Moto Rush'] .rebuilt-overlay>div{background:#fff7e6;color:#2e5159;border:2px solid #d5b37b;border-radius:6px;box-shadow:0 5px 0 #9f7752;padding:16px}.play-view[data-game='Moto Rush'] .rebuilt-overlay h2{font-size:27px;color:#185d6e}.play-view[data-game='Moto Rush'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#53615b}.play-view[data-game='Moto Rush'] .rebuilt-overlay button{min-height:46px;background:#247d88;color:#fff4d8;border:1px solid #205a68;border-radius:5px}
@media(max-width:520px){.game-surface .play-view[data-game='Moto Rush'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Moto Rush'] .rebuilt-hud>span{font-size:9px;min-height:21px;padding:2px 5px}.moto-driving-controls{gap:4px}.game-surface .play-view[data-game='Moto Rush'] .moto-driving-controls button{font-size:10px;padding:4px 2px}.moto-mission{left:6px;right:6px;padding:5px 6px}.moto-mission-text strong{font-size:12px}.moto-mission-text small{font-size:7px}.moto-countdown>span{display:none}.moto-countdown{padding-left:5px;gap:3px}.moto-countdown strong{font-size:24px}.moto-status{left:6px;right:6px;gap:6px;padding:4px 6px}.moto-hull{gap:2px}.moto-hull i{font-size:10px}.moto-gates{gap:3px}.moto-gates b{min-width:16px;font-size:9px}.moto-speed b{font-size:10px}.moto-route-label{flex-wrap:wrap;justify-content:center}.moto-route-label small{max-width:100%;text-align:center}.play-view[data-game='Moto Rush'] .rebuilt-overlay h2{font-size:22px}.play-view[data-game='Moto Rush'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Moto Rush'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.moto-driving-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.game-surface .play-view[data-game='Moto Rush'] .moto-driving-controls button{min-height:46px;font-size:10px}.moto-route-label{flex-direction:column;text-align:center;gap:3px}.moto-route-label small{max-width:100%;text-align:center}.moto-audio-levels{grid-template-columns:1fr;gap:4px}.game-surface .play-view[data-game='Moto Rush'][data-playing=false] .rebuilt-controls{justify-content:flex-start}.play-view[data-game='Moto Rush'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Moto Rush'] .rebuilt-overlay p{font-size:10px;line-height:1.4}.moto-sound-retry{top:76px;max-width:145px}}
@container (height < 300px){.moto-mission{top:4px;left:6px;right:6px;height:37px;padding:3px 6px}.moto-mission-text{gap:3px}.moto-mission-text small{font-size:6px}.moto-mission-text strong{font-size:10px}.moto-countdown strong{font-size:22px}.moto-status{bottom:4px;height:27px;padding:3px 5px}.moto-speed b{font-size:9px}.moto-notice{top:53px;font-size:9px;padding:4px 6px}.moto-direction b{font-size:20px}.moto-direction span{font-size:9px}.moto-sound-retry{top:70px}}
[dir=rtl] .moto-mission-text,[dir=rtl] .moto-audio,[dir=rtl] .moto-route-label{direction:rtl}

/* Mini Billard: emerald cloth, walnut joinery and restrained brass details. */
.game-surface .play-view[data-game='Mini Billard'] .rebuilt-main{max-width:none;padding:7px;gap:6px;background:#15251e}.play-view[data-game='Mini Billard'] .rebuilt-hud{gap:4px}.play-view[data-game='Mini Billard'] .rebuilt-hud>span{background:#263c30;color:#eee2bd;border:1px solid #56624a;border-radius:3px;min-height:22px;padding:3px 7px;font-size:10px;font-weight:700}.play-view[data-game='Mini Billard'] .rebuilt-stage{background:#17251f;border:2px solid #847045;border-radius:5px;box-shadow:0 3px #0c1712;isolation:isolate}.billiard-webgl{display:block;width:100%;height:100%;touch-action:none;background:#17251f}
.billiard-mission{position:absolute;z-index:2;top:8px;left:9px;right:9px;box-sizing:border-box;height:49px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:#182c23ed;border-top:1px solid #b39b67;border-bottom:1px solid #8b794f;color:#f2e6c3;pointer-events:none}.billiard-mission>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.billiard-mission small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billiard-mission strong{font:700 20px/1.05 Georgia,serif}.billiard-strokes{display:flex;align-items:center;gap:7px;flex-shrink:0;border-left:1px solid #6c704f;padding-left:10px}.billiard-strokes strong{font-size:30px;font-variant-numeric:tabular-nums}.billiard-strokes span{font-size:8px;line-height:1.2;max-width:56px}.billiard-strokes[data-low=true]{color:#ffd29d}
.billiard-status{position:absolute;z-index:2;bottom:6px;left:9px;right:9px;height:27px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:4px 6px;color:#efe4c5;background:#17291eeb;border:1px solid #627251;pointer-events:none}.billiard-status>strong{font-size:9px;white-space:nowrap}.billiard-status>small{font-size:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.billiard-ball-ledger{display:flex;gap:4px;direction:ltr;flex-shrink:0}.billiard-ball-ledger i{display:block;box-sizing:border-box;width:15px;height:15px;border-radius:50%;background:#e2bd38;color:#141913;font:700 9px/13px Arial,sans-serif;text-align:center;border:1px solid #ffecb1;font-style:normal}.billiard-ball-ledger i[data-ball='2']{background:#4385d2;color:white}.billiard-ball-ledger i[data-ball='3']{background:#b13f44;color:white}.billiard-ball-ledger i[data-ball='4']{background:#9761b5;color:white}.billiard-ball-ledger i[data-ball='5']{background:#df8038}.billiard-ball-ledger i[data-ball='6']{background:#2e8b69;color:white}.billiard-ball-ledger i[data-out=true]{background:transparent;border-color:#9aa582;color:#b8c8a0;opacity:.6}
.game-surface .play-view[data-game='Mini Billard'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;background:transparent;border:0;padding:0}.billiard-shot-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:6px;direction:ltr}.game-surface .play-view[data-game='Mini Billard'] .billiard-shot-controls button{width:100%;min-width:0;min-height:48px;background:#304d3b;color:#f2e6c8;border:1px solid #7e865a;border-bottom-width:3px;border-radius:4px;padding:5px;font-size:11px;line-height:1.2;font-weight:800;touch-action:none;box-shadow:none}.game-surface .play-view[data-game='Mini Billard'] .billiard-shot-controls button:nth-child(2){background:#b29a61;color:#18271e;border-color:#d4bd82}.billiard-shot-controls button:active{transform:translateY(1px);filter:brightness(.88)}.billiard-shot-controls[data-ready=false]{opacity:.6}.billiard-shot-sliders,.billiard-audio-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 6px}.billiard-shot-sliders label,.billiard-audio-levels label{min-width:0;display:flex;flex-direction:column;color:#e5dcc1;gap:0;font-size:10px}.billiard-shot-sliders label>span,.billiard-audio-levels label>span{display:flex;justify-content:space-between;gap:8px}.billiard-shot-sliders input,.billiard-audio-levels input{width:100%;min-height:44px;accent-color:#d0b475;touch-action:pan-x}.billiard-shot-sliders input:disabled{opacity:.5}.billiard-best{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 6px;color:#c8cfb7;line-height:1.3}.billiard-best strong{font:700 12px/1.3 Georgia,serif}.billiard-best small{font-size:9px;text-align:end;max-width:55%}.game-surface .play-view[data-game='Mini Billard'] .billiard-restart{align-self:center;max-width:100%;min-height:44px;padding:6px 14px;background:#304a39;color:#eee2bf;border:1px solid #8c8e60;border-radius:4px;font-size:11px;box-shadow:none}
.billiard-audio{color:#d8d9bd;font-size:11px;padding:0 6px}.billiard-audio summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:700}.billiard-audio-levels{padding:4px 0}.billiard-audio>small,.billiard-audio-alert{display:block;text-align:center;font-size:10px;line-height:1.4;padding:4px;color:#dccda5}.billiard-sound-retry{position:absolute;z-index:5;top:69px;left:8px;display:flex;flex-direction:column;gap:5px;max-width:175px;padding:7px;background:#1f3329f2;color:#ecdfbd;border:1px solid #a29060;font-size:10px}.billiard-sound-retry button{min-height:44px;background:#b09b64;color:#102519;border:1px solid #e7d08b;padding:6px;border-radius:3px;font-size:11px}.billiard-error{position:absolute;z-index:12;inset:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;background:#15291ff5;color:#f4e4bb;text-align:center;border:2px solid #b39965;border-radius:4px}.billiard-error p{font-size:13px;line-height:1.5;max-width:430px}.billiard-error button{min-height:48px;padding:8px 18px;background:#b7a16a;border:1px solid #e5d398;color:#14251c;border-radius:4px}
.play-view[data-game='Mini Billard'] .rebuilt-overlay{background:#081d1466}.play-view[data-game='Mini Billard'] .rebuilt-overlay>div{background:#e7dfc7;color:#293d2e;border:2px solid #a28c53;border-radius:5px;box-shadow:0 5px 0 #303c26;padding:16px}.play-view[data-game='Mini Billard'] .rebuilt-overlay h2{font:700 27px/1.2 Georgia,serif;color:#21472d}.play-view[data-game='Mini Billard'] .rebuilt-overlay p{font-size:12px;line-height:1.5;color:#475340}.play-view[data-game='Mini Billard'] .rebuilt-overlay button{min-height:46px;background:#2b543a;color:#f5e9c8;border:1px solid #bda96e;border-radius:4px}
@media(max-width:520px){.game-surface .play-view[data-game='Mini Billard'] .rebuilt-main{padding:5px;gap:5px}.play-view[data-game='Mini Billard'] .rebuilt-hud>span{font-size:9px;min-height:21px;padding:2px 5px}.billiard-shot-controls{gap:5px}.game-surface .play-view[data-game='Mini Billard'] .billiard-shot-controls button{font-size:10px;padding:4px 2px}.billiard-mission{left:6px;right:6px;padding:5px 7px}.billiard-mission small{font-size:7px}.billiard-mission strong{font-size:18px}.billiard-strokes strong{font-size:27px}.billiard-status{left:6px;right:6px;gap:6px}.billiard-status>small{font-size:7px}.billiard-ball-ledger{gap:3px}.billiard-ball-ledger i{width:14px;height:14px;line-height:12px;font-size:8px}.billiard-shot-sliders{gap:10px}.billiard-best{flex-wrap:wrap;justify-content:center;text-align:center}.billiard-best small{max-width:100%;text-align:center}.play-view[data-game='Mini Billard'] .rebuilt-overlay h2{font-size:23px}.play-view[data-game='Mini Billard'] .rebuilt-overlay p{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Mini Billard'] .rebuilt-controls{display:flex;justify-content:center;overflow:auto;touch-action:pan-y}.billiard-shot-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.game-surface .play-view[data-game='Mini Billard'] .billiard-shot-controls button{min-height:48px;font-size:10px}.billiard-shot-controls button:first-child{grid-column:1;grid-row:1}.billiard-shot-controls button:last-child{grid-column:2;grid-row:1}.billiard-shot-controls button:nth-child(2){grid-column:1/-1;grid-row:2}.billiard-shot-sliders,.billiard-audio-levels{grid-template-columns:1fr;gap:2px}.billiard-shot-sliders input{min-height:44px}.billiard-best{flex-direction:column;text-align:center;gap:3px}.billiard-best small{max-width:100%;text-align:center}.game-surface .play-view[data-game='Mini Billard'][data-playing=false] .rebuilt-controls{justify-content:flex-start}.play-view[data-game='Mini Billard'] .rebuilt-overlay>div{padding:9px 13px}.play-view[data-game='Mini Billard'] .rebuilt-overlay p{font-size:10px;line-height:1.4}}
@container (height < 300px){.billiard-mission{top:4px;height:37px;padding:3px 6px}.billiard-mission small{font-size:6px}.billiard-mission strong{font-size:15px}.billiard-strokes strong{font-size:23px}.billiard-status{bottom:4px;height:25px;padding:3px 5px}.billiard-status>small{font-size:7px}.billiard-sound-retry{top:49px;max-width:145px}}
[dir=rtl] .billiard-mission,[dir=rtl] .billiard-best,[dir=rtl] .billiard-audio,[dir=rtl] .billiard-shot-sliders{direction:rtl}

.billiard-aim-readout{display:flex;align-items:center;justify-content:center;gap:8px;color:#ded9bb;font-size:9px;min-height:24px}.billiard-aim-readout output{width:21px;height:21px;box-sizing:border-box;border-radius:50%;background:#e2bd38;border:1px solid #ffeec0;color:#17251b;text-align:center;font:700 12px/19px Arial,sans-serif}.billiard-aim-readout output[data-ball='0']{background:transparent;color:#c9cdb2;border-color:#758261}.billiard-aim-readout output[data-ball='2']{background:#4385d2;color:white}.billiard-aim-readout output[data-ball='3']{background:#b13f44;color:white}.billiard-aim-readout output[data-ball='4']{background:#9761b5;color:white}.billiard-aim-readout output[data-ball='5']{background:#df8038}.billiard-aim-readout output[data-ball='6']{background:#2e8b69;color:white}.billiard-ball-ledger i[data-aim=true]{outline:2px solid #fff6cf;outline-offset:1px}
@container (height < 300px){.billiard-mission,.billiard-status{display:none}}

/* Kentucky Ride: daylight touring identity, separate from the former trial UI. */
.game-surface .play-view[data-game='Bike Stunt'] .rebuilt-main{background:#dde5ce;color:#254331;border-color:#91a485;gap:7px}.play-view[data-game='Bike Stunt'] .rebuilt-hud>span{background:#f7eed8;color:#2f4938;border-color:#a4b18d;font-size:10px}.bike-ride-webgl{background:#a3c3c0;touch-action:none}.bike-ride-heading{position:absolute;left:10px;top:10px;max-width:58%;padding:7px 10px;background:#f7f0dbe8;color:#294735;border-left:4px solid #718c50;pointer-events:none}.bike-ride-heading small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.bike-ride-heading strong{display:block;font:700 19px/1.2 Georgia,serif}.bike-ride-heading span{display:block;font-size:9px;margin-top:3px}.bike-ride-stops{position:absolute;right:8px;top:10px;display:flex;gap:5px;max-width:39%;pointer-events:none}.bike-ride-stops>span{display:flex;flex-direction:column;align-items:center;gap:3px;width:46px;color:#263e2c;text-shadow:0 1px #fff9}.bike-ride-stops b{display:grid;place-content:center;width:26px;height:26px;border-radius:50%;background:#f4ebd5;border:2px solid #7a8e5c;font-size:14px}.bike-ride-stops small{font-size:10px;text-align:center}.bike-ride-stops .visited b{background:#305e43;color:#fff1cd}.bike-ride-stops .current b{border-color:#d4933c;background:#ffe3a3}.bike-ride-guidance{position:absolute;left:9px;bottom:9px;max-width:calc(100% - 91px);box-sizing:border-box;padding:7px 10px;background:#fff4dfee;color:#2c4936;border:1px solid #8c9c76;pointer-events:none}.bike-ride-guidance small{font-size:11px;display:block}.bike-ride-guidance strong{font-size:13px;line-height:1.25;display:block;margin:3px 0}.bike-ride-guidance progress{width:100%;height:4px;accent-color:#648349;display:block}.bike-ride-speed{position:absolute;right:9px;bottom:9px;min-width:52px;max-width:72px;padding:6px;background:#294a36ed;color:#fff2cf;text-align:center;pointer-events:none}.bike-ride-speed strong{display:block;font-size:29px;line-height:1.1;font-variant-numeric:tabular-nums}.bike-ride-speed small,.bike-ride-speed span{display:block;font-size:8px}.bike-ride-notice{position:absolute;left:50%;top:83px;transform:translateX(-50%);max-width:80%;padding:6px 10px;background:#fff1cbe8;color:#2a4931;border:1px solid #a3a372;font-size:10px;font-weight:650;text-align:center;pointer-events:none;line-height:1.35}.game-surface .play-view[data-game='Bike Stunt'] .rebuilt-controls{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex-wrap:nowrap;background:none;border:0;padding:0}.bike-ride-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;direction:ltr}.game-surface .play-view[data-game='Bike Stunt'] .bike-ride-controls button{min-height:48px;min-width:0;width:100%;max-width:none;box-sizing:border-box;padding:6px 3px;background:#f6edcf;color:#294332;border:1px solid #8b9d73;border-bottom:3px solid #70885a;border-radius:6px;font-size:11px;line-height:1.2;font-weight:750;touch-action:none;box-shadow:none}.bike-ride-controls button:nth-child(5){grid-column:1/3;background:#426a49!important;color:#fff2d3!important}.bike-ride-controls button:last-child{grid-column:3/5;background:#e4d8b2!important}.bike-ride-controls button:active{filter:brightness(.86)}.bike-ride-controls button:disabled{opacity:.5}.bike-ride-completed{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:11px;color:#365039;padding:2px 5px}.bike-ride-completed small{font-size:9px}.bike-ride-audio{background:#f2e9d0;color:#365039;border:1px solid #9ba77f;padding:0 8px;font-size:11px}.bike-ride-audio summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}.bike-ride-audio-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bike-ride-audio label{display:flex;flex-direction:column;min-width:0}.bike-ride-audio label>span{display:flex;justify-content:space-between}.bike-ride-audio input{width:100%;min-height:44px;accent-color:#527644;touch-action:pan-x}.bike-ride-audio small,.bike-ride-audio-alert{display:block;font-size:10px;line-height:1.4;padding:4px}.bike-ride-error{position:absolute;z-index:12;inset:10px;background:#e9e2cbf5;color:#274730;border:2px solid #839268;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center}.bike-ride-error p{max-width:440px;font-size:13px}.bike-ride-error button,.bike-ride-sound-retry button{min-height:48px;padding:7px 14px;background:#385d3e;border:1px solid #81945d;color:#fff1d0;border-radius:5px}.bike-ride-sound-retry{position:absolute;z-index:6;right:8px;top:80px;max-width:155px;display:flex;flex-direction:column;gap:5px;padding:6px;background:#f4e8ccee;color:#29462e;font-size:10px}.play-view[data-game='Bike Stunt'] .rebuilt-overlay{background:#102c1544}.play-view[data-game='Bike Stunt'] .rebuilt-overlay>div{background:#f4ebd4;color:#29462e;border:2px solid #95a174;box-shadow:0 5px #5c7449}.play-view[data-game='Bike Stunt'] .rebuilt-overlay h2{font-family:Georgia,serif;color:#305339}.play-view[data-game='Bike Stunt'] .rebuilt-overlay p{color:#4a5b40}.play-view[data-game='Bike Stunt'] .rebuilt-overlay button{min-height:48px;background:#3f6541;color:#fff3d3;border-color:#8fa571}
@media(max-width:520px){.bike-ride-heading{left:6px;top:6px;padding:5px 7px;max-width:55%}.bike-ride-heading strong{font-size:15px}.bike-ride-heading span{font-size:8px}.bike-ride-stops{right:5px;top:6px;gap:2px;max-width:40%}.bike-ride-stops>span{width:36px}.bike-ride-stops small{display:none}.bike-ride-notice{top:73px;font-size:9px}.bike-ride-guidance{left:6px;bottom:6px;padding:5px 7px}.bike-ride-guidance strong{font-size:12px}.bike-ride-speed{right:6px;bottom:6px}.bike-ride-controls{gap:5px}.game-surface .play-view[data-game='Bike Stunt'] .bike-ride-controls button{font-size:10px}.bike-ride-completed{flex-wrap:wrap;justify-content:center}}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Bike Stunt'] .rebuilt-controls{display:flex;overflow:auto;justify-content:center;touch-action:pan-y}.bike-ride-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bike-ride-controls button:nth-child(5),.bike-ride-controls button:last-child{grid-column:auto}.game-surface .play-view[data-game='Bike Stunt'] .bike-ride-controls button{min-height:48px;font-size:10px}.bike-ride-audio-levels{grid-template-columns:1fr;gap:0}.bike-ride-completed{flex-direction:column;text-align:center}.game-surface .play-view[data-game='Bike Stunt'][data-playing=false] .rebuilt-controls{justify-content:flex-start}}
@container (height < 300px){.bike-ride-heading{top:4px;padding:3px 6px}.bike-ride-heading span{display:none}.bike-ride-heading strong{font-size:14px}.bike-ride-heading small{font-size:7px}.bike-ride-stops{top:4px}.bike-ride-stops small{display:none}.bike-ride-notice{top:46px;padding:3px 6px;font-size:9px}.bike-ride-guidance{bottom:4px;padding:3px 6px}.bike-ride-guidance small{font-size:10px}.bike-ride-guidance strong{font-size:11px}.bike-ride-speed{bottom:4px}.bike-ride-speed strong{font-size:23px}}
[dir=rtl] .bike-ride-heading,[dir=rtl] .bike-ride-guidance,[dir=rtl] .bike-ride-audio,[dir=rtl] .bike-ride-completed{direction:rtl}

/* Goal Master: bright football cup, deliberately distinct from race/action refits. */
.play-view[data-game='Goal Master'] .rebuilt-stage{background:#b9d9e9;border-color:#e2e9e4;isolation:isolate}.goal-master-webgl{width:100%;height:100%;display:block;touch-action:none}.goal-master-heading{position:absolute;top:10px;left:12px;display:flex;flex-direction:column;gap:2px;padding:7px 10px;background:#f6fbf3e8;color:#123d4b;border-left:4px solid #f0ad35;border-radius:5px;max-width:calc(100% - 105px);pointer-events:none}.goal-master-heading small{font-size:9px;letter-spacing:.12em;font-weight:850;text-transform:uppercase}.goal-master-heading strong{font-size:15px;line-height:1.2}.goal-master-heading span{font-size:10px}.goal-master-score{position:absolute;right:12px;top:10px;display:flex;flex-direction:column;align-items:center;padding:6px 10px;background:#103e52ed;color:#fff;border-radius:6px;pointer-events:none}.goal-master-score strong{font-size:30px;line-height:1}.goal-master-score small{font-size:14px;font-weight:500}.goal-master-score>span{font-size:10px}.goal-master-shot-strip{position:absolute;left:50%;top:82px;transform:translateX(-50%);display:flex;gap:5px;pointer-events:none}.goal-master-shot-strip>span{display:grid;place-items:center;width:22px;height:24px;border:1px solid #a2c2b6;border-radius:4px;background:#123c46d9;color:white;font-size:11px;font-weight:800}.goal-master-shot-strip>span:nth-child(4n){margin-right:6px}.goal-master-shot-strip>span:last-child{margin:0}.goal-master-shot-strip [data-result='save']{background:#d8f59d;color:#174b26;border-color:#fff}.goal-master-shot-strip [data-result='goal']{background:#eaa789;color:#4e2116;border-color:#fff}.goal-master-shot-strip [data-current='true']{outline:2px solid #ffc950;outline-offset:1px}.goal-master-readout{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:190px;max-width:calc(100% - 26px);padding:8px 14px;background:#f8fff1ee;border:1px solid #bad1a6;border-radius:7px;color:#173c38;pointer-events:none}.goal-master-readout strong{font-size:16px}.goal-master-readout>span{font-size:13px;font-weight:750;white-space:nowrap}.goal-master-readout progress{width:100%;height:7px;accent-color:#dc9e1e}.goal-master-readout small{font-size:11px}.goal-master-readout[data-phase='flight']{border-color:#e0ad3a;box-shadow:0 0 0 2px #ffcf5b50}.goal-master-controls{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:9px;width:100%}.play-view[data-game='Goal Master'] .goal-master-controls button{min-height:52px;border:1px solid #afc7c3;background:#164b5b;color:#fff;font-size:13px;font-weight:800;touch-action:none}.play-view[data-game='Goal Master'] .goal-master-controls button:nth-child(2){background:#e7b647;color:#243c3c;border-color:#fff0af}.goal-master-control-hint{display:flex;justify-content:space-between;gap:10px;width:100%;color:#d8efea;font-size:11px}.goal-master-audio{width:100%;font-size:12px;color:#e6f3ed}.goal-master-audio summary{padding:7px 0;cursor:pointer;min-height:44px;box-sizing:border-box}.goal-master-audio-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-master-audio-levels label{display:flex;flex-direction:column;gap:5px}.goal-master-audio-levels label>span{display:flex;justify-content:space-between}.goal-master-audio-levels input{width:100%;min-height:44px;accent-color:#edbc4d}.goal-master-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;background:#edf7ebfa;color:#173e42;text-align:center;overflow:auto}.goal-master-error p{max-width:43ch;line-height:1.5}.goal-master-error button,.goal-master-sound-retry button{min-height:48px;background:#164b5b;color:#fff}.goal-master-sound-retry{position:absolute;right:10px;top:120px;z-index:8;max-width:160px;padding:8px;display:flex;flex-direction:column;gap:6px;background:#f3f8e9ed;color:#123d4b;border-radius:6px;font-size:11px}.goal-master-legacy{padding:10px 14px;background:#eaf2d8;color:#213e3e;font-size:12px;line-height:1.5}.play-view[data-game='Goal Master'] .rebuilt-controls{display:flex;flex-direction:column;gap:9px}.play-view[data-game='Goal Master'] .rebuilt-overlay button{min-height:48px}
@media(max-width:520px){.goal-master-heading{top:8px;left:8px;padding:6px 8px}.goal-master-heading strong{font-size:13px}.goal-master-score{top:8px;right:8px}.goal-master-shot-strip{top:80px;gap:3px}.goal-master-shot-strip>span{width:19px;height:22px;font-size:10px}.goal-master-shot-strip>span:nth-child(4n){margin-right:3px}.goal-master-readout{bottom:10px;padding:7px 10px}.goal-master-readout strong{font-size:14px}.goal-master-readout>span{font-size:12px}.goal-master-controls{gap:7px}.play-view[data-game='Goal Master'] .goal-master-controls button{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Goal Master'] .rebuilt-controls{display:flex;overflow-y:auto;justify-content:flex-start;touch-action:pan-y}.goal-master-controls{grid-template-columns:1fr;gap:7px}.play-view[data-game='Goal Master'] .goal-master-controls button{min-height:48px;font-size:12px}.goal-master-control-hint{flex-direction:column;gap:4px}.goal-master-audio-levels{grid-template-columns:1fr;gap:5px}.goal-master-heading{top:7px;left:7px;padding:4px 7px}.goal-master-heading small{font-size:8px}.goal-master-heading strong{font-size:12px}.goal-master-heading span{font-size:9px}.goal-master-score{top:7px;right:7px;padding:4px 8px}.goal-master-score strong{font-size:25px}.goal-master-shot-strip{top:11px;gap:3px}.goal-master-shot-strip>span{width:18px;height:21px;font-size:9px}.goal-master-readout{bottom:7px;padding:5px 9px;gap:2px;min-width:180px}.goal-master-readout strong{font-size:12px}.goal-master-readout>span,.goal-master-readout small{font-size:10px}.goal-master-readout progress{height:5px}.goal-master-sound-retry{top:58px;max-width:140px;font-size:10px}}
[dir=rtl] .goal-master-heading,[dir=rtl] .goal-master-audio{direction:rtl}

/* Live instructions and audio recovery stay outside the interception area. */
.play-view[data-game='Goal Master'] .goal-master-readout{position:static;transform:none;align-self:stretch;min-width:0;max-width:none;margin:0;padding:7px 9px}.play-view[data-game='Goal Master'] .goal-master-sound-retry{position:static;align-self:stretch;max-width:none;margin:0;padding:7px}.goal-master-control-hint small{white-space:nowrap}
@media(orientation:landscape) and (max-height:600px){.goal-master-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-master-controls button:nth-child(1){grid-column:1;grid-row:1}.goal-master-controls button:nth-child(3){grid-column:2;grid-row:1}.goal-master-controls button:nth-child(2){grid-column:1/-1;grid-row:2}.goal-master-control-hint small{display:none}.goal-master-readout>span{white-space:normal;text-align:center}.goal-master-heading strong{display:none}}

.play-view[data-game='Goal Master'] .goal-master-shot-strip{position:static;transform:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-self:stretch;padding:3px}.play-view[data-game='Goal Master'] .goal-master-shot-strip>span{width:auto;min-width:0;margin:0;height:22px;box-sizing:border-box}
@media(orientation:landscape) and (max-height:600px){.play-view[data-game='Goal Master'] .goal-master-shot-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.play-view[data-game='Goal Master'] .goal-master-shot-strip>span{height:18px;font-size:9px}.goal-master-audio summary,.goal-master-audio-levels input{min-height:44px}}

/* Basketball Shot: sunset rooftop practice, bounded court and scrollable controls. */
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-main:has(.rebuilt-stage){grid-template-rows:auto minmax(160px,1fr) min(228px,43%);grid-template-columns:minmax(0,1fr);padding:6px;gap:6px}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-hud{height:28px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-hud>span{flex-shrink:0;white-space:nowrap}
.play-view[data-game='Basketball Shot'] .rebuilt-stage{background:#e8ae78;border-color:#e6c69d;isolation:isolate}
.basketball-shot-webgl{display:block;width:100%;height:100%;touch-action:none}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;padding:5px;background:#132f32;color:#f8e9d0;align-items:stretch;justify-content:flex-start;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-controls>*{flex-shrink:0;min-width:0}
.basketball-shot-heading{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #5a7772;padding:6px 0}
.basketball-shot-heading small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#e7b87b}.basketball-shot-heading strong{font-size:14px}
.basketball-shot-readout{display:flex;align-items:center;justify-content:space-between;gap:4px 8px;flex-wrap:wrap;font-size:12px;background:#f6e5c9;color:#253f3e;border-left:4px solid #e68c48;border-radius:6px;padding:4px 7px;line-height:1.3}
.basketball-shot-readout strong{font-size:12px}.basketball-shot-readout small{font-size:11px}
.basketball-shot-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr 1fr;gap:6px}
.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button{min-height:48px;min-width:48px;max-width:none;width:100%;padding:6px 2px;background:#285459;color:#f9f0dc;border:1px solid #73938d;touch-action:none;font-weight:750;font-size:18px;grid-row:1}
.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(1){grid-column:1}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(3){grid-column:5}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(4){grid-column:2}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(5){grid-column:4}
.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(2){grid-column:3;grid-row:1;background:#eea057;color:#1a3639;border-color:#ffcf90;font-size:14px}
.basketball-shot-aim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-controls label{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:none;font-size:11px;line-height:1.2}
.basketball-shot-aim label>span,.basketball-shot-audio-levels label>span{display:flex;justify-content:space-between;gap:2px;flex-wrap:wrap}.basketball-shot-aim output,.basketball-shot-audio-levels output{white-space:nowrap}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-controls input{width:100%;min-width:44px;min-height:44px;accent-color:#efa85d;margin:0;touch-action:pan-y}
.basketball-shot-aim input:disabled{opacity:.5}.basketball-shot-guide{font-size:12px;line-height:1.45;color:#e1d7c0;display:block;margin:7px 0}
.basketball-shot-details{font-size:12px}.basketball-shot-details>summary{min-height:44px;box-sizing:border-box;padding:10px 6px;cursor:pointer;border-top:1px solid #5a7772;touch-action:pan-y}
.basketball-shot-ledger{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:8px 0}
.basketball-shot-ledger span{display:grid;place-items:center;min-width:0;height:22px;font-size:11px;font-weight:800;border:1px solid #62827c;border-radius:4px;color:#d2e0d5;background:#163a3f}
.basketball-shot-ledger [data-result='scored']{background:#c3d897;color:#233f30;border-color:#deefb6}.basketball-shot-ledger [data-result='missed']{background:#8c594b;color:#fff2dd;border-color:#bd8c6d}
.basketball-shot-record{font-size:11px;color:#ddceac}.basketball-shot-audio{font-size:12px}.basketball-shot-audio summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.basketball-shot-audio-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.basketball-shot-sound-retry{padding:8px;border:1px solid #d4ac79;background:#244b4c;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.basketball-shot-sound-retry button,.basketball-shot-error button{min-height:48px;background:#e5a568;color:#183b3d;font-weight:750}
.basketball-shot-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;background:#eae2cffa;color:#183b3d;text-align:center;overflow:auto}.basketball-shot-error p{max-width:42ch;line-height:1.5}
.basketball-shot-legacy{padding:10px 14px;background:#f4dcbc;color:#284446;font-size:12px;line-height:1.5}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-overlay>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr) auto;gap:4px;padding:8px;width:min(100%,440px);height:min(100%,220px);box-sizing:border-box;overflow:hidden}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-overlay h2{grid-column:1/-1;font-size:18px;line-height:1.2;margin:0}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-overlay p{grid-column:1/-1;font-size:12px;line-height:1.35;min-height:0;max-height:none;overflow:auto;margin:0}
.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-overlay button{min-height:48px;min-width:0;margin:0;padding:6px;font-size:13px}.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-overlay button:only-of-type{grid-column:1/-1}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-main:has(.rebuilt-stage){grid-template-columns:minmax(0,1fr) clamp(168px,29vw,280px);grid-template-rows:auto minmax(0,1fr);padding:5px;gap:5px}.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-hud{grid-column:1;grid-row:1}.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-stage{grid-column:1;grid-row:2}.game-surface .play-view[data-game='Basketball Shot'] .rebuilt-controls{grid-column:2;grid-row:1/3}.basketball-shot-controls{grid-template-columns:1fr 1fr 1fr;gap:5px}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(1){grid-column:1;grid-row:1}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(3){grid-column:3;grid-row:1}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(4){grid-column:1;grid-row:2}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(5){grid-column:3;grid-row:2}.game-surface .play-view[data-game='Basketball Shot'] .basketball-shot-controls button:nth-child(2){grid-column:2;grid-row:1/3;font-size:11px}.basketball-shot-aim{gap:4px}.basketball-shot-ledger{grid-template-columns:repeat(5,minmax(0,1fr))}.basketball-shot-audio-levels{grid-template-columns:1fr}.basketball-shot-sound-retry{flex-direction:column}}
[dir=rtl] .basketball-shot-heading,[dir=rtl] .basketball-shot-aim,[dir=rtl] .basketball-shot-audio,[dir=rtl] .basketball-shot-details{direction:rtl}

/* Tennis Rally: a clay-club court with a bounded, independently scrolling control rail. */
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-main:has(.rebuilt-stage){grid-template-rows:auto minmax(160px,1fr) min(228px,43%);grid-template-columns:minmax(0,1fr);padding:6px;gap:6px}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-hud{height:28px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-hud>span{flex-shrink:0;white-space:nowrap;background:#284c46;border-color:#739d8f;color:#fcf4df}
.play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-stage{background:#a95334;border-color:#d9c3a2;isolation:isolate}.tennis-rally-webgl{display:block;width:100%;height:100%;touch-action:none}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;padding:5px;background:#f0e8d4;color:#27463e;align-items:stretch;justify-content:flex-start;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-controls>*{flex-shrink:0;min-width:0}
.tennis-rally-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button{min-height:48px;min-width:48px;max-width:none;width:100%;padding:6px 3px;background:#d5e6cf;color:#25473d;border:1px solid #709681;font-weight:800;font-size:18px;touch-action:none}
.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button:nth-child(4),.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button:nth-child(6){background:#2d6453;color:#fff7dc;font-size:13px;border-color:#447d65}.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button:nth-child(6){background:#bd6a3d;border-color:#895237}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-controls label{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:none;font-size:12px;line-height:1.2;width:100%}.tennis-rally-aim>span,.tennis-rally-audio-levels label>span{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.tennis-rally-aim output,.tennis-rally-audio-levels output{white-space:nowrap;font-variant-numeric:tabular-nums}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-controls input{width:100%;min-width:44px;min-height:44px;accent-color:#a75031;margin:0;touch-action:pan-y}.tennis-rally-aim input:disabled{opacity:.5}
.tennis-rally-details{font-size:12px;line-height:1.5}.tennis-rally-details>summary{min-height:44px;box-sizing:border-box;padding:10px 6px;cursor:pointer;border-top:1px solid #92ac93;touch-action:pan-y}.tennis-rally-details p{margin:8px 2px}.tennis-rally-heading{display:flex;flex-direction:column;gap:3px;padding:6px 0;border-bottom:1px solid #bbc5a6}.tennis-rally-heading small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#75543d}.tennis-rally-heading strong{font-size:15px}.tennis-rally-record{display:block;margin:7px 0;font-size:12px}
.tennis-rally-chapter{margin:8px 0}.tennis-rally-chapter select{min-height:44px;width:100%;max-width:100%;color:#284c42;background:#fcf8e8;border:1px solid #83a28b;padding:6px}.tennis-rally-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0}
.tennis-rally-complete{display:flex;flex-direction:column;gap:8px;padding:8px;text-align:center}.tennis-rally-complete strong{font-size:18px}.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-complete button{min-height:48px;max-width:none;background:#2d6453;color:#fff7dc}
.tennis-rally-status{position:absolute;top:7px;left:50%;transform:translateX(-50%);max-width:90%;padding:4px 8px;border-radius:5px;background:#f7efdadf;color:#2b4a3f;font-size:12px;line-height:1.2;font-weight:700;pointer-events:none}.tennis-rally-status[data-phase='serve'],.tennis-rally-status[data-phase='rally']{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tennis-rally-sound-retry{padding:8px;display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #92ac93;font-size:12px}.tennis-rally-sound-retry button,.tennis-rally-error button{min-height:48px;background:#2d6453;color:#fff7dc}.tennis-rally-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;background:#eee7d6fa;color:#24473f;text-align:center;overflow:auto}.tennis-rally-error p{max-width:42ch;line-height:1.5}.tennis-rally-legacy{padding:8px 12px;background:#e9ddc3;color:#3e5442;font-size:12px;line-height:1.45}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-overlay>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr) auto;gap:4px;padding:8px;width:min(100%,440px);height:min(100%,220px);box-sizing:border-box;overflow:hidden;background:#edf0deed;color:#254a3e;border-color:#6e997d}
.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-overlay h2{grid-column:1/-1;font-size:18px;line-height:1.2;margin:0}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-overlay p{grid-column:1/-1;font-size:12px;line-height:1.35;min-height:0;max-height:none;overflow:auto;margin:0}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-overlay button{min-height:48px;min-width:0;margin:0;padding:6px;font-size:13px;background:#a75031;color:#fff8e4}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-overlay button:only-of-type{grid-column:1/-1}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-main:has(.rebuilt-stage){grid-template-columns:minmax(0,1fr) clamp(168px,29vw,280px);grid-template-rows:auto minmax(0,1fr);padding:5px;gap:5px}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-hud{grid-column:1;grid-row:1}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-stage{grid-column:1;grid-row:2}.game-surface .play-view[data-game='Tennis Rally']:has(.tennis-rally-webgl) .rebuilt-controls{grid-column:2;grid-row:1/3}.tennis-rally-controls{gap:5px}.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button:nth-child(4),.game-surface .play-view[data-game='Tennis Rally'] .tennis-rally-controls button:nth-child(6){font-size:11px}.tennis-rally-audio-levels{grid-template-columns:1fr}.tennis-rally-sound-retry{flex-direction:column}}
[dir=rtl] .tennis-rally-details,[dir=rtl] .tennis-rally-aim,[dir=rtl] .tennis-rally-complete{direction:rtl}

/* Volley Clash: a beach court with a bounded, independently scrolling control rail. */
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-main:has(.rebuilt-stage){grid-template-rows:auto minmax(160px,1fr) min(228px,43%);grid-template-columns:minmax(0,1fr);padding:6px;gap:6px}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-hud{height:28px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-hud>span{flex-shrink:0;white-space:nowrap;background:#1b4e65;border-color:#71b6ba;color:#fff4dc}
.play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-stage{background:#d9b77b;border-color:#e8c995;isolation:isolate}.volley-clash-webgl{display:block;width:100%;height:100%;touch-action:none}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-controls{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;padding:5px;background:#f7e6c3;color:#19495b;align-items:stretch;justify-content:flex-start;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-controls>*{flex-shrink:0;min-width:0}
.volley-clash-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button{min-height:48px;min-width:48px;max-width:none;width:100%;padding:6px 3px;background:#c7e6e5;color:#19495b;border:1px solid #68a7af;font-weight:800;font-size:18px;touch-action:none}
.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button:nth-child(4),.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button:nth-child(6){background:#216a81;color:#fff7e0;font-size:13px;border-color:#438e9d}.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button:nth-child(6){background:#db7251;border-color:#a14d39}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-controls label{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:none;font-size:12px;line-height:1.2;width:100%}.volley-clash-aim>span,.volley-clash-audio-levels label>span{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.volley-clash-aim output,.volley-clash-audio-levels output{white-space:nowrap;font-variant-numeric:tabular-nums}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-controls input{width:100%;min-width:44px;min-height:44px;accent-color:#bd5840;margin:0;touch-action:pan-y}.volley-clash-aim input:disabled{opacity:.5}
.volley-clash-details{font-size:12px;line-height:1.5}.volley-clash-details>summary{min-height:44px;box-sizing:border-box;padding:10px 6px;cursor:pointer;border-top:1px solid #8cb5b2;touch-action:pan-y}.volley-clash-details p{margin:8px 2px}.volley-clash-heading{display:flex;flex-direction:column;gap:3px;padding:6px 0;border-bottom:1px solid #b8c6b5}.volley-clash-heading small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#8f5e36}.volley-clash-heading strong{font-size:15px}.volley-clash-record{display:block;margin:7px 0;font-size:12px}
.volley-clash-chapter{margin:8px 0}.volley-clash-chapter select{min-height:44px;width:100%;max-width:100%;color:#245567;background:#fff9e9;border:1px solid #82b4b8;padding:6px}.volley-clash-audio-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0}
.volley-clash-complete{display:flex;flex-direction:column;gap:8px;padding:8px;text-align:center}.volley-clash-complete strong{font-size:18px}.game-surface .play-view[data-game='Volley Clash'] .volley-clash-complete button{min-height:48px;max-width:none;background:#216a81;color:#fff7e0}
.volley-clash-status{position:absolute;top:7px;left:50%;transform:translateX(-50%);max-width:90%;padding:4px 8px;border-radius:5px;background:#fff0d1ed;color:#1f4e61;font-size:12px;line-height:1.2;font-weight:700;pointer-events:none}.volley-clash-status[data-phase='serve'],.volley-clash-status[data-phase='rally']{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.volley-clash-sound-retry{padding:8px;display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #8cb5b2;font-size:12px}.volley-clash-sound-retry button,.volley-clash-error button{min-height:48px;background:#216a81;color:#fff7e0}.volley-clash-error{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;background:#fbefd7fa;color:#1e4c61;text-align:center;overflow:auto}.volley-clash-error p{max-width:42ch;line-height:1.5}.volley-clash-legacy{padding:8px 12px;background:#f3dfb8;color:#365a65;font-size:12px;line-height:1.45}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-overlay>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr) auto;gap:4px;padding:8px;width:min(100%,440px);height:min(100%,220px);box-sizing:border-box;overflow:hidden;background:#f8eacded;color:#214e61;border-color:#75abb2}
.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-overlay h2{grid-column:1/-1;font-size:18px;line-height:1.2;margin:0}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-overlay p{grid-column:1/-1;font-size:12px;line-height:1.35;min-height:0;max-height:none;overflow:auto;margin:0}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-overlay button{min-height:48px;min-width:0;margin:0;padding:6px;font-size:13px;background:#bd5840;color:#fff8e8}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-overlay button:only-of-type{grid-column:1/-1}
@media(orientation:landscape) and (max-height:600px){.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-main:has(.rebuilt-stage){grid-template-columns:minmax(0,1fr) clamp(168px,29vw,280px);grid-template-rows:auto minmax(0,1fr);padding:5px;gap:5px}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-hud{grid-column:1;grid-row:1}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-stage{grid-column:1;grid-row:2}.game-surface .play-view[data-game='Volley Clash']:has(.volley-clash-webgl) .rebuilt-controls{grid-column:2;grid-row:1/3}.volley-clash-controls{gap:5px}.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button:nth-child(4),.game-surface .play-view[data-game='Volley Clash'] .volley-clash-controls button:nth-child(6){font-size:11px}.volley-clash-audio-levels{grid-template-columns:1fr}.volley-clash-sound-retry{flex-direction:column}}
[dir=rtl] .volley-clash-details,[dir=rtl] .volley-clash-aim,[dir=rtl] .volley-clash-complete{direction:rtl}
/* Color Sort Crystal: the board keeps its space; rules/audio open over it. */
.game-surface .color-sort-crystal{background:#171a2e;color:#f5efdf}.game-surface .color-sort-crystal .gamebar{background:#202239;border-bottom:1px solid #656188;height:54px;min-height:54px}.game-surface .color-sort-crystal .gamebar>button{min-height:48px;height:48px;color:#f5efdf;background:#383852}.game-surface .color-sort-crystal .gamebar>button:first-child{min-width:48px}
.color-crystal-main{position:relative;display:grid;grid-template-rows:32px 36px minmax(200px,1fr) 40px minmax(48px,auto) minmax(48px,auto);gap:6px;flex:1;min-height:0;width:100%;max-width:960px;margin:0 auto;padding:8px 12px;box-sizing:border-box;overflow:auto}
.color-crystal-heading{display:flex;align-items:flex-start;align-items:safe center;justify-content:space-between;gap:8px;font-size:13px;font-variant-numeric:tabular-nums;overflow:auto;white-space:nowrap}.color-crystal-heading strong{font-size:16px;color:#d3c4ff}.color-crystal-objective{margin:0;font-size:13px;line-height:1.35;text-align:center;overflow:auto;color:#d7d0e6}.color-crystal-board{position:relative;min-width:0;min-height:200px;overflow:hidden;background:#151a29;border:0;border-radius:18px;box-shadow:inset 0 0 0 1px #5f5a7a,inset 0 0 30px #04071466;direction:ltr;isolation:isolate}.color-crystal-board canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.game-surface .color-crystal-board .color-crystal-tube{position:absolute;display:block;min-width:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none;touch-action:manipulation;user-select:none;appearance:none;color:#fff;overflow:visible}.game-surface .color-crystal-board .color-crystal-tube.selected{background:#9b87e816;box-shadow:inset 0 0 0 2px #e1d4ff}.game-surface .color-crystal-board .color-crystal-tube:focus-visible{outline:3px solid #fff1ad;outline-offset:-4px}.game-surface .color-crystal-board .color-crystal-tube:disabled{opacity:1;cursor:default}.color-crystal-glass{position:absolute;border:2px solid #e6dfff99;border-radius:12px 12px 18px 18px;background:linear-gradient(90deg,#adb4e622,transparent 45%,#d4baff11);box-sizing:border-box;pointer-events:none}.color-crystal-layer{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:3px;color:#111625;font-weight:900;line-height:1;pointer-events:none;text-shadow:0 1px 1px #ffffff60}.color-crystal-tube-number{position:absolute;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#eee5d6;pointer-events:none}.color-crystal-notice{margin:0;display:flex;align-items:flex-start;align-items:safe center;justify-content:center;text-align:center;font-size:13px;line-height:1.35;color:#e9dcff;overflow:auto}.color-crystal-notice[data-notice='won']{color:#b3e8ca;font-weight:700}
.color-crystal-actions{display:flex;gap:8px;align-items:stretch;justify-content:center;min-width:0;min-height:0}.color-sort-crystal button{font-family:inherit;cursor:pointer}.color-sort-crystal button:disabled{cursor:default;opacity:.55}.color-crystal-actions button,.color-crystal-details button,.color-crystal-pause button{min-width:48px;min-height:48px;padding:8px 12px;border:1px solid #75678e;border-radius:12px;background:#37314d;color:#fff6e8;font-size:13px;line-height:1.2}.color-crystal-actions button{flex:1;max-width:220px;overflow-wrap:anywhere;word-break:normal}.color-crystal-actions .color-crystal-next{background:#b9aadf;color:#211c32;border-color:#e0d4ff;font-weight:700}
.color-crystal-details{z-index:5;min-width:0;border:0;box-shadow:inset 0 0 0 1px #5d5473;border-radius:12px;background:#252439;color:#e9e2ef;box-sizing:border-box}.color-crystal-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:4px 12px;box-sizing:border-box;cursor:pointer;font-size:13px;font-weight:700;touch-action:manipulation}.color-crystal-details summary::before{content:'◇';margin-inline-end:8px;color:#d0bdfa}.color-crystal-details[open]{position:absolute;bottom:8px;inset-inline-end:12px;width:min(440px,calc(100% - 24px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 8px 32px #000b;overscroll-behavior:contain}.color-crystal-details[open] summary{position:sticky;top:0;background:#252439;z-index:1}.color-crystal-details p{margin:8px 0;font-size:13px;line-height:1.5}.color-crystal-level-picker{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:8px 0}.color-crystal-level-picker label{display:flex;flex-direction:column;flex:1;min-width:100px;font-size:12px;gap:4px}.color-crystal-level-picker input{box-sizing:border-box;min-height:48px;min-width:0;width:100%;padding:8px;background:#16192a;color:#fff;border:1px solid #837596;border-radius:8px}.color-crystal-level-picker small{flex-basis:100%;font-size:12px}.color-crystal-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.color-crystal-volumes label{min-width:0;font-size:12px}.color-crystal-volumes label span{display:flex;justify-content:space-between;gap:4px}.color-crystal-volumes input{width:100%;min-height:48px;accent-color:#c4abea}.color-crystal-pause{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#171a2ee8;text-align:center}.color-crystal-legacy{margin:0;padding:8px 12px;background:#29233e;color:#eee4fa;font-size:13px;line-height:1.5}
@media(max-width:400px){.color-crystal-main{padding:6px;gap:5px}.color-crystal-heading{font-size:12px;gap:4px}.color-crystal-heading strong{font-size:14px}.color-crystal-details[open]{inset-inline-end:6px;width:calc(100% - 12px)}.color-crystal-actions button{padding:6px;font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.color-crystal-main{grid-template-columns:minmax(0,1fr) clamp(168px,29vw,240px);grid-template-rows:32px 48px minmax(48px,1fr) 48px;padding:6px;gap:6px;max-width:none;overflow:hidden}.color-crystal-board{grid-column:1;grid-row:1/5;min-height:0}.color-crystal-heading{grid-column:2;grid-row:1;font-size:11px;gap:4px}.color-crystal-heading strong{font-size:12px}.color-crystal-objective{display:none}.color-crystal-notice{grid-column:2;grid-row:2;font-size:12px}.color-crystal-actions{grid-column:2;grid-row:3;flex-wrap:wrap;overflow:auto;align-content:start}.color-crystal-actions button{min-width:70px;max-width:none;flex:1 1 70px;font-size:12px}.color-crystal-details{grid-column:2;grid-row:4}.color-crystal-details[open]{width:min(440px,calc(100% - 12px));inset-inline-end:6px;bottom:6px;max-height:calc(100% - 12px)}}
@media(prefers-reduced-motion:reduce){.color-sort-crystal *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Maze Escape: a sunlit garden, board first; the map pauses rather than hiding play. */
.game-surface .maze-garden{background:#e4e6cc;color:#294539}.game-surface .maze-garden .gamebar{height:54px;min-height:54px;padding:2px 10px;box-sizing:border-box;background:#274e40;border-bottom:1px solid #84a082;color:#fff5d9}.game-surface .maze-garden .gamebar>button{min-height:48px;height:48px;min-width:48px;background:#37634e;color:#fff7df}
.maze-garden-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:32px minmax(200px,1fr) 32px 156px;gap:6px;flex:1;min-height:0;max-width:1080px;width:100%;margin:0 auto;padding:8px;box-sizing:border-box;overflow:auto}
.maze-garden-heading{display:flex;align-items:flex-start;align-items:safe center;justify-content:flex-start;gap:6px 12px;min-width:0;overflow-x:auto;white-space:nowrap;font-size:12px;line-height:1.2;font-variant-numeric:tabular-nums}.maze-garden-heading>*{flex-shrink:0}.maze-garden-heading strong{font-size:15px;color:#254e3d}
.maze-garden-stage{position:relative;min-width:0;min-height:200px;overflow:hidden;border-radius:18px;box-shadow:inset 0 0 0 2px #8c9d70;background:#cbd8ad;isolation:isolate}.maze-garden-stage canvas,.maze-garden-map{display:block;position:absolute;inset:0;width:100%;height:100%}.maze-garden-map{pointer-events:none;background:#dce3ba}.maze-garden-stage:focus-visible{outline:3px solid #a75a2d;outline-offset:-3px}
.maze-garden-notice{margin:0;min-width:0;min-height:0;overflow:auto;display:flex;align-items:safe center;justify-content:center;text-align:center;font-size:12px;line-height:1.3;color:#345140}
.maze-garden-rail{display:grid;grid-template-rows:minmax(48px,auto) minmax(48px,auto) minmax(48px,auto);gap:6px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.maze-garden button,.maze-garden select,.maze-garden input{font-family:inherit;box-sizing:border-box}.maze-garden button{cursor:pointer;border:1px solid #839872;background:#f5edcf;color:#294a3b;border-radius:10px;min-height:48px;min-width:48px;line-height:1.2;font-size:13px;padding:7px 10px}.maze-garden button:disabled{opacity:.55;cursor:default}.maze-garden button:focus-visible,.maze-garden summary:focus-visible,.maze-garden input:focus-visible,.maze-garden select:focus-visible{outline:3px solid #995b32;outline-offset:-3px}
.maze-garden-directions{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px;direction:ltr}.maze-garden-directions button{font-size:24px;font-weight:800;background:#33634e;color:#fff6d4;border-color:#648267;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.maze-garden-directions button:active{background:#a56638}
.maze-garden-actions{display:flex;gap:6px;min-width:0}.maze-garden-actions button{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere;word-break:normal}.maze-garden-actions button[aria-pressed=true]{background:#d9bb79;border-color:#946f38}
.maze-garden-prompt{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;width:min(480px,calc(100% - 16px));max-height:calc(100% - 16px);box-sizing:border-box;padding:10px;background:#fff6dfed;border:1px solid #899d77;border-radius:12px;overflow:auto;box-shadow:0 5px 16px #30402e33}.maze-garden-prompt strong{font-size:16px;line-height:1.2}.maze-garden-prompt p{grid-column:1;margin:0;font-size:12px;line-height:1.35}.maze-garden-prompt button{grid-column:2;grid-row:1/3;max-width:140px;overflow-wrap:anywhere;word-break:normal;background:#315f49;color:#fff7df;font-weight:700}
.maze-garden-details{z-index:5;min-width:0;background:#f4efd9;border-radius:10px;border:1px solid #93a27e;box-sizing:border-box}.maze-garden-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:4px 12px;box-sizing:border-box;cursor:pointer;font-size:13px;font-weight:700;touch-action:manipulation}.maze-garden-details summary::before{content:'☷';margin-inline-end:8px;color:#536a42}.maze-garden-details[open]{position:absolute;bottom:8px;inset-inline-end:8px;width:min(460px,calc(100% - 16px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 8px 28px #253a2b66;overscroll-behavior:contain}.maze-garden-details[open] summary{position:sticky;top:0;background:#f4efd9;z-index:1}.maze-garden-details p{font-size:13px;line-height:1.5;margin:8px 0}.maze-garden-picker{display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:13px}.maze-garden-picker select{min-height:48px;max-width:100%;background:#fff9e7;color:#2f4e3c;border:1px solid #7d936e;border-radius:7px;padding:8px}.maze-garden-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.maze-garden-volumes label{min-width:0;font-size:12px}.maze-garden-volumes label span{display:flex;justify-content:space-between;gap:5px}.maze-garden-volumes input{width:100%;min-height:48px;accent-color:#557b4c}
@media(max-width:400px){.maze-garden-main{padding:6px;gap:5px}.maze-garden-heading{gap:5px;font-size:11px}.maze-garden-heading strong{font-size:13px}.maze-garden-prompt{padding:8px;gap:4px 7px}.maze-garden-prompt strong{font-size:14px}.maze-garden-prompt button{max-width:110px;font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.maze-garden-main{grid-template-columns:minmax(0,1fr) clamp(168px,29vw,240px);grid-template-rows:28px 32px minmax(0,1fr);padding:6px;gap:6px;max-width:none;overflow:hidden}.maze-garden-stage{grid-column:1;grid-row:1/4;min-height:0}.maze-garden-heading{grid-column:2;grid-row:1;justify-content:flex-start;font-size:11px;gap:5px}.maze-garden-heading strong{font-size:12px}.maze-garden-notice{grid-column:2;grid-row:2;font-size:11px}.maze-garden-rail{grid-column:2;grid-row:3;display:flex;flex-direction:column;overflow:auto}.maze-garden-rail>*{flex-shrink:0}.maze-garden-directions{grid-template-columns:repeat(2,minmax(48px,1fr));grid-template-rows:48px 48px}.maze-garden-directions button:nth-child(1){grid-column:1;grid-row:2}.maze-garden-directions button:nth-child(2){grid-column:1;grid-row:1}.maze-garden-directions button:nth-child(3){grid-column:2;grid-row:2}.maze-garden-directions button:nth-child(4){grid-column:2;grid-row:1}.maze-garden-actions{flex-wrap:wrap}.maze-garden-actions button{flex:1 1 60px}.maze-garden-prompt{grid-template-columns:minmax(0,1fr);max-width:320px;text-align:center}.maze-garden-prompt button{grid-column:1;grid-row:auto;max-width:none}.maze-garden-prompt p{max-height:48px;overflow:auto}.maze-garden-details[open]{width:min(460px,calc(100% - 12px));inset-inline-end:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.maze-garden *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Air Hockey: an arcade cabinet, one undistorted playing plane and a compact touch rail. */
.game-surface .air-hockey-modern{background:#101e2b;color:#ecf7fa}.game-surface .air-hockey-modern .gamebar{height:54px;min-height:54px;padding:2px 10px;box-sizing:border-box;background:#152b3b;border-bottom:1px solid #4d7281;color:#eaf9ff}.game-surface .air-hockey-modern .gamebar>button{min-height:48px;height:48px;min-width:48px;background:#284452;color:#f3fbff}
.air-hockey-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:32px minmax(220px,1fr) 28px 104px;gap:6px;flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:8px;box-sizing:border-box;overflow:auto}
.air-hockey-score{display:flex;align-items:flex-start;align-items:safe center;justify-content:flex-start;gap:7px;overflow-x:auto;white-space:nowrap;min-width:0;font-size:12px;font-variant-numeric:tabular-nums}.air-hockey-score>*{flex-shrink:0}.air-hockey-score strong{font-size:21px;letter-spacing:.08em;color:#fff}.air-hockey-score>span:first-child{color:#9de6f3}.air-hockey-score>span:nth-child(3){color:#ffb3a0}.air-hockey-score small{margin-inline-start:auto;padding:3px 7px;border:1px solid #587b87;border-radius:5px}
.air-hockey-stage{position:relative;min-width:0;min-height:220px;overflow:hidden;border-radius:16px;background:#122735;box-shadow:inset 0 0 0 1px #476674;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.air-hockey-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.air-hockey-stage canvas[hidden]{display:none}.air-hockey-stage:focus-visible{outline:3px solid #f6be7c;outline-offset:-3px}
.air-hockey-status{margin:0;min-height:0;min-width:0;display:flex;align-items:safe center;justify-content:center;text-align:center;overflow:auto;color:#c1e7ee;font-size:12px;line-height:1.3}
.air-hockey-rail{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(48px,auto) minmax(48px,auto);gap:6px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.air-hockey-directions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px;direction:ltr}
.air-hockey-modern button,.air-hockey-modern select,.air-hockey-modern input{font-family:inherit;box-sizing:border-box}.air-hockey-modern button{cursor:pointer;min-height:48px;min-width:48px;border:1px solid #5b8592;border-radius:9px;background:#264555;color:#f3fcff;line-height:1.2;font-size:13px;padding:7px 9px;overflow-wrap:anywhere}.air-hockey-modern button:disabled{opacity:.55;cursor:default}.air-hockey-modern button:focus-visible,.air-hockey-modern summary:focus-visible,.air-hockey-modern select:focus-visible,.air-hockey-modern input:focus-visible{outline:3px solid #efb875;outline-offset:-3px}.air-hockey-directions button{font-size:24px;font-weight:800;background:#264c5f;border-color:#76a2b0;touch-action:none}.air-hockey-directions button:active{background:#397489}
.air-hockey-actions{display:flex;gap:6px;min-width:0}.air-hockey-actions button{flex:1;min-width:0;padding-inline:4px;font-size:12px}.air-hockey-prompt{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;width:min(490px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;box-sizing:border-box;background:#102a3af0;border:1px solid #8bb3bd;border-radius:12px;padding:10px;box-shadow:0 6px 20px #0005}.air-hockey-prompt strong{font-size:16px;line-height:1.2}.air-hockey-prompt p{grid-column:1;margin:0;font-size:12px;line-height:1.35}.air-hockey-prompt>button,.air-hockey-prompt>div{grid-column:2;grid-row:1/3;max-width:160px}.air-hockey-prompt>div{display:flex;flex-direction:column;gap:6px}.air-hockey-prompt button{background:#a9e4ed;color:#15303e;font-weight:750}
.air-hockey-details{z-index:5;min-width:0;background:#1b3545;border:1px solid #63838d;border-radius:9px;box-sizing:border-box}.air-hockey-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:5px 10px;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:700;touch-action:manipulation}.air-hockey-details[open]{position:absolute;inset-inline-end:8px;bottom:8px;width:min(460px,calc(100% - 16px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 10px 32px #0007;overscroll-behavior:contain}.air-hockey-details[open] summary{position:sticky;top:0;background:#1b3545;z-index:1}.air-hockey-details p{font-size:13px;line-height:1.5;margin:9px 0}.air-hockey-details label{display:flex;flex-direction:column;gap:5px;min-width:0;margin:9px 0;font-size:12px}.air-hockey-details select{min-height:48px;max-width:100%;background:#163141;color:#effaff;border:1px solid #7095a0;border-radius:7px;padding:8px}.air-hockey-modes,.air-hockey-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.air-hockey-modes button[aria-pressed=true]{background:#acdfe6;color:#16313e}.air-hockey-volumes input{width:100%;min-height:48px;margin:0;accent-color:#7bd0df}
@media(max-width:400px){.air-hockey-main{padding:6px;gap:5px}.air-hockey-score{font-size:11px;gap:5px}.air-hockey-score strong{font-size:18px}.air-hockey-prompt{padding:8px;gap:4px 6px}.air-hockey-prompt strong{font-size:14px}.air-hockey-prompt>button,.air-hockey-prompt>div{max-width:120px}}
@media(orientation:landscape) and (max-height:600px){.air-hockey-main{grid-template-columns:minmax(0,1fr) clamp(160px,27vw,240px);grid-template-rows:32px 28px minmax(0,1fr);padding:6px;gap:6px;max-width:none;overflow:hidden}.air-hockey-stage{grid-column:1;grid-row:1/4;min-height:0}.air-hockey-score{grid-column:2;grid-row:1;font-size:11px;gap:5px}.air-hockey-score strong{font-size:16px}.air-hockey-status{grid-column:2;grid-row:2;font-size:11px}.air-hockey-rail{grid-column:2;grid-row:3;display:flex;flex-direction:column;overflow:auto}.air-hockey-rail>*{flex-shrink:0}.air-hockey-directions{grid-template-columns:repeat(2,minmax(48px,1fr));grid-template-rows:48px 48px}.air-hockey-directions button:nth-child(1){grid-column:1;grid-row:2}.air-hockey-directions button:nth-child(2){grid-column:1;grid-row:1}.air-hockey-directions button:nth-child(3){grid-column:2;grid-row:2}.air-hockey-directions button:nth-child(4){grid-column:2;grid-row:1}.air-hockey-prompt{grid-template-columns:minmax(0,1fr);max-width:310px;text-align:center}.air-hockey-prompt>button,.air-hockey-prompt>div{grid-column:1;grid-row:auto;max-width:none}.air-hockey-prompt>div{flex-direction:row}.air-hockey-prompt>div button{flex:1;min-width:0}.air-hockey-prompt p{max-height:44px;overflow:auto}.air-hockey-details[open]{width:min(460px,calc(100% - 12px));inset-inline-end:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.air-hockey-modern *{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* Memory Rush: a warm musical instrument; semantic pads share the camera's exact top rectangles. */
.game-surface .memory-studio{background:#eee5d3;color:#2e3930}.game-surface .memory-studio .gamebar{height:54px;min-height:54px;padding:2px 10px;box-sizing:border-box;background:#e4d5b9;border-bottom:1px solid #b7a080;color:#303e32}.game-surface .memory-studio .gamebar>button{min-height:48px;height:48px;min-width:48px;background:#f9f2e3;color:#344637}
.memory-studio-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:32px minmax(220px,1fr) 36px 104px;gap:6px;flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:8px;box-sizing:border-box;overflow:auto}
.memory-studio-score{display:flex;align-items:safe center;justify-content:flex-start;gap:10px;overflow-x:auto;white-space:nowrap;min-width:0;font-size:12px;font-variant-numeric:tabular-nums}.memory-studio-score>*{flex-shrink:0}.memory-studio-score strong{font-size:16px;color:#38533e}.memory-studio-score small{margin-inline-start:auto;padding:3px 7px;border:1px solid #ac966f;border-radius:5px}
.memory-studio-stage{position:relative;min-width:0;min-height:220px;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 50% 45%,#fbf3dc,#d6c5a8);box-shadow:inset 0 0 0 1px #b5a083;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.memory-studio-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.memory-studio-stage canvas[hidden]{display:none}.memory-studio-stage:focus-visible{outline:3px solid #8b542d;outline-offset:-3px}
.memory-studio button,.memory-studio select,.memory-studio input{font-family:inherit;box-sizing:border-box}.memory-studio button{cursor:pointer;min-height:48px;min-width:48px;border:1px solid #9a825e;border-radius:9px;background:#f8f0dc;color:#304235;line-height:1.2;font-size:13px;padding:7px 9px;overflow-wrap:anywhere}.memory-studio button:disabled{opacity:.55;cursor:default}.memory-studio button:focus-visible,.memory-studio summary:focus-visible,.memory-studio select:focus-visible,.memory-studio input:focus-visible{outline:3px solid #69431f;outline-offset:-3px}
.memory-studio-stage .memory-studio-pad{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;border:2px solid #fff6;border-bottom:5px solid #0003;border-radius:9px;background:var(--pad-color,#d1b883);color:#183529;box-shadow:inset 0 2px 4px #fffa,0 4px 6px #3b2b3033;padding:4px;touch-action:none;overflow:hidden;direction:ltr;transition:filter .08s,box-shadow .08s}.memory-studio-stage .memory-studio-pad:disabled{opacity:1;cursor:default}.memory-studio-pad span{font-size:clamp(18px,4vw,30px);line-height:1;pointer-events:none}.memory-studio-pad strong{font-size:clamp(21px,5vw,36px);line-height:1;pointer-events:none;text-shadow:0 1px 1px #fff9}.memory-studio-stage[data-graphics=webgl] .memory-studio-pad{background:transparent;border-color:transparent;box-shadow:none}.memory-studio-pad[data-lit=true],.memory-studio-pad[data-feedback=accepted]{filter:brightness(1.22);box-shadow:inset 0 0 0 4px #fff9,0 0 16px #fff9}.memory-studio-stage[data-graphics=webgl] .memory-studio-pad[data-lit=true],.memory-studio-stage[data-graphics=webgl] .memory-studio-pad[data-feedback=accepted]{box-shadow:inset 0 0 0 3px #fffffff0}.memory-studio-pad[data-feedback=wrong]{outline:4px dashed #6e2521;outline-offset:-5px}.memory-studio-pad:focus-visible{outline:3px solid #213d30;outline-offset:-4px}
.memory-studio-status{margin:0;min-height:0;min-width:0;display:flex;flex-wrap:wrap;align-items:safe center;justify-content:center;gap:2px 10px;text-align:center;overflow:auto;color:#46563d;font-size:12px;line-height:1.3}.memory-studio-status strong{color:#3d583e}.memory-studio-status span{font-size:11px}
.memory-studio-rail{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(48px,auto) minmax(48px,auto);gap:6px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.memory-studio-actions{display:flex;gap:6px;min-width:0}.memory-studio-actions button{flex:1;min-width:48px;padding-inline:4px;font-size:12px}
.memory-studio-prompt{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;width:min(490px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;box-sizing:border-box;background:#faf2dfF5;border:1px solid #ae9064;border-radius:12px;padding:10px;box-shadow:0 6px 20px #4f362d33}.memory-studio-prompt strong{font-size:16px;line-height:1.2}.memory-studio-prompt p{grid-column:1;margin:0;font-size:12px;line-height:1.35}.memory-studio-prompt>button,.memory-studio-prompt>div{grid-column:2;grid-row:1/3;max-width:160px}.memory-studio-prompt>div{display:flex;flex-direction:column;gap:6px}.memory-studio-prompt button{background:#4a6b4e;color:#fff9e9;font-weight:750}
.memory-studio-details{z-index:5;min-width:0;background:#f6edd9;border:1px solid #aa9471;border-radius:9px;box-sizing:border-box}.memory-studio-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:5px 10px;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:700;touch-action:manipulation}.memory-studio-details[open]{position:absolute;inset-inline-end:8px;bottom:8px;width:min(460px,calc(100% - 16px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 10px 32px #4b2f2844;overscroll-behavior:contain}.memory-studio-details[open] summary{position:sticky;top:0;background:#f6edd9;z-index:1}.memory-studio-details p{font-size:13px;line-height:1.5;margin:9px 0}.memory-studio-details label{display:flex;flex-direction:column;gap:5px;min-width:0;margin:9px 0;font-size:12px}.memory-studio-details select{min-height:48px;max-width:100%;background:#fff8e8;color:#304835;border:1px solid #b49b73;border-radius:7px;padding:8px}.memory-studio-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-studio-volumes input{width:100%;min-height:48px;margin:0;accent-color:#52764f}
@media(max-width:400px){.memory-studio-main{padding:6px;gap:5px}.memory-studio-score{font-size:11px;gap:6px}.memory-studio-score strong{font-size:14px}.memory-studio-prompt{padding:8px;gap:4px 6px}.memory-studio-prompt strong{font-size:14px}.memory-studio-prompt>button,.memory-studio-prompt>div{max-width:120px}}
@media(orientation:landscape) and (max-height:600px){.memory-studio-main{grid-template-columns:minmax(0,1fr) clamp(160px,27vw,240px);grid-template-rows:32px 36px minmax(0,1fr);padding:6px;gap:6px;max-width:none;overflow:hidden}.memory-studio-stage{grid-column:1;grid-row:1/4;min-height:0}.memory-studio-score{grid-column:2;grid-row:1;font-size:11px;gap:5px}.memory-studio-score strong{font-size:13px}.memory-studio-status{grid-column:2;grid-row:2;font-size:11px}.memory-studio-rail{grid-column:2;grid-row:3;display:flex;flex-direction:column;overflow:auto}.memory-studio-rail>*{flex-shrink:0}.memory-studio-actions{flex-wrap:wrap}.memory-studio-actions button{flex:1 1 60px}.memory-studio-prompt{grid-template-columns:minmax(0,1fr);max-width:310px;text-align:center}.memory-studio-prompt>button,.memory-studio-prompt>div{grid-column:1;grid-row:auto;max-width:none}.memory-studio-prompt>div{flex-direction:row}.memory-studio-prompt>div button{flex:1;min-width:48px}.memory-studio-prompt p{max-height:44px;overflow:auto}.memory-studio-details[open]{width:min(460px,calc(100% - 12px));inset-inline-end:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.memory-studio *{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* Pulse Snake: an abyssal research deck, with the full board above a separate 48px direction pad. */
.game-surface .pulse-abyss{background:#102d38;color:#e2edeb}.game-surface .pulse-abyss .gamebar{height:54px;min-height:54px;padding:2px 10px;box-sizing:border-box;background:#183e49;border-bottom:1px solid #55727a;color:#eff5eb}.game-surface .pulse-abyss .gamebar>button{min-height:48px;height:48px;min-width:48px;background:#2b5260;color:#f0f6eb}
.pulse-abyss-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:32px minmax(230px,1fr) 36px 104px;gap:6px;flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:8px;box-sizing:border-box;overflow:auto}
.pulse-abyss-score{display:flex;align-items:safe center;justify-content:flex-start;gap:10px;overflow-x:auto;white-space:nowrap;min-width:0;font-size:12px;font-variant-numeric:tabular-nums}.pulse-abyss-score>*{flex-shrink:0}.pulse-abyss-score strong{font-size:16px;color:#f4bc85}.pulse-abyss-score small{margin-inline-start:auto;padding:3px 7px;border:1px solid #68878e;border-radius:4px}
.pulse-abyss-stage{position:relative;min-width:0;min-height:230px;overflow:hidden;border-radius:12px;background:#091f2a;box-shadow:inset 0 0 0 1px #597681;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.pulse-abyss-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pulse-abyss-stage canvas[hidden]{display:none}.pulse-abyss-stage:focus-visible{outline:3px solid #f3b477;outline-offset:-3px}
.pulse-abyss button,.pulse-abyss select,.pulse-abyss input{font-family:inherit;box-sizing:border-box}.pulse-abyss button{cursor:pointer;min-height:48px;min-width:48px;border:1px solid #6f929b;border-radius:7px;background:#2c5260;color:#eff8ef;line-height:1.2;font-size:13px;padding:7px 9px;overflow-wrap:anywhere;touch-action:manipulation}.pulse-abyss button:disabled{opacity:.5;cursor:default}.pulse-abyss button:focus-visible,.pulse-abyss summary:focus-visible,.pulse-abyss select:focus-visible,.pulse-abyss input:focus-visible{outline:3px solid #ffc586;outline-offset:-3px}
.pulse-abyss-status{margin:0;min-height:0;min-width:0;display:flex;flex-wrap:wrap;align-items:safe center;justify-content:center;gap:2px 10px;text-align:center;overflow:auto;color:#b8d3d3;font-size:12px;line-height:1.3}.pulse-abyss-status strong{color:#d5eee3}.pulse-abyss-status span{font-size:11px}
.pulse-abyss-rail{display:grid;grid-template-columns:156px minmax(0,1fr);grid-template-rows:minmax(48px,auto) minmax(50px,auto);gap:6px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.pulse-abyss-pad{grid-column:1;grid-row:1/3;display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:6px;direction:ltr;align-content:center;justify-content:center}.pulse-abyss-pad .pulse-abyss-direction{min-width:48px;min-height:48px;width:48px;height:48px;padding:0;touch-action:none;font-size:27px;line-height:1;background:#4b6570;border-color:#adc0c2;box-shadow:inset 0 -3px 0 #192d35}.pulse-abyss-direction.up{grid-column:2;grid-row:1}.pulse-abyss-direction.left{grid-column:1;grid-row:2}.pulse-abyss-direction.down{grid-column:2;grid-row:2}.pulse-abyss-direction.right{grid-column:3;grid-row:2}.pulse-abyss-direction[data-held=true]{background:#bf7948;color:#fff9ee;box-shadow:inset 0 2px 0 #583a2b}.pulse-abyss-direction span{pointer-events:none}
.pulse-abyss-actions{grid-column:2;grid-row:1;display:flex;gap:6px;min-width:0}.pulse-abyss-actions button{flex:1;min-width:48px;padding-inline:4px;font-size:12px}
.pulse-abyss-prompt{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;width:min(490px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;box-sizing:border-box;background:#173b46f5;border:1px solid #9bb6b8;border-radius:10px;padding:10px;box-shadow:0 6px 20px #020f1855}.pulse-abyss-prompt strong{font-size:16px;line-height:1.2}.pulse-abyss-prompt p{grid-column:1;margin:0;font-size:12px;line-height:1.35}.pulse-abyss-prompt>button,.pulse-abyss-prompt>div{grid-column:2;grid-row:1/3;max-width:160px}.pulse-abyss-prompt>div{display:flex;flex-direction:column;gap:6px}.pulse-abyss-prompt button{background:#e4a16b;color:#182b31;border-color:#f8c794;font-weight:750}
.pulse-abyss-details{grid-column:2;grid-row:2;z-index:5;min-width:0;background:#234853;border:1px solid #6b8c94;border-radius:7px;box-sizing:border-box}.pulse-abyss-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:5px 10px;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:700;touch-action:manipulation}.pulse-abyss-details[open]{position:absolute;inset-inline-end:8px;bottom:8px;width:min(460px,calc(100% - 16px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 10px 32px #020c1555;overscroll-behavior:contain}.pulse-abyss-details[open] summary{position:sticky;top:0;background:#234853;z-index:1}.pulse-abyss-details p{font-size:13px;line-height:1.5;margin:9px 0}.pulse-abyss-details label{display:flex;flex-direction:column;gap:5px;min-width:0;margin:9px 0;font-size:12px}.pulse-abyss-details select{min-height:48px;max-width:100%;background:#16333e;color:#ecf8ed;border:1px solid #8fa6ac;border-radius:6px;padding:8px}.pulse-abyss-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pulse-abyss-volumes input{width:100%;min-height:48px;margin:0;accent-color:#e6a26d}
@media(max-width:400px){.pulse-abyss-main{padding:6px;gap:5px}.pulse-abyss-score{font-size:11px;gap:6px}.pulse-abyss-score strong{font-size:14px}.pulse-abyss-prompt{padding:8px;gap:4px 6px}.pulse-abyss-prompt strong{font-size:14px}.pulse-abyss-prompt>button,.pulse-abyss-prompt>div{max-width:120px}}
@media(orientation:landscape) and (max-height:600px){.pulse-abyss-main{grid-template-columns:minmax(0,1fr) clamp(166px,25vw,220px);grid-template-rows:32px 36px minmax(0,1fr);padding:6px;gap:6px;max-width:none;overflow:hidden}.pulse-abyss-stage{grid-column:1;grid-row:1/4;min-height:0}.pulse-abyss-score{grid-column:2;grid-row:1;font-size:11px;gap:5px}.pulse-abyss-score strong{font-size:13px}.pulse-abyss-status{grid-column:2;grid-row:2;font-size:11px}.pulse-abyss-rail{grid-column:2;grid-row:3;display:flex;flex-direction:column;overflow:auto}.pulse-abyss-rail>*{flex-shrink:0}.pulse-abyss-pad{height:102px;min-height:102px}.pulse-abyss-actions{flex-wrap:wrap}.pulse-abyss-actions button{flex:1 1 60px}.pulse-abyss-prompt{grid-template-columns:minmax(0,1fr);max-width:310px;text-align:center}.pulse-abyss-prompt>button,.pulse-abyss-prompt>div{grid-column:1;grid-row:auto;max-width:none}.pulse-abyss-prompt>div{flex-direction:row}.pulse-abyss-prompt>div button{flex:1;min-width:48px}.pulse-abyss-prompt p{max-height:44px;overflow:auto}.pulse-abyss-details[open]{width:min(460px,calc(100% - 12px));inset-inline-end:6px;bottom:6px}}
@media(orientation:portrait) and (max-height:520px){.pulse-abyss-main{grid-template-rows:28px minmax(230px,1fr) 30px 104px;gap:4px}}
@media(prefers-reduced-motion:reduce){.pulse-abyss *{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* Neon Stack: architectural harbor foundry. The active top and full tower retain separate labelled views. */
.game-surface .neon-forge{background:#e7ddcc;color:#353f44}.game-surface .neon-forge .gamebar{height:54px;min-height:54px;padding:2px 10px;box-sizing:border-box;background:#d5c6ac;border-bottom:1px solid #a5987e;color:#263b43}.game-surface .neon-forge .gamebar>button{min-height:48px;height:48px;min-width:48px;background:#f4ead8;color:#334a54}
.neon-forge-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:32px minmax(230px,1fr) 44px 104px;gap:6px;flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:8px;box-sizing:border-box;overflow:auto}
.neon-forge-score{display:flex;align-items:safe center;justify-content:flex-start;gap:10px;overflow-x:auto;white-space:nowrap;min-width:0;font-size:12px;font-variant-numeric:tabular-nums}.neon-forge-score>*{flex-shrink:0}.neon-forge-score strong{font-size:16px;color:#614930}.neon-forge-score small{margin-inline-start:auto;padding:3px 7px;border:1px solid #b5a78c;border-radius:4px}
.neon-forge-stage{position:relative;min-width:0;min-height:230px;overflow:hidden;border-radius:10px;background:#d8d1bd;box-shadow:inset 0 0 0 1px #a79c84;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.neon-forge-placement-plane{position:absolute;inset:0;z-index:0;touch-action:none}.neon-forge-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.neon-forge-stage canvas[hidden]{display:none}.neon-forge-stage:focus-visible{outline:3px solid #365969;outline-offset:-3px}.neon-forge-view-label{position:absolute;z-index:1;box-sizing:border-box;display:flex;align-items:safe center;justify-content:safe center;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;overflow-wrap:anywhere;font-size:10px;line-height:1.1;text-align:center;color:#314952;background:#efe9dcd9;pointer-events:auto;padding:1px 3px;border-radius:3px}
.neon-forge button,.neon-forge select,.neon-forge input{font-family:inherit;box-sizing:border-box}.neon-forge button{cursor:pointer;min-height:48px;min-width:48px;border:1px solid #a68c63;border-radius:6px;background:#f7eedb;color:#30454e;line-height:1.2;font-size:13px;padding:7px 9px;overflow-wrap:anywhere;touch-action:manipulation}.neon-forge button:disabled{opacity:.58;cursor:default}.neon-forge button:focus-visible,.neon-forge summary:focus-visible,.neon-forge select:focus-visible,.neon-forge input:focus-visible{outline:3px solid #294f60;outline-offset:-3px}
.neon-forge-status{margin:0;min-height:0;min-width:0;display:flex;flex-wrap:wrap;align-items:safe center;justify-content:center;gap:2px 10px;text-align:center;overflow:auto;color:#586267;font-size:12px;line-height:1.3}.neon-forge-status strong{color:#55442f}.neon-forge-status span{font-size:11px}
.neon-forge-rail{display:grid;grid-template-columns:minmax(104px,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(48px,auto) minmax(50px,auto);gap:6px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.neon-forge-rail .neon-forge-place{grid-column:1;grid-row:1/3;min-height:64px;align-self:stretch;background:#466675;border-color:#36525e;color:#fffaea;font-size:17px;font-weight:750;box-shadow:inset 0 -4px 0 #253f4a;touch-action:pan-y}.neon-forge-place span,.neon-forge-place small{display:block;pointer-events:none}.neon-forge-place small{font-size:11px;font-weight:500;margin-top:6px}.neon-forge-place:active{background:#5c7c89;box-shadow:inset 0 2px 0 #253f4a}
.neon-forge-actions{grid-column:2;grid-row:1;display:flex;gap:6px;min-width:0}.neon-forge-actions button{flex:1;min-width:48px;padding-inline:4px;font-size:12px}
.neon-forge-prompt{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;width:min(490px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;box-sizing:border-box;background:#f8efdbf5;border:1px solid #a18c67;border-radius:9px;padding:10px;box-shadow:0 6px 20px #403b3055}.neon-forge-prompt strong{font-size:16px;line-height:1.2}.neon-forge-prompt p{grid-column:1;margin:0;font-size:12px;line-height:1.35}.neon-forge-prompt>button,.neon-forge-prompt>div{grid-column:2;grid-row:1/3;max-width:160px}.neon-forge-prompt>div{display:flex;flex-direction:column;gap:6px}.neon-forge-prompt button{background:#526d75;color:#fff9e9;border-color:#3e5f68;font-weight:750}
.neon-forge-details{grid-column:2;grid-row:2;z-index:5;min-width:0;background:#ece0c8;border:1px solid #ab9772;border-radius:6px;box-sizing:border-box}.neon-forge-details summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:5px 10px;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:700;touch-action:manipulation}.neon-forge-details[open]{position:absolute;inset-inline-end:8px;bottom:8px;width:min(460px,calc(100% - 16px));max-height:calc(100% - 16px);padding:0 12px 12px;overflow:auto;box-shadow:0 10px 32px #3b382c55;overscroll-behavior:contain}.neon-forge-details[open] summary{position:sticky;top:0;background:#ece0c8;z-index:1}.neon-forge-details p{font-size:13px;line-height:1.5;margin:9px 0}.neon-forge-details label{display:flex;flex-direction:column;gap:5px;min-width:0;margin:9px 0;font-size:12px}.neon-forge-details select{min-height:48px;max-width:100%;background:#fff5df;color:#30454e;border:1px solid #a48a61;border-radius:5px;padding:8px}.neon-forge-volumes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.neon-forge-volumes input{width:100%;min-height:48px;margin:0;accent-color:#4d7382}
@media(max-width:400px){.neon-forge-main{padding:6px;gap:5px}.neon-forge-score{font-size:11px;gap:6px}.neon-forge-score strong{font-size:14px}.neon-forge-prompt{padding:8px;gap:4px 6px}.neon-forge-prompt strong{font-size:14px}.neon-forge-prompt>button,.neon-forge-prompt>div{max-width:120px}.neon-forge-rail .neon-forge-place{font-size:15px}}
@media(orientation:landscape) and (max-height:600px){.neon-forge-main{grid-template-columns:minmax(0,1fr) clamp(166px,25vw,220px);grid-template-rows:32px 44px minmax(0,1fr);padding:6px;gap:6px;max-width:none;overflow:hidden}.neon-forge-stage{grid-column:1;grid-row:1/4;min-height:0}.neon-forge-score{grid-column:2;grid-row:1;font-size:11px;gap:5px}.neon-forge-score strong{font-size:13px}.neon-forge-status{grid-column:2;grid-row:2;font-size:11px}.neon-forge-rail{grid-column:2;grid-row:3;display:flex;flex-direction:column;overflow:auto}.neon-forge-rail>*{flex-shrink:0}.neon-forge-rail .neon-forge-place{min-height:64px;width:100%}.neon-forge-actions{flex-wrap:wrap}.neon-forge-actions button{flex:1 1 60px}.neon-forge-prompt{grid-template-columns:minmax(0,1fr);max-width:310px;text-align:center}.neon-forge-prompt>button,.neon-forge-prompt>div{grid-column:1;grid-row:auto;max-width:none}.neon-forge-prompt>div{flex-direction:row}.neon-forge-prompt>div button{flex:1;min-width:48px}.neon-forge-prompt p{max-height:44px;overflow:auto}.neon-forge-details[open]{width:min(460px,calc(100% - 12px));inset-inline-end:6px;bottom:6px}}
@media(orientation:portrait) and (max-height:520px){.neon-forge-main{grid-template-rows:28px minmax(230px,1fr) 38px 104px;gap:4px}}
@media(prefers-reduced-motion:reduce){.neon-forge *{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* Circuit header contrast: keep the paper ink readable on the shared dark bar. */
.circuit-bloom .gamebar strong{color:#fffefa}
@media(forced-colors:active){.circuit-bloom .gamebar strong{color:CanvasText}}

/* Inline catalogue ads reserve space, span the grid, and never overlap play. */
.grid>.catalog-ad{grid-column:1/-1;box-sizing:border-box;width:100%;margin:20px 0!important}.related-catalog{max-width:1040px;margin:30px auto;padding:0 18px}.related-catalog h2{font-size:24px}.grid>.catalog-ad .adsbygoogle{min-height:250px}
