html{color-scheme:dark}body{min-height:100dvh}.language-switch{position:fixed;right:12px;top:12px;z-index:10000;display:flex;gap:2px;padding:3px;background:#122e29f5;border:1px solid #9cb8a44d;border-radius:50px;font:700 11px Arial,sans-serif}.language-switch button{border:0;border-radius:30px;padding:7px 9px;background:transparent;color:#f4edd8;min-height:30px}.language-switch button[aria-pressed="true"]{background:#f5ce58;color:#173b35}.top{padding-right:105px}.phone-only{box-sizing:border-box;min-height:100dvh;max-width:660px;margin:auto;padding:80px 28px 30px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.phone-only>img{width:200px;max-height:190px;object-fit:contain;margin-bottom:22px}.phone-only h1{font:900 clamp(30px,5vw,48px)/1.05 Arial,sans-serif;letter-spacing:-1.5px;color:#f5ce58;margin:22px 0}.phone-only p{font:15px/1.5 Arial,sans-serif;color:#e9e3cf}.phone-only canvas{border-radius:12px;margin:14px}.phone-note{opacity:.65}.desktop-player-blocked body{display:block!important;background:#173b35!important;color:#f8eed8!important}.desktop-player-blocked body>*:not(.phone-only):not(.language-switch){display:none!important}.access{padding:34px 22px 60px;max-width:440px}.access>img{width:165px;margin-bottom:26px}.access h1{font-size:49px;letter-spacing:-2px}.access input{min-height:50px;font-size:16px}.access .primary{width:100%;min-height:50px}.access .secondary{min-height:44px}.access label{font-size:13px}.access .note{font-size:12px;line-height:1.6}.access #status{min-height:44px}.top a{font-size:21px}.top a span{font-size:8px}.mobile-home{padding:22px 20px 28px;max-width:480px}.mobile-home .hero{display:flex;flex-direction:column;gap:0;min-height:0;text-align:left;align-items:stretch}.mobile-home .hero img{width:180px;height:150px;align-self:center;order:-1}.mobile-home .hero h1{font-size:46px;letter-spacing:-2px}.mobile-home .hero p{font-size:14px}.mobile-home .cards{display:grid;grid-template-columns:1fr;gap:12px}.mobile-home .cards article{padding:19px}.mobile-home .cards h2{font-size:25px}.mobile-home .cards p{margin:10px 0}.mobile-home .cards button{min-height:46px}.player-app .dev{font-size:9px;padding:8px 20px}.player-app .dev span{display:none}.player-app .component-bar{gap:8px;height:44px}.player-app .component-bar strong{display:none}.player-app iframe{height:calc(100dvh - 152px)}.player-app dialog{padding:22px}.player-app .stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-shell{margin:0;min-height:100dvh;background:#0d2422;font:14px Arial,sans-serif;color:#eae6d6}.preview-toolbar{padding:18px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.preview-toolbar h1{font-size:22px;letter-spacing:0;margin:0 auto 0 0}.preview-toolbar select{padding:10px;background:#29483e;color:#f9edd7;border:1px solid #799080}.device-stage{display:grid;place-items:center;padding:20px 14px 45px}.device-frame{width:390px;height:844px;max-width:100%;border:10px solid #091916;border-radius:40px;overflow:hidden;box-shadow:0 22px 100px #0008;background:#203c38}.device-frame iframe{width:100%;height:100%;display:block;border:0}.preview-message{text-align:center;font-size:12px;max-width:520px;margin:auto;padding:8px 20px;color:#d5d8c9}.preview-toolbar .language-switch{position:static}.admin-signin{max-width:500px;margin:auto;padding:50px 24px}.admin-signin input{font-size:16px}.admin-signin .primary{width:100%}.admin .preview-link{display:inline-block;padding:12px 18px;background:#f5ce58;color:#173b35;font-weight:bold;border-radius:4px;text-decoration:none}.local-preview-banner{padding:9px 12px;background:#eec94f;color:#233c31;font:700 11px Arial,sans-serif}.mobile-ui .desktop-poster,.mobile-ui .preview-label{display:none!important}.mobile-ui .layout{display:block!important}.mobile-ui .app-shell{width:100%!important;max-width:100%!important;min-height:100dvh;border:0!important;border-radius:0!important}.mobile-ui .lab-header{padding-top:45px}.mobile-ui #makerView,.mobile-ui #exportMap,.mobile-ui #inspectMode{display:none!important}@media(max-width:480px){.player-app h1{font-size:44px}.player-app .top{padding-left:18px}.player-app .top a{font-size:17px}.player-app .top button{padding:7px 9px}.player-app .component-bar #sync{font-size:9px}.phone-only{padding-top:65px}.language-switch{top:12px;right:10px}.admin .grid{grid-template-columns:1fr}}
.hub-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:0;right:0;z-index:20;pointer-events:none}.hub-links a{pointer-events:auto;padding:10px 14px;border-radius:20px;background:#173b35e8;border:1px solid #f5ce5866;text-decoration:none;font-size:12px;color:#f5ce58}.hub-links span{font-size:10px}
/* Keep menu tabs at the bottom of the actual handset game viewport. */
@media(max-width:740px){
  html[data-game] .app-shell:not(.playing):not(.is-playing){min-height:100dvh}
  html[data-game] .app-shell:not(.playing):not(.is-playing) #pageContent{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
  html[data-game] .app-shell:not(.playing):not(.is-playing) .bottom-nav{
    position:fixed;bottom:0;left:0;right:0;z-index:30;
    width:min(100%,480px);margin:0 auto;
    padding-bottom:env(safe-area-inset-bottom,0px)
  }
}

/* CSS-generated game labels also follow the language switch. */
html[lang=en][data-game=moths] .aim-pad:before{content:'LEFT'}
html[lang=en][data-game=moths] .aim-pad:after{content:'RIGHT'}
html[lang=en][data-game=schmarrn] .cover:before{content:'✳  MINIGAME 13  ·  MORITZ'}
html[lang=en][data-game=towels] .cover:before{content:'✳  MINIGAME 12  ·  SELINA'}
