[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.game-main{margin:0 auto}
.hero-stage{margin:0;aspect-ratio:16/9;overflow:hidden;background:#fdf8ef}
.hero-stage img{display:block;width:100%;height:100%;object-fit:contain}
#flight{max-width:480px;margin:8px auto 18px}
.hud{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 16px 6px;min-height:28px;font-size:.82rem;font-variant-numeric:tabular-nums}
.route-progress{display:flex;gap:5px}
.route-progress i{display:block;width:14px;height:4px;background:#ccd4d8}
.route-progress i.done{background:#23374b}
#board{box-sizing:border-box;display:block;position:relative;margin-inline:auto;width:calc(100% - 32px);aspect-ratio:6/7;border:1px solid #718292;background:#fdf8ef;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:ew-resize;overflow:hidden}
#playfield{display:block;width:100%;height:100%;pointer-events:none}
#start,#replay,#share{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#result{box-sizing:border-box;width:min(680px,calc(100% - 28px));margin:16px auto 28px}
.result-card{padding:var(--hg-entry-copy-pad-block) var(--hg-entry-copy-pad-inline);background:var(--hg-paper);border:1px solid var(--hg-line);border-radius:16px;text-align:center}
#resultTrace{display:block;width:min(100%,420px);height:auto;margin:0 auto}
.result-count{font-size:1.35rem;font-weight:850}
.result-score{font-size:1rem;font-variant-numeric:tabular-nums}
.result-score strong{font-size:2.5rem}
.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--hg-space-3);margin-block:var(--hg-space-4)}
.result-card h2,.result-card p{overflow-wrap:anywhere}
#readiness{color:var(--hg-muted)}
@media(prefers-reduced-motion:reduce){#start,#replay,#share{transition:none}}
