/* Cockpit instruments: warm etched markings, cool live telemetry. */
:root {
  --hud-orange:#ff6234; --hud-cyan:#59e3d5; --hud-white:#e5f1eb;
  --hud-muted:#9ab4ae; --hud-surface:rgba(6,20,22,.84);
  --hud-edge:rgba(101,160,154,.28); --hud-gap:24px;
  --ink:var(--hud-white); --cy:var(--hud-cyan); --cy-hot:#d5fff6;
  --cy-line:var(--hud-edge); --cy-glow:rgba(75,224,210,.22);
  --warn:#ffad57; --bad:#ff5343;
  --glow:0 1px 3px #061316; --glow-hot:0 0 7px rgba(89,227,213,.18);
}
.hud { font-family:'Share Tech Mono',Consolas,monospace; font-weight:400; }
/* F4 photo camera: keep only the world canvas, including when HUDs are added
   dynamically. Removing the class restores each panel's own display state. */
body.hidden-camera > :not(#scene) { display:none!important; }
body.hidden-camera { cursor:none; }
.micro { display:block; font-size:9px; letter-spacing:.16em; color:var(--hud-muted); }
.instrument, #vitals, #mmwrap {
  background:linear-gradient(105deg,rgba(5,20,23,.94),rgba(5,20,23,.77) 68%,rgba(5,20,23,.3));
  border:0; border-radius:24px 64px 30px 12px / 12px 30px 20px 12px;
  box-shadow:0 8px 22px #0002;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
.instrument-header { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 12px 8px;
  border-bottom:0; color:var(--hud-orange); font-size:10px; letter-spacing:.12em;
  background:linear-gradient(90deg,transparent,var(--hud-edge) 14%,var(--hud-edge) 70%,transparent) bottom / 100% 1px no-repeat; }
.instrument-header > :last-child { color:var(--hud-cyan); font-size:9px; letter-spacing:.07em; }
.signal-dot { display:inline-block; width:5px; height:5px; background:var(--hud-cyan); box-shadow:0 0 6px #59e3d555; }
.decal-bars { display:inline-block; width:41px; height:7px; margin-left:auto; opacity:.8;
  background:repeating-linear-gradient(90deg,var(--hud-orange) 0 1px,transparent 1px 3px,var(--hud-orange) 3px 5px,transparent 5px 7px); }
.cockpit-frame { inset:12px; z-index:5; color:var(--hud-muted); pointer-events:none; }
/* The visor follows the periphery; its clear centre never veils the aim point. */
.cockpit-frame::before,.cockpit-frame::after { content:''; position:absolute; pointer-events:none; }
.cockpit-frame::before { inset:-4px -5px; border:1px solid #80d6c628;
  border-radius:50% / 10%; box-shadow:inset 0 0 0 9px #071b2110,inset 0 0 40px #03171e38;
  mask-image:linear-gradient(90deg,#000,transparent 23%,transparent 77%,#000);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 23%,transparent 77%,#000); }
.cockpit-frame::after { inset:1.5% 2%; border:1px solid #82cbbc24; border-radius:45% / 14%;
  mask-image:linear-gradient(180deg,#000,transparent 18%,transparent 81%,#000);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 18%,transparent 81%,#000); }
.cockpit-frame > i { position:absolute; width:80px; height:56px; border-color:#79cabc58; border-style:solid; }
.cockpit-frame > i:nth-child(1) { top:1%; left:0; border-width:1px 0 0 1px; border-radius:100% 0 0 0; }
.cockpit-frame > i:nth-child(2) { top:1%; right:0; border-width:1px 1px 0 0; border-radius:0 100% 0 0; }
.cockpit-frame > i:nth-child(3) { bottom:1%; left:0; border-width:0 0 1px 1px; border-radius:0 0 0 100%; }
.cockpit-frame > i:nth-child(4) { bottom:1%; right:0; border-width:0 1px 1px 0; border-radius:0 0 100% 0; }
.frame-code,.frame-right { position:absolute; bottom:-5px; font-size:8px; letter-spacing:.19em; opacity:.7; text-shadow:0 1px 3px #000; }
.frame-code { left:12px; } .frame-right { right:12px; } .frame-right b { color:var(--hud-orange); margin-left:12px; }
#flight-heading { top:25px; left:50%; transform:translateX(-50%); z-index:7; display:flex; align-items:center; gap:12px;
  padding:8px 18px; background:linear-gradient(180deg,rgba(5,20,23,.92),rgba(5,20,23,.69));
  border-top:1px solid var(--hud-orange); border-bottom:1px solid #73cbb62e; border-radius:50% 50% 28px 28px / 10px 10px 18px 18px; }
#hud-heading { color:var(--hud-white); font-size:23px; font-weight:400; font-variant-numeric:tabular-nums; min-width:48px; }
#hud-heading span { font-size:14px; color:var(--hud-orange); }
#hud-bearing { color:var(--hud-cyan); font-size:13px; min-width:16px; }
.heading-rule { height:17px; width:58px; background:repeating-linear-gradient(90deg,var(--hud-muted) 0 1px,transparent 1px 7px); opacity:.55;
  clip-path:polygon(0 60%,45% 60%,45% 0,55% 0,55% 60%,100% 60%,100% 100%,0 100%); }
#colonycompass { top:73px!important; border:0!important; border-radius:0 0 20px 20px!important; padding:4px 12px!important;
  color:var(--hud-muted)!important; background:rgba(6,20,22,.78)!important; text-shadow:none!important; font-size:9px!important; z-index:7!important; }
#flight-console { width:360px; left:50%; bottom:32px; transform:translateX(-50%); z-index:7;
  border-radius:50% 50% 34px 34px / 22px 22px 18px 18px;
  background:radial-gradient(ellipse at 48% 100%,rgba(5,20,23,.95) 28%,rgba(5,20,23,.82) 70%,rgba(5,20,23,.58));
  box-shadow:0 8px 24px #0002,inset 0 -1px #68bbae35; }
#flight-console::before { content:''; position:absolute; inset:0; border-top:1px solid #83d2c76b;
  border-radius:inherit; pointer-events:none; }
#flight-console::after { content:''; position:absolute; left:calc(50% - 19px); bottom:-1px; width:38px; height:2px;
  background:var(--hud-orange); box-shadow:0 0 9px #ff62342e; border-radius:50%; pointer-events:none; }
#flight-console .instrument-header { padding-left:23px; padding-right:23px; }
.flight-body { display:flex; align-items:center; gap:16px; padding:8px 16px 10px; }
.energy-dial { position:relative; width:132px; flex-shrink:0; text-align:center; }
.energy-dial svg { display:block; width:132px; height:94px; fill:none; }
.dial-track { stroke:#2b4241; stroke-width:7; stroke-dasharray:1 1; }
#hud-energy-arc { stroke:var(--hud-cyan); stroke-width:7; stroke-dasharray:100; stroke-dashoffset:0;
  transition:stroke-dashoffset .2s linear,stroke .3s; filter:drop-shadow(0 0 3px #59e3d530); }
.dial-inner { stroke:#59767266; stroke-width:.65; }.dial-marks { stroke:var(--hud-orange); stroke-width:1.5; }
.energy-value { position:absolute; top:29px; left:0; right:0; }
.energy-value > strong { display:block; color:var(--hud-white); font:36px/1 'Share Tech Mono',monospace; letter-spacing:-.06em; }
.energy-value > span { display:block; color:var(--hud-muted); margin-top:5px; font-size:8px; letter-spacing:.08em; }
.energy-value b { font-weight:400; }
#hud-energy-state { display:block; color:var(--hud-cyan); font-size:8px; letter-spacing:.09em; margin-top:-8px; }
.flight-metrics { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:2px; }
.metric { white-space:nowrap; }.metric strong { color:var(--hud-white); display:inline-block; font-size:26px; font-weight:400; margin-top:4px; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.unit { color:var(--hud-muted); font-size:9px; margin-left:4px; }
.flight-meta { grid-column:span 2; display:flex; justify-content:space-between; border-top:1px solid var(--hud-edge); padding-top:8px; font-size:9px; color:var(--hud-orange); }
.flight-meta b { color:var(--hud-white); font-weight:400; }
#flight-console.low #hud-energy-arc { stroke:var(--warn); }
#flight-console.overheat #hud-energy-arc { stroke:var(--bad); }
#flight-console.overheat #hud-energy-state { color:var(--bad); animation:critical-lamp 1.2s ease-in-out infinite; }
#hud-flash { position:fixed; bottom:194px; left:50%; z-index:9; transform:translate(-50%,5px); opacity:0;
  width:max-content; max-width:min(440px,85vw); box-sizing:border-box; padding:8px 16px; color:var(--hud-white); background:var(--hud-surface);
  border-left:2px solid var(--hud-orange); border-radius:16px 5px 16px 5px; font-size:12px; text-align:center; transition:opacity .18s,transform .18s; }
#hud-flash.visible { opacity:1; transform:translate(-50%,0); }
#mmwrap { top:auto; left:24px; bottom:184px; transform:none; width:232px; box-sizing:border-box; padding:0; z-index:7;
  border:0; border-radius:32px 48% 42% 16px / 18px 34px 26px 16px;
  background:radial-gradient(ellipse at 12% 50%,rgba(5,20,23,.93) 35%,rgba(5,20,23,.72) 76%,rgba(5,20,23,.25));
  box-shadow:-1px 0 #5d9f9255,0 8px 24px #0002;
  transition:opacity .25s,translate .25s; }
#mmwrap::before { content:''; position:absolute; inset:18px 0 24px -1px; border:1px solid #81cebc35;
  border-left-color:#81cebc62; border-right-color:#81cebc17; border-radius:20% 49% 49% 20% / 10% 20% 20% 10%; pointer-events:none; }
#mmtitle { display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.12em;
  color:var(--hud-orange); border-bottom:0; margin:0 7px; padding:9px 7px; text-shadow:none;
  background:linear-gradient(90deg,var(--hud-edge),transparent 90%) bottom / 100% 1px no-repeat; }
#minimap { width:208px; height:208px; margin:10px auto 7px; background:transparent; border:0; border-radius:0; box-shadow:none; }
.map-footer { display:flex; justify-content:space-between; padding:0 12px 10px; color:var(--hud-muted); font-size:8px; letter-spacing:.03em; }
.map-footer i { display:inline-block; width:4px; height:4px; background:var(--hud-cyan); margin-right:4px; }.map-footer > :nth-child(2) i { background:var(--hud-orange); }
.map-decal { padding:6px 14px; border-top:0; font-size:7px; letter-spacing:.1em; color:#88a79d;
  background:linear-gradient(90deg,var(--hud-edge),transparent 95%) top / 100% 1px no-repeat; }.map-decal span { float:right; color:var(--hud-orange); }
#vitals { position:fixed; width:232px; left:24px; bottom:32px; z-index:7; box-sizing:border-box; padding:0 12px 12px; }
#vitals::before { content:''; position:absolute; inset:0; border-left:1px solid #82cab872; border-bottom:1px solid #82cab832;
  border-radius:inherit; pointer-events:none; }
#vitals .instrument-header { margin:0 -12px; }
.vital-values { display:flex; gap:25px; margin:12px 0 9px; }
.vital-values strong { display:inline-block; font-size:29px; line-height:1.1; font-weight:400; color:var(--hud-white); margin-top:4px; }
#vit-shield-value { color:var(--hud-cyan); }
#vit-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#vit-hpwrap { height:5px; border:0; background:#203537; border-radius:0 6px 6px 0; }
#vit-hp { left:0; top:0; bottom:0; background:var(--hud-orange); box-shadow:0 0 4px #ff623422; transition:width .24s ease-out; }
#vit-shield { left:0; top:auto; bottom:-8px; height:3px; background:var(--hud-cyan); opacity:1; box-shadow:none; transition:width .4s ease-out; }
#vit-enwrap { display:none; } /* Boost now has its own legible dial. */
#vitals { padding-bottom:22px; }
#vitals.low #vit-condition { color:var(--bad); }
#coronal-status { left:24px; top:auto; bottom:150px; transform:none; width:160px; }
.panel { border-radius:2px; border-color:var(--hud-edge); background:rgba(6,20,22,.97); box-shadow:0 12px 35px #0005; backdrop-filter:none; -webkit-backdrop-filter:none; }
#pause .ptitle, #debug .ptitle { color:var(--hud-orange); text-shadow:none; }
#pause button,#debug button,#endcard button { border-radius:1px; box-shadow:none; padding:11px 16px; color:var(--hud-white); background:#162b2d; }
#pause button:hover,#debug button:hover,#endcard button:hover { color:#071716; background:var(--hud-orange); border-color:var(--hud-orange); box-shadow:none; text-shadow:none; }
.panel kbd { border-radius:1px; box-shadow:none; }
#loading { background:radial-gradient(ellipse at 50% 40%,#163230,#030c0e 65%); }
#load-title { color:var(--hud-orange); text-shadow:none; } #load-stage { color:var(--hud-muted); text-shadow:none; }
#load-barwrap { border-radius:0; box-shadow:none; } #load-bar { background:var(--hud-orange); box-shadow:none; }
body.paused #flight-console,body.paused #flight-heading,body.paused #vitals,body.paused #mmwrap,body.paused #colonycompass,body.paused #ring,body.paused #hud-flash { visibility:hidden; }
/* world-projected lock marks are only re-placed on the LIVE frame path; the paused
   branch returns early, so without this they freeze on top of the pause frame */
body.paused #lock,body.paused .tbox,body.paused .hbox,body.paused #predict { visibility:hidden!important; }
body.freecam #flight-heading,body.freecam #colonycompass { display:none!important; }
@keyframes critical-lamp { 50% { opacity:.45; } }
@media(max-width:1250px) {
  #mmwrap { width:200px; } #minimap { width:176px; height:176px; }
  #vitals { width:200px; } .vital-values { gap:17px; }
  #flight-console { width:318px; } .flight-body { gap:8px; padding-left:10px; padding-right:10px; }.flight-metrics { gap:7px; }.metric strong { font-size:23px; }
}
@media(max-height:800px) and (min-width:1001px) {
  #mmwrap { bottom:172px; width:200px; } #minimap { width:160px; height:160px; margin-top:7px; }
  .map-decal { display:none; } #vitals { width:200px; }
}
@media(max-width:1000px) {
  :root { --hud-gap:14px; }
  #flight-heading { top:16px; gap:8px; padding:5px 8px; } .heading-rule { display:none; }
  #hud-heading { font-size:18px; } #colonycompass { top:53px!important; font-size:8px!important; }
  #mmwrap,body.touch #mmwrap { left:14px; top:auto; bottom:142px; transform:none; width:164px; }
  #minimap,body.touch #minimap { width:140px; height:140px; } .map-decal { display:none; } .map-footer > :last-child { display:none; }
  #mmtitle { font-size:8px; padding:7px 10px; }
  #vitals,body.touch #vitals { width:164px; left:14px; bottom:24px; padding:0 10px 19px; }
  #vitals .instrument-header { margin:0 -10px; padding:7px 9px; font-size:8px; }.instrument-header > :last-child { font-size:8px; }
  .vital-values { gap:15px; margin:8px 0; }.vital-values strong { font-size:24px; }.vital-values .micro { font-size:8px; }
  #flight-console { left:auto; right:14px; bottom:24px; transform:none; width:188px; }
  #flight-console .instrument-header { padding:7px 9px; font-size:8px; } .flight-body { gap:5px; padding:5px 7px 8px; }
  .energy-dial { width:91px; }.energy-dial svg { width:91px; height:67px; }.energy-value { top:20px; }.energy-value > strong { font-size:27px; }.energy-value > span { font-size:6px; margin-top:2px; }
  #hud-energy-state { font-size:6px; margin-top:-4px; }.flight-metrics { grid-template-columns:1fr; gap:2px; }.metric .micro { font-size:7px; }.metric strong { font-size:18px; margin:0; }.flight-meta { display:none; }
  #coronal-status { display:none; }
  #hud-flash { bottom:calc(var(--weapon-rack-height,84px) + 55px); }
}
@media(max-height:580px) {
  #mmwrap,body.touch #mmwrap { bottom:140px; width:126px; }
  #minimap,body.touch #minimap { width:104px; height:104px; margin:5px auto; }.map-footer { display:none; }
  #flight-heading { padding:3px 8px; } #colonycompass { top:48px!important; }
  .cockpit-frame { inset:6px; }.frame-code,.frame-right { display:none; }
}
@media(pointer:coarse) and (max-width:1000px), (max-width:1000px) and (max-height:580px) {
  body.touch #vitals { bottom:auto; top:67px; width:160px; left:14px; }
  body.touch #mmwrap { bottom:auto; top:190px; }
  body.touch #flight-console { right:14px; bottom:185px; }
}
@media(max-width:620px) {
  #flight-heading { left:auto; right:14px; transform:none; }.cockpit-frame { display:none; }
  #colonycompass { left:14px!important; top:75px!important; transform:none!important; max-width:170px; white-space:nowrap; }
  #mmwrap,body.touch #mmwrap { width:126px; left:14px; bottom:calc(var(--weapon-rack-height,72px) + 180px); top:auto; } #minimap,body.touch #minimap { width:104px; height:104px; }.map-footer { display:none; }
  #vitals,body.touch #vitals { top:auto; bottom:calc(var(--weapon-rack-height,72px) + 65px); left:14px; width:164px; }
  #flight-console,body.touch #flight-console { bottom:calc(var(--weapon-rack-height,72px) + 65px); right:14px; width:174px; }
  #flight-console .instrument-header > :last-child { display:none; }.flight-body { padding-left:3px; padding-right:3px; }
}
@media(max-width:380px) {
  #vitals,body.touch #vitals { width:150px; } .vital-values { gap:10px; }
  #flight-console,body.touch #flight-console { width:166px; }
}
/* Match the touch controls without changing their hit regions or gestures. */
body.touch #touch-ui .t-btn { color:var(--hud-cyan); border-color:#59e3d555; background:#0b2023dc; box-shadow:none; text-shadow:none; }
body.touch #touch-ui .t-btn.boost { color:var(--hud-orange); border-color:#ff623488; background:#261b16dc; }
body.touch #touch-ui .t-btn.down { background:#21514bdc; border-color:var(--hud-cyan); }
body.touch #touch-ui .t-btn.topbtn { border-radius:2px; }
body.touch #touch-stick { background:#0b202377; border-color:#59e3d555; box-shadow:none; }
body.touch #touch-knob { background:#59e3d533; border-color:var(--hud-cyan); box-shadow:0 0 10px #59e3d522; }
body.touch #rotate-gate { background:#061416f5; color:var(--hud-cyan); backdrop-filter:none; }
body.touch #rotate-gate .rg-title { color:var(--hud-orange); text-shadow:none; }
body.touch #rotate-gate .rg-sub { color:var(--hud-muted); text-shadow:none; }
@media(max-height:450px) and (min-width:620px) {
  body.touch #mmwrap { display:none!important; }
  body.touch #flight-console { left:50%; right:auto; top:60px; bottom:auto; transform:translateX(-50%); }
  body.touch #mobahud { width:240px; }
  body.touch #colonycompass { display:none; }
  body.touch #mobahud .battle-composition, body.touch #mobahud .battle-footer { display:none; }
  body.touch #mobahud .battle-lane { min-height:27px; padding-top:3px; padding-bottom:3px; }
  body.touch #mobahud .battle-lane-body { gap:2px; }
  body.touch #mobahud .battle-title { display:none; }
  body.touch #mobahud .battle-telemetry { padding:0 0 5px; }
  body.touch #mobahud .battle-channel { font-size:18px; }
}
/* Flight view is sparse by default. H restores the full instrument readouts. */
body:not(.hud-expanded) #vitals .instrument-header,
body:not(.hud-expanded) #vitals .micro,
body:not(.hud-expanded) #flight-console .instrument-header,
body:not(.hud-expanded) #flight-console .flight-meta,
body:not(.hud-expanded) #hud-energy-state,
body:not(.hud-expanded) .map-footer,
body:not(.hud-expanded) .map-decal { display:none; }
body:not(.hud-expanded) #vitals { padding-top:3px; }
body:not(.hud-expanded) .vital-values { margin:8px 0; gap:19px; }
body:not(.hud-expanded) .vital-values strong { font-size:25px; }
body:not(.hud-expanded) #flight-heading .micro,
body:not(.hud-expanded) .heading-rule,
body:not(.hud-expanded) #colonycompass { display:none!important; }
body:not(.hud-expanded) #flight-heading { padding:6px 15px; gap:8px; }
body:not(.hud-expanded) #hud-heading { font-size:20px; }
body:not(.hud-expanded) #mmtitle { font-size:8px; padding-top:7px; padding-bottom:7px; letter-spacing:.04em; }
body:not(.hud-expanded) .frame-code,
body:not(.hud-expanded) .frame-right { opacity:.4; font-size:7px; }
@media(min-width:1001px) {
  body:not(.hud-expanded) #vitals { width:170px; padding-left:11px; padding-right:11px; bottom:32px; }
  body:not(.hud-expanded) #mmwrap { width:132px; bottom:128px; }
  body:not(.hud-expanded) #minimap { width:112px; height:112px; margin:5px auto 8px; }
  body:not(.hud-expanded) #flight-console { width:230px; bottom:32px; }
  body:not(.hud-expanded) .flight-body { gap:11px; padding:10px 12px 11px; }
  body:not(.hud-expanded) .energy-dial { width:85px; }
  body:not(.hud-expanded) .energy-dial svg { width:85px; height:64px; }
  body:not(.hud-expanded) .energy-value { top:19px; }
  body:not(.hud-expanded) .energy-value > strong { font-size:26px; }
  body:not(.hud-expanded) .energy-value > span { font-size:7px; margin-top:3px; }
  body:not(.hud-expanded) .flight-metrics { gap:8px; padding-top:0; }
  body:not(.hud-expanded) .metric .micro { font-size:7px; letter-spacing:.08em; }
  body:not(.hud-expanded) .metric strong { font-size:18px; margin-top:3px; }
  body:not(.hud-expanded) .metric .unit { font-size:8px; margin-left:2px; }
  body:not(.hud-expanded) #coronal-status { width:112px; bottom:95px; }
}
@media(max-width:1000px) {
  body:not(.hud-expanded) #mmwrap,body.touch:not(.hud-expanded) #mmwrap { width:126px; }
  body:not(.hud-expanded) #minimap,body.touch:not(.hud-expanded) #minimap { width:104px; height:104px; margin:5px auto 8px; }
  body:not(.hud-expanded) #vitals,body.touch:not(.hud-expanded) #vitals { width:158px; }
  body:not(.hud-expanded) .vital-values { gap:15px; }
  body:not(.hud-expanded) .vital-values strong { font-size:24px; }
}
@media(max-width:620px) {
  body:not(.hud-expanded) #mmwrap,body.touch:not(.hud-expanded) #mmwrap { bottom:calc(var(--weapon-rack-height,60px) + 153px); }
  body:not(.hud-expanded) #flight-console,body.touch:not(.hud-expanded) #flight-console { width:168px; }
  body:not(.hud-expanded) .vital-values { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .hud,.hud *, .hud::before,.hud::after { animation:none!important; transition:none!important; }
  #load-shine { animation:none; }
  #rotate-gate .rg-ico { animation:none!important; }
}
/* Cockpit missile warning: both screen edges, with the aiming area kept clear. */
.missile-warning { position:fixed; inset:0; z-index:24; pointer-events:none; color:#ffb2a3; }
.missile-warning[hidden] { display:none; }
.missile-warning-markers { position:absolute; inset:0; }
.missile-threat-bracket { position:absolute; width:28px; height:28px; transform:translate(-50%,-50%);
  color:#ff3434; filter:drop-shadow(0 0 2px #160000); }
.missile-threat-bracket::before,.missile-threat-bracket::after { content:""; position:absolute; top:0; bottom:0;
  width:7px; border-top:2px solid; border-bottom:2px solid; }
.missile-threat-bracket::before { left:0; border-left:2px solid; }
.missile-threat-bracket::after { right:0; border-right:2px solid; }
.missile-warning-side { position:absolute; top:43%; width:148px; min-height:112px; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  background:linear-gradient(90deg,rgba(130,20,10,.66),rgba(30,8,5,.08));
  border-left:3px solid #ff6956; animation:missile-warning-pulse .64s ease-in-out infinite;
  font-family:var(--font-mono,monospace); text-align:center; text-shadow:0 1px 5px #160000; }
.missile-warning-left { left:0; }
.missile-warning-right { right:0; border-left:0; border-right:3px solid #ff6956;
  background:linear-gradient(270deg,rgba(130,20,10,.66),rgba(30,8,5,.08)); }
.missile-warning-symbol { border:1px solid #ff8067; width:21px; height:21px; line-height:21px; font-weight:800; font-size:17px; }
.missile-warning strong { font-size:12px; line-height:1.4; letter-spacing:.13em; }
.missile-warning strong span { display:block; color:#fff1e9; }
.missile-warning-count { font-size:9px; letter-spacing:.12em; color:#ffbe97; }
@keyframes missile-warning-pulse { 0%,35%,100% { opacity:1; } 60%,80% { opacity:.48; } }
@media(max-width:650px) {
  .missile-warning-side { top:32%; width:88px; min-height:104px; }
  .missile-warning strong { font-size:10px; letter-spacing:.07em; }
  .missile-warning-count { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .missile-warning-side { animation:none; } }
