:root{color-scheme:dark;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#f5ecd6;background:#10252b}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ffe0a3;outline-offset:5px}button{border:1px solid #e6d5ac55;background:#10252bd9;border-radius:5px;min-height:44px;padding:10px 15px;font-size:14px}button:hover{background:#315057}#app{height:100svh;min-height:650px;position:relative;overflow:hidden}#world,.shade{position:absolute;inset:0;width:100%;height:100%}.shade{pointer-events:none;background:linear-gradient(#091b3055,transparent 30%,transparent 58%,#020c1250)}header{position:absolute;top:28px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between}.brand span{font-family:Georgia,serif;font-size:21px;letter-spacing:.04em}.brand h1{font-size:12px;letter-spacing:.52em;margin:6px 0 0;font-weight:400}.park{color:#fff0d2;text-decoration:none;border-bottom:1px solid #d9c6a1;font-size:13px;letter-spacing:.1em;padding:10px 0}.location{position:absolute;top:145px;left:6%;text-shadow:0 2px 25px #122b3a}.eyebrow{font-size:12px;letter-spacing:.25em;color:#e4c896}h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:clamp(25px,3vw,46px);letter-spacing:.1em;margin:16px 0}.location p{font-size:14px;letter-spacing:.08em}.route{position:absolute;right:32px;top:140px;display:flex;flex-direction:column;gap:6px}.route button{text-align:left;background:#132b3377;border-color:transparent;font-size:12px;color:#ded8c7}.route button span{margin-left:12px;font-size:14px}.route button[aria-current=true]{border-color:#f4d09a88;background:#11292ccb;color:#ffe7b5}.console{position:absolute;left:6%;bottom:60px}.drive-controls{width:225px;display:grid;gap:10px}.gauge{display:flex;align-items:baseline;gap:12px;margin-bottom:9px}.gauge>span{font:italic 50px Georgia,serif;color:#e7d6b5}.gauge small{font-size:12px;letter-spacing:.12em;color:#c2c9bd}.primary{background:#ebcd97;color:#1b3031;border-color:#ebcd97}.primary:hover{background:#ffe3b0}.hint{font-size:12px;line-height:1.7;margin:0;color:#d4d6c7}.player-panel{position:absolute;width:356px;right:6%;bottom:52px;background:#111c20;border:1px solid #8e9b8d;border-radius:12px;padding:9px;box-shadow:0 18px 35px #0008;z-index:4;transition:width .6s,right .6s,bottom .6s}.player-top{height:26px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:#bbccbe;margin:0 4px 6px}.player-top button{min-height:32px;font-size:13px;padding:4px 10px}#player{height:200px;width:100%;background:#080e12}iframe{width:100%;height:100%;border:0;display:block}.track-row{display:flex;gap:6px;margin-top:7px;align-items:center}.track-row select{width:0;flex:1;min-height:38px;background:#1b3034;border:0;color:#f5e5c6;font-size:14px;padding:5px}.track-row button{padding:5px 8px;min-height:38px;font-size:12px}.external{display:block;text-align:center;color:#abb6b2;font-size:12px;margin-top:7px;text-underline-offset:3px}footer{position:absolute;bottom:17px;left:36px;right:36px;display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:12px;color:#c8c5b1;letter-spacing:.04em}.cinemaSign{position:absolute;top:48%;left:50%;transform:translateX(-50%);color:#ffe6a6;border:2px solid #d3ba8f;box-shadow:0 0 30px #eed19444;letter-spacing:.14em;z-index:3}.cinemaSign span{display:block;font-size:13px;margin-top:8px;letter-spacing:.06em}.cinema-mode .player-panel{width:min(70vw,850px);right:50%;transform:translateX(50%);bottom:29%;border:7px solid #314448;border-radius:2px;padding:8px;box-shadow:0 0 90px #e7d9b522}.cinema-mode #player{height:clamp(200px,36vw,420px)}.cinema-mode .location,.cinema-mode .route{display:none}.cinema-mode .console{bottom:50px}.cinema-mode .console #cinema{display:none}.cinema-caption{position:absolute;bottom:15%;right:9%;text-align:right}.cinema-caption>span{letter-spacing:.18em;font-size:12px;color:#e6c990}.cinema-caption p{font-family:"Yu Mincho",serif;font-size:23px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:650px){#app{min-height:700px}header{left:20px;right:20px;top:20px}.location{top:112px;left:22px}.location h2{font-size:25px;margin:10px 0}.location p{font-size:13px}.route{top:220px;left:18px;right:auto;flex-direction:row;gap:4px}.route button{font-size:0;padding:8px;min-height:40px}.route button span{font-size:12px;margin:0}.console{left:17px;bottom:72px}.drive-controls{width:130px;gap:8px}.drive-controls button{padding:8px;font-size:12px}.gauge{display:block;margin:0 0 12px}.gauge span{font-size:40px}.gauge small{display:block;font-size:10px}.hint{font-size:11px}.player-panel{width:210px;right:12px;bottom:50px;padding:4px;border-radius:8px}.player-top{font-size:10px;height:25px;margin:0 2px 3px;letter-spacing:.02em}.track-row{flex-wrap:wrap;gap:3px}.track-row select{font-size:12px}.track-row button{font-size:11px;padding:4px}.external{font-size:10px;margin-bottom:3px}footer{left:18px;right:18px;font-size:10px}.cinema-mode .player-panel{width:calc(100% - 24px);bottom:34%;padding:3px;border-width:3px}.cinema-mode #player{height:max(200px,48vw)}.cinema-caption{bottom:18%;right:20px}.cinema-caption p{font-size:18px}.cinema-caption>span{font-size:10px}.cinemaSign{top:43%;white-space:nowrap;font-size:12px}.cinema-mode .console{bottom:48px}}@media(max-height:560px) and (min-width:651px){#app{min-height:520px}.location{top:110px}.route{top:110px}.console{bottom:44px}.player-panel{bottom:37px}.cinema-mode .player-panel{width:480px;bottom:24%}.cinema-mode #player{height:200px}.cinema-caption{bottom:6%}}@media(prefers-reduced-motion:reduce){.player-panel{transition:none}}
@media(max-width:359px){.drive-controls{width:86px}.console{left:10px}.player-panel{right:8px}.gauge span{font-size:34px}.hint{font-size:10px}.drive-controls button{font-size:11px}.route{left:10px}}
/* The actual embedded viewport stays at YouTube's 200 × 200 minimum. */
.player-panel{width:200px;right:22px;bottom:43px;padding:0;border:0;border-radius:4px;overflow:visible;box-shadow:0 8px 25px #0006}
.player-top{height:24px;padding:0 6px;margin:0;font-size:10px;letter-spacing:.12em}
.player-top button{min-height:22px;height:22px;padding:1px 7px;font-size:11px;border:0;background:transparent}
#player{width:200px;height:200px}.track-row,.external{display:none}
.options-open .track-row,.cinema-mode .track-row{display:flex}.options-open .external,.cinema-mode .external{display:block;padding-bottom:8px}
.cinema-mode .player-panel{overflow:hidden}.cinema-mode #player{width:100%}.cinema-mode .player-top{height:32px}.cinema-mode #playerOptions{display:none}
.console{bottom:53px}.drive-controls{width:200px}.location{top:135px}.route{top:135px}
@media(max-width:650px){.player-panel{width:200px;right:10px;bottom:40px;padding:0;border:0}.console{left:15px;bottom:47px}.drive-controls{width:130px}.location{top:112px}.route{top:215px}.cinema-mode .player-panel{bottom:32%}.player-top{font-size:10px}.cinema-mode .player-top{height:32px}}
@media(max-width:359px){.drive-controls{width:88px}.console{left:9px}}
.cinema-dim{position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(2,7,13,.62);opacity:0;transition:opacity .6s ease}
.cinema-mode .cinema-dim{opacity:1}.cinema-mode .console,.cinema-mode .cinema-caption{z-index:2}
.cinema-mode .gauge,.cinema-mode .hint{opacity:.7}.cinema-mode .player-top{height:auto;min-height:38px;gap:12px;flex-wrap:wrap;padding:5px 7px}
.cinema-mode #closeCinema{min-height:34px;height:auto;white-space:nowrap;font-size:14px;border:1px solid #c9c4a65c;border-radius:4px}
@media(max-width:650px){.route{gap:4px;max-width:calc(100% - 28px);flex-wrap:wrap}.route button{padding:8px}.cinema-mode .player-top{gap:5px}.cinema-mode #closeCinema{font-size:13px}}
@media(prefers-reduced-motion:reduce){.cinema-dim{transition:none}}

.player-top{height:36px;gap:5px;letter-spacing:.06em}.player-top button{height:32px;min-height:32px;font-size:12px;padding:3px 7px}.player-top #next{white-space:nowrap;background:#253f43;color:#f5e5c6;border:1px solid #b1bba84d;border-radius:4px}
