/* Full-width phone game; controls stay inside its sky-colored frame. */
.passenger-game{margin:0 auto;padding:12px 0 0;color:#302f29;max-width:none}
#game-stage{position:relative;background:#b9cbd0;padding-top:48px;margin-top:18px}
#game-canvas{display:block;width:100%;height:auto;aspect-ratio:2/3;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:pointer}
#game-canvas:focus-visible{outline:2px solid #97573e;outline-offset:-2px}
.game-toolbar{position:absolute;top:2px;right:8px;display:flex;gap:6px;height:44px}
.game-toolbar button{width:44px;height:44px;border:0;border-radius:50%;background:#f4f0e5bb;color:#302f29;display:grid;place-items:center;padding:11px;cursor:pointer}
.game-toolbar button:disabled{opacity:.4;cursor:default}
.game-toolbar button:focus-visible{outline:2px solid #97573e;outline-offset:-2px}
#game-fullscreen:before{content:'';width:20px;height:20px;background:linear-gradient(currentColor,currentColor) left top/7px 2px,linear-gradient(currentColor,currentColor) left top/2px 7px,linear-gradient(currentColor,currentColor) right top/7px 2px,linear-gradient(currentColor,currentColor) right top/2px 7px,linear-gradient(currentColor,currentColor) left bottom/7px 2px,linear-gradient(currentColor,currentColor) left bottom/2px 7px,linear-gradient(currentColor,currentColor) right bottom/7px 2px,linear-gradient(currentColor,currentColor) right bottom/2px 7px;background-repeat:no-repeat}
#game-fullscreen[aria-pressed="true"]:before{content:'×';background:none;font:28px/20px Arial}
#game-pause:before{content:'';height:18px;width:14px;border-left:5px solid currentColor;border-right:5px solid currentColor}
#game-pause[aria-label="Resume"]:before{width:0;height:0;border:9px solid transparent;border-left:14px solid currentColor;border-right:0}
@media(max-width:699px){#game-stage{width:100vw;margin-left:calc(50% - 50vw)}}
#game-stage:fullscreen,#game-stage.game-expanded{box-sizing:border-box;background:#b9cbd0;width:100vw;height:100dvh;margin:0;padding:calc(48px + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom)}
#game-stage.game-expanded{position:fixed;inset:0;z-index:10000}
#game-stage:fullscreen #game-canvas,#game-stage.game-expanded #game-canvas{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
#game-stage:fullscreen .game-toolbar,#game-stage.game-expanded .game-toolbar{top:calc(2px + env(safe-area-inset-top))}
#game-leaderboard{font:28px/1 Georgia}
.score-panel[hidden],.score-panel [hidden]{display:none!important}
.score-panel{position:absolute;inset:48px 0 0;z-index:5;overflow:auto;overscroll-behavior:contain;background:#b9cbd0e8;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px}
.score-sheet{position:relative;width:min(100%,420px);background:#f4f0e5;padding:28px 24px;color:#302f29;box-shadow:0 12px 35px #302f2926}
.score-sheet h3{font:italic 36px/1.1 Georgia;margin:8px 0 16px}
.score-eyebrow{font:10px/1.4 Arial;letter-spacing:.16em;margin:0;color:#66765e}
.score-sheet button{min-height:44px;border:0;background:#59694f;color:#fffdf4;padding:10px 18px;font:15px Georgia;cursor:pointer}
.score-sheet button:disabled{opacity:.5;cursor:wait}
.score-sheet .score-close{position:absolute;right:6px;top:6px;width:44px;background:none;color:#302f29;font:26px Arial;padding:0}
.score-sheet label{display:block;font:14px/1.4 Arial;margin:16px 0 5px}
.score-sheet label span{color:#6e7269;font-size:12px}
.score-sheet input:not([type=checkbox]){box-sizing:border-box;width:100%;padding:11px;border:1px solid #a5aa99;border-radius:0;background:#fffcf6;font:16px Arial;color:#302f29}
.score-sheet .score-optin{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:16px 0}
.score-optin input{width:18px;height:18px;flex-shrink:0;accent-color:#59694f;margin:0}
.score-fineprint{font:12px/1.55 Arial;color:#6c6d63;margin:14px 0 18px}
#score-feedback{font:14px/1.5 Arial}
#score-list{padding-left:24px;font:16px/1.4 Georgia;margin:24px 0}
#score-list li{padding:10px 4px;border-bottom:1px solid #c9cabc}
#score-list li span{display:inline-block;max-width:75%;overflow-wrap:anywhere}
#score-list strong{float:right;font-weight:normal;font-variant-numeric:tabular-nums;color:#59694f}
.score-sheet .score-back{background:none;color:#59694f;border:1px solid #a5aa99;width:100%}
#game-stage:fullscreen .score-panel,#game-stage.game-expanded .score-panel{top:calc(48px + env(safe-area-inset-top))}

#game-stage[hidden],#game-invite[hidden]{display:none!important}
#game-invite{text-align:center;padding:26px 12px 36px}
#game-invite p{font:italic 23px/1.5 Georgia,serif;margin:0 0 22px}
#game-open{min-height:44px;padding:11px 26px;border:1px solid #59694f;background:#59694f;color:#fffdf4;font:17px Georgia,serif;cursor:pointer}
#game-open:hover{background:#43543e}
#game-open:focus-visible{outline:2px solid #97573e;outline-offset:4px}
