.orientation-gate{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:28px 23px;text-align:center;background:radial-gradient(circle at 50% 35%,#368fc9,#19599d 48%,#123c74);color:#effcff;overflow:auto;min-height:100dvh}.orientation-gate:before,.orientation-gate:after{content:'';position:absolute;width:140px;height:170px;z-index:-1;border-radius:50%;border:2px solid #9ff7ff33;background:radial-gradient(circle at 30% 25%,#ccffff33,#44bedb0a);transform:rotate(25deg)}.orientation-gate:before{left:-65px;top:8%}.orientation-gate:after{right:-70px;bottom:10%;width:200px;height:230px}.rotate-brand{font:800 22px/.9 'Baloo 2',sans-serif;letter-spacing:-.4px;color:#d5ffff;display:flex;align-items:center;gap:9px}.rotate-brand>span{display:grid;place-items:center;width:36px;height:38px;border-radius:11px;background:#51e4d8;color:#105471;font-size:32px;box-shadow:0 3px 0 #198ba5}.rotate-illustration{position:relative;display:grid;place-items:center;width:156px;height:143px;margin:31px 0 20px}.rotate-illustration svg{width:137px;height:117px;fill:none;stroke:#c5fffc;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 0 #0e498c)}.rotate-illustration .rotate-arrow{stroke:#ffda80;stroke-width:3}.rotate-illustration .rotate-screen{fill:#53dccc33;stroke:#8cf1ee;stroke-width:2}.rotate-kicker{font-size:9px;font-weight:900;letter-spacing:2.1px;color:#99deee}.orientation-gate h1{font:800 36px/.98 'Baloo 2',sans-serif;letter-spacing:-.7px;margin:14px 0 15px;text-shadow:0 3px 0 #174986;max-width:330px}.orientation-gate p{font-size:13px;line-height:1.6;color:#c4e8f7;max-width:285px;margin:0 0 22px}.orientation-gate button{background:linear-gradient(#ffdd7d,#ffb64e);border:2px solid #fff0b4;border-radius:14px;color:#6c471f;box-shadow:0 4px 0 #a67532;padding:13px 24px;font-weight:900;font-size:14px;min-height:47px;min-width:220px}.orientation-gate #orientation-status{font-size:11px;line-height:1.5;margin:18px 0 0;color:#f8e3b1;max-width:290px;min-height:34px}.portrait-locked{overflow:hidden}.portrait-locked .app-shell{visibility:hidden;pointer-events:none}.portrait-locked dialog{visibility:hidden}.portrait-locked .toast{visibility:hidden}
@media(pointer:coarse) and (orientation:portrait){#orientation-gate{display:flex!important}body>.app-shell{visibility:hidden}}
@media(min-width:600px){.orientation-gate h1{font-size:46px;max-width:410px}.orientation-gate p{font-size:16px;max-width:390px}.rotate-illustration{transform:scale(1.15);margin:45px 0 30px}.orientation-gate button{font-size:16px;padding:15px 32px}.rotate-brand{font-size:27px}}

/* Home Screen/fullscreen feedback stays visible above the portrait gate. */
#fullscreen-help{visibility:visible;width:min(500px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);margin:auto;padding:24px;background:linear-gradient(145deg,#164f64,#0c3548);border:1px solid #74d4d5;border-radius:24px;color:#edfff8;overflow:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;box-shadow:0 16px 64px #001b30aa}
.portrait-locked #fullscreen-help[open]{visibility:visible}
#fullscreen-help::backdrop{background:#021d35b8;backdrop-filter:blur(5px)}
#fullscreen-help .fullscreen-help-brand{display:flex;align-items:center;gap:9px;color:#bef6ee;font:800 12px/1 'Nunito Sans',sans-serif;letter-spacing:1px}
#fullscreen-help .fullscreen-help-brand>span{display:grid;place-items:center;width:34px;height:36px;background:#1fd8ca;border-radius:10px;color:#0c3546;font:900 29px/1 sans-serif;box-shadow:0 3px 0 #147a82}
#fullscreen-help h2{font:800 30px/1.08 'Baloo 2',sans-serif;letter-spacing:-.5px;margin:18px 0 12px}
#fullscreen-help p{font-size:13px;line-height:1.55;color:#c5e4e9;margin:0 0 18px}
#fullscreen-help ol{list-style:none;padding:0;margin:0;display:grid;gap:13px}
#fullscreen-help ol[hidden]{display:none}
#fullscreen-help li{display:flex;gap:11px;align-items:flex-start;padding:0;margin:0;font-size:13px;line-height:1.45;color:#d9eeef}
#fullscreen-help li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#256476;color:#a7ffeb;font-size:12px;font-weight:900}
#fullscreen-help li small{display:block;margin-top:3px;font-size:11px;color:#a0c9d2}
#fullscreen-help #fullscreen-help-footnote{font-size:11px;margin:18px 0 14px;color:#a0c9d2}
#fullscreen-help-close{width:100%;min-height:46px;padding:12px 18px;border-radius:13px;background:linear-gradient(#ffe394,#ffc15e);color:#65471f;font-weight:900;box-shadow:0 3px 0 #9b722f;touch-action:manipulation}
@media(max-height:420px){#fullscreen-help{padding:18px 22px;border-radius:20px}#fullscreen-help h2{font-size:26px;margin-top:12px}}
/* The small-screen lobby must still expose the fullscreen/help entry point. */
@media(pointer:coarse){.top-actions .fullscreen{display:flex}}
