body.on-title{overflow:hidden}
/* Shared full-width sound bar is used unchanged. */
.arrival-title{height:calc(100svh - var(--audio-bar-height));min-height:420px;max-height:none;background:#162633}
.arrival-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.arrival-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061728e8 0%,#071c30ad 26%,#071c3040 49%,transparent 68%)}
.arrival-menu{position:absolute;left:6.5%;top:50%;transform:translateY(-50%);color:#fff;max-width:49%;width:520px;font-family:var(--game-font)}
.arrival-menu h1{margin:0 0 clamp(30px,6vh,65px);line-height:1.15;letter-spacing:-.065em;font-weight:900;transform:skewX(-4deg)}
.arrival-kicker{display:flex;align-items:center;gap:24px;font-size:clamp(24px,3vw,46px);letter-spacing:-.06em;margin-bottom:12px;text-shadow:2px 3px 0 #102e3e;-webkit-text-stroke:.5px currentColor}
.arrival-kicker::after{content:'';height:2px;width:30%;background:linear-gradient(90deg,#ffbc33 0 24%,#fff0c6 24%)}
.arrival-logo{position:relative;display:block;width:max-content;max-width:100%;padding:0 8px 17px 0;font-size:clamp(52px,9.2vw,138px);color:#fff2cf;letter-spacing:-.085em;white-space:nowrap;-webkit-text-stroke:2.5px currentColor;text-shadow:3px 5px 0 #164550,5px 8px 0 #061723}
.arrival-logo::after{content:'';position:absolute;height:4px;bottom:0;left:0;right:0;background:#ffbb32;box-shadow:0 4px 0 #12323c}
.arrival-paper{position:absolute;right:-10px;top:2%;width:19px;height:29px;background:#fff1cf;clip-path:polygon(0 0,65% 0,100% 30%,100% 100%,0 100%);transform:rotate(3deg)}
.arrival-paper::before{content:'';position:absolute;right:0;top:0;width:8px;height:9px;background:#ffb62d}
.arrival-paper::after{content:'';position:absolute;left:4px;right:4px;top:15px;height:2px;background:#314d5a;box-shadow:0 4px #314d5a}
.arrival-menu nav{display:flex;flex-direction:column;gap:18px;width:90%;max-width:450px}
.arrival-menu button{position:relative;isolation:isolate;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);min-height:76px;padding:17px 65px 17px 37px;background:#fff0cc;color:#102638;text-align:left;font-size:clamp(22px,2.5vw,36px);font-weight:900;letter-spacing:-.05em;border:0;border-left:6px solid #ffb822;transition:filter .18s,transform .18s}
.arrival-menu button::after{content:'';position:absolute;right:31px;top:50%;width:13px;height:13px;border:solid #ffb822;border-width:5px 5px 0 0;transform:translateY(-50%) rotate(45deg)}
.arrival-menu button[data-action="continue"]{background:#fff0cc;color:#fff2d4;border:0}
.arrival-menu button[data-action="continue"]::before{content:'';position:absolute;inset:2px;z-index:-1;background:#152e40;clip-path:polygon(15px 0,calc(100% - 15px) 0,100% 15px,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}
.arrival-menu button[data-action="continue"]::after{border-color:#fff0cc}
.arrival-menu button:not(:disabled):hover{filter:brightness(1.12);transform:translateX(6px)}
.arrival-menu button:focus-visible{outline:0;filter:brightness(1.15);text-decoration:underline;text-underline-offset:7px}
.arrival-menu button:disabled{opacity:.45}
@media(max-width:650px){.arrival-background{object-position:62% center}.arrival-menu{left:7%;width:84%;max-width:84%}.arrival-logo{font-size:clamp(48px,12vw,75px);-webkit-text-stroke:1.8px currentColor}.arrival-kicker{font-size:27px}.arrival-menu nav{width:83%}.arrival-menu button{min-height:62px;padding:14px 50px 14px 25px;font-size:25px}.arrival-menu button::after{right:23px;width:10px;height:10px}.arrival-shade{background:linear-gradient(90deg,#071c30df,#071c3070 65%,#071c3020)}}
@media(max-height:550px){.arrival-title{min-height:340px}.arrival-menu h1{margin-bottom:20px}.arrival-logo{font-size:60px}.arrival-kicker{font-size:25px;margin-bottom:4px}.arrival-menu nav{gap:10px}.arrival-menu button{min-height:56px;font-size:24px;padding-top:10px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.arrival-menu button{transition:none}}
dialog.restart-modal{width:680px;max-width:92vw;background:#edf3f5;color:#203f50;border:2px solid #426675;border-radius:12px;box-shadow:0 24px 90px #071c30aa}
dialog.restart-modal::backdrop{background:#071c30b3}
.restart-modal .modal-body{padding:72px 40px 34px}
.restart-modal h2{margin:0;text-align:center;font-size:clamp(19px,3.6vw,27px);line-height:1.6;word-break:keep-all}
.restart-modal .close{background:#d9e5ea;color:#203f50}
.restart-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}
dialog.restart-modal .restart-actions button{margin:0;min-height:54px;background:#264e62;border:1px solid #264e62;color:#fff;border-radius:6px;box-shadow:0 3px 0 #163242;font-size:18px}
dialog.restart-modal .restart-actions .secondary{background:#e0eaef;color:#264e62;border-color:#89a3b1;box-shadow:0 3px 0 #b8cbd4}
.restart-actions button:hover{filter:brightness(1.08)}
.restart-actions button:focus-visible{outline:3px solid #589bb5;outline-offset:4px}
@media(max-width:480px){.restart-modal .modal-body{padding:64px 22px 28px}.restart-actions{gap:14px;margin-top:30px}}

