.game-page{padding:24px 0 45px}.game-breadcrumb{display:flex;gap:10px;color:#7e8796;font-size:10px;margin-bottom:23px}.game-breadcrumb>a:hover{color:var(--accent)}.game-breadcrumb>span:last-child{color:#b7c0c7}.game-page-heading{margin-bottom:25px}.game-page-heading h1{font-size:37px;letter-spacing:-1.4px;margin:8px 0 0;display:flex;align-items:center;gap:13px}.game-page-heading .eyebrow{font-size:8px;letter-spacing:.1em}.title-dimension{font-size:9px;padding:4px 7px;border:1px solid #526150;color:#c9dda8;background:#2a332b;border-radius:5px;letter-spacing:.05em;font-weight:700}.heading-actions{display:flex;gap:18px;align-items:center}.game-free{display:flex;gap:6px;align-items:center;font-size:10px;color:#b5c3a4}.game-free .icon{width:13px}.game-layout{grid-template-columns:minmax(0,1fr) 242px;gap:23px;align-items:start}.game-stage{border-radius:15px;min-height:560px;border:1px solid #424750;background:#172127;position:relative}.game-toolbar{height:51px;background:#1d242c;border-color:#3a414a;padding:0 15px;gap:9px}.game-mark{font-size:21px;color:#b7c3ac}.game-toolbar-buttons{display:flex;align-items:center;gap:5px}.game-toolbar .icon-button{width:29px;height:31px;min-width:29px;border:0;padding:6px;color:#a1aeb8}.game-toolbar .icon-button .icon{width:17px;height:17px}.game-toolbar .icon-button[aria-pressed=false]{opacity:.4}.game-stats{font-size:9px;gap:7px}.game-stats strong{font-size:15px}.game-root{min-height:510px}.world-root{position:relative;height:560px;min-height:0;padding:0;display:block;overflow:hidden;isolation:isolate;touch-action:none;background:#829d9b}.world-canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-3px!important}.world-hud{position:absolute;inset:0;pointer-events:none;color:#f3f3e9;z-index:2;text-shadow:0 2px 10px #12253155;font-variant-numeric:tabular-nums}.world-hud button,.world-hud select{pointer-events:auto}.race-top{position:absolute;left:22px;right:22px;top:19px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.hud-block{background:#152839ba;border:1px solid #ffffff23;border-radius:10px;padding:10px 13px;min-width:66px;backdrop-filter:blur(10px)}.hud-block small{display:block;font-size:8px;letter-spacing:.16em;font-weight:700;color:#c0d6d2;margin-bottom:4px}.hud-block strong{font-size:25px;line-height:1.15;display:block}.hud-block i{font-size:12px;font-style:normal;color:#b4c4c8;font-weight:400}.hud-clock{text-align:center;padding:7px 10px;text-shadow:0 2px 8px #253546;font-size:16px}.hud-clock>span{display:block;font-size:8px;letter-spacing:.17em;margin-bottom:5px;font-weight:650}.hud-clock>strong{font-size:20px;font-weight:650}.race-bottom{position:absolute;left:24px;right:24px;bottom:99px;display:flex;align-items:flex-end;gap:24px}.speedometer{display:flex;align-items:baseline;gap:6px}.speedometer strong{font-size:48px;line-height:.9;font-weight:500;letter-spacing:-2px;color:#fff4dc}.speedometer small{font-size:8px;letter-spacing:.14em;color:#e7efdc}.boost-meter{width:128px}.boost-meter>span{font-size:8px;letter-spacing:.18em;margin-bottom:5px;display:block}.boost-meter progress{display:block;width:100%;height:5px;background:#2b4856}.boost-meter>small{font-size:6px;letter-spacing:.1em;display:block;margin-top:6px;color:#d3e3dc}.garage{display:flex;gap:6px;margin-left:auto}.paint{width:21px;height:21px;border:2px solid #fffffc77;border-radius:50%;color:white;font-size:10px;display:grid;place-items:center;padding:0}.paint-0{background:#ffbb5d}.paint-1{background:#70dccc}.paint-2{background:#bca1ff}.paint.selected{outline:1px solid white;outline-offset:3px}.touch-controls{position:absolute;bottom:17px;left:19px;right:19px;display:flex;justify-content:space-between;gap:12px;z-index:3;pointer-events:none;touch-action:none}.control-group{display:flex;align-items:center;gap:7px;pointer-events:auto}.touch-key{height:49px;min-width:46px;padding:0 13px;background:#183044ba;border:1px solid #e1f1ec44;box-shadow:0 4px 0 #1b30486b;border-radius:11px;color:#f3f6df;font-size:22px;font-weight:600;backdrop-filter:blur(10px);touch-action:none;user-select:none;-webkit-user-select:none}.touch-key.held,.touch-key:active{background:#c4e4a2;color:#25393b;transform:translateY(3px);box-shadow:0 1px 0 #13232c}.touch-key.boost,.touch-key.action,.touch-key.pass{font-size:10px;letter-spacing:.05em;padding:0 17px;background:#d6ef9cdf;border-color:#e3f7b8;color:#31472b;font-weight:800}.touch-key.pass{background:#153343cb;color:#e1f3df}.touch-key.reset{min-width:33px;padding:0 9px;font-size:20px;height:40px}.world-message{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);padding:14px 26px;background:#17303bc9;backdrop-filter:blur(8px);border:1px solid #cbd7b955;border-radius:13px;color:#f0f6db;font-size:30px;font-weight:800;letter-spacing:-.8px;z-index:4;text-align:center;white-space:nowrap;pointer-events:none}.level-chooser{position:absolute;bottom:97px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#f1e9d3}.level-chooser select,.puzzle-3d-bottom select,.golf-bottom select{padding:4px 7px;min-height:30px;font-size:10px;background:#243b44cc;border-color:#9da99b77;color:#e8efda}.level-chooser label{display:flex;gap:9px;align-items:center}.level-chooser>span{background:#1d3543bc;padding:5px 10px;border-radius:6px}.match-scoreboard{position:absolute;top:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:17px;background:#152638e6;border:1px solid #798e943d;padding:10px 20px;border-radius:10px;white-space:nowrap;box-shadow:0 4px 16px #13223721}.match-scoreboard>div{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:700;letter-spacing:.03em}.match-scoreboard strong{font-size:25px;margin:0 5px;line-height:1.2}.team-blue,.team-red{width:5px;height:22px;display:inline-block;border-radius:3px;background:#76c3e8}.team-red{background:#ef8e72}.match-scoreboard .match-clock{font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:0;color:#dcefbe;padding:0 11px;border-left:1px solid #ffffff25;border-right:1px solid #ffffff25}.match-hint{position:absolute;top:84px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.16em;color:#e2edd4;text-shadow:0 2px 8px #102e45}.match-bottom{position:absolute;bottom:95px;left:23px;right:23px;display:flex;justify-content:space-between;gap:12px;font-size:8px;color:#e9f3d8}.match-bottom>span:first-child{background:#193d42d6;padding:5px 9px;border-radius:5px}.match-bottom>span:last-child{font-size:6px;align-self:center;letter-spacing:.03em}.penalty-dots{position:absolute;top:100px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.penalty-dots span{border:1px solid #e4efdf40;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2949579f;font-size:19px;color:#d0dbc4}.penalty-dots .scored{color:#d4f3a1}.penalty-dots .missed{color:#fca991}.power-panel{position:absolute;bottom:102px;left:50%;transform:translateX(-50%);width:230px;max-width:85%;padding:10px 17px;border:1px solid #a5bbae44;border-radius:10px;background:#1e3949d9;text-align:center}.power-panel>span{font-size:9px;font-weight:650;display:block;margin-bottom:7px;letter-spacing:.03em}.power-panel>small{display:block;font-size:6px;letter-spacing:.1em;margin-top:6px;color:#c5d8ba}.power-track{position:relative;height:7px;background:#617a84;border-radius:6px;overflow:hidden}.power-track progress{position:absolute;inset:0;width:100%;height:100%;opacity:.8}.power-track progress::-webkit-progress-value{background:#fffbd8}.power-track progress::-webkit-progress-bar{background:transparent}.sweet-spot{position:absolute;left:51%;width:34%;top:0;bottom:0;background:#92ca6c}.puzzle-3d-bottom{position:absolute;left:22px;right:22px;bottom:22px;display:flex;align-items:center;gap:16px;justify-content:space-between;background:#28324bd4;padding:12px 15px;border:1px solid #c7c0db4d;border-radius:10px;font-size:10px}.puzzle-3d-bottom label{display:flex;gap:8px;align-items:center}.puzzle-3d-bottom>span{font-size:7px;letter-spacing:.12em}.puzzle-3d-bottom button{border:1px solid #9eacc19e;color:#e8edd7;background:#4c5d69;padding:8px 12px;border-radius:6px;font-size:9px;font-weight:750;min-height:33px}.golf-bottom{position:absolute;left:22px;right:22px;bottom:99px;display:flex;align-items:center;gap:15px;justify-content:space-between;font-size:10px}.golf-bottom label{display:flex;align-items:center;gap:7px}.golf-bottom>div{width:120px}.golf-bottom>div>span{display:block;font-size:7px;letter-spacing:.14em;margin-bottom:6px}.golf-bottom progress{height:6px;width:100%;display:block}.golf-bottom>span{max-width:125px;text-align:right;font-size:8px}.game-overlay{inset:51px 0 0}.game-overlay .start-art{opacity:.6;filter:saturate(.85);object-position:center}.game-overlay::after{background:linear-gradient(0deg,#152933 0%,#16303a80 60%,#15343c11)}.start-text h2{font-size:44px;letter-spacing:-1.7px;line-height:1.2}.start-text p{font-size:12px;max-width:380px;line-height:1.8;margin:10px auto 24px}.start-text>small{display:block;margin-top:15px;color:#b6c9c4;font-size:9px}.start-text .eyebrow{font-size:9px;letter-spacing:.13em}.start-text .button{padding:13px 24px;box-shadow:0 4px 25px #09272266}.game-instructions{border-radius:13px;padding:23px 21px;background:#1b2028;border-color:#303741}.game-instructions .eyebrow{font-size:8px}.game-instructions h2{font-size:21px;letter-spacing:-.6px;margin:12px 0 24px;line-height:1.3}.game-instructions ol{padding:0;list-style:none;counter-reset:steps;font-size:11px;line-height:1.9}.game-instructions li{counter-increment:steps;padding:0;margin:0 0 23px;color:#afb9c4}.game-instructions li::before{content:'0' counter(steps);display:block;color:#c5d3ae;font-size:9px;letter-spacing:.1em;font-weight:750;margin-bottom:6px}.instruction-foot{padding-top:19px;font-size:9px;gap:12px;flex-direction:column}.instruction-foot .icon{width:13px;height:13px}.save-note{border-top:1px solid #323c44;padding-top:17px;margin-top:20px;display:flex;gap:8px;font-size:9px;color:#7f958c;line-height:1.8}.save-note .icon{width:13px;height:13px;margin-top:3px}.stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 3px;font-size:9px;color:#818e9e}.stage-bottom>span{display:flex;align-items:center;gap:6px}.stage-bottom .icon{width:13px;height:13px}.stage-bottom>div{display:flex;align-items:center;gap:17px}.stage-bottom button{border:0;background:none;padding:0;font-size:9px;color:#a0aebb;display:flex;gap:6px;align-items:center;min-height:31px}.quality-label{font-size:9px;display:flex;gap:7px;align-items:center}.quality-label select{min-height:28px;padding:4px 7px;font-size:9px;background:#1c2530;border-color:#374151}.game-description{padding:24px 0 32px;max-width:850px}.game-description h2{font-size:18px;letter-spacing:-.4px}.game-description p{font-size:12px;line-height:1.9;color:#9fabba}.related{padding-top:28px}.related .section-heading h2{font-size:25px}.related .game-card:last-child{display:block}.result-overlay{background:#152735ec;backdrop-filter:blur(15px);padding:25px;gap:13px}.result-overlay h2{font-size:39px;letter-spacing:-1px}.result-overlay p{max-width:420px;line-height:1.8;font-size:12px}.result-spark{margin:0 0 6px;line-height:1}.result-spark .icon{width:65px;height:65px;stroke-width:1.1}.result-overlay>.eyebrow{font-size:9px}.result-overlay .button{min-height:43px;font-size:12px}.result-overlay #result-xp{font-size:10px;color:#d3e8a9;padding:4px 13px;border-radius:30px;background:#d2f87514}.result-overlay #result-xp:empty{display:none}.pause-overlay{background:#172936e8;gap:18px}.pause-overlay .text-button{padding-top:4px;color:#a9b9be}.loading-state{color:#d3e4cb;display:grid;place-items:center;min-height:510px;font-size:13px}.loading-state::before{content:'';width:34px;height:34px;border:2px solid #d2f87530;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:15px}.load-error{max-width:450px;margin:auto;text-align:center;padding:50px 25px;color:#d4dfdf;line-height:1.9}.load-error p{font-size:12px;margin-bottom:20px}.load-error a{display:inline-flex;margin:4px;font-size:12px}.game-stage:is(:fullscreen,.is-fullscreen){width:100vw;height:100dvh;border:0;border-radius:0;background:#172731;display:flex;flex-direction:column}.game-stage:is(:fullscreen,.is-fullscreen) .game-root{flex:1;height:calc(100dvh - 51px);min-height:0}.game-stage:is(:fullscreen,.is-fullscreen) .game-overlay{height:calc(100dvh - 51px)}.theatre-mode .sidebar,.theatre-mode .game-instructions{display:none}.theatre-mode .page-shell{margin-left:0;max-width:none}.theatre-mode .game-layout{grid-template-columns:1fr}.theatre-mode .world-root{height:min(76vh,950px)}.theatre-mode .game-page{max-width:1700px;margin:auto}.theatre-mode .game-stage{min-height:0}.game-root:not(.world-root){background-image:radial-gradient(ellipse at 50% 30%,#ffffff05,transparent 65%)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:30px}.world-root{height:690px}.game-instructions{padding:28px}.game-instructions ol{font-size:12px}.game-instructions h2{font-size:24px}}
@media(max-width:1250px){.game-layout{grid-template-columns:minmax(0,1fr) 210px;gap:19px}.game-instructions{padding:20px 17px}.game-instructions h2{font-size:20px}.game-instructions ol{font-size:10px}.world-root{height:520px}.race-top{left:16px;right:16px;top:16px;gap:8px}.hud-block{padding:8px 10px;min-width:58px}.hud-block strong{font-size:22px}.hud-block small{font-size:7px}.hud-clock>span{font-size:7px}.hud-clock>strong{font-size:16px}.race-bottom{left:19px;right:19px;gap:18px}.speedometer strong{font-size:39px}.boost-meter{width:95px}.touch-controls{left:14px;right:14px;gap:8px}.control-group{gap:5px}.touch-key{min-width:37px;padding:0 10px;height:45px;border-radius:9px;font-size:20px}.touch-key.action,.touch-key.boost,.touch-key.pass{padding:0 12px;font-size:9px}.match-scoreboard{gap:10px;padding:9px 12px}.match-scoreboard>div{gap:6px;font-size:8px}.match-scoreboard strong{font-size:22px}.match-scoreboard .match-clock{font-size:14px}.match-bottom>span:last-child{display:none}.puzzle-3d-bottom{left:16px;right:16px;gap:10px;font-size:9px;padding:11px}.puzzle-3d-bottom>span{display:none}.golf-bottom{left:16px;right:16px;gap:10px}.golf-bottom>span{font-size:7px}.golf-bottom>div{width:90px}.stage-bottom{gap:7px}.stage-bottom>div{gap:10px}.stage-bottom>span{font-size:8px}.quality-label{font-size:8px}.start-text h2{font-size:38px}}
@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr)}.game-instructions{display:block;padding:23px}.game-instructions h2{font-size:22px;margin:9px 0 19px}.game-instructions ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:11px;margin-bottom:0}.game-instructions li{margin:0 0 17px}.instruction-foot{flex-direction:row;font-size:10px}.save-note{font-size:10px;margin-top:13px;padding-top:13px}.world-root{height:570px}.hud-block{padding:10px 14px}.hud-block strong{font-size:27px}.hud-clock>strong{font-size:21px}.hud-clock>span{font-size:8px}.touch-key{min-width:49px;height:51px;font-size:23px}.touch-key.action,.touch-key.pass,.touch-key.boost{padding:0 18px;font-size:11px}.touch-controls{left:22px;right:22px;bottom:21px}.control-group{gap:8px}.golf-bottom>div{width:130px}.golf-bottom>span{font-size:9px}.race-top{left:22px;right:22px;top:20px}.race-bottom{bottom:107px;left:25px;right:25px}.world-message{font-size:30px}.game-stats{font-size:10px}.game-toolbar .icon-button{width:33px;height:33px;min-width:33px}.game-root:not(.world-root){min-height:535px}.game-stage{min-height:585px}}
@media(max-width:720px){.game-page{padding-top:21px}.game-breadcrumb{font-size:9px;gap:8px;margin-bottom:21px}.game-page-heading h1{font-size:30px;letter-spacing:-1px;gap:10px}.game-page-heading{margin-bottom:22px;gap:10px}.game-page-heading .eyebrow{font-size:7px}.title-dimension{font-size:8px;padding:3px 5px}.heading-actions{gap:8px}.game-free{display:none}.game-page-heading>.heading-actions>.favorite{min-width:35px;width:35px;height:35px}.game-stage{border-radius:12px;min-height:535px}.game-toolbar{height:47px;padding:0 10px;gap:7px}.game-toolbar .icon-button{width:27px;height:30px;min-width:27px;padding:5px}.game-toolbar .icon-button .icon{width:15px;height:15px}.game-toolbar-buttons{gap:2px}.game-mark{font-size:19px}.game-stats{font-size:8px;gap:5px}.game-stats strong{font-size:13px}.stat-divider{margin:0 1px}.game-overlay{inset:47px 0 0}.world-root{height:545px}.game-root:not(.world-root){min-height:487px}.race-top{left:12px;right:12px;top:14px;gap:7px}.hud-block{padding:8px 9px;min-width:52px;border-radius:8px}.hud-block strong{font-size:22px}.hud-block small{font-size:6px;letter-spacing:.1em}.hud-block i{font-size:10px}.hud-clock{padding:7px 2px}.hud-clock>span{font-size:6px;letter-spacing:.08em}.hud-clock>strong{font-size:15px}.race-bottom{left:16px;right:16px;bottom:97px;gap:18px}.speedometer strong{font-size:38px}.speedometer small{font-size:6px}.boost-meter{width:90px}.boost-meter>span{font-size:7px}.boost-meter>small{font-size:5px}.paint{width:17px;height:17px}.garage{gap:5px}.touch-controls{left:11px;right:11px;bottom:21px;gap:7px}.control-group{gap:5px}.touch-key{min-width:37px;height:47px;padding:0 10px;font-size:22px;border-radius:9px}.touch-key.action,.touch-key.pass,.touch-key.boost{padding:0 10px;font-size:9px}.touch-key.reset{min-width:28px;padding:0 6px;font-size:19px;height:35px}.touch-key.boost{font-size:8px;padding:0 9px}.world-message{font-size:24px;padding:13px 21px;white-space:normal;max-width:90%;width:max-content}.level-chooser{left:14px;right:14px;bottom:96px;font-size:9px}.level-chooser select,.puzzle-3d-bottom select,.golf-bottom select{font-size:9px}.match-scoreboard{top:17px;gap:9px;padding:10px 12px;border-radius:8px}.match-scoreboard>div{font-size:7px;gap:5px}.match-scoreboard strong{font-size:21px;margin:0 3px}.match-scoreboard .match-clock{font-size:13px;padding:0 7px}.team-blue,.team-red{height:17px;width:4px}.match-hint{font-size:6px;letter-spacing:.06em;top:80px}.match-bottom{bottom:93px;left:14px;font-size:7px}.penalty-dots{top:93px;gap:8px}.penalty-dots span{width:21px;height:21px;font-size:17px}.power-panel{bottom:98px;width:200px;padding:10px 14px}.power-panel>span{font-size:8px}.power-panel>small{font-size:5px}.puzzle-3d-bottom{bottom:22px;left:13px;right:13px;padding:10px 12px;font-size:9px}.puzzle-3d-bottom button{font-size:9px;padding:7px 10px}.golf-bottom{bottom:95px;left:14px;right:14px;gap:10px;font-size:9px}.golf-bottom>div{width:94px}.golf-bottom>div>span{font-size:6px}.golf-bottom>span{display:none}.golf-bottom label{gap:5px}.stage-bottom{font-size:8px;padding:9px 0;gap:5px}.stage-bottom>span{font-size:7px;gap:4px}.stage-bottom>div{gap:8px}.stage-bottom button{font-size:8px;gap:4px}.stage-bottom .icon{width:11px;height:11px}.quality-label{gap:5px;font-size:7px}.quality-label select{font-size:8px;padding:3px 4px;min-height:26px}.game-instructions{padding:21px;border-radius:12px}.game-instructions h2{font-size:22px}.game-instructions ol{display:block;font-size:11px}.game-instructions li{position:relative;padding-left:28px;margin:0 0 17px}.game-instructions li::before{position:absolute;left:0;top:1px;font-size:9px}.instruction-foot{font-size:9px}.game-description{padding:23px 0}.game-description h2{font-size:17px;line-height:1.5}.game-description p{font-size:11px}.start-text h2{font-size:34px;letter-spacing:-1.3px}.start-text>.eyebrow{font-size:8px}.start-text p{font-size:11px;line-height:1.8}.start-text .button{font-size:12px;padding:12px 20px}.start-text>small{font-size:8px}.result-overlay{padding:22px;gap:13px}.result-overlay h2{font-size:31px}.result-overlay p{font-size:11px}.result-spark .icon{width:56px;height:56px}.pause-overlay h2{font-size:25px}.related .section-heading h2{font-size:23px}.game-stage:is(:fullscreen,.is-fullscreen) .game-root{height:calc(100dvh - 47px)}.game-stage:is(:fullscreen,.is-fullscreen) .game-overlay{height:calc(100dvh - 47px)}.theatre-mode .world-root{height:73dvh}.theatre-mode .game-instructions{display:none}}
@media(max-width:380px){.game-page-heading h1{font-size:25px}.game-stats{font-size:7px;gap:4px}.game-toolbar{padding:0 7px}.game-mark{font-size:17px}.game-toolbar .icon-button{min-width:24px;width:24px}.world-root{height:510px}.touch-controls{left:9px;right:9px}.control-group{gap:4px}.touch-key{min-width:32px;padding:0 8px;height:45px}.touch-key.action,.touch-key.pass{padding:0 9px;font-size:8px}.touch-key.boost{padding:0 6px;font-size:7px}.touch-key.reset{min-width:25px;padding:0 5px}.race-bottom{gap:12px;left:13px;right:13px}.boost-meter{width:74px}.speedometer strong{font-size:32px}.garage{gap:4px}.paint{width:14px;height:14px}.stage-bottom>span{display:none}.stage-bottom>div{justify-content:space-between;width:100%}.start-text h2{font-size:29px}.hud-clock>strong{font-size:13px}.match-scoreboard{gap:7px;padding:9px}.match-scoreboard>div{font-size:6px}.match-scoreboard strong{font-size:19px}.game-layout{gap:13px}}
@media(max-height:550px) and (orientation:landscape){.game-stage:is(:fullscreen,.is-fullscreen) .world-root{height:calc(100dvh - 47px)}.game-stage:is(:fullscreen,.is-fullscreen) .race-top{top:8px}.game-stage:is(:fullscreen,.is-fullscreen) .hud-block{padding:5px 8px}.game-stage:is(:fullscreen,.is-fullscreen) .hud-block strong{font-size:18px}.game-stage:is(:fullscreen,.is-fullscreen) .touch-controls{bottom:12px}.game-stage:is(:fullscreen,.is-fullscreen) .race-bottom,.game-stage:is(:fullscreen,.is-fullscreen) .level-chooser,.game-stage:is(:fullscreen,.is-fullscreen) .golf-bottom{bottom:73px}.game-stage:is(:fullscreen,.is-fullscreen) .speedometer strong{font-size:29px}.game-stage:is(:fullscreen,.is-fullscreen) .power-panel{left:auto;right:15px;bottom:77px;transform:none;width:200px}.game-stage:is(:fullscreen,.is-fullscreen) .match-hint{display:none}}

/* Fullscreen-equivalent layout for browsers that reject the element API. */
body.game-fullscreen-open{overflow:hidden;overscroll-behavior:none}
.game-stage.is-fullscreen{position:fixed!important;inset:0!important;z-index:70;min-height:0!important;margin:0!important;max-width:none!important;box-shadow:none}

/* Respect cutouts and gesture bars in native and fallback fullscreen. */
.game-stage:is(:fullscreen,.is-fullscreen){--game-toolbar-height:51px;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);min-height:0!important}
.game-stage:is(:fullscreen,.is-fullscreen) .game-toolbar{flex:0 0 var(--game-toolbar-height)}
.game-stage:is(:fullscreen,.is-fullscreen) .game-overlay{inset:calc(var(--game-toolbar-height) + env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);height:auto!important}
.game-stage:is(:fullscreen,.is-fullscreen) .game-settings-dialog{inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);margin:auto;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 28px);max-width:calc(100dvw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 28px)}
.game-stage:is(:fullscreen,.is-fullscreen) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 12px);max-width:calc(100dvw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 30px)}
@media(max-width:720px){.game-stage:is(:fullscreen,.is-fullscreen){--game-toolbar-height:47px}}

/* 20 September: parking manoeuvre framing and direct control targets. */
body[data-game=park] .parking-camera{pointer-events:auto;min-height:44px;padding:8px 11px;border:1px solid #8dafac;border-radius:8px;background:#294a50;color:#e4ebd3;font:inherit;font-size:11px;font-weight:600}
body[data-game=park] #park-select{min-height:44px}
body[data-game=park] .level-chooser{flex-wrap:wrap;gap:6px;align-items:center}
@media(max-width:650px) and (orientation:portrait){
 body:is([data-game=park],[data-game=striker]) #game-root.world-root{height:clamp(550px,calc(100dvh - 155px),780px);min-height:0}
 body[data-game=park] .parking-brief{font-size:10px;line-height:1.4}
 body[data-game=park] .parking-brief strong{font-size:13px}
}
body[data-game=striker] .touch-key{min-width:44px;min-height:44px}
@media(max-width:440px) and (orientation:portrait){
 body[data-game=striker] .touch-controls{gap:6px}
 body[data-game=striker] .touch-key{padding-inline:6px}
 body[data-game=striker] .control-group:last-child{flex:0 1 100px;min-width:88px}
 body[data-game=striker] .touch-key.action{width:100%;white-space:normal;font-size:9px;line-height:1.3}
}
.game-root.efe-root{position:relative;display:block;min-height:540px;height:min(760px,calc(100dvh - 130px));padding:0;background:#171329}
.efe-shell{width:100%;height:100%;position:relative;isolation:isolate}
.efe-frame{display:block;width:100%;height:100%;border:0;background:#171329}
.game-stage:has(>.efe-root){min-height:0}
.efe-credit{margin:0;font-size:11px;line-height:1.5;color:var(--muted,#b9c8cf)}
.efe-credit a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.efe-loading{position:absolute;inset:0;z-index:2;display:grid;place-content:center;gap:18px;text-align:center;background:#171329}
.efe-loading[hidden]{display:none}
.game-stage:fullscreen .efe-root{height:calc(100dvh - 56px);min-height:0}
.game-stage.is-fullscreen .efe-root{height:calc(100dvh - var(--game-toolbar-height,51px));min-height:0}
@media(max-width:720px){.game-root.efe-root{height:calc(100dvh - 138px);min-height:520px}}
@media(max-height:540px) and (orientation:landscape){.game-root.efe-root{height:calc(100dvh - 104px);min-height:280px}.game-stage:fullscreen .efe-root{height:calc(100dvh - 48px)}}

/* Native landscape: keep the portal toolbar and Efe frame in one viewport.
   The server-defined game marker is present before the first start scroll. */
@media(max-height:540px) and (orientation:landscape){
 body[data-game^="efe-"] .topbar{position:relative}
 html:has(body[data-game^="efe-"] .game-stage:not(:fullscreen,.is-fullscreen)){scroll-padding-top:0}
 body[data-game^="efe-"] .game-stage:not(:fullscreen,.is-fullscreen){--game-toolbar-height:51px}
 body[data-game^="efe-"] .game-stage:not(:fullscreen,.is-fullscreen) .efe-frame{scroll-margin-top:var(--game-toolbar-height,51px)}
 body[data-game^="efe-"] .game-stage:not(:fullscreen,.is-fullscreen)>.game-root.efe-root{height:calc(100dvh - var(--game-toolbar-height,51px) - 2px);min-height:0}
}
@media(max-height:540px) and (orientation:landscape) and (max-width:720px){
 body[data-game^="efe-"] .game-stage:not(:fullscreen,.is-fullscreen){--game-toolbar-height:47px}
}

/* Keep the recorded-result caption compact beside the four touch controls. */
@media(max-width:480px){
 .game-toolbar .efe-result-label{max-width:8ch;line-height:1.2;white-space:normal}
}
