:root{--cream:#f6ecd4;--gold:#dcc090;--teal:#87d7ca;--ink:#102a30;--glass:rgba(15,32,37,.86);font-family:Tajawal,Arial,sans-serif;color:var(--cream);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#142630}body{overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:5px}button:disabled{opacity:.45;cursor:default}button:hover{filter:brightness(1.1)}[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px #07172177;z-index:1}.loading{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#28454b,#101f29 70%);text-align:center}.seal{border:1px solid var(--gold);padding:10px 24px;color:var(--gold);font-size:52px;font-family:'Noto Sans SC',sans-serif;transform:rotate(-5deg)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--gold);line-height:1.9}.loading h1{font-size:32px;font-weight:500}.load-track{height:2px;width:250px;background:#ffffff20;margin:16px}.load-track i{height:100%;display:block;background:var(--gold);width:0;transition:width .3s}.loading p:last-child{font-size:13px;color:#b3c8c6}.menu{position:fixed;inset:0;z-index:3;background:linear-gradient(270deg,#10272bf5 0%,#10272be8 26%,#10272b99 42%,transparent 68%);padding:30px 5vw;overflow:auto}.brand{display:flex;align-items:center;gap:20px}.brand img{width:136px;height:38px;object-fit:contain}.brand span{font-size:11px;color:#d9dece}.intro{width:min(405px,42vw);margin-top:5vh}.dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:100%;margin-left:7px}.intro h1{font-size:clamp(44px,4.9vw,72px);line-height:1.13;margin:20px 0 16px;letter-spacing:-1.5px;font-weight:800}.intro h1 em{font-style:normal;color:var(--gold)}.cn{display:block;font:500 14px 'Noto Sans SC',sans-serif;letter-spacing:8px;margin-top:20px;color:#a9bdb8}.lede{font-size:23px;line-height:1.5;margin:22px 0;color:#f7ecdb}.intro-rule{height:1px;width:66px;background:var(--gold);margin-bottom:16px}.intro-copy{font-size:14px;line-height:1.85;color:#bbccc6;max-width:360px}.choices{margin:18px 0 0;border:0;padding:0}.choices legend{font-size:11px;margin-bottom:9px;color:#b2c2b9}.segmented{display:flex;gap:6px}.segmented button{border:1px solid #bcc8b12b;flex:1;padding:9px 8px;border-radius:4px;font-size:12px;color:#d1dcd3}.segmented .selected{background:#d9c299;color:#162d30;border-color:#d9c299;font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 23px;margin-top:22px;background:var(--gold);color:#172d30;border-radius:4px;font-size:18px;font-weight:800;border:1px solid #f7ddb1;box-shadow:0 6px 28px #0002}.primary span{font-size:25px}#start{width:100%}.quiet{text-align:center;font-size:11px;color:#a4b9b2;margin:12px 0}.scene-caption{position:fixed;bottom:7vh;left:6vw;text-align:left;direction:ltr}.scene-caption>span{font-size:9px;color:#d9cdaf;letter-spacing:3px}.scene-caption p{font-size:19px;color:#eee3ca}.scene-caption b{font-family:'Noto Sans SC';color:var(--gold);margin-left:16px}.settings-link{position:absolute;left:5vw;top:34px;font-size:12px;border-bottom:1px solid #c3b19066;padding-bottom:8px}.topbar{position:absolute;top:max(20px,env(safe-area-inset-top));right:26px;left:26px;display:flex;justify-content:space-between;align-items:center}.world-brand{color:var(--cream);text-decoration:none;font-size:23px;font-weight:800;text-shadow:0 2px 10px #000}.world-brand span{font-weight:500;font-size:13px;color:#d9cfba}.hud-actions{display:flex;gap:7px}.hud-actions button{border:1px solid #ece0c42a;border-radius:5px;background:var(--glass);padding:10px 14px;font-size:12px}#hud{position:fixed;inset:0;z-index:4;pointer-events:none}#hud button,#hud a,#touchpad{pointer-events:auto}.quest{position:absolute;top:83px;right:26px;width:310px;background:linear-gradient(135deg,#122c32ec,#14272bda);border:1px solid #dcc09044;border-top:2px solid var(--gold);padding:18px 20px;box-shadow:0 15px 35px #0002;border-radius:2px 2px 9px 9px;backdrop-filter:blur(10px)}.quest-top{display:flex;justify-content:space-between;font-size:10px;color:#c9b995}.quest-top b{direction:ltr;font-family:'Noto Sans';font-size:10px}.quest h2{font-size:25px;line-height:1.5;font-weight:700;margin:13px 0 6px}.quest p{font-size:12px;line-height:1.7;color:#b9cdc6;margin:0}.quest-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.quest-bottom button{border:1px solid #87d7ca44;color:var(--teal);border-radius:4px;padding:8px 13px;font-weight:700;font-size:12px}.quest-bottom>span{font-size:11px;color:#b7c6c1}.mission-dots{display:flex;gap:5px;margin-top:17px}.mission-dots i{height:3px;background:#ffffff22;flex:1}.mission-dots i.done{background:var(--teal)}.mission-dots i.current{background:var(--gold)}.score{position:absolute;left:26px;top:88px;text-align:left;display:flex;flex-direction:column;text-shadow:0 2px 14px #000}.score>span:first-child{font-size:12px;color:var(--gold)}.score strong{font:500 35px 'Noto Sans',sans-serif;line-height:1.5}.score small{font-size:11px;color:#d7dccc}#combo{font-size:12px;color:var(--teal);margin-top:12px}#timer{margin-top:14px;font:500 22px 'Noto Sans';color:var(--gold)}#crosshair{position:absolute;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);border:1px solid #f0e9d277;border-radius:50%}#crosshair i{position:absolute;inset:5px;border-radius:50%;background:#fff}.aim{position:absolute;left:50%;top:calc(50% + 29px);transform:translateX(-50%);font-size:13px;background:#172e33e8;color:#f2e6ca;border:1px solid #d5bf9266;padding:9px 18px;border-radius:5px;white-space:nowrap}.keeper{position:absolute;bottom:75px;right:28px;width:310px;display:flex;align-items:center;gap:11px;padding:13px 15px;border-right:2px solid #c0ab7a;background:linear-gradient(270deg,#173035ee,#17303522)}.keeper-icon{font:700 24px 'Noto Sans SC';color:var(--gold);border:1px solid #af986255;padding:8px;border-radius:4px}.keeper span{font-size:10px;color:var(--gold)}.keeper p{font-size:14px;line-height:1.45;margin:4px 0 0}.desktop-help{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#d6dbca;font-size:11px;text-shadow:0 1px 4px #000}kbd{font:500 9px 'Noto Sans';padding:3px 5px;border:1px solid #eeeadb55;border-radius:3px;margin:0 5px 0 9px;background:#102b2b77}.bag{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;border:1px solid #c5ae7866;border-radius:5px;padding:10px 15px;background:var(--glass)}.bag>span{font-size:10px;color:var(--gold)}.bag strong{font:500 22px 'Noto Sans SC','Noto Sans',sans-serif}.bag button{font-size:12px;color:var(--teal)}.zoom{position:absolute;left:24px;bottom:28px;display:flex;gap:4px}.zoom button{width:36px;height:36px;border:1px solid #e5e0ce44;background:#193238bb;border-radius:4px;font-size:20px}.touchpad,.touch-actions{display:none}.inspection{position:fixed;inset:0;z-index:7;pointer-events:none;background:radial-gradient(ellipse at center,transparent 20%,#081b2477 100%);text-align:center}.inspection header{position:absolute;top:7vh;left:15px;right:15px}.inspection header span{font-size:11px;color:var(--gold);letter-spacing:2px}.inspection h2{font-size:25px;font-weight:500;margin:10px}.inspection p{font-size:12px;color:#d4dcca}.inspection footer{position:absolute;bottom:8vh;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:15px;pointer-events:auto}.inspection footer button{margin:0;min-width:155px}.secondary{border:1px solid #d7c59c66;border-radius:4px;padding:14px 20px;font-size:14px;background:#173238;color:#eee3c9}.event{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;background:#142d31ee;border:1px solid #c6b17d77;padding:16px 40px;border-radius:6px;animation:arrive .35s}.event span{font-size:10px;letter-spacing:3px;color:var(--teal)}.event h2{font-size:28px;margin:10px 0;color:var(--gold)}.event p{font-size:13px;margin:0}.round-win{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);z-index:8;text-align:center;pointer-events:none;background:#123933e8;border:1px solid #87d7ca88;border-radius:6px;padding:24px 55px;animation:arrive .3s}.round-win>span{font-size:11px;color:var(--teal)}.round-win h2{font:700 35px 'Noto Sans SC';margin:12px 0}.round-win p{font:500 15px 'Noto Sans';color:#d6e6d5}.round-win b{color:var(--gold);font-size:14px}.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#081923aa;backdrop-filter:blur(12px);padding:20px;overflow:auto}.dialog{width:min(450px,100%);border:1px solid #bbac8866;background:linear-gradient(145deg,#203d42,#142b32);border-radius:12px;padding:26px;box-shadow:0 35px 90px #0005;max-height:95vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--gold)}.dialog-head button{font-size:20px}.dialog h2{font-size:31px;margin:15px 0 25px}.slider{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;margin:22px 0}.slider output{margin-right:auto;color:var(--gold);font:500 12px 'Noto Sans'}.slider input{width:100%;height:4px;accent-color:var(--gold);cursor:pointer;direction:ltr}.check{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.7;margin:15px 0}.check input{accent-color:var(--teal);width:17px;height:17px}.settings-note{font-size:12px;line-height:1.9;color:#b4cac2;border-top:1px solid #adcbb222;padding-top:15px}.wide{width:100%;justify-content:center;margin-top:12px}.compact{text-align:center}.compact p{font-size:14px;line-height:1.7;color:#c4d5cc}.results{text-align:center}.result-seal{font:500 50px 'Noto Sans SC';color:var(--gold);margin:10px}.results h2{font-size:27px}.results p{font-size:13px;color:#bdccc2}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.stats>div{display:flex;flex-direction:column;gap:10px;padding:15px 5px;background:#0a222666;border:1px solid #d7c89f22;border-radius:4px}.stats b{font:500 24px 'Noto Sans';color:var(--gold)}.stats span{font-size:10px}.toast{position:fixed;bottom:23%;left:50%;transform:translateX(-50%);z-index:40;background:#102c31f5;color:var(--cream);border:1px solid #c5b17e77;padding:12px 22px;max-width:90vw;font-size:14px;border-radius:5px;text-align:center;pointer-events:none;animation:arrive .25s}@keyframes arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}body.reduce-motion *{animation:none!important;transition:none!important}body.ui-inspect #hud{visibility:hidden}
@media(max-height:800px) and (min-width:801px){.intro{margin-top:2vh}.intro h1{font-size:49px;margin:12px 0}.lede{font-size:18px;margin:12px 0}.intro-copy{font-size:12px;margin:10px 0}.choices{margin-top:12px}.intro-rule{margin-bottom:8px}.cn{font-size:11px;margin-top:13px}.primary{padding:13px 20px;margin-top:17px}.menu{padding-top:23px}}
@media(max-width:800px){.menu{padding:20px 24px;background:linear-gradient(270deg,#10272bf4,#10272bc9 65%,#10272b33)}.brand span{display:none}.brand img{width:110px}.intro{width:min(390px,92vw);margin-top:25px}.intro h1{font-size:48px}.intro-copy{font-size:13px}.lede{font-size:20px}.scene-caption{display:none}.settings-link{top:25px;left:24px}.topbar{top:max(12px,env(safe-area-inset-top));right:14px;left:14px}.world-brand{font-size:18px}.world-brand span{display:none}.hud-actions button{padding:8px 9px;font-size:11px}.quest{top:65px;right:14px;width:245px;padding:12px 14px}.quest h2{font-size:20px;margin:9px 0 4px}.quest p{font-size:11px}.quest-top{font-size:9px}.score{left:16px;top:74px}.score strong{font-size:24px}.score small{font-size:9px}.keeper{right:16px;bottom:185px;width:240px;padding:9px 10px}.keeper p{font-size:12px}.keeper-icon{font-size:20px}.bag{bottom:180px;padding:8px 10px;gap:9px;left:22px;transform:none}.bag>span{display:none}.bag strong{font-size:19px}.desktop-help{display:none}.zoom{bottom:150px;left:25px}.event{top:38%;padding:16px 25px;width:80vw}.event h2{font-size:23px}.inspection header{top:8vh}.inspection h2{font-size:22px}.inspection footer{bottom:7vh;gap:10px}.inspection footer button{min-width:130px;padding:13px;font-size:14px}.round-win{padding:22px 27px;width:80vw}.round-win h2{font-size:28px}}
@media(pointer:coarse){.touchpad{display:block;position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:25px;width:115px;height:115px;background:#d5dfd011;border:1px solid #ddd3aa55;border-radius:50%;touch-action:none}.touchpad:before{content:'';position:absolute;inset:15px;border:1px solid #ddd3aa22;border-radius:50%}#thumb{position:absolute;width:47px;height:47px;left:33px;top:33px;border-radius:50%;background:#d5c09788;border:1px solid #efdab288;pointer-events:none}.touch-actions{display:flex;position:absolute;right:24px;bottom:max(35px,env(safe-area-inset-bottom));gap:9px;align-items:flex-end;pointer-events:auto}.touch-actions button{width:48px;height:48px;border-radius:50%;background:#17353bdd;border:1px solid #d4c29666;font-size:23px}.touch-actions #action{width:70px;height:70px;background:#d3ba87;color:#173235;font-size:25px}.desktop-help{display:none}}
@media(max-height:550px) and (orientation:landscape){.menu{padding:12px 25px}.intro{width:390px;margin-top:4px}.intro h1{font-size:30px;line-height:1;display:inline-block;margin:6px 0}.intro h1 br{display:none}.cn,.lede,.intro-rule,.intro-copy,.brand span,.quiet{display:none}.choices{margin-top:8px}.primary{margin-top:12px;padding:10px}.brand img{height:25px}.quest{width:250px;top:57px;padding:10px}.quest h2{font-size:18px;margin:5px 0}.quest p{display:none}.keeper{bottom:25px;right:120px;width:220px}.bag{bottom:25px;left:160px}.zoom{bottom:150px}.inspection header{top:5vh}.inspection h2{font-size:18px}.inspection footer{bottom:5vh}.dialog{padding:16px}.slider{margin:14px 0}}
/* V5: cooperative space, private race, readable Mandarin with optional pronunciation. */
.name-input{display:block;font-size:11px;color:#b7c8bf;margin:14px 0}.name-input input,.room-link{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #c5af7c66;background:#0c2429;color:var(--cream);border-radius:5px;font:inherit}.room-link{direction:ltr;font-size:11px}.intro{margin-top:2vh}.intro h1{font-size:clamp(38px,4.2vw,62px)}.intro-copy{margin-bottom:8px}.lede{font-size:18px;margin:13px 0}.choices{margin-top:12px}.quiet{line-height:1.7}#contentCount{color:var(--teal)}.floor-badge{position:absolute;bottom:22px;right:28px;font-size:12px;color:var(--gold)}.keeper{width:335px;bottom:70px;align-items:flex-start}.keeper #keeperZh{font-family:'Noto Sans SC',sans-serif;font-size:17px;line-height:1.55;color:#f7e6be}.keeper #keeperPy{font-family:'Noto Sans',sans-serif;font-size:10px;color:#b2d8d1;line-height:1.7}.keeper #quip{font-size:12px}.keeper button{font-size:10px;padding:7px 0;color:var(--teal)}.leaderboard{position:absolute;top:185px;left:24px;width:220px;padding:13px;background:#102a30dd;border:1px solid #c0ac7744;border-radius:7px;max-height:43vh;overflow:auto;pointer-events:auto}.leaderboard>span{font-size:11px;color:var(--gold)}.player-row{display:grid;grid-template-columns:24px 1fr auto;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid #fff1;font-size:11px}.player-row b{font:500 12px 'Noto Sans';color:var(--gold)}.player-row small{display:block;color:#9dbdb4;font-size:9px}.player-row.mine{color:#8cdfcc}.leaderboard p{font-size:10px;color:#a8c9c0}.mission-dots{height:3px;background:#ffffff22}.mission-dots>i.progress{flex:none;background:var(--teal)}#lobbyPlayers{max-height:220px;overflow:auto;margin-top:15px}#lobby p{font-size:13px;line-height:1.8;color:#bcd1c8}#connectionStatus.offline{color:#ffc392}.toast{bottom:28%}
@media(max-width:800px){.keeper{bottom:180px;right:12px;width:230px;padding:8px}.keeper #keeperZh{font-size:13px}.keeper #keeperPy{font-size:9px}.keeper #quip{font-size:10px}.keeper-icon{display:none}.leaderboard{left:12px;top:175px;width:155px;max-height:25vh;padding:8px}.player-row{font-size:10px;grid-template-columns:17px 1fr auto}.player-row small{font-size:8px}.floor-badge{right:15px;bottom:12px;font-size:10px}.touch-actions{gap:6px;right:12px}.touch-actions button{width:40px;height:40px}.touch-actions #action{width:57px;height:57px}.intro{margin-top:18px}.intro h1{font-size:42px}.name-input{margin:10px 0}.bag{bottom:150px}.zoom{bottom:140px}}
@media(max-height:550px) and (orientation:landscape){.intro{width:430px}.intro h1{font-size:28px}.intro-copy,.intro .eyebrow,#contentCount{display:none}.choices{margin-top:6px}.name-input{margin:5px 0}.name-input input{padding:6px;margin-top:3px}.keeper{bottom:15px;right:140px;width:230px}.keeper #keeperZh{font-size:12px}.keeper #keeperPy{display:none}.leaderboard{top:58px;left:12px;max-height:40vh;width:145px}.score{left:170px;top:60px}.floor-badge{display:none}.bag{bottom:16px;left:140px}.touch-actions{right:12px}.quiet{margin:4px}.primary{padding:9px;margin-top:10px}}
#instructionZh{font:500 14px 'Noto Sans SC';color:#f2dcad;line-height:1.7;margin-top:11px}#instructionPy{font:500 10px 'Noto Sans';color:#a6d1c5;margin-top:4px;line-height:1.6}.quest-bottom{gap:5px;flex-wrap:wrap}.quest-bottom button{padding:7px 9px;font-size:11px}.quest-bottom>span{font-size:10px}.book-quiz{text-align:center}.book-quiz h2{font-size:24px}.book-quiz #quizLabel{font:700 34px 'Noto Sans SC','Noto Sans';line-height:1.6;color:var(--gold);margin:14px 0;word-break:break-word}#quizOptions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-choice{font:500 18px 'Noto Sans','Noto Sans SC',Tajawal,sans-serif;line-height:1.7;min-height:64px;padding:12px;border:1px solid #c0ad7966;background:#173b41;border-radius:7px}.quiz-choice:hover{background:#2f5554;border-color:var(--gold)}.quiz-warning{font-size:12px;color:#e6bc94;line-height:1.8}.learning-card{position:fixed;bottom:125px;left:25px;z-index:9;width:280px;padding:16px;border:1px solid #92c8b877;border-radius:8px;background:#12342ff5;box-shadow:0 15px 45px #0004}.learning-card>span{color:var(--teal);font-size:10px}.learning-card strong{display:block;font:700 23px 'Noto Sans SC';margin-top:10px}.learning-card p{font-size:12px;line-height:1.7;margin:6px 0}.learning-card #learnP{font-family:'Noto Sans';color:var(--gold)}.learning-card #learnNote{font-size:11px;color:#abc7ba}.learning-card button{position:absolute;left:10px;top:10px}.learning-card strong{word-break:break-word}@media(max-width:800px){#instructionZh{font-size:12px}#instructionPy{font-size:9px}.quest{width:230px}.quest h2{font-size:18px}.learning-card{left:12px;bottom:160px;width:210px;padding:12px;max-height:200px;overflow:auto}.learning-card strong{font-size:19px}.learning-card p{font-size:11px}.leaderboard{max-height:20vh}.keeper{bottom:165px;width:195px}.book-quiz #quizLabel{font-size:28px}}@media(max-height:550px) and (orientation:landscape){#instructionPy{display:none}#instructionZh{display:block;font-size:11px}.learning-card{left:175px;bottom:75px;max-height:160px}.quest p#instructionZh{display:block}}

/* Compact, dismissible mission brief. The game stays visible while searching. */
.quest-toggle{position:absolute;right:26px;top:72px;padding:7px 12px;border:1px solid #dcc09066;border-radius:6px;background:#102a30ed;color:var(--gold);font-size:12px;pointer-events:auto}
#questPanel{top:112px;width:250px;padding:12px 14px;max-height:calc(100dvh - 145px);overflow:auto;pointer-events:auto}
#questPanel h2{font-size:20px;margin:7px 0 4px}
#questPanel #instructionZh{font-size:11px;margin-top:7px}
#questPanel #instructionPy{font-size:9px;margin-top:2px}
#questPanel #objective{font-size:11px}
#questPanel .mission-dots{margin-top:10px}
#questPanel .quest-bottom{margin-top:9px}
.leaderboard{top:250px;max-height:32vh}
@media(max-width:800px){.quest-toggle{right:14px;top:58px}#questPanel{right:14px;top:97px;width:215px;max-height:calc(100dvh - 160px)}#questPanel h2{font-size:18px}.leaderboard{top:215px;max-height:20vh}}
@media(max-height:550px) and (orientation:landscape){.quest-toggle{top:55px;right:14px}#questPanel{top:94px;width:225px;max-height:calc(100dvh - 110px)}.leaderboard{top:58px;max-height:40vh}}

/* Compact HUD and configurable mobile movement. */
#keeper{top:64px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:min(420px,calc(100% - 28px));padding:8px 12px;background:#102a30ed;border:1px solid #dcc09044;border-radius:8px;z-index:8;pointer-events:none;text-align:center;justify-content:center}
#keeper .keeper-icon,#keeper span,#repeatKeeper{display:none}#keeper #keeperZh{font-size:13px;margin:2px 0}#keeper #keeperPy{font-size:10px;margin:2px 0}#keeper #quip{font-size:12px;margin:2px 0}
#leaderboard{width:132px;max-height:23vh;padding:6px 9px;background:#102a30c9;border-radius:8px}#togglePlayers{font-size:11px;color:var(--gold);width:100%;padding:3px 0;text-align:right}.connected-name{font-size:11px;padding:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal)}#connectionStatus{font-size:10px;margin:4px 0 0}#connectionStatus:empty{display:none}
.control-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:13px}.control-choice select{font:inherit;background:#102a30;color:var(--cream);border:1px solid #dcc09055;border-radius:5px;padding:8px}.direction-pad{display:none}
@media(pointer:coarse){.movement-arrows #touchpad{display:none}.movement-arrows .direction-pad{display:grid;position:absolute;left:20px;bottom:max(25px,env(safe-area-inset-bottom));grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,42px);gap:3px;direction:ltr;pointer-events:auto}.direction-pad button{border:1px solid #d4c29666;border-radius:10px;background:#17353bdd;font-size:24px;touch-action:none;user-select:none}.direction-pad [data-direction=up]{grid-column:2}.direction-pad [data-direction=left]{grid-column:1;grid-row:2}.direction-pad [data-direction=down]{grid-column:2;grid-row:2}.direction-pad [data-direction=right]{grid-column:3;grid-row:2}.movement-right #touchpad,.movement-right .direction-pad{left:auto;right:20px}.movement-right .touch-actions{right:auto;left:12px}.touch-actions{display:grid;grid-template-columns:repeat(2,44px);gap:7px}.touch-actions #action{width:44px;height:44px;font-size:23px}.touch-actions button{width:44px;height:44px}.movement-right .zoom{left:auto;right:25px}}
@media(max-width:800px){#leaderboard{width:116px;top:200px;max-height:18vh}.score #timer{margin-top:5px}.score #combo{margin-top:4px}#keeper{top:55px}#keeper #keeperZh{font-size:12px}#keeper #keeperPy{font-size:9px}#keeper #quip{font-size:11px}}
@media(max-height:550px) and (orientation:landscape){#leaderboard{top:58px;max-height:28vh}#keeper{width:320px;top:54px}}
