/* Game surface and game-specific controls only. */
.highlow-shell,.play-area,.card-table{
  overscroll-behavior:none;
  touch-action:manipulation;
}
.card,.number-card{
  touch-action:manipulation;
}
:root{--orb-size:clamp(34px,10vw,44px);}
[role=button]{-webkit-tap-highlight-color:transparent}
.tube:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}
.result-orbit{position:relative;display:grid;width:88px;height:88px;margin:6px auto 12px;place-items:center}
.result-orbit:before{content:"";position:absolute;inset:5px;border:1px solid #ffe29c;border-radius:50%;box-shadow:0 0 22px #ffd65d;animation:orbit 2.2s linear infinite}
.result-orbit img{width:70px;height:70px}
@keyframes target-pulse{50%{opacity:.5;transform:scale(.88)}}
@keyframes orbit{to{transform:rotate(360deg)}}
.labyrinth-stage{width:min(100%,calc(100svh - 270px - env(safe-area-inset-bottom)));margin:6px auto 0;aspect-ratio:1;min-width:220px}
#maze{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain;filter:drop-shadow(0 15px 16px #000b)}
#maze:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:50%}
.game-actions{display:flex;justify-content:center;margin:8px 0 0}
.game-actions button{min-width:140px}
body.has-game-anchor .labyrinth-stage{width:min(100%,calc(100svh - 332px - env(safe-area-inset-bottom)))}
body.has-game-anchor{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
@media(min-width:700px){.labyrinth-stage{width:min(87vw,calc(100svh - 258px - env(safe-area-inset-bottom)),780px)}
body.has-game-anchor .labyrinth-stage{width:min(87vw,calc(100svh - 320px - env(safe-area-inset-bottom)),780px)}}
@media(orientation:landscape) and (max-height:650px){.labyrinth-stage{width:min(62vh,100%)}
.game-actions{margin-top:0}}
.preview-capture .game-actions{display:none}
.preview-capture .labyrinth-stage{width:100%;min-width:0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.game-actions button{font-size:13px}
.game-actions{gap:8px}
.game-actions button{min-width:0;flex:0 1 160px;padding-inline:10px}
.sensor-controls{border-bottom:1px solid #3c321f;padding-bottom:15px}
.sensor-buttons{display:grid;gap:8px}
.sensor-buttons button{width:100%}
#sensor-status{color:var(--gold-light)}
.game-actions{position:sticky;top:0;z-index:3;margin:0 0 8px;padding:4px 0;background:#080c15f5}
.game-actions button{min-height:44px}
#sensor[aria-pressed="true"]{border-color:#91dfc1;color:#c1f5df}
.preview-capture .game-actions{display:none}
.jump-actions{display:flex;justify-content:center;margin:6px 0 0}
.jump-actions button{min-width:140px;min-height:44px}
.preview-capture .jump-actions{display:none}
.labyrinth-stage{width:min(100%,calc(100svh - 320px - env(safe-area-inset-bottom)))}
body.has-game-anchor .labyrinth-stage{width:min(100%,calc(100svh - 382px - env(safe-area-inset-bottom)))}
@media(min-width:700px){.labyrinth-stage{width:min(87vw,calc(100svh - 308px - env(safe-area-inset-bottom)),780px)}
body.has-game-anchor .labyrinth-stage{width:min(87vw,calc(100svh - 370px - env(safe-area-inset-bottom)),780px)}}
@media(orientation:landscape) and (max-height:650px){.labyrinth-stage{width:min(62vh,100%)}}
.preview-capture .labyrinth-stage{width:100%}
.jump-actions{gap:9px;align-items:center}
.jump-actions select{min-height:44px;min-width:98px;max-width:140px;border:1px solid #947333;border-radius:12px;padding:8px 12px;background:#0a0e15;color:var(--gold-light);font:16px Arial,sans-serif;touch-action:manipulation}
.jump-actions select:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}
.jump-actions select:disabled{opacity:.5}
.jump-actions{gap:7px}
.jump-actions button{min-width:90px;flex:0 1 120px;padding-inline:10px}
.jump-actions select{min-width:0;width:104px;max-width:calc((100% - 104px)/2);padding-inline:8px}
.level-setting{display:grid;gap:8px;margin:16px 0;color:var(--gold-light)}
.level-setting select{width:100%;min-height:44px;border:1px solid #947333;border-radius:10px;padding:10px;background:#0a0e15;color:var(--gold-light);font:16px Arial,sans-serif}
.level-setting select:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}
.labyrinth-stage,body.has-game-anchor .labyrinth-stage{width:100%;max-width:none;min-width:0;margin-inline:0}
@media(orientation:landscape){.labyrinth-stage,body.has-game-anchor .labyrinth-stage{width:min(100%,calc(100svh - 220px));min-width:220px;margin-inline:auto}}
