.game-page{background:#fff;color:var(--slate)}
.game-page .site-shell{min-height:100vh;overflow:hidden}
.game-page .site-shell main{padding-top:122px;background:linear-gradient(180deg,var(--navy-deep) 0 690px,#f3f7f6 690px 100%)}
.game-page .intro{max-width:1240px;margin:0 auto;padding:72px 32px 48px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
.game-page .game-eyebrow{margin:0 0 20px;color:var(--teal);font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.game-page .game-eyebrow span{color:rgba(255,255,255,.45)}
.game-page h1{margin:0;color:#fff;font-family:var(--display);font-size:clamp(44px,5.4vw,76px);font-weight:600;line-height:.98;letter-spacing:-.01em}
.game-page h1 em{color:var(--teal);font-style:normal}
.game-page .intro-aside{width:min(100%,420px)}
.game-page .game-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.game-page .intro-copy{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.8}
.game-page .live-pill{color:rgba(255,255,255,.65);font:500 9px var(--mono);letter-spacing:.12em}
.game-page .live-pill i,.game-page .route-label i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(0,217,166,.12)}
.game-page .icon-button{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.game-page .icon-button:hover{border-color:var(--teal);background:rgba(0,217,166,.1);transform:translateY(-1px)}
.game-page .icon-button svg{width:18px;fill:currentColor}.game-page .sound-off{display:none}.game-page .icon-button[aria-pressed=true] .sound-on{display:none}.game-page .icon-button[aria-pressed=true] .sound-off{display:block}

.game-page .game-card{max-width:1180px;margin:0 auto;padding:0 20px;scroll-margin-top:112px;filter:drop-shadow(0 28px 42px rgba(6,26,46,.18))}
.game-page .game-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:6px 6px 0 0;background:#12384b;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y}
.game-page .game-frame canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y}
.game-page .top-hud{position:absolute;top:0;left:0;right:0;height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);color:#d4dce0;font:500 9px var(--mono);letter-spacing:.12em;pointer-events:none}
.game-page .route-label b{padding:0 6px;color:var(--teal);font-size:13px}.game-page .alt-label strong{color:#fff;font-weight:500}
.game-page .score-hud{position:absolute;top:75px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);pointer-events:none;transition:opacity .2s}
.game-page .score-hud span{color:#b6c2c8;font:500 8px var(--mono);letter-spacing:.2em}.game-page .score-hud strong{font:600 clamp(24px,4vw,46px) var(--mono)}.game-page .score-hud.is-hidden{opacity:0}
.game-page .panel{position:absolute;z-index:3;top:52%;left:50%;width:min(410px,82%);transform:translate(-50%,-50%);color:#fff;text-align:center}.game-page .panel[hidden]{display:none}
.game-page .parcel-icon{height:64px;margin-bottom:10px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 9px 10px rgba(0,0,0,.22))}
.game-page .box-face{position:relative;z-index:2;width:61px;height:51px;display:grid;place-items:center;background:var(--teal-dark);color:#fff;font:800 13px var(--body);clip-path:polygon(8% 0,92% 0,100% 13%,100% 87%,92% 100%,8% 100%,0 87%,0 13%)}
.game-page .wing{width:48px;height:25px;display:block;background:#e7eef0}.game-page .wing-left{clip-path:polygon(0 10%,100% 0,100% 100%,30% 70%)}.game-page .wing-right{clip-path:polygon(0 0,100% 10%,70% 70%,0 100%)}
.game-page .panel-kicker{margin:0 0 10px!important;color:var(--teal)!important;font:500 9px var(--mono)!important;letter-spacing:.18em}.game-page .panel-kicker.danger{color:#80b8ff!important}
.game-page .panel h2{margin:0;font-family:var(--display);font-size:clamp(25px,3.3vw,38px);letter-spacing:0}.game-page .panel>p{margin:10px auto 22px;color:#bfccd2;font-size:12px;line-height:1.5}.game-page .panel>p strong{color:#fff}
.game-page .primary-button{min-width:230px;height:54px;margin:auto;padding:0 9px 0 22px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--teal);color:var(--navy-deep);box-shadow:0 10px 24px rgba(0,217,166,.24);font:700 11px var(--body);letter-spacing:.08em;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.game-page .primary-button:hover{transform:translateY(-2px);background:#70ead0;box-shadow:0 13px 28px rgba(0,217,166,.3)}.game-page .primary-button:active{transform:translateY(1px)}
.game-page kbd{padding:8px 10px;border:1px solid rgba(6,26,46,.14);border-radius:999px;background:rgba(6,26,46,.12);box-shadow:none;font:500 8px var(--mono)}
.game-page .control-hint{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:8px;color:#95a7b1;font:500 8px var(--mono);letter-spacing:.08em}.game-page .control-hint b{color:#cbd5da;font-weight:500}.game-page .control-hint i{color:#687e8a;font-style:normal}
.game-page .mouse-icon{position:relative;width:12px;height:17px;border:1px solid #95a7b1;border-radius:7px}.game-page .mouse-icon:before{content:"";position:absolute;top:3px;left:5px;height:4px;border-left:1px solid #95a7b1}
.game-page .result-row{margin:20px 0;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(4,17,26,.42);backdrop-filter:blur(7px)}.game-page .result-row div{padding:13px}.game-page .result-row div+div{border-left:1px solid rgba(255,255,255,.14)}.game-page .result-row span{display:block;color:#8fa2ad;font:500 8px var(--mono);letter-spacing:.12em}.game-page .result-row strong{font:500 26px var(--mono)}
.game-page .text-button{margin-top:14px;border:0;background:none;color:#c8d3d8;font:600 9px var(--body);letter-spacing:.12em;cursor:pointer}.game-page .text-button span{margin-left:5px;color:var(--teal)}
.game-page .game-footer{height:80px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(10,37,64,.1);border-top:0;border-radius:0 0 6px 6px;background:#fff}
.game-page .mission,.game-page .record{display:flex;flex-direction:column;gap:4px}.game-page .game-footer span{color:#7c888f;font:500 8px var(--mono);letter-spacing:.16em}.game-page .game-footer p{margin:0;color:#3d4a4e;font-size:11px}.game-page .record{text-align:right}.game-page .record strong{font:600 11px var(--mono);letter-spacing:.08em}.game-page .record strong b{color:var(--teal-dark);font-weight:600}

.game-page .below-game{max-width:1100px;margin:0 auto;padding:110px 20px 120px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.game-page .section-index{color:var(--teal-dark);font:500 9px var(--mono);letter-spacing:.14em}.game-page .below-game h2{margin:19px 0 0;color:var(--navy);font-family:var(--display);font-size:clamp(36px,4.2vw,58px);line-height:1;letter-spacing:-.01em}.game-page .challenge-copy{padding-top:33px}.game-page .challenge-copy p{max-width:430px;color:var(--slate-soft);font-size:14px;line-height:1.8}.game-page .site-link{display:inline-block;margin-top:24px;padding-bottom:7px;border-bottom:1px solid rgba(10,37,64,.25);color:var(--navy);font-size:10px;font-weight:800;letter-spacing:.12em}.game-page .site-link span{margin-left:7px;color:var(--teal-dark)}
.game-page .toast{position:fixed;z-index:130;bottom:25px;left:50%;padding:12px 17px;border-radius:999px;transform:translate(-50%,20px);background:var(--navy);color:#fff;font:500 9px var(--mono);letter-spacing:.12em;opacity:0;pointer-events:none;transition:.25s}.game-page .toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1100px){.game-page .site-shell main{padding-top:108px}.game-page .intro{padding-top:54px}}
@media(max-width:700px){.game-page .site-shell main{padding-top:90px;background:linear-gradient(180deg,var(--navy-deep) 0 720px,#f3f7f6 720px 100%)}.game-page .intro{padding:44px 20px 34px;display:block}.game-page .intro-aside{margin-top:24px}.game-page .game-status{margin-bottom:12px}.game-page .game-card{padding:0}.game-page .game-frame{min-height:540px;max-height:76vh;aspect-ratio:10/14;border-left:0;border-right:0;border-radius:0}.game-page .top-hud{height:48px;padding:0 14px}.game-page .score-hud{top:62px}.game-page .panel{top:51%;width:88%}.game-page .game-footer{height:70px;padding:0 16px;border-radius:0}.game-page .mission p{max-width:190px;font-size:9px}.game-page .below-game{padding:80px 22px;grid-template-columns:1fr;gap:12px}.game-page .challenge-copy{padding-top:10px}}
@media(max-width:390px){.game-page .intro{padding-right:16px;padding-left:16px}.game-page .intro-copy{font-size:12px}.game-page .parcel-icon{margin-bottom:2px}.game-page .panel>p{margin-bottom:16px}.game-page .control-hint{margin-top:13px}.game-page .primary-button{height:50px}.game-page .gameover-panel>p{margin:7px auto 12px}.game-page .result-row{margin:12px 0}}
@media(prefers-reduced-motion:reduce){.game-page .primary-button,.game-page .toast{transition:none}}
