
  :root{
    --hud:#090b0fd9;
    --hud2:#151018e6;
    --panel:#17121be8;
    --line:#ffffff24;
    --text:#f5efe7;
    --muted:#bea99c;
    --accent:#ffca67;
    --blood:#ba262b;
    --good:#85ff98;
    --warn:#ffb35b;
    --danger:#ff5d61;
    --wee:#e5d45a;
    --safe-b:env(safe-area-inset-bottom, 0px);
    --safe-t:env(safe-area-inset-top, 0px);
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#050609;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;touch-action:manipulation}
  #renderCanvas{width:100vw;height:100dvh;display:block;background:#08090c;touch-action:none;cursor:crosshair}
  #ui{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none;z-index:20}
  .card{background:linear-gradient(180deg,var(--hud),var(--hud2));border:1px solid var(--line);border-radius:15px;box-shadow:0 14px 34px #0009;backdrop-filter:blur(10px);pointer-events:auto}
  .topHud{position:absolute;left:8px;right:8px;top:calc(7px + var(--safe-t));display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;z-index:1000;pointer-events:auto}
  .gamepadStatus{grid-column:1/3;justify-self:start;padding:5px 8px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff26;color:#e6d2c0;font-size:11px;min-width:170px;letter-spacing:.01em;pointer-events:none;opacity:.86}
  .assetDebug{display:none;grid-column:1/-1;justify-self:stretch;padding:5px 8px;border-radius:9px;background:#ffffff12;border:1px solid #ffffff1e;color:#e5d2c0;font-size:10px;letter-spacing:.01em;min-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.debug .assetDebug,.assetDebug:target{display:block}
  .gamepadStatus.hidden{display:none}
  .dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;min-width:0}
  .stat{min-width:0}.label{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.value{font-weight:1000;font-size:17px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini{font-size:11px;color:#e6d6c6cc;line-height:1.25}
  .bar{height:8px;background:#ffffff1b;border-radius:999px;overflow:hidden;margin-top:4px;box-shadow:inset 0 0 0 1px #0006}.fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--good),var(--accent))}.fill.heat{background:linear-gradient(90deg,#83b8ff,#ffc766,#ff5d61)}.fill.gate{background:linear-gradient(90deg,#ff5d61,#ffb35b,#85ff98)}
  .hudButtons{display:flex;gap:7px;padding:7px;align-items:center;pointer-events:auto;position:relative;z-index:1200}
  #shopBtn{position:relative;z-index:2000;touch-action:manipulation}
  button{border:1px solid var(--line);background:#211925;color:var(--text);border-radius:14px;min-height:42px;padding:9px 11px;font:inherit;font-weight:900;cursor:pointer;pointer-events:auto;touch-action:manipulation;box-shadow:inset 0 0 0 1px #ffffff08;-webkit-user-select:none;user-select:none}
  button:focus-visible,input:focus-visible,select:focus-visible,#renderCanvas:focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px #050609cc}
  button.primary{background:linear-gradient(180deg,#8e2e28,#4e1518);border-color:#ff9d7c66}button.good{background:linear-gradient(180deg,#245b39,#163823);border-color:#7dffad55}button.ghost{background:#ffffff12}button.warn{background:linear-gradient(180deg,#7c5825,#41280f);border-color:#ffd36c66}button.danger{background:linear-gradient(180deg,#a12d31,#4f151b);border-color:#ff909055}button:active,.control:active,.upgrade:active{transform:scale(.97)}button:disabled{opacity:.48;filter:grayscale(.45);cursor:not-allowed}
  .topStatusStack{position:absolute;left:50%;top:calc(105px + var(--safe-t));transform:translateX(-50%);width:min(92vw,560px);display:grid;gap:6px;z-index:1300;pointer-events:none}
  #message{position:relative;z-index:1301;width:min(100%,520px);justify-self:center;padding:10px 12px;text-align:center;font-weight:950;font-size:13px;opacity:.98;transition:opacity .25s ease;pointer-events:none}.faded{opacity:0!important}
  .threatStrip{width:100%;padding:7px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;border-color:#ffb35b66;background:linear-gradient(180deg,#1b1013f5,#0d0b10f7);pointer-events:none}
  .threatStrip[hidden],.threatItem[hidden]{display:none}
  .threatItem{min-width:0;padding:7px 8px;border:1px solid #ffffff1f;border-radius:10px;background:#0506098f;color:#fff;line-height:1.2}
  .threatRunners{display:flex;align-items:center;gap:8px;border-color:#ffb35b55}
  .threatMachine{display:grid;gap:5px;border-color:#ff5d6166}
  .threatCode{flex:0 0 auto;padding:4px 6px;border:1px solid currentColor;border-radius:7px;color:#ffd089;font-size:10px;font-weight:1000;letter-spacing:.06em;white-space:nowrap}
  .threatMachine .threatCode{color:#ff9b9e}
  .threatCopy{display:grid;gap:2px;min-width:0}.threatCopy strong,.threatMachineHead strong{font-size:12px;letter-spacing:.02em}.threatMeta,.threatMachineStatus{color:#e6d6c6;font-size:10.5px;font-weight:800}
  .threatMachineHead{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.threatMachineStatus{grid-column:2}
  .threatHealthRow{display:flex;justify-content:space-between;gap:8px;color:#f0d8cf;font-size:9px;font-weight:1000;letter-spacing:.07em;text-transform:uppercase}
  .threatHealthBar{height:7px;overflow:hidden;border-radius:999px;background:#ffffff1b;box-shadow:inset 0 0 0 1px #0008}
  .threatHealthFill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5d61,#ffb35b)}
  #reticle{--spread-scale:1;position:absolute;left:50%;top:49%;width:58px;height:58px;transform:translate(-50%,-50%);z-index:3;opacity:.9;filter:drop-shadow(0 2px 8px #000);pointer-events:none}
  #reticle::before,#reticle::after{content:"";position:absolute;background:#fff8;border-radius:999px}.overheat #reticle::before,.overheat #reticle::after{background:#ff6565cc}.hot #reticle::before,.hot #reticle::after{background:#ffc266cc}
  #reticle::before{left:50%;top:7px;width:2px;height:44px;transform:translateX(-50%)}#reticle::after{top:50%;left:7px;width:44px;height:2px;transform:translateY(-50%)}#reticleRing{position:absolute;inset:10px;border:2px solid #ffffffa8;border-radius:50%;box-shadow:0 0 18px #ffffff20 inset;transform:scale(var(--spread-scale));transition:transform .08s linear}.hot #reticleRing{border-color:#ffc266cc}.overheat #reticleRing{border-color:#ff6565ee;box-shadow:0 0 22px #ff4b4b66 inset}
  #hitMarker{position:absolute;left:50%;top:49%;width:82px;height:82px;transform:translate(-50%,-50%);z-index:7;pointer-events:none;opacity:0;filter:drop-shadow(0 0 14px #ffca67)}#hitMarker.show{opacity:1}#hitMarker::before,#hitMarker::after{content:"";position:absolute;left:50%;top:50%;width:38px;height:4px;background:#ffef99;border-radius:999px;transform-origin:center;box-shadow:0 0 8px #ffb94a}#hitMarker::before{transform:translate(-50%,-50%) rotate(45deg)}#hitMarker::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .bottomControls{position:absolute;left:0;right:0;bottom:calc(10px + var(--safe-b));display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:0 11px;align-items:end;z-index:6;pointer-events:none}.cluster{display:flex;gap:9px;align-items:end;pointer-events:none}.cluster.left{justify-content:flex-start}.cluster.right{justify-content:flex-end}.cluster.center{justify-content:center;align-items:center}
  .control{pointer-events:auto;display:grid;place-items:center;text-align:center;border:1px solid #ffffff2f;border-radius:22px;background:linear-gradient(180deg,#ffffff22,#ffffff0e);box-shadow:inset 0 0 0 1px #ffffff10,0 14px 28px #0008;backdrop-filter:blur(8px);color:#fff;font-weight:1000;letter-spacing:.03em;touch-action:none;min-width:76px;min-height:76px;padding:8px;font-size:13px}.control.fire{min-width:104px;min-height:104px;border-radius:30px;background:radial-gradient(circle at 50% 35%,#ffdf86,#8e2527 55%,#3a0e13);font-size:19px;text-shadow:0 2px 5px #000}.control.wee{min-width:92px;min-height:82px;background:linear-gradient(180deg,#a19132cc,#41391acc);border-color:#e5d45a66}.control.active{outline:3px solid #fff8;filter:brightness(1.2)}.control.wee.used{opacity:.55;filter:grayscale(.45)}.control.wee.cooling{background:linear-gradient(180deg,#e5d45acc,#637d35cc);outline:3px solid #e5d45a99}
  .hint{position:absolute;left:10px;right:10px;bottom:calc(120px + var(--safe-b));text-align:center;color:#f2e4d4cc;font-size:12px;text-shadow:0 2px 8px #000;pointer-events:none;z-index:2}
  .overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 20%,#3a1d20d6,#050609ef 72%);pointer-events:auto;z-index:1500;overflow:auto;touch-action:pan-y pinch-zoom}.panel{width:min(96vw,720px);padding:16px;text-align:left;margin:auto;user-select:text;-webkit-user-select:text}h1{margin:0 0 5px;font-size:26px;letter-spacing:.01em;line-height:1}.tag{font-size:12px;color:#c5b5a8;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sub{color:var(--muted);font-size:13.5px;line-height:1.43;margin:8px 0 12px}.launchBtn{width:100%;min-height:52px;font-size:17px}.menuNav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.menuNav button[aria-expanded="true"]{border-color:#ffca6777;background:#ffca6718;color:#ffe2a6}.menuPanel{margin-top:10px;padding-top:10px;border-top:1px solid #ffffff1d}.menuPanel[hidden]{display:none}.controlsGuide{margin:10px 0 0;padding:10px 11px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff0b}.controlsGuide h2{margin:0 0 5px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.controlsGuide p{margin:4px 0;color:#ddcfc3;font-size:12px;line-height:1.4}.titleRow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.shopStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}.shopStat{background:#ffffff10;border:1px solid #ffffff18;border-radius:13px;padding:9px}.shopStat .value{font-size:20px}
  .upgrades{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.upgrade{display:block;width:100%;text-align:left;border:1px solid #ffffff20;background:#ffffff0e;border-radius:14px;padding:11px;cursor:pointer;min-height:104px;box-shadow:inset 0 0 0 1px #ffffff06}.upgrade.afford{border-color:#ffca6755;background:#ffca6711}.upgrade.maxed{opacity:.65}.upgrade.locked{opacity:.52;filter:saturate(.7);cursor:not-allowed}.upgradeName,.upgradeMeta,.cost{display:block}.upgradeName{font-weight:1000;font-size:15px}.upgradeMeta{font-size:12px;color:#e5d3c2cc;margin-top:4px;line-height:1.35}.cost{margin-top:8px;color:#ffd483;font-weight:1000}.upgrade.locked .cost{color:#d8c8b0}.resultBox{margin:10px 0 12px;padding:10px;border-radius:14px;border:1px solid #ffffff22;background:#ffffff12;color:#eaf5ff;font-weight:850;text-align:center;display:none}.resultBox.show{display:block}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#06070a;z-index:2000;color:white;font-weight:900;cursor:wait;pointer-events:auto}.dangerText{color:#ff8585}.goodText{color:#85ff98}.weeText{color:#e5d45a}.smallNote{font-size:11px;color:#c9b7a8;line-height:1.35}
  .damageFlash{position:absolute;inset:0;opacity:0;outline:12px solid #b3171744;outline-offset:-12px;z-index:2;pointer-events:none;transition:opacity .08s linear}.damageFlash.show{opacity:1}.pauseShade{position:absolute;inset:0;background:#000b;z-index:1400;display:none;place-items:center;padding:16px;pointer-events:none}.pauseShade.show{display:grid;pointer-events:auto}
  .pausePanel{width:min(92vw,440px);padding:18px;display:grid;gap:14px}.pauseTitle{text-align:center;font-size:24px;font-weight:1000;letter-spacing:.12em}.audioMixer{display:grid;gap:9px;padding:11px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff0c}.menuAudioMixer{margin-top:0}.audioMixerHead{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.compactBtn{min-height:34px;padding:6px 9px;font-size:11px}.audioRow{display:grid;gap:5px;color:#dfd0c4;font-size:12px;font-weight:850}.audioRow>span{display:flex;justify-content:space-between;gap:12px}.audioRow b{color:var(--accent);font-variant-numeric:tabular-nums}.audioRow input[type=range]{width:100%;height:24px;margin:0;accent-color:var(--accent);cursor:pointer;pointer-events:auto;touch-action:pan-x}.settingsActions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.accessibilityToggle small{display:block;color:var(--muted);font-weight:700;margin-top:2px}
  .performancePicker{display:grid;gap:6px;margin-top:10px;padding:10px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff0c;color:#e9ddd2;font-size:12px;font-weight:900;pointer-events:auto}.performancePicker>span{text-transform:uppercase;letter-spacing:.06em}.performancePicker select{width:100%;min-height:44px;padding:8px 38px 8px 11px;border:1px solid #ffca6744;border-radius:11px;background:#17121b;color:var(--text);font:inherit;font-size:15px;font-weight:1000;cursor:pointer;pointer-events:auto;touch-action:manipulation}.performancePicker select.stress{border-color:#ff5d61aa;background:#4c151a;color:#ffd9d9;box-shadow:0 0 0 2px #ff5d6122}.performancePicker option[value="28k"]{color:#ff7377;font-weight:1000}.performancePicker small{color:var(--muted);font-weight:700;line-height:1.35}.performancePicker small.stress{color:#ff9c9f;font-weight:900}
  .accessibilityToggle{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:10px;padding:8px 10px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff0c;color:#e9ddd2;font-size:12px;font-weight:850;cursor:pointer;pointer-events:auto;touch-action:manipulation}.pausePanel>.accessibilityToggle{margin-top:0}.accessibilityToggle input{width:20px;height:20px;margin:0;accent-color:var(--accent);flex:0 0 auto}
  @media (pointer:coarse), (any-pointer:coarse){.card,.control{-webkit-backdrop-filter:none;backdrop-filter:none}.topStatusStack{top:calc(190px + var(--safe-t));width:min(calc(100vw - 20px),560px)}#message{width:min(100%,520px);background:linear-gradient(180deg,#090b0ff5,#151018f7)}.threatStrip{background:linear-gradient(180deg,#1b1013fa,#0d0b10fc)}.hint{font-size:11.5px}.control.fire{min-width:112px;min-height:112px}.dash{grid-template-columns:repeat(2,minmax(0,1fr))}.topHud{grid-template-columns:1fr auto}.value{font-size:15px}}
  @media (max-width:430px){.upgrades{grid-template-columns:1fr}.shopStats{grid-template-columns:1fr 1fr}.panel{padding:13px}h1{font-size:23px}.menuNav{grid-template-columns:1fr}.menuNav button{min-height:38px}.control.fire{min-width:102px;min-height:102px}.control.wee{min-width:84px}.hudButtons{flex-direction:column}.hudButtons button{min-width:47px;min-height:39px;padding:6px}.dash{gap:6px;padding:7px}.bottomControls{grid-template-columns:1fr auto 1fr;gap:6px;padding:0 8px}.hint{bottom:calc(116px + var(--safe-b))}}
  @media (orientation:landscape) and (max-height:520px) and (pointer:coarse){.hint::after{content:" Portrait is the intended phone layout."}.topHud{left:8px;right:8px}.control.fire{min-height:82px;min-width:96px}}
  @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.damageFlash{display:none}.threatStrip,.threatItem,.threatHealthFill{animation:none!important;transition:none!important}}
  body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  body.reduce-motion .damageFlash{display:none}
  body.reduce-motion .threatStrip,body.reduce-motion .threatItem,body.reduce-motion .threatHealthFill{animation:none!important;transition:none!important}
