.nickname-dialog[hidden]{display:none!important}
.nickname-dialog{position:absolute;inset:0;z-index:30;background:#020611e8;display:grid;place-items:center;padding:12px;touch-action:pan-y}
.nickname-card{width:min(600px,90%);max-height:100%;overflow:auto;border:4px solid #1bc7e0;background:#061b30;padding:24px;box-shadow:6px 6px #075279}
.nickname-card h2{color:#ffe65a;font-size:18px;line-height:1.6;margin:0 0 16px}
.nickname-card p,.nickname-card label{font-size:10px;line-height:1.7}
.nickname-card input{display:block;width:100%;border:3px solid #1bc7e0;background:#020d21;color:white;min-height:44px;padding:10px;margin:8px 0 12px;border-radius:0;font:inherit}
.nickname-actions{display:flex;gap:16px;justify-content:space-between}
.nickname-actions button{font:inherit;font-size:10px;line-height:1.5;padding:12px;border:3px solid #fff;background:#ef1e71;color:white;cursor:pointer}
.nickname-actions .nickname-skip{background:transparent;border-color:#1bc7e0}
.nickname-status{color:#ffe65a}.nickname-status:empty{display:none}
.board-mine{color:#ffe65a}.board-actions{display:flex;gap:12px;align-items:center}.board-actions button{font:inherit;font-size:9px;background:#09283e;border:2px solid #1bc7e0;color:white;padding:10px;cursor:pointer}
.board-note,.board-own{font-size:10px!important;line-height:1.7!important}.score-table tr.is-me{background:#10443d;color:#ffe65a}
@media(max-height:450px){.nickname-card{padding:12px 18px}.nickname-card h2{font-size:12px;margin-bottom:8px}.nickname-card p,.nickname-card label{font-size:8px;margin-bottom:8px}.nickname-card input{min-height:38px;padding:6px;margin:5px 0 8px}.nickname-actions button{font-size:8px;padding:8px}.board-note,.board-own{font-size:8px!important}}
/* The nickname form follows the visible area above the iOS keyboard. */
.nickname-dialog{position:fixed;inset:auto;top:var(--nickname-top,0px);left:var(--nickname-left,0px);width:var(--nickname-width,100vw);height:var(--nickname-height,100dvh);z-index:110;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));overflow:auto}
.nickname-card{width:min(600px,100%);max-height:100%;overscroll-behavior:contain;touch-action:pan-y}
.nickname-card input{font-size:16px!important;line-height:1.5;touch-action:manipulation}
.nickname-dialog.keyboard-compact{place-items:start center}
.keyboard-compact .nickname-card{padding:8px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
.keyboard-compact .nickname-card h2,.keyboard-compact .nickname-card>p:not(.nickname-status){display:none}
.keyboard-compact .nickname-card label{font-size:8px;align-self:center}
.keyboard-compact .nickname-card input{margin:4px 0 0;min-height:40px}
.keyboard-compact .nickname-actions{align-items:end;gap:8px}
.keyboard-compact .nickname-actions button{min-height:44px;font-size:8px;padding:8px}
.keyboard-compact .nickname-status{grid-column:1/-1;order:3;margin:0;font-size:8px}
@media(max-width:480px){.keyboard-compact .nickname-card{grid-template-columns:1fr}.nickname-card{padding:16px}.nickname-card h2{font-size:14px}}
.rotate{display:none!important}
.rotate.is-visible{display:grid!important;position:fixed;inset:0;z-index:100;background:#020611;place-items:center;text-align:center;padding:24px;font-family:'Press Start 2P',monospace}
.rotate-logo{border:4px solid #1ed2eb;box-shadow:6px 6px #064a77;padding:18px 10px;color:#ffe65a;font-size:clamp(10px,3.4vw,18px);white-space:nowrap}
.rotate-logo b{color:#fb2d72}.rotate-logo em{color:#1ed2eb;font-style:normal}
.rotate.is-visible span{display:block;color:#1ed2eb;font-size:64px;margin:36px 0 24px}
.rotate.is-visible p{font:12px/1.8 'Press Start 2P',monospace;color:#ffe65a}
.rotate.is-visible small{font:10px/2 'Press Start 2P',monospace;color:#fff}
.portrait-blocked>:not(.rotate):not(.nickname-dialog){visibility:hidden}
