@font-face{font-family:NotoJP;src:url('./vendor/NotoSansJP.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--pink:#ff386f;--cyan:#83eef4;--paper:#eef1f4;--muted:#96a6b8;--bg:#080d18}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}#scene,#speed-lines,.film-grain{position:fixed;inset:0;width:100%;height:100%;display:block}#scene{outline:0}#speed-lines,.film-grain{pointer-events:none}.film-grain{opacity:.045;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.corner-brand{position:fixed;left:3.8vw;top:31px;z-index:12;display:flex;align-items:center;gap:15px;font-size:10px;font-weight:800;letter-spacing:2px}.brand-icon{font-size:26px;font-style:italic;letter-spacing:-3px}.brand-icon span{color:var(--pink);padding:0 4px}.corner-brand small{display:block;font:8px monospace;letter-spacing:2px;color:#9aabbd;margin-top:7px}.tools{position:fixed;right:3.8vw;top:30px;z-index:20;display:flex;gap:11px}.tools button{background:#0a102252;border:1px solid #9ab4d929;border-radius:3px;padding:11px 14px;backdrop-filter:blur(12px);font:9px monospace;letter-spacing:1.2px}.tools button:hover{border-color:#7cd4e8}.tools button span{color:var(--cyan);margin-left:5px}.tools #fullscreen{font-size:17px;padding:5px 12px}.tools kbd{font:8px monospace;color:#8a9bae;margin-left:6px}.screen{position:fixed;inset:0;z-index:5}.title-screen{display:flex;align-items:center}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050919f2 0%,#060c19d4 20%,#070d1b8f 39%,#060b1415 65%),linear-gradient(0deg,#020713e8 0%,transparent 24%,transparent 80%,#050b18b3 100%)}.title-screen.with-cover .title-shade{background:linear-gradient(90deg,#050919f2,#060c19d4 27%,#070d1b20 80%),var(--cover) center/cover}.title-content{position:relative;margin-left:7.5vw;margin-top:38px;max-width:770px}.kicker{display:flex;align-items:center;gap:10px;letter-spacing:2.5px;font:9px monospace;color:var(--cyan)}.kicker>span,.kicker>i{display:inline-block;width:6px;height:6px;background:var(--pink);box-shadow:0 0 14px #ff386f}.kicker b{font-weight:400;color:#677b95;font-size:8px;margin-left:10px;letter-spacing:.6px}h1{position:relative;font-weight:900;line-height:.88;font-size:clamp(62px,7.8vw,120px);font-style:italic;letter-spacing:-6px;margin:32px 0 25px}h1 em{font-style:inherit;background:linear-gradient(110deg,#dbe8ee 5%,#b9d2e4 35%,#5fd1e1 70%,#e2f3f2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.title-jp{font-family:NotoJP,sans-serif;font-style:normal;font-size:16px;letter-spacing:9px;color:#dc4977;display:block;margin:20px 0 0 4px}.tagline{font-size:17px;line-height:1.6;letter-spacing:.15px;color:#adbccb;margin:22px 0 25px}.control-chips{display:flex;gap:9px;margin:25px 0 32px}.control-chips div{border:1px solid #7991b136;background:#08132699;padding:11px 12px;border-radius:3px;display:flex;align-items:center;gap:9px;color:#a3b4c6;font:8px monospace;letter-spacing:.7px}.control-chips span{font-size:11px;color:white;white-space:nowrap}.primary{border:1px solid #ff7295;background:linear-gradient(105deg,#ed2158,#ff4179);border-radius:3px;box-shadow:0 0 35px #ff225e23;min-width:300px;padding:19px 25px;display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:11px;letter-spacing:1.7px;font-weight:800;color:#fff;transition:background .2s,transform .2s}.primary:hover{background:#ff5b90;transform:translateY(-2px)}.primary .arrow{font-size:23px;line-height:14px}.start-meta{display:flex;justify-content:space-between;width:300px;max-width:100%;font:8px monospace;letter-spacing:1px;color:#6f839c;margin-top:15px}.start-meta strong{color:#cbdce9;font-weight:400}.car-caption{position:absolute;right:5.5vw;bottom:17%;text-align:right;border-right:2px solid #7893b478;padding-right:17px}.car-caption>span{font:8px monospace;color:#7895ad;letter-spacing:2px}.car-caption strong{display:block;font-size:19px;font-style:italic;letter-spacing:1px;margin:9px 0}.car-caption p{color:#90a7bc;font-size:10px;line-height:1.6}.car-caption button{background:none;border:0;border-bottom:1px solid #b8c7d23b;padding:10px 0;font:8px monospace;letter-spacing:1.3px;color:#c9d7e2}.car-caption button span{margin-left:20px}.bottom-line{position:absolute;bottom:27px;left:3.8vw;right:3.8vw;border-top:1px solid #8cabc32b;padding-top:17px;display:flex;justify-content:space-between;font:8px monospace;color:#7189a0;letter-spacing:1.3px}.bottom-line i{font-style:normal;color:#ec4675;margin:0 12px}.bottom-line b{font-family:NotoJP;font-weight:500}.run-stats{position:fixed;top:113px;left:3.8vw;display:flex;gap:32px;text-shadow:0 2px 8px #000}.run-stats>div>span{font:8px monospace;letter-spacing:2px;color:#b6c5d7;display:block;margin-bottom:10px}.run-stats strong{font-size:24px;font-weight:800;font-style:italic;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.run-stats small{font:9px monospace;color:#a6bbcf}.heat strong{font-style:normal;font-size:19px;color:#f96b86;letter-spacing:2px}.heat i{font-style:normal;color:#526176}#hud{position:fixed;inset:0;pointer-events:none;z-index:4;background:linear-gradient(0deg,#03081977,transparent 22%,transparent 75%,#03081977)}.speedometer{position:absolute;bottom:68px;right:4vw;width:200px}.speed-number{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;text-shadow:0 2px 15px #050917}.speed-number strong{font-size:80px;font-weight:800;font-style:italic;letter-spacing:-4px;font-variant-numeric:tabular-nums;line-height:1}.speed-number>span{font:9px monospace;color:#a4b3c7}.boost-label{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:2px;margin:20px 0 10px}.boost-label kbd{font:8px monospace;color:#a0b9cd;letter-spacing:1px}.boost-track{height:6px;background:#adc4dc25;transform:skewX(-15deg);overflow:hidden}.boost-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff3175,#85eefa);box-shadow:0 0 15px #ff3673}.boosting .speed-number{color:#9ef4ff}.boosting .boost-track i{background:#ff4c92}.drive-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);white-space:nowrap;font:8px monospace;color:#8ba1b6;letter-spacing:1px}.drive-hint span{margin:0 12px;color:#4e6883}.pursuit-tag{position:absolute;bottom:78px;left:3.8vw;font:9px monospace;letter-spacing:2px;color:#acb9cb;display:flex;gap:12px;align-items:center}.pursuit-tag i{width:5px;height:5px;background:#ff4e74;box-shadow:0 0 14px #fa2957}.combo{position:absolute;top:26%;left:50%;transform:translate(-50%,10px);text-align:center;font-style:italic;font-weight:900;opacity:0;transition:opacity .15s,transform .15s;font-size:28px;letter-spacing:-1px;text-shadow:0 1px 15px #050c20}.combo.show{opacity:1;transform:translate(-50%,0)}.combo small{display:block;font:9px monospace;letter-spacing:2px;margin-top:7px;color:#99ecf4}.combo.damage{color:#ff657f}.bust-wrap{position:absolute;bottom:95px;left:50%;transform:translateX(-50%);width:300px;max-width:40vw}.bust-wrap>div:first-child{display:flex;justify-content:space-between;font:8px monospace;color:#ff778d;letter-spacing:1px}.bust-track{height:5px;background:#ff386f25;margin-top:10px}.bust-track i{height:100%;background:#ff386f;display:block}.bust-wrap p{font:9px monospace;color:#aaadb7;margin-top:10px;text-align:center}.pause-screen,.over-screen{display:flex;align-items:center;justify-content:center;background:#040915b5;backdrop-filter:blur(8px)}.over-screen{background:linear-gradient(110deg,#090b1aef,#131120ce)}.dialog{width:min(620px,88vw);text-align:left}.dialog h2{font-size:clamp(52px,6vw,85px);font-weight:900;font-style:italic;letter-spacing:-3px;line-height:.98;margin:26px 0}.dialog h2 em{font-style:inherit;color:#ff4875}.dialog p{color:#9aaabe;font-size:14px;line-height:1.6;margin:20px 0 30px}.dialog small{font:9px monospace;letter-spacing:1.5px;color:#6d859f;display:block;margin-top:18px}.results{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-top:1px solid #7f93b337;border-bottom:1px solid #7f93b337;margin:26px 0}.results span{display:block;font:9px monospace;letter-spacing:2px;color:#8096ae;margin-bottom:12px}.results strong{font-size:27px;font-style:italic}.run-detail{font:10px monospace;color:#9dabc1;line-height:1.6;margin-bottom:25px}.quiet-button{background:none;border:0;padding:20px 0;font:9px monospace;letter-spacing:2px;color:#8196ad}.dialog .primary{width:100%}#settings{position:fixed;right:3.8vw;top:86px;z-index:30;background:#0b1425ee;backdrop-filter:blur(20px);border:1px solid #57758b70;padding:25px;width:340px;max-width:90vw;border-radius:4px}#settings h2{font-size:25px;margin:0 0 25px;font-style:italic}#settings label{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:20px;margin:22px 0;line-height:1.6}#settings select{background:#151f31;color:#d3deeb;border:1px solid #40566a;padding:8px;max-width:150px}#settings input{accent-color:var(--pink);width:17px;height:17px}#settings p{font-size:10px;line-height:1.8;color:#8eacc3}#settings>button{background:#2d3d54;border:0;padding:12px;width:100%;font:10px monospace;letter-spacing:2px;margin-top:12px}dialog{background:#0b1526;color:#e0e6ec;border:1px solid #47647a;max-width:800px;width:90vw;padding:30px;z-index:40}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog img{display:block;width:100%;max-height:50vh;object-fit:contain}dialog h2{font-size:30px;font-style:italic}dialog p{font-size:12px;line-height:1.7;color:#a2b1c1}#close-reference{position:absolute;right:16px;top:12px;background:none;border:0;font-size:30px;color:#829caf}#error-screen{position:fixed;z-index:90;inset:0;background:#080f21;display:grid;place-content:center;padding:10vw}#error-screen h1{font-size:36px;letter-spacing:-1px;line-height:1.1}#error-screen p{max-width:600px;color:#c1cddd;line-height:1.8}#error-screen button{background:#ef386e;border:0;padding:20px;max-width:250px}#telemetry{position:fixed;bottom:50px;left:20px;z-index:50;background:#000c;padding:12px;white-space:pre;font:11px monospace;color:#bcebe7}.reduced .film-grain{display:none}
@media(max-height:780px){.title-content{margin-top:45px}h1{font-size:clamp(54px,7.1vw,100px);margin:24px 0 17px}.title-jp{font-size:12px;margin-top:13px}.tagline{font-size:14px;margin:18px 0}.control-chips{margin:18px 0 24px}.control-chips div{padding:10px}.primary{padding:16px 23px}.car-caption{bottom:15%}.title-content .kicker{font-size:8px}}
@media(max-width:1000px){.corner-brand{left:25px}.tools{right:25px}.title-content{margin-left:6vw}.kicker b{display:none}.car-caption{right:4vw;bottom:16%;max-width:180px}.car-caption p{font-size:9px}.control-chips{gap:6px}.control-chips div{font-size:7px;padding:9px}.speedometer{right:25px;bottom:68px;width:160px}.speed-number strong{font-size:65px}.run-stats{left:25px;gap:20px}.drive-hint{font-size:7px;letter-spacing:0}.drive-hint span{margin:0 6px}}
@media(max-width:680px){.tools{top:20px;right:16px;gap:5px}.tools button{padding:9px;font-size:8px}.tools #fullscreen{display:none}.corner-brand{left:16px;top:22px;gap:10px;font-size:8px;letter-spacing:1px}.corner-brand small{font-size:6px}.brand-icon{font-size:22px}.title-content{margin-left:7vw;margin-top:45px}.title-content h1{font-size:clamp(51px,12.5vw,75px);letter-spacing:-3px}.title-shade{background:linear-gradient(90deg,#050919ed,#060c19a9 65%,#060b1455)}.car-caption{display:none}.tagline{font-size:14px}.control-chips{max-width:310px;flex-wrap:wrap}.primary{min-width:260px}.bottom-line{left:7vw;right:7vw;font-size:7px}.bottom-line span:nth-child(2){display:none}.start-meta{width:260px}.run-stats{top:87px;left:16px;gap:15px}.run-stats strong{font-size:18px}.run-stats>div>span{font-size:7px;letter-spacing:1px}.heat strong{font-size:15px}.speedometer{right:18px;bottom:56px;width:132px}.speed-number strong{font-size:58px}.pursuit-tag{left:18px;bottom:56px;font-size:7px;letter-spacing:1px}.drive-hint{font-size:6px;bottom:20px}.drive-hint span{margin:0 4px}.bust-wrap{max-width:80vw;bottom:155px}.results strong{font-size:20px}.results span{font-size:7px}.dialog h2{font-size:58px}.dialog p{font-size:12px}}

/* Static overlays avoid recompositing SVG turbulence and backdrop filters each frame. */
.film-grain{display:none}.tools button,#settings,.pause-screen,.over-screen,dialog::backdrop{backdrop-filter:none}

.mission-card{position:absolute;top:110px;right:4vw;display:grid;grid-template-columns:1fr auto;gap:8px 20px;text-shadow:0 2px 6px #000}.mission-card>span{grid-column:1 / -1;font:8px monospace;letter-spacing:1.5px;color:#8bd8e4}.mission-card strong{font-size:12px;letter-spacing:.6px}.mission-card b{font:12px monospace;color:#9bf2e8}@media(max-width:700px){.mission-card{top:162px;left:18px;right:auto}.mission-card strong{font-size:10px}}
