@font-face{font-family:Archivo;src:url(../assets/fonts/archivo-latin.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:ArchivoBlack;src:url(../assets/fonts/archivo-black-latin.woff2) format("woff2");font-weight:900;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#040104;color:#e8e2dd;font-family:Archivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}

.drive-gate{position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;overflow:hidden;background:#040104;transition:opacity 1.2s ease,visibility 0s linear 1.2s}
.drive-gate.is-open{opacity:0;visibility:hidden;pointer-events:none}
.drive-gate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.28) brightness(.42);transform:scale(1.06)}
.drive-gate-shade{position:absolute;inset:0;background:radial-gradient(circle at 74% 46%,transparent 0 8%,rgba(6,2,4,.4) 32%,rgba(4,1,4,.95) 78%),linear-gradient(90deg,rgba(4,1,4,.96),transparent 70%)}
.drive-gate-copy{position:relative;z-index:3;width:min(980px,calc(100vw - 44px));padding:clamp(24px,6vw,78px);transition:opacity .15s ease,visibility 0s linear .15s}
.drive-gate.is-open .drive-gate-copy{opacity:0;visibility:hidden}
.drive-gate-brand{display:inline-block;margin-bottom:22px;color:#ff5a34;font:1.1rem ArchivoBlack,Arial,sans-serif;letter-spacing:-.03em;text-decoration:none}
.drive-gate-copy>p:first-of-type{margin:0 0 16px;color:#ff6343;font-size:.52rem;font-weight:800;letter-spacing:.25em}
.drive-gate h1{max-width:11ch;margin:0;font:clamp(3rem,10vw,9rem)/.78 ArchivoBlack,Arial,sans-serif;letter-spacing:-.072em}
.drive-gate h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgba(232,226,221,.5)}
.drive-gate-copy>p:not(:first-of-type){max-width:40ch;margin:24px 0 22px;color:#bdb2ab;font-size:clamp(.84rem,1.5vw,1.06rem);line-height:1.55}
.drive-gate-copy>div{display:flex;flex-wrap:wrap;gap:8px}
.drive-gate button{padding:13px 16px;border:1px solid #9e3424;background:#250607;color:#f2c2b6;font-size:.57rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.drive-gate button+button{border-color:rgba(232,226,221,.18);background:#080209;color:#95898a}
.drive-gate button:hover{border-color:#ff6848;color:#fff}
.drive-gate small{display:block;margin-top:14px;color:#7a6c6c;font-size:.44rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

.drive-world{position:fixed;inset:0;overflow:hidden;background:#040104;opacity:0;transition:opacity 1.2s ease}
.drive-world.is-live{opacity:1}
#drive-road{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
#drive-glass{position:absolute;inset:0;z-index:6;width:100%;height:100%;pointer-events:none}

.drive-cabin{position:absolute;inset:0;z-index:12;pointer-events:none}
.drive-roof{position:absolute;left:0;right:0;top:0;height:74px;border-bottom:8px solid #120608;background:linear-gradient(#020102,#0b0407 62%,#150a0c);clip-path:polygon(0 0,100% 0,100% 42%,74% 42%,68% 100%,33% 100%,27% 42%,0 42%)}
.drive-roof span{position:absolute;left:50%;top:20px;color:#6a4d48;font-size:.35rem;font-weight:800;letter-spacing:.18em;transform:translateX(-50%)}
.drive-roof i{position:absolute;top:19px;width:5px;height:5px;border-radius:50%;background:#ff4528;box-shadow:0 0 10px #ff321d}
.drive-roof i:first-child{left:28%}.drive-roof i:nth-child(2){right:28%}
.drive-pillar{position:absolute;top:44px;bottom:96px;width:clamp(34px,4.4vw,70px);background:linear-gradient(90deg,#020102,#1a0d10,#050203);border:1px solid #2a1518}
.drive-pillar.is-left{left:0;clip-path:polygon(0 0,100% 7%,55% 100%,0 100%)}
.drive-pillar.is-right{right:0;clip-path:polygon(0 7%,100% 0,100% 100%,45% 100%)}
.drive-mirror{position:absolute;left:50%;top:78px;z-index:3;display:grid;place-items:center;width:min(300px,34vw);height:52px;border:1px solid #2b1a1c;background:linear-gradient(#0b0508,#050203);transform:translateX(-50%) rotate(calc(var(--d-steer,0)*-.5deg));box-shadow:0 8px 26px rgba(0,0,0,.7)}
.drive-mirror i{position:absolute;inset:5px;border:1px solid rgba(255,90,52,.1);background:linear-gradient(180deg,rgba(255,70,40,.06),transparent 60%)}
.drive-mirror b{position:relative;color:#8a6d66;font-size:.36rem;font-weight:800;letter-spacing:.16em}
.drive-dash{position:absolute;left:0;right:0;bottom:0;height:96px;background:linear-gradient(transparent,#090306 22%,#150a0d);border-top:1px solid #2e181b}
.drive-vent{position:absolute;bottom:20px;width:14%;height:28px;border:1px solid #2c181b;background:repeating-linear-gradient(90deg,#080306 0 8px,#221013 9px 11px)}
.drive-vent.is-left{left:7%}.drive-vent.is-right{right:7%}
.drive-wheel{position:absolute;left:50%;bottom:-60px;width:156px;height:124px;border:17px solid #150a0d;border-radius:50%;transform:translateX(-50%) rotate(calc(var(--d-steer,0)*22deg));box-shadow:inset 0 0 0 2px #33191d}
.drive-wheel i{position:absolute;left:50%;top:20px;width:64px;height:44px;border:1px solid #3a1d21;background:#070203;transform:translateX(-50%)}
.drive-wheel b{position:absolute;left:50%;top:34px;color:#ff4e30;font:.7rem ArchivoBlack,Arial,sans-serif;transform:translateX(-50%)}
.drive-burning .drive-wheel b{color:#ffb184;text-shadow:0 0 14px #ff6a2a}

.drive-header{position:fixed;inset:18px 18px auto;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:#7a6864;font-size:.44rem;font-weight:800;letter-spacing:.16em}
.drive-header>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,71,42,.43);color:#ff5a3a;font:1rem ArchivoBlack,Arial,sans-serif;text-decoration:none}
.drive-header button{padding:8px 10px;border:1px solid rgba(232,226,221,.14);background:rgba(6,2,5,.74);color:#8a7873;font-size:.42rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}

.drive-hud{position:fixed;left:18px;top:83px;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:7px;width:min(296px,30vw)}
.drive-hud>div{display:grid;grid-template-columns:1fr auto;align-items:end;padding:8px 9px;border:1px solid rgba(232,226,221,.1);background:rgba(6,2,5,.55)}
.drive-hud span{grid-column:1/-1;color:#7a6560;font-size:.36rem;font-weight:800;letter-spacing:.14em}
.drive-hud b{color:#e4dcd6;font:1.05rem ArchivoBlack,Arial,sans-serif}
.drive-hud small{padding-bottom:2px;color:#ff6040;font-size:.34rem;font-weight:800}
.drive-hud .drive-burn-bar{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:4px}
.drive-hud .drive-burn-bar span{grid-column:1/-1}
.drive-hud .drive-burn-bar i{position:relative;display:block;height:7px;border:1px solid rgba(232,226,221,.16);background:#0a0406}
.drive-hud .drive-burn-bar b{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,#a33413,#ff8a3d);box-shadow:0 0 12px rgba(255,110,50,.6);transition:width .12s linear}
.drive-hud .drive-burn-bar output{padding-left:6px;color:#ff9a5f;font-size:.42rem;font-weight:800}
.drive-burn-dry .drive-burn-bar b{background:linear-gradient(90deg,#3d1108,#7a2415)}

.drive-signal{position:fixed;left:50%;top:26%;z-index:16;width:min(660px,calc(100vw - 100px));text-align:center;text-shadow:0 3px 27px #000;transform:translate(-50%,-50%);pointer-events:none}
.drive-signal p{margin:0 0 12px;color:#ff5c3b;font-size:.47rem;font-weight:800;letter-spacing:.22em}
.drive-signal h2{max-width:28ch;margin:0 auto;font:clamp(1.1rem,2.4vw,2.4rem)/1 ArchivoBlack,Arial,sans-serif;letter-spacing:-.035em}
.drive-signal span{display:block;margin-top:16px;color:#9a8580;font-size:.44rem;font-weight:800;letter-spacing:.17em}

.drive-next-exit{position:fixed;right:18px;top:83px;z-index:20;display:grid;min-width:210px;padding:9px 11px;border:1px solid rgba(232,226,221,.1);background:rgba(6,2,5,.6)}
.drive-next-exit span{color:#7a6560;font-size:.35rem;font-weight:800;letter-spacing:.14em}
.drive-next-exit b{margin-top:4px;color:#dcd4ce;font-size:.58rem;letter-spacing:.06em}
.drive-next-exit small{margin-top:3px;color:#ff6040;font-size:.37rem;font-weight:800}

.drive-flash{position:fixed;left:50%;bottom:180px;z-index:34;margin:0;padding:8px 14px;border:1px solid rgba(255,140,70,.45);background:rgba(9,3,5,.88);color:#ffc09a;font-size:.5rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,10px);transition:opacity .25s,transform .25s;pointer-events:none}
.drive-flash[aria-hidden=false]{opacity:1;transform:translate(-50%,0)}

.drive-controls{position:fixed;left:18px;right:212px;bottom:max(18px,env(safe-area-inset-bottom));z-index:33;display:flex;align-items:stretch;gap:7px;padding:8px;overflow-x:auto;scrollbar-width:thin;border:1px solid rgba(232,226,221,.12);background:rgba(6,2,5,.9);box-shadow:0 24px 80px #000}
.drive-switch{position:relative;flex:0 0 auto;min-width:92px;padding:8px;border:1px solid rgba(232,226,221,.14);background:#080306;color:#8a7873;text-align:left;cursor:pointer}
.drive-switch span,.drive-throttle span{display:block;color:#7a6560;font-size:.37rem;font-weight:800;letter-spacing:.13em}
.drive-switch b{display:block;margin-top:4px;color:#ddd4cd;font-size:.52rem;letter-spacing:.08em}
.drive-switch[aria-pressed=true]{border-color:#9e5a3a;box-shadow:inset 0 0 18px rgba(255,120,60,.12)}
.drive-switch[aria-pressed=true] b{color:#ffb184}
.drive-switch.is-armed{border-color:#ff6a3a!important;box-shadow:inset 0 0 22px rgba(255,90,40,.28)}
.drive-switch.is-armed b{color:#ffcaa8!important}
.drive-switch.is-firing{border-color:#ff5c2e;box-shadow:inset 0 0 24px rgba(255,74,38,.34)}
.drive-throttle{display:grid;align-content:center;flex:0 0 auto;min-width:150px;padding:7px 9px;border:1px solid rgba(232,226,221,.12)}
.drive-throttle>span{margin-bottom:6px}
.drive-throttle input{width:100%;accent-color:#ff5032}
.drive-throttle output{justify-self:end;color:#ff6948;font-size:.47rem;font-weight:800}
.drive-instruction{position:fixed;left:18px;bottom:100px;z-index:17;max-width:52ch;margin:0;color:#6b5852;font-size:.4rem;font-weight:700;line-height:1.55;letter-spacing:.09em;text-transform:uppercase;pointer-events:none}

.drive-exit-card{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(18px,4vw,54px);padding:clamp(20px,5vw,70px);background:linear-gradient(90deg,rgba(4,1,4,.97),rgba(4,1,4,.86));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility 0s linear .5s}
.drive-exit-card[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s}
.drive-exit-card>img{width:100%;height:min(70vh,620px);object-fit:cover;border:1px solid rgba(255,90,52,.2);filter:saturate(.78) contrast(1.2) brightness(.7)}
.drive-exit-card>div{display:grid;justify-items:start;gap:12px}
.drive-exit-card>div>span{color:#ff6543;font-size:.5rem;font-weight:800;letter-spacing:.2em}
.drive-exit-card>div>b{max-width:16ch;font:clamp(1.8rem,5vw,4.4rem)/.86 ArchivoBlack,Arial,sans-serif;letter-spacing:-.055em}
.drive-exit-card>div>p{max-width:44ch;margin:0;color:#b1a49e;font-size:.85rem;line-height:1.55}
.drive-exit-embed{width:min(100%,460px)}
.drive-exit-embed p{margin:0;color:#7a6560;font-size:.44rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.drive-exit-embed iframe{width:100%;border:0}
.drive-exit-actions{display:flex;flex-wrap:wrap;gap:8px}
.drive-exit-actions button,.drive-exit-actions a{padding:12px 15px;border:1px solid #9e3424;background:#250607;color:#f2c2b6;font-size:.52rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.drive-exit-actions a,.drive-exit-actions button:last-child{border-color:rgba(232,226,221,.2);background:#080209;color:#95898a}
.drive-exit-card small{color:#6b5852;font-size:.4rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

.drive-ending{position:fixed;inset:0;z-index:64;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;background:radial-gradient(circle,rgba(84,14,4,.5),rgba(3,1,3,.97) 62%);text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility 0s linear .45s}
.drive-ending[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s}
.drive-ending p{margin:0;color:#ff6547;font-size:.55rem;font-weight:800;letter-spacing:.22em}
.drive-ending h2{margin:0;font:clamp(2.4rem,9vw,7rem)/.82 ArchivoBlack,Arial,sans-serif;letter-spacing:-.06em}
.drive-ending span{color:#a1918b;font-size:.58rem;font-weight:800;letter-spacing:.14em}
.drive-ending div{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}
.drive-ending button,.drive-ending a{padding:13px 18px;border:1px solid #9e3424;background:#250607;color:#f2c2b6;font-size:.53rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.drive-ending a{border-color:rgba(232,226,221,.2);background:#080209;color:#95898a}

.drive-noscript{position:fixed;left:50%;top:50%;z-index:2147483600;width:min(520px,calc(100vw - 40px));padding:20px;border:1px solid #9e3424;background:#0a0306;color:#d8cfc9;font-size:.9rem;line-height:1.6;text-align:center;transform:translate(-50%,-50%)}
.drive-noscript a{color:#ff7a55}

.drive-page .thermal-secret-signal,.drive-page .thermal-rift,.drive-page .thermal-weather-layer,.drive-page .thermal-glass,.drive-page .thermal-secret-chamber{display:none!important}
.drive-page .thermal-console{opacity:.58}

@media(max-width:900px){.drive-exit-card{grid-template-columns:1fr;align-content:center}.drive-exit-card>img{height:26vh}}
@media(max-width:760px){
  .drive-gate-copy{padding:25px}
  .drive-gate h1{font-size:clamp(2.9rem,16vw,5.4rem)}
  .drive-header{inset:10px 10px auto}.drive-header>span{display:none}
  .drive-hud{left:10px;top:61px;width:190px;gap:4px}
  .drive-hud>div{padding:5px 6px}.drive-hud span{font-size:.27rem}.drive-hud b{font-size:.72rem}
  .drive-next-exit{right:10px;top:61px;min-width:150px;padding:7px}
  .drive-next-exit b{font-size:.44rem}
  .drive-signal{top:32%;width:calc(100vw - 42px)}
  .drive-signal h2{font-size:clamp(1.05rem,6vw,2rem)}
  .drive-roof{height:50px}.drive-roof span{display:none}
  .drive-mirror{top:56px;width:52vw;height:40px}
  .drive-pillar{top:30px;bottom:82px;width:30px}
  .drive-dash{height:84px}
  .drive-wheel{bottom:-50px;width:122px;height:98px;border-width:13px}
  .drive-controls{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));padding:6px;scroll-snap-type:x proximity}
  .drive-instruction{display:none}
  .drive-flash{bottom:150px;font-size:.42rem}
}
@media(prefers-reduced-motion:reduce){.drive-gate>img,.drive-wheel,.drive-mirror{animation:none;transition:none}}
.drive-signal{transition:opacity .9s ease}
.drive-signal-quiet .drive-signal{opacity:.18}
@media(max-width:760px){
  .drive-mirror{top:6px;width:min(180px,34vw);height:26px}
  .drive-mirror b{font-size:.3rem}
  .drive-header button{padding:6px 8px;font-size:.34rem}
  .drive-controls{right:10px;padding-right:96px}
}
.drive-exit-archive{display:grid;gap:6px;margin:0;justify-items:start}
.drive-exit-archive img{width:min(150px,26vw);height:auto;border:1px solid rgba(255,90,52,.22);filter:saturate(.7) contrast(1.2) brightness(.72)}
.drive-exit-archive figcaption{color:#7a6560;font-size:.4rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.drive-exit-links{display:flex;flex-wrap:wrap;gap:7px}
.drive-exit-links a{padding:9px 12px;border:1px solid rgba(232,226,221,.2);background:#080209;color:#95898a;font-size:.46rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}
.drive-exit-links a:hover{border-color:#ff6848;color:#f2c2b6}
@media(max-width:760px){.drive-gate h1{font-size:clamp(2.25rem,11.5vw,4.2rem)}}

/* HS-BAT 01 playable cockpit -------------------------------------------------
   The generated road is composited through a cut-out in the same cockpit used
   by site transit. Instrument faces remain DOM/CSS so every needle and readout
   can be driven from the simulation instead of being baked into the artwork. */
.drive-cabin{z-index:11;filter:drop-shadow(0 -12px 34px rgba(0,0,0,.82));transform:translate3d(calc(var(--d-steer,0)*-3px),var(--d-heave,0px),0) rotate(var(--d-roll,0deg)) scale(calc(1 + var(--d-speed,0)*.008));transform-origin:50% 74%;will-change:transform}
.drive-cabin::before{content:"";position:absolute;z-index:2;left:23%;right:16%;top:3.4%;height:49%;opacity:calc(.12 + var(--d-rain,0)*.13);background:linear-gradient(112deg,transparent 0 23%,rgba(226,236,241,.09) 28%,transparent 34% 58%,rgba(255,91,51,.055) 63%,transparent 70%),radial-gradient(ellipse at calc(50% + var(--d-steer,0)*8%) 100%,rgba(255,113,65,.1),transparent 58%);clip-path:polygon(4% 0,100% 0,80% 100%,18% 100%);mix-blend-mode:screen;transform:translateX(calc(var(--d-steer,0)*-5px));transition:opacity .25s}
.drive-cabin::after{content:"HS-BAT 01  /  MONOCOQUE 07  /  HV ARMED";position:absolute;z-index:3;left:50%;bottom:4.9%;padding:3px 9px;border:1px solid rgba(219,197,183,.08);background:rgba(2,1,1,.7);color:rgba(202,98,70,.38);font-size:.24rem;font-weight:800;letter-spacing:.18em;white-space:nowrap;transform:translateX(-50%)}
.drive-cockpit-shell{position:absolute;inset:0;width:100%;height:100%;display:block;filter:saturate(.82) contrast(1.1) brightness(.75)}
.drive-cockpit-grade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,1,2,.38),transparent 22% 78%,rgba(2,1,2,.4)),linear-gradient(0deg,rgba(2,1,2,.2),transparent 52%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,118,83,.016) 4px);mix-blend-mode:screen}
.drive-cockpit-grade b{position:absolute;left:50%;top:8.1%;padding:4px 8px;border:1px solid rgba(255,100,55,.17);background:rgba(4,2,2,.72);color:#9b695d;font-size:.3rem;letter-spacing:.15em;transform:translateX(-50%)}
.drive-burning .drive-cockpit-shell{filter:saturate(1.04) contrast(1.1) brightness(.82) drop-shadow(0 0 18px rgba(255,65,25,.2))}
.drive-impact .drive-cabin{animation:drive-cockpit-hit .34s steps(2,end)}
@keyframes drive-cockpit-hit{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(-9px,4px,0) rotate(-.35deg)}60%{transform:translate3d(7px,-3px,0) rotate(.25deg)}}

.drive-tactical{position:fixed;left:18px;bottom:18px;z-index:23;width:min(252px,24vw);padding:9px;border:1px solid rgba(240,74,42,.28);background:linear-gradient(145deg,rgba(7,3,3,.94),rgba(2,1,1,.88));box-shadow:0 22px 70px rgba(0,0,0,.74),inset 0 0 0 1px rgba(236,222,213,.035);font-family:Archivo,Arial,sans-serif;clip-path:polygon(0 0,95% 0,100% 8%,100% 100%,6% 100%,0 92%)}
.drive-tactical header{display:flex;justify-content:space-between;gap:8px;padding:2px 2px 7px;border-bottom:1px solid rgba(235,220,211,.08);color:#705d57;font-size:.29rem;font-weight:800;letter-spacing:.12em}.drive-tactical header b{color:#cf5a40;font-size:.27rem;white-space:nowrap}
.drive-hull{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:8px 2px 6px}.drive-hull>span{grid-column:1/-1;color:#a08b82;font-size:.32rem;font-weight:800;letter-spacing:.14em}.drive-hull>i{position:relative;height:8px;overflow:hidden;border:1px solid rgba(235,220,211,.12);background:#070303}.drive-hull>i b{position:absolute;inset:0;width:100%;background:linear-gradient(90deg,#8f1e0e,#ff6b42);box-shadow:0 0 12px rgba(255,67,33,.46);transition:width .16s}.drive-hull output{color:#ff8263;font-size:.43rem;font-weight:800}
.drive-tactical dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:rgba(235,220,211,.07)}.drive-tactical dl div{padding:6px;background:#070303}.drive-tactical dt{color:#66534e;font-size:.26rem;font-weight:800;letter-spacing:.11em}.drive-tactical dd{margin:3px 0 0;color:#d8c8bf;font-size:.46rem;font-weight:800;letter-spacing:.05em}.drive-tactical dl div:nth-child(2) dd{color:#ff7959}
.drive-radar{position:relative;height:70px;margin-top:7px;overflow:hidden;border:1px solid rgba(235,220,211,.1);background:radial-gradient(ellipse at 50% 100%,rgba(128,22,10,.22),transparent 58%),repeating-linear-gradient(90deg,transparent 0 24%,rgba(235,220,211,.035) 25%,transparent 26% 49%)}.drive-radar::before,.drive-radar::after{content:"";position:absolute;left:50%;bottom:-34px;border:1px solid rgba(255,79,43,.17);border-radius:50%;transform:translateX(-50%)}.drive-radar::before{width:150px;height:94px}.drive-radar::after{width:92px;height:58px}.drive-radar>span{position:absolute;left:50%;bottom:5px;width:5px;height:8px;background:#ff5b39;clip-path:polygon(50% 0,100% 100%,0 100%);transform:translateX(-50%);box-shadow:0 0 8px #ff4528}.drive-radar>i{--radar-show:0;position:absolute;left:calc(50% + var(--radar-x,0)*42%);bottom:calc(12px + var(--radar-y,0)*48px);width:4px;height:4px;border-radius:50%;background:#ff9d79;box-shadow:0 0 8px 2px rgba(255,75,40,.72);opacity:var(--radar-show);transform:translate(-50%,50%);transition:left .12s linear,bottom .12s linear,opacity .2s}.drive-radar>b{position:absolute;left:7px;top:6px;color:#5f4d48;font-size:.24rem;letter-spacing:.1em}

.drive-cluster{position:fixed;left:50%;bottom:17px;z-index:24;display:grid;grid-template-columns:132px minmax(142px,176px) 132px;align-items:end;gap:8px;padding:9px 11px;border:1px solid rgba(237,221,212,.15);background:linear-gradient(180deg,rgba(12,6,5,.88),rgba(3,2,2,.95));box-shadow:0 20px 70px rgba(0,0,0,.8),inset 0 0 0 3px rgba(2,1,1,.84),0 0 28px rgba(240,57,25,.08);transform:translateX(-50%);clip-path:polygon(6% 0,94% 0,100% 14%,100% 100%,0 100%,0 14%)}
.drive-game-dial{--drive-dial:0;position:relative;display:grid;place-content:center;width:124px;aspect-ratio:1;border:1px solid #4f3c35;border-radius:50%;background:radial-gradient(circle at 50% 56%,#170907 0 43%,#030202 44% 56%,#3a2d28 57% 61%,#070403 62%);box-shadow:inset 0 0 0 3px #040202,inset 0 0 0 4px rgba(235,220,211,.08),0 9px 24px rgba(0,0,0,.7)}
.drive-game-dial::before{content:"";position:absolute;inset:8%;border-radius:50%;background:repeating-conic-gradient(from -126deg,rgba(237,224,216,.8) 0 .7deg,transparent .9deg 9deg);-webkit-mask-image:radial-gradient(circle,transparent 0 73%,#000 74%);mask-image:radial-gradient(circle,transparent 0 73%,#000 74%);opacity:.62}.drive-game-dial::after{content:"";position:absolute;inset:14%;border-radius:50%;background:conic-gradient(from -126deg,#8c2516 0,#ff6746 calc(var(--drive-dial)*252deg),rgba(51,36,30,.18) 0 252deg,transparent 252deg);-webkit-mask-image:radial-gradient(circle,transparent 0 88%,#000 89%);mask-image:radial-gradient(circle,transparent 0 88%,#000 89%)}
.drive-game-needle{position:absolute;left:50%;bottom:49%;z-index:3;width:2px;height:34%;background:linear-gradient(#ffb096,#ed3c21 75%,#32100a 76%);box-shadow:0 0 7px rgba(255,72,39,.72);transform:translateX(-50%) rotate(calc(-126deg + var(--drive-dial)*252deg));transform-origin:50% 100%;transition:transform .08s linear}.drive-game-dial>i{position:absolute;left:50%;top:50%;z-index:4;width:9px;height:9px;border:2px solid #945342;border-radius:50%;background:#120604;box-shadow:0 0 0 3px #040202,0 0 8px rgba(240,74,42,.4);transform:translate(-50%,-50%)}.drive-game-dial>b{position:relative;z-index:5;margin-top:46px;color:#ffc0ae;font:1rem ArchivoBlack,Arial,sans-serif;letter-spacing:.03em;text-align:center;text-shadow:0 0 8px rgba(240,74,42,.5)}.drive-game-dial>small{position:absolute;left:50%;bottom:17px;z-index:5;color:#7e6a61;font-size:.27rem;font-weight:800;letter-spacing:.11em;white-space:nowrap;transform:translateX(-50%)}
.drive-center-stack{display:grid;justify-items:center;align-content:center;min-height:112px;padding:8px;border:1px solid rgba(235,220,211,.1);background:linear-gradient(#0c0605,#050302);box-shadow:inset 0 0 18px rgba(0,0,0,.7)}.drive-center-stack>span{color:#6c5851;font-size:.27rem;font-weight:800;letter-spacing:.15em}.drive-center-stack>strong{margin:4px 0 -2px;color:#ff6241;font:2.5rem/.9 ArchivoBlack,Arial,sans-serif;text-shadow:0 0 17px rgba(255,68,36,.38)}.drive-center-stack>b{color:#b29c91;font-size:.31rem;letter-spacing:.12em}
.drive-game-eq{display:flex;align-items:flex-end;gap:2px;width:100%;height:28px;margin-top:7px;padding:3px;border:1px solid rgba(235,220,211,.08);background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(235,220,211,.035) 5px)}.drive-game-eq i{display:block;flex:1;height:10%;background:linear-gradient(#ff9d7d,#e63e20 56%,#6e1a0d);box-shadow:0 0 3px rgba(255,70,35,.3);transition:height .08s linear}

.drive-engineering{position:fixed;right:18px;bottom:274px;z-index:23;width:min(294px,27vw);padding:8px;border:1px solid rgba(225,207,196,.14);background:linear-gradient(155deg,rgba(13,7,6,.94),rgba(3,2,2,.96));box-shadow:0 20px 64px rgba(0,0,0,.74),inset 0 0 0 2px rgba(2,1,1,.7),inset 0 0 24px rgba(255,60,30,.025);clip-path:polygon(5% 0,100% 0,100% 91%,95% 100%,0 100%,0 9%);pointer-events:none}
.drive-engineering header{display:flex;justify-content:space-between;gap:7px;padding:1px 2px 7px;border-bottom:1px solid rgba(225,207,196,.08);color:#765f57;font-size:.27rem;font-weight:800;letter-spacing:.12em}.drive-engineering header b{color:#d26348;font-size:.25rem;white-space:nowrap}
.drive-aux-bank{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px 0 6px}
.drive-aux-gauge{--aux:.5;position:relative;display:grid;place-content:center;justify-items:center;min-width:0;aspect-ratio:1;border:1px solid #3b2d28;border-radius:50%;background:radial-gradient(circle at 50% 58%,#130806 0 45%,#030202 46% 59%,#2b211e 60% 63%,#050302 64%);box-shadow:inset 0 0 0 2px #030202,inset 0 0 8px rgba(255,87,47,.08),0 5px 12px rgba(0,0,0,.5)}
.drive-aux-gauge::before{content:"";position:absolute;inset:9%;border-radius:50%;background:repeating-conic-gradient(from -118deg,rgba(225,214,207,.7) 0 .8deg,transparent 1deg 15deg);-webkit-mask:radial-gradient(circle,transparent 0 74%,#000 75%);mask:radial-gradient(circle,transparent 0 74%,#000 75%);opacity:.55}.drive-aux-gauge>span{position:absolute;left:50%;bottom:48%;z-index:2;width:1px;height:31%;background:linear-gradient(#ffd1bd,#f04d2c 70%);box-shadow:0 0 5px rgba(255,70,38,.75);transform:translateX(-50%) rotate(calc(-118deg + var(--aux)*236deg));transform-origin:50% 100%;transition:transform .12s linear}.drive-aux-gauge>i{position:absolute;left:50%;top:52%;z-index:3;width:6px;height:6px;border:1px solid #9f5a46;border-radius:50%;background:#0b0403;transform:translate(-50%,-50%)}.drive-aux-gauge>b{position:relative;z-index:4;margin-top:20%;color:#f4b09a;font:.64rem ArchivoBlack,Arial,sans-serif;line-height:1}.drive-aux-gauge>small{position:absolute;left:50%;bottom:14%;z-index:4;color:#6f5b53;font-size:.2rem;font-weight:800;letter-spacing:.08em;white-space:nowrap;transform:translateX(-50%)}
.drive-telemetry{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;background:rgba(225,207,196,.07)}.drive-telemetry div{min-width:0;padding:5px 4px;background:#070303}.drive-telemetry dt{color:#66524b;font-size:.21rem;font-weight:800;letter-spacing:.08em}.drive-telemetry dd{margin:2px 0 0;color:#d5c4ba;font-size:.36rem;font-weight:800;white-space:nowrap}
.drive-annunciators{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;margin-top:5px}.drive-annunciators b{padding:4px 1px;border:1px solid rgba(225,207,196,.08);background:#090504;color:#392d29;font-size:.2rem;letter-spacing:.06em;text-align:center;transition:color .1s,background .1s,box-shadow .1s}.drive-annunciators b.is-on{border-color:rgba(255,115,69,.5);background:#3b1109;color:#ffb08f;box-shadow:inset 0 0 8px rgba(255,70,30,.3),0 0 7px rgba(255,60,25,.2)}.drive-annunciators [data-drive-lamp=wet].is-on{border-color:rgba(110,194,224,.5);background:#0a2430;color:#a9e5f6;box-shadow:0 0 7px rgba(80,180,220,.2)}.drive-annunciators [data-drive-lamp=beam].is-on{border-color:rgba(122,147,255,.55);background:#10183b;color:#bdcaff}.drive-annunciators [data-drive-lamp=hull].is-on{background:#571006;color:#fff;animation:drive-lamp-alert .6s steps(2,end) infinite}@keyframes drive-lamp-alert{50%{filter:brightness(1.8)}}

.drive-controls{left:auto;right:18px;bottom:18px;width:min(294px,27vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:5px;padding:8px;overflow:visible;scrollbar-width:none;background:rgba(5,2,2,.93)}
.drive-controls .drive-switch,.drive-controls .drive-throttle{min-width:0}.drive-controls .drive-throttle{grid-column:1/-1}.drive-controls .drive-throttle input{min-width:0}.drive-instruction{left:50%;bottom:183px;max-width:62ch;text-align:center;transform:translateX(-50%)}
.drive-instruction{display:none}
.drive-signal{top:22%;width:min(540px,calc(100vw - 100px))}.drive-signal h2{font-size:clamp(1rem,1.65vw,1.65rem);line-height:1.02}
.drive-hull-critical .drive-hull>i b{background:linear-gradient(90deg,#5e0804,#ff2e18);animation:drive-hull-pulse .65s ease-in-out infinite alternate}.drive-hull-critical .drive-center-stack>b{color:#ff4a2f}@keyframes drive-hull-pulse{to{filter:brightness(1.7);box-shadow:0 0 20px rgba(255,41,20,.72)}}
.drive-touch{display:none}
body.drive-session-live .thermal-console,body.drive-session-live .thermal-device-bay,body.drive-session-live .thermal-passenger-dock,body.drive-session-live .thermal-mobile-nav{opacity:0!important;pointer-events:none!important}
body.drive-wrecked::after{content:"";position:fixed;inset:0;z-index:35;pointer-events:none;border:5px solid rgba(255,55,25,.5);box-shadow:inset 0 0 110px rgba(170,12,0,.42);animation:drive-wreck-flash .7s ease both}@keyframes drive-wreck-flash{to{opacity:0}}

@media(max-width:1040px){.drive-tactical{width:210px}.drive-cluster{grid-template-columns:108px 126px 108px}.drive-game-dial{width:102px}.drive-game-dial>b{margin-top:38px;font-size:.84rem}.drive-controls,.drive-engineering{width:235px}.drive-engineering{bottom:274px}.drive-switch span,.drive-throttle span{font-size:.29rem}.drive-switch b{font-size:.43rem}}
@media(max-width:760px){
  .drive-cabin{transform:translate3d(calc(var(--d-steer,0)*-2px),var(--d-heave,0px),0) rotate(var(--d-roll,0deg)) scale(calc(1 + var(--d-speed,0)*.006))}.drive-cabin::after{display:none}
  .drive-cockpit-grade b{display:none}.drive-tactical{display:none}
  .drive-engineering{left:10px;right:10px;top:158px;bottom:auto;width:auto;padding:4px 5px;clip-path:none;background:rgba(5,2,2,.82);backdrop-filter:blur(7px)}.drive-engineering header,.drive-aux-bank{display:none}.drive-telemetry{grid-template-columns:repeat(4,1fr)}.drive-telemetry div{padding:4px}.drive-telemetry dt{font-size:.18rem}.drive-telemetry dd{font-size:.3rem}.drive-annunciators{margin-top:3px}.drive-annunciators b{padding:2px 1px;font-size:.17rem}
  .drive-cluster{bottom:78px;width:calc(100vw - 20px);grid-template-columns:72px minmax(0,1fr) 72px;gap:4px;padding:5px 7px}
  .drive-game-dial{width:68px}.drive-game-dial>b{margin-top:25px;font-size:.62rem}.drive-game-dial>small{bottom:8px;font-size:.2rem;letter-spacing:.06em}.drive-game-needle{height:32%}.drive-game-dial>i{width:6px;height:6px}
  .drive-center-stack{min-height:62px;padding:5px}.drive-center-stack>span{font-size:.2rem}.drive-center-stack>strong{margin:2px 0;font-size:1.55rem}.drive-center-stack>b{font-size:.22rem}.drive-game-eq{height:16px;margin-top:3px;padding:2px;gap:1px}
  .drive-controls{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;display:flex;padding:6px;padding-right:6px;overflow-x:auto;scroll-snap-type:x proximity}.drive-controls .drive-switch{min-width:90px}.drive-controls .drive-throttle{grid-column:auto;min-width:145px}
  .drive-touch{position:fixed;left:10px;right:10px;bottom:158px;z-index:34;display:flex;justify-content:space-between;pointer-events:none}.drive-touch>div{display:flex;gap:6px}.drive-touch button{width:48px;height:44px;padding:0;border:1px solid rgba(240,74,42,.42);background:rgba(5,2,2,.78);color:#bdaaa0;font-size:.52rem;font-weight:800;letter-spacing:.07em;backdrop-filter:blur(8px);pointer-events:auto;touch-action:none}.drive-touch button.is-down{border-color:#ff6b49;background:#5b1309;color:#fff;box-shadow:0 0 18px rgba(255,61,29,.35)}
  .drive-header{grid-template-columns:auto 1fr}.drive-header button{grid-column:2;justify-self:end;width:auto;max-width:160px}
  .drive-signal{top:28%;width:calc(100vw - 54px)}.drive-signal p{font-size:.34rem}.drive-signal h2{font-size:clamp(.82rem,4vw,1.05rem)}.drive-signal span{margin-top:9px;font-size:.3rem}
  .drive-instruction{display:none}.drive-flash{bottom:204px}
}
@media(max-height:600px) and (max-width:760px){.drive-touch{bottom:146px}.drive-cluster{bottom:70px;transform:translateX(-50%) scale(.9);transform-origin:bottom center}.drive-controls{transform:scale(.88);transform-origin:bottom center}.drive-signal{top:43%}}
@media(max-width:360px){.drive-hud{width:145px;grid-template-columns:repeat(2,minmax(0,1fr))}.drive-hud b{font-size:.64rem}.drive-next-exit{min-width:150px}}
@media(prefers-reduced-motion:reduce){.drive-cabin,.drive-impact .drive-cabin{animation:none;transform:none}.drive-game-needle,.drive-game-eq i,.drive-aux-gauge>span{transition:none}.drive-annunciators [data-drive-lamp=hull].is-on{animation:none}}
