@font-face{font-family:MobbBubble;src:url(assets/lilita-one.ttf) format("truetype");font-weight:400;font-display:swap}
*{box-sizing:border-box}html,body{width:100%;height:100%;height:100dvh;margin:0;overflow:hidden;background:#0d0809;color:#fff;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:700 11px Arial;letter-spacing:.6px;color:#f5dba4;background:#160e12d9;border:1px solid #b58c4855;border-radius:7px;padding:12px 16px;min-height:40px}button:hover{background:#47301c}button:focus-visible,a:focus-visible{outline:3px solid #ffcf70;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button[hidden]{display:none}canvas{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}#hud{pointer-events:none;position:fixed;top:max(18px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-shadow:0 3px 12px #000}.wordmark small{display:block;letter-spacing:5px;font-size:9px;color:#e2b86c;margin-bottom:6px}.wordmark strong{font-size:clamp(18px,2.7vw,35px);font-weight:950;letter-spacing:-1px}.wordmark em{font-style:normal;color:#ed444b}.wordmark>span{display:block;font-size:9px;letter-spacing:2px;color:#e5cc9e;margin-top:6px}.metrics{display:flex;gap:8px}.metrics>div{background:linear-gradient(120deg,#120a0cdd,#281b13dd);padding:10px 20px;border:1px solid #bfa16377;border-radius:5px;min-width:90px}.metrics small{display:block;letter-spacing:2px;font-size:8px;color:#d1af73}.metrics b{display:block;font-size:24px;margin-top:4px}#controls{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;gap:6px;align-items:center}.blast{margin-left:auto;border-color:#e7bc63;background:linear-gradient(110deg,#8b1f2b,#3f1520);color:#ffe2aa;min-width:145px}.blast:not(:disabled){box-shadow:0 0 22px #e3363466}#power{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:23%;pointer-events:none;text-align:center}#power span{font-size:8px;letter-spacing:5px;color:#f3d494}#power>div{height:12px;background:#110a0c;border:1px solid #a8844e;padding:2px;border-radius:3px;margin-top:4px}#powerFill{display:block;width:0;height:100%;background:linear-gradient(90deg,#d22d3a,#f9d67c);transition:width .04s}#toast{position:fixed;top:20%;left:50%;transform:translate(-50%,-10px);font-size:clamp(18px,2.3vw,28px);font-weight:900;letter-spacing:1px;color:#ffdc8e;text-shadow:0 4px 20px #000;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.overlay{position:fixed;inset:0;z-index:10;overflow-y:auto;display:flex;align-items:safe center;padding:28px;background:linear-gradient(90deg,#080608f0 0%,#100a0bd9 40%,#100a0b33 80%),url(assets/rooftop.webp) center/cover}.overlay[hidden]{display:none}.menu-card{margin:auto auto auto max(0px,5vw);width:min(480px,100%);padding:30px;border:1px solid #ba914a88;border-radius:18px;background:linear-gradient(140deg,#21151be6,#0d090cd9);box-shadow:0 30px 80px #0007;backdrop-filter:blur(14px)}.eyebrow{font-size:9px;letter-spacing:3px;color:#d2ad6e}h1{font-size:clamp(48px,6.5vw,86px);line-height:.86;letter-spacing:-4px;margin:27px 0 20px}h1 span{color:#f4c76f}.menu-card p{font-size:14px;line-height:1.6;color:#d8c6bc}.primary{background:linear-gradient(120deg,#ffe09b,#d9a348);border:0;color:#231510;padding:16px 25px;font-size:14px;letter-spacing:0;width:100%;margin:12px 0 20px}.primary:hover{background:#ffe5ac}#readyStatus{font-size:10px;color:#bca88d;min-height:14px}.how{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#c5b8af}.how b{color:#e8ba68;margin-right:10px}.menu-links{display:flex;align-items:center;gap:18px;margin-top:25px}.menu-links a,.menu-links button{font-size:10px;color:#d5b985;background:transparent;padding:0;border:0;text-decoration:none;min-height:20px}.build{display:block;font-size:8px;letter-spacing:2px;color:#988471;margin-top:22px}#error{position:fixed;z-index:30;inset:20%;background:#211116;padding:25px;border:1px solid #d25950;color:#ffe0c3;border-radius:15px;line-height:1.7}#error[hidden]{display:none}@media(max-width:1000px){#power{bottom:68px;width:28%}}@media(orientation:landscape) and (max-height:560px){#hud{top:10px;left:14px;right:14px}.wordmark small{font-size:7px;letter-spacing:3px;margin-bottom:3px}.wordmark strong{font-size:21px}.wordmark>span{font-size:7px;margin-top:3px}.metrics>div{padding:5px 13px;min-width:74px}.metrics b{font-size:18px}.metrics small{font-size:7px}#controls{bottom:9px;left:12px;right:12px}button{padding:8px 10px;font-size:9px;min-height:34px}.blast{min-width:110px}#power{bottom:14px;width:21%;left:62%}#power span{font-size:6px}#power>div{height:9px}.overlay{padding:12px}.menu-card{width:min(650px,100%);padding:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin:auto auto auto 3vw}.eyebrow{grid-column:1/-1;font-size:8px}h1{font-size:52px;grid-column:1;grid-row:2/5;margin:20px 0}.menu-card p{font-size:12px;line-height:1.4;margin:10px 0}.primary{padding:12px;margin:8px 0}.how{font-size:10px;gap:6px;grid-column:1;grid-row:5/7}.menu-links{margin-top:10px;grid-column:2;gap:12px}.build{grid-column:1/-1;margin-top:10px}}@media(orientation:portrait){#hud{top:max(16px,env(safe-area-inset-top));left:14px;right:14px;flex-direction:column}.wordmark strong{font-size:23px}.wordmark small{font-size:8px}.wordmark>span{font-size:8px}.metrics{margin-top:12px;width:100%}.metrics>div{flex:1;padding:8px 12px;min-width:0;background:#100a0cc9}.metrics b{font-size:20px}.metrics small{font-size:7px}#controls{display:grid;grid-template-columns:repeat(3,1fr);bottom:max(17px,env(safe-area-inset-bottom));left:12px;right:12px;gap:7px}#controls button{padding:10px 8px;font-size:10px}.blast{min-width:0;width:100%;margin:0}#power{width:55%;bottom:135px}.overlay{padding:18px;background-position:65% center}.menu-card{padding:26px;margin:auto;width:100%}h1{font-size:65px}.menu-card p{font-size:13px}.menu-links{justify-content:space-between;gap:8px}}
/* Immersive gameplay: controls overlay the camera, without reserved panels. */
#hud{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));flex-direction:row;align-items:flex-start;gap:8px}.wordmark small{font-size:7px;letter-spacing:2px;margin-bottom:3px}.wordmark strong{font-size:21px}.wordmark>span{font-size:7px;letter-spacing:1px;margin-top:4px}.metrics{margin:0;gap:8px;width:auto;padding:6px 9px;background:#10090b85;border-radius:9px;backdrop-filter:blur(8px)}.metrics>div{padding:0 5px;min-width:47px;border:0;background:none;flex:initial}.metrics small{font-size:6px;letter-spacing:1px}.metrics b{font-size:18px;margin-top:3px}#controls{display:flex;flex-wrap:wrap;gap:5px;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));align-items:end}#controls button{padding:10px 11px;min-height:38px;font-size:9px;border-color:#c49a4e55;background:#10090b90;backdrop-filter:blur(8px)}#controls .blast{margin-left:auto;min-width:110px;width:auto;background:linear-gradient(110deg,#8b1f2bd9,#3f1520d9);border-color:#e7bc63}#power{bottom:63px;width:min(240px,30vw);left:50%}#power span{font-size:6px;letter-spacing:3px}#power>div{height:8px;padding:1px}#toast{top:18%;max-width:80%;width:max-content;font-size:clamp(17px,2vw,25px)}.focus-mode .wordmark small,.focus-mode .wordmark>span,.focus-mode .focus-mode #hud{opacity:.85}@media(orientation:portrait){.wordmark strong{font-size:17px}.wordmark small{font-size:6px;letter-spacing:1px}.wordmark>span{font-size:6px}.metrics{gap:2px;padding:6px}.metrics>div{min-width:42px;padding:0 4px}.metrics b{font-size:16px}.metrics small{font-size:5px}#controls{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:5px}#controls button{padding:9px 7px;min-height:36px;font-size:8px}#menuButton{grid-column:1;grid-row:1}#retryButton{grid-column:2;grid-row:1}#soundButton{grid-column:3;grid-row:1}#blastButton{grid-column:4;grid-row:1/3;align-self:stretch;min-width:0!important;width:100%!important;margin:0!important}#viewButton{grid-column:1/3;grid-row:2}#fullButton{grid-column:3;grid-row:2}#power{bottom:max(104px,calc(env(safe-area-inset-bottom) + 91px));width:42%}}@media(orientation:landscape) and (max-height:560px){#controls button{padding:8px 11px;min-height:34px}#power{bottom:13px;left:63%;width:19%}.wordmark strong{font-size:18px}.metrics b{font-size:16px}}

/* Midnight/champagne palette: red is reserved for Rohni and action feedback. */
html,body{background:#071222}.overlay{background-image:linear-gradient(90deg,#060d18ed,#081323c7 45%,#08132333),url(assets/rooftop-citylights-wide.webp)}.menu-card{background:linear-gradient(140deg,#142033ee,#080f1de6)}#controls button{background:#071222bd}#controls .blast{background:linear-gradient(110deg,#64303bdb,#14233ce0)}.metrics{background:#071222b3}.wordmark em{color:#f1d18a}#power>div{background:#071222}.wordmark strong{color:#fff}
/* Reference composition: edge-to-edge stage, restrained gold instrumentation. */
.wordmark strong{font-family:Georgia,serif;font-size:clamp(20px,3.2vw,46px);letter-spacing:1px;color:#f4cf86}.wordmark small{font-family:Georgia,serif;font-size:11px;letter-spacing:5px}.wordmark>span{font-size:12px;letter-spacing:3px;color:#f4cf86}.metrics{background:none;backdrop-filter:none;padding:0;gap:10px}.metrics>div{background:#03090ee8;border:2px solid #c3a36a;border-radius:9px;padding:7px 19px;text-align:center;min-width:90px;box-shadow:0 2px 5px #000}.metrics small{font-family:Georgia,serif;font-size:10px;color:#f7e9cd}.metrics b{font-family:Georgia,serif;font-size:25px;color:#fff0ce}#power{width:min(40vw,600px);bottom:max(20px,env(safe-area-inset-bottom))}#power>div{height:24px;border-radius:20px;padding:4px;border:2px solid #c7a46a;box-shadow:0 0 0 3px #04070c}#powerFill{border-radius:15px;background:linear-gradient(90deg,#ed2530,#ff9029,#fff1a0)}#power span{font-family:Georgia,serif;font-size:10px;letter-spacing:6px}#controls{right:auto;max-width:30vw;gap:5px}#controls button{border:1px solid #c3a36a;color:#f4d99f;background:#03090ee0}#controls .blast{margin-left:0;min-width:0}#left{color:#d6c49e}.overlay{background-image:linear-gradient(90deg,#060d18ed,#081323b0 45%,#08132322),url(assets/rooftop-reference.webp)}
@media(orientation:portrait){.wordmark strong{font-size:17px}.wordmark small{font-size:6px;letter-spacing:2px}.wordmark>span{font-size:8px;letter-spacing:1px}.metrics{gap:4px}.metrics>div{min-width:38px;padding:5px 7px;border-width:1px}.metrics small{font-size:6px}.metrics b{font-size:18px}#controls{max-width:none;right:10px;display:flex}#controls button{flex:1;font-size:8px;padding:9px 5px}#power{bottom:65px;width:60vw}#power>div{height:17px}}
@media(orientation:landscape) and (max-height:560px){.wordmark strong{font-size:24px}.wordmark small{font-size:7px}.wordmark>span{font-size:8px}.metrics>div{min-width:60px;padding:5px 10px}.metrics b{font-size:20px}.metrics small{font-size:7px}#controls{max-width:30vw}#controls button{padding:7px;font-size:8px;min-height:30px}#power{left:56%;width:33vw;bottom:13px}#power>div{height:17px}}
/* Portrait uses a compact physical stage, with controls outside its aiming area. */
@media(orientation:portrait){#hud{top:max(12px,env(safe-area-inset-top));align-items:flex-start}.wordmark strong{font-size:clamp(13px,3.8vw,19px);letter-spacing:0}.wordmark small{font-size:5px}.wordmark>span{font-size:6px;letter-spacing:.5px}.metrics>div{padding:4px 5px;min-width:34px}.metrics b{font-size:17px}.metrics small{font-size:5px}#controls{display:grid;grid-template-columns:repeat(3,1fr);max-width:none;gap:6px}#controls button{min-height:37px;font-size:9px}#controls #blastButton{grid-column:3;grid-row:2;min-width:0}#controls #viewButton{grid-column:1;grid-row:2}#controls #fullButton{grid-column:2;grid-row:2}#power{bottom:max(108px,calc(env(safe-area-inset-bottom) + 96px));width:65vw}#power span{font-size:8px}}
/* Native orientation artwork; the menu uses the same rebuilt map. */
.overlay{background-image:linear-gradient(90deg,#060d18ed,#081323b0 45%,#08132322),url(assets/map-landscape.webp)}
@media(orientation:portrait){.overlay{background-image:linear-gradient(0deg,#060d18bb,#08132399),url(assets/map-portrait.webp);background-position:center}}
/* Cinematic feedback remains light and leaves the shooting corridor clear. */
#toast{top:17%;font-family:Georgia,serif;font-size:clamp(12px,1.5vw,20px);font-weight:400;letter-spacing:3px;color:#ffe5b0;padding:10px 18px;border-top:1px solid #d2ad6544;border-bottom:1px solid #d2ad6544;background:linear-gradient(90deg,#07122200,#071222c9 25%,#071222c9 75%,#07122200);text-shadow:0 2px 9px #000}
#power>div{background:linear-gradient(#03070e,#0d1724);box-shadow:0 0 0 3px #04070c99,0 4px 15px #0009}#powerFill{box-shadow:0 0 12px #ffbf5780}
#blastButton:not(:disabled){color:#fff1ce;border-color:#ffdb8a;background:linear-gradient(120deg,#82531ae6,#2e241ee6);box-shadow:0 0 17px #dc9e3f55}
#controls button{box-shadow:inset 0 1px 0 #ffffff0c,0 3px 9px #0006;transition:background .15s,transform .15s,border-color .15s}#controls button:active{transform:translateY(1px);border-color:#ffe6ac}
@media(orientation:portrait){#toast{top:17%;font-size:10px;letter-spacing:2px;padding:8px 14px;max-width:85%}}

/* Five object-built cartoon worlds replace the former photographic map. */
.overlay{background-image:linear-gradient(120deg,#06354d,#216f86,#83ced4)}.stage-picker{display:block;font-size:9px;letter-spacing:2px;color:#bce9e5;margin:12px 0}.stage-picker select{display:block;width:100%;margin:7px 0;padding:11px 10px;border:1px solid #cfad6c;background:#0b192b;color:#fff2cf;border-radius:8px;font:600 13px Arial;letter-spacing:0}.menu-card{border-color:#91e3d980}.wordmark em{color:#ffea9d;text-shadow:0 2px 5px #10263e}.menu-links{flex-wrap:wrap}@media(orientation:landscape) and (max-height:560px){.stage-picker{grid-column:2;font-size:8px;margin:6px 0}.stage-picker select{padding:7px;font-size:12px}.menu-card{max-height:95dvh;overflow:auto}h1{font-size:45px}.how{font-size:9px}.build{margin-top:5px}}
/* Build27: approved landscape composition, one unchanging board in both orientations. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#071222;touch-action:none}
#widescreen{position:fixed;left:50%;top:50%;width:100vw;height:100dvh;transform:translate(-50%,-50%);overflow:hidden;container-type:size;background:#071222}

#game{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
#gameLogo{position:absolute;z-index:3;left:25%;top:1%;width:25%;height:21%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #072e5a88)}
#hud{position:absolute;inset:1.5% 1.5% auto auto;max-width:39%;opacity:1}.wordmark{display:none!important}.metrics{display:flex;gap:1cqw;padding:0;background:none}.metrics>div{min-width:8.8cqw;border:2px solid #ffd47c;clip-path:polygon(7% 0,93% 0,100% 12%,100% 88%,93% 100%,7% 100%,0 88%,0 12%);border-radius:0;padding:.6cqh 1cqw;background:linear-gradient(#104365,#06172f);box-shadow:inset 0 0 0 3px #442c11}.metrics small{font:800 .9cqw Arial;color:#b0f6ff;letter-spacing:.04em}.metrics b{font:900 2.2cqw Arial;color:#fff6d3}
#controls{position:absolute;left:1.5%;right:auto;bottom:2.5%;max-width:none;display:flex;gap:.7cqw;width:19%;height:9%;align-items:stretch}#controls button{font-size:0;min-width:0;min-height:0;flex:1;border:3px solid #f6c75e;border-radius:12%;padding:0;background:linear-gradient(#19364c,#071c29);box-shadow:0 0 0 2px #453418,inset 0 0 0 2px #906c2a;color:#ffdb75}#menuButton:before{content:'Ⅱ'}#retryButton:before{content:'↻'}#soundButton:before{content:'♪'}#controls button:before{font-size:3.3cqw;line-height:1;font-weight:900}#controls #fullButton{position:fixed;left:1%;top:1%;width:8%;height:5%;font-size:.8cqw;border-width:1px;border-radius:6px;opacity:.8}#controls #viewButton{display:none}#controls #blastButton{position:fixed;left:auto;right:1.3%;bottom:1.8%;width:9.5%;height:17%;border-radius:50%;border:5px solid #ffdb58;background:radial-gradient(circle at 40% 35%,#ffcf32,#ff8419 52%,#d43a18 75%,#842111);box-shadow:0 0 0 3px #4c270f,inset 0 0 0 3px #be5a14;font:900 1.7cqw Arial;color:#fffbd2;transform:rotate(-7deg);text-shadow:2px 3px #57200c}#blastButton:before{display:none}#blastButton:disabled{opacity:.65}
#power{position:absolute;left:49%;bottom:3%;width:35%;transform:translateX(-50%)}#power span{display:none}#power>div{height:4.3cqh;border:3px solid #ffd57c;border-radius:9px;padding:4px;background:#071c27;box-shadow:0 0 0 3px #69451d,inset 0 0 0 1px #000}#powerFill{background:linear-gradient(90deg,#68df35,#dcf147,#ffbe2f,#f23826);box-shadow:none}
#toast{position:absolute;top:23%;font-size:1.2cqw;max-width:45%;pointer-events:none}#error{position:absolute;z-index:99}
.overlay{position:absolute;inset:0}.menu-card{max-width:550px;max-height:94%;overflow:auto}#panel .menu-card{font-size:12px}#panel h1{font-size:clamp(30px,6cqh,65px)}#panel .stage-picker{display:block}#panel .how{font-size:10px}.menu-links a,.menu-links button{font-size:11px}
button[hidden]{display:none!important}

/* Build28: all UI shares the board rectangle; only scenery fills extra space. */
#boardUI{position:absolute;container-type:size;transform:translateZ(0);pointer-events:none;z-index:2}
#boardUI button,#boardUI a,#boardUI select,#boardUI .overlay{pointer-events:auto}
#boardUI #hud{max-width:39%}
#boardUI .overlay[hidden]{display:none}
/* Remove legacy portrait !important expansion from the locked landscape UI. */
#boardUI #controls #blastButton{width:9.5%!important;height:17%;min-width:0!important;margin:0!important;grid-column:auto;grid-row:auto}
#boardUI .metrics{margin-top:0;width:auto;flex-direction:row}
#boardUI .metrics>div{flex:0 0 auto}

#panel [hidden]{display:none!important}#panel[data-mode="result"] .menu-card,#panel[data-mode="paused"] .menu-card{width:min(680px,90%);display:block;margin:auto;padding:clamp(16px,3cqh,30px)}#panel[data-mode="result"] h1,#panel[data-mode="paused"] h1{font-size:clamp(24px,5.5cqh,50px);letter-spacing:-1px;line-height:1.05;margin:14px 0}#panel[data-mode="result"] .menu-links,#panel[data-mode="paused"] .menu-links{margin-top:8px;gap:14px}#panel[data-mode="result"] p,#panel[data-mode="paused"] p{font-size:clamp(11px,1.9cqh,15px);line-height:1.5}#panel .menu-links button{min-height:32px}#panel[data-mode="paused"] #resumeButton{color:#fff1ae;font-weight:900}

/* Build33: follow the browser viewport without CSS rotation or orientation locks. */
#widescreen{inset:0;left:0;top:0;width:100%;height:100dvh;transform:none}
#controls{min-height:44px}#controls button{min-height:44px}

#rotateGate{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:28px;background:linear-gradient(180deg,#071222 0%,#071222 8%,#071222e8 16%,#07122288 27%,#07122200 43%),radial-gradient(ellipse at 50% 45%,#15576e 0%,#103b50 30%,#0a2336 53%,#071222 78%);color:#fff1c6}
#rotateGate[hidden]{display:none}#rotateGate img{width:min(290px,75%);height:150px;object-fit:contain;filter:drop-shadow(0 8px 14px #0008)}#rotateGate h2{font:900 25px Arial;margin:12px 0 0;color:#ffdb75;letter-spacing:1px}#rotateGate p{font-size:15px;max-width:270px;margin:0;line-height:1.5}#rotateGate small{font-size:12px;color:#a3bac8;line-height:1.5;max-width:260px}.rotate-phone{width:105px;height:56px;border:3px solid #ffdb75;border-radius:12px;box-shadow:0 0 25px #f3bd3633;position:relative}.rotate-phone:after{content:'';position:absolute;right:6px;top:21px;width:6px;height:6px;border-radius:50%;background:#ffdb75}
#widescreen[data-portrait="true"] #boardUI{visibility:hidden}

#fullscreenHelp{position:absolute;inset:0;z-index:200;background:#040c18ee;display:flex;align-items:safe center;justify-content:center;padding:18px;overflow:auto}#fullscreenHelp[hidden]{display:none}#fullscreenHelp main{width:min(640px,100%);background:linear-gradient(135deg,#15374a,#071222);border:2px solid #edc773;border-radius:16px;padding:22px;color:#fff1d0}#fullscreenHelp h2{font-size:21px;margin:0 0 14px;color:#ffdc8a}#fullscreenHelp p,#fullscreenHelp li{font-size:14px;line-height:1.5}#fullscreenHelp ol{padding-left:22px}#fullscreenHelp li{margin:8px 0}#fullscreenHelp .note{font-size:12px;color:#b3cbd6}#fullscreenHelp button{width:100%;background:#e8bf69;color:#071222;border:0;min-height:44px}@media(max-height:480px){#fullscreenHelp main{padding:16px}#fullscreenHelp h2{font-size:18px;margin-bottom:6px}#fullscreenHelp p,#fullscreenHelp li{font-size:12px;margin:5px 0}#fullscreenHelp .note{font-size:11px}}

/* Build39: direct head dragging; portrait always hides every board layer. */
#power{display:none!important}
@media(orientation:portrait){#boardUI,#game,#fullscreenHelp{visibility:hidden!important;pointer-events:none!important}#rotateGate{display:flex!important;z-index:300}}
/* Build43: tropical glass menu/result system, with real interactive content. */
#panel{display:block;z-index:20;background:linear-gradient(#0a52601a,#07565f11),url(assets/coast-rear-v35.webp) center 62%/cover!important;isolation:isolate}#panel:before,#panel:after{content:'';position:absolute;z-index:0;width:25%;height:35%;bottom:-6%;background:url(assets/map-card-0.webp) center/cover;border-radius:60%;filter:blur(25px);opacity:.35;pointer-events:none}#panel:before{left:-12%}#panel:after{right:-12%}
#panel .menu-card,#panel[data-mode] .menu-card{position:relative;display:block;width:100%;height:100%;max-width:none;max-height:none;overflow:hidden;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#092e48}
#panel .panel-logo{position:absolute;left:1%;top:1%;width:31%;height:25%;object-fit:contain;z-index:2;filter:drop-shadow(0 3px 0 #07334b66)}#panel .panel-hero{position:absolute;z-index:2;left:1%;bottom:1%;width:33%;height:78%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 3px #083d4a55);pointer-events:none}#panel .panel-car{display:none;pointer-events:none}
#panel .panel-content{position:absolute;z-index:3;left:33%;right:3%;top:5%;bottom:5%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1.4cqh;min-width:0}
#panel #panelEyebrow{font:700 1.05cqw Arial;letter-spacing:.17em;color:#073b54;text-align:center;text-shadow:0 1px #fff8;margin:0}
#panel #panelTitle,#panel[data-mode] #panelTitle{margin:0;padding:.8cqh 0;line-height:.98;letter-spacing:.01em;font:400 5cqw/.98 MobbBubble,sans-serif;text-align:center;color:#ffe287;-webkit-text-stroke:.45cqw #08243b;paint-order:stroke fill;text-shadow:0 .45cqh 0 #a06719,0 .8cqh 0 #08243b;overflow:visible}#panel #panelTitle span{color:#b6faff}
#panel #panelText{display:none}#panel #stagePicker{margin:1cqh 0 0;letter-spacing:0}#stageSelect[hidden]{display:none!important}#mapChoices{display:flex;gap:.8cqw;width:100%}#panel .map-choice{display:flex;flex-direction:column;flex:1;min-width:0;height:34cqh;min-height:0;border:.3cqw solid #e5b650;border-radius:1.6cqw;background:#092d43;padding:.4cqw;box-shadow:inset 0 0 0 1px #fff3ba,0 .7cqh 0 #58451d;transition:transform .15s,box-shadow .15s;overflow:hidden}#panel .map-choice img{display:block;min-height:0;flex:1;width:100%;object-fit:cover;border-radius:1cqw;border:1px solid #b1efff}#panel .map-choice span{min-height:5.5cqh;display:flex;align-items:center;justify-content:center;color:#fff8d9;text-transform:uppercase;font:400 1.55cqw/1.05 MobbBubble,sans-serif;letter-spacing:0;padding:.7cqh 0 .2cqh}#panel .map-choice[aria-pressed="true"]{border-color:#fff7b0;box-shadow:0 0 0 .35cqw #ffca43,0 0 2cqw #fff67d,0 .7cqh 0 #715321;transform:translateY(-1cqh)}
#panel #howTo{display:block;text-align:center;font:400 1.6cqw MobbBubble,sans-serif;letter-spacing:.13em;color:#fff;background:#073b57d9;border-radius:20px;padding:.5cqh 1cqw;margin:0 auto;width:max-content}#panel #howTo span{color:#ffe285}#panel #readyStatus{font:700 1.15cqw/1.2 Arial;color:#07344b;text-align:center;margin:0;min-height:1.3em;text-shadow:0 1px #fff9}
#panel #startButton{flex-shrink:0;width:100%;min-height:44px;height:15cqh;margin:0;padding:.8cqh 1cqw;border:.55cqw solid #f4bd3d;border-radius:2.8cqw;background:linear-gradient(160deg,#c2ffff 0%,#4ce8ed 23%,#12b8c8 65%,#007e99 100%);box-shadow:0 0 0 .25cqw #623d0b,inset 0 0 0 .24cqw #fffbc8,inset 0 .8cqh 0 #ffffff99,0 .9cqh 0 #77501a;font:400 4.1cqw/.95 MobbBubble,sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#ffe495;-webkit-text-stroke:.3cqw #07253b;paint-order:stroke fill;text-shadow:0 .5cqh #08243b;transition:filter .15s,transform .15s}#panel #startButton:hover{filter:brightness(1.08)}#panel #startButton:active{transform:translateY(.6cqh)}
#panel .panel-actions{display:flex;justify-content:center;gap:1cqw;margin-top:.5cqh}#panel .panel-actions button{min-height:34px;padding:.6cqh 2cqw;border:.25cqw solid #ffd575;box-shadow:0 0 0 1px #6d4c12,inset 0 0 0 1px #b8ffff88;border-radius:1.7cqw;background:linear-gradient(#117b93,#083d55);font:400 1.7cqw/1 MobbBubble,sans-serif;color:#fff7d0;text-transform:uppercase;letter-spacing:0}
#panel .glass-stats{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:.8cqw;height:27cqh;flex-shrink:0}#panel .glass-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4cqh;border:.25cqw solid #e4ffff;border-radius:1.4cqw;background:linear-gradient(145deg,#ffffffba,#c4ffff99 35%,#37c9dedb);box-shadow:inset 0 0 12px #fff8,0 2px 5px #12546a44}#panel .glass-stats svg{height:6cqh;width:6cqh;fill:none;stroke:#0a5876;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}#panel .glass-stats>div:first-child svg{stroke:#e74040}#panel .glass-stats>div:nth-child(2) svg{stroke:#176f3b;fill:#8fe272}#panel .glass-stats>div:last-child svg{stroke:#a06a0c;fill:#ffd063}#panel .glass-stats b{font:400 3.8cqw/1 MobbBubble,sans-serif;color:#082c43}#panel .glass-stats small{font:400 1.5cqw/1 MobbBubble,sans-serif;color:#082c43;letter-spacing:0}
#panel[data-mode="result"] .panel-logo,#panel[data-mode="paused"] .panel-logo{width:24%;height:20%;left:2%;top:2%}#panel[data-mode="result"] .panel-hero,#panel[data-mode="paused"] .panel-hero{width:35%;height:79%;bottom:2%;left:0}#panel[data-mode="result"] .panel-car{display:block;position:absolute;right:-10%;bottom:8%;width:34%;z-index:1;filter:drop-shadow(0 6px 2px #073f4355)}#panel[data-mode="result"] .panel-content,#panel[data-mode="paused"] .panel-content{left:34%;right:8%;top:6%;bottom:5%;justify-content:center;padding:1.6cqh 1.8cqw;border:.5cqw solid #f3c456;border-radius:3cqw;background:linear-gradient(150deg,#d7ffffd9,#6ce7efc9 30%,#0ab2c7e8 75%,#075b7cc9);box-shadow:0 0 0 .25cqw #6a4612,inset 0 0 0 .2cqw #fff8cd,0 1cqh 0 #5f501d;gap:1.2cqh}#panel[data-mode="result"] #panelTitle,#panel[data-mode="paused"] #panelTitle{font-size:4.7cqw}#panel[data-mode="result"] #startButton,#panel[data-mode="paused"] #startButton{height:13cqh;font-size:3.8cqw}#panel[data-outcome="lost"] #panelTitle{color:#ffcba3}#panel[data-mode="paused"] .panel-content{top:11%;bottom:10%}
#panel .menu-extras{position:absolute;right:1%;bottom:1%;z-index:5;font:700 .85cqw Arial;color:#fff8da;background:#073b57c9;border:1px solid #edd37c;border-radius:8px;padding:.5cqh .7cqw}#panel .menu-extras summary{cursor:pointer}#panel .menu-extras a{display:block;color:#fff8da;font-size:1cqw;padding:1cqh 0}#panel .build{display:none}
#panel{padding:0;overflow:hidden}#panel .menu-card,#panel[data-mode] .menu-card{backdrop-filter:none;-webkit-backdrop-filter:none}

#panel{right:auto;bottom:auto}#panel .menu-card{container-type:size}#panel[data-mode="menu"] #panelTitle{background:linear-gradient(150deg,#c8ffffa8,#087d9ca8);border:.35cqw solid #f8ce73;border-radius:2cqw;box-shadow:inset 0 0 0 1px #fff7c3,0 .5cqh 0 #725318;padding:1.5cqh .5cqw}

#panel .panel-terrain{position:absolute;left:-5%;top:90%;width:43%;height:auto;z-index:1;pointer-events:none}

/* Build44: distinct animated play action on the map menu. */
#panel[data-mode="menu"] #startButton{position:relative;isolation:isolate;overflow:hidden;width:88%;align-self:center;height:13cqh;border:.3cqw solid #fff1bd;border-radius:1.2cqw;background:linear-gradient(170deg,#ffcc62,#ff8a24 48%,#e34b18);box-shadow:0 0 0 .25cqw #7b2b10,inset 0 .6cqh 0 #ffe5a77a,0 1cqh 0 #9a3214,0 1.5cqh 1.5cqh #07384a55;color:#fffdf0;font:900 3.2cqw/1.05 Arial,sans-serif;letter-spacing:.07em;-webkit-text-stroke:0;text-shadow:0 .3cqh .2cqh #882b18;transform-origin:center;animation:playInvite 2.8s ease-in-out infinite}
#panel[data-mode="menu"] #startButton::before{content:"";display:inline-block;width:0;height:0;border-top:.8cqw solid transparent;border-bottom:.8cqw solid transparent;border-left:1.2cqw solid currentColor;margin-right:1.3cqw;filter:drop-shadow(0 2px 0 #a33c19)}
#panel[data-mode="menu"] #startButton::after{content:"";position:absolute;z-index:-1;inset:-70% auto -70% -40%;width:22%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-22deg);animation:playShine 3.8s ease-in-out infinite;pointer-events:none}
#panel[data-mode="menu"] #startButton:disabled{animation:none;opacity:.65}
#panel[data-mode="menu"] #startButton:disabled::after{animation:none;display:none}
#panel[data-mode="menu"] #startButton:active{animation:none;transform:translateY(.6cqh) scale(.99)}
#panel[data-mode="menu"] #startButton:focus-visible{outline:3px solid #fff;outline-offset:6px}
@keyframes playInvite{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-.35cqh) scale(1.018)}}
@keyframes playShine{0%,50%{left:-40%;opacity:0}55%{opacity:.8}80%{left:125%;opacity:0}100%{left:125%;opacity:0}}
@media(prefers-reduced-motion:reduce){#panel[data-mode="menu"] #startButton,#panel[data-mode="menu"] #startButton::after{animation:none}#panel[data-mode="menu"] #startButton::after{display:none}}

/* Marked menu cleanup: 20% transparent deep fluorescent orange glass. */
#panel[data-mode="menu"] #readyStatus{display:none}
#panel #howTo{background:rgba(224,69,0,.8);border:1px solid #ffab5e;box-shadow:inset 0 1px 2px #ffe4bba6,inset 0 -2px 5px #7c230066,0 0 12px #ff650080;text-shadow:0 1px 3px #713000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#panel #howTo span{color:#ffe8b4}
#panel .leaderboard-link{position:absolute;right:7%;top:1.5%;z-index:6;margin:0;padding:.65cqh .7cqw;min-height:24px;border:1px solid #edd37c;border-radius:6px;background:#073b57e8;color:#fff8da;font:700 max(9px,.85cqw) Arial,sans-serif;letter-spacing:.5px;text-decoration:none}#panel .leaderboard-link:focus-visible{outline:2px solid white;outline-offset:2px}
