:root {
  --bg: #050911;
  --panel: rgba(10, 18, 30, 0.82);
  --panel-solid: #0a1220;
  --line: rgba(142, 180, 211, 0.18);
  --text: #eaf5ff;
  --muted: #7c91a4;
  --cyan: #53e6ff;
  --cyan-2: #20a9d5;
  --acid: #c8ff52;
  --orange: #ff7247;
  --red: #ff415e;
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-cn: "Noto Sans SC", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body {
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 70% 45%, rgba(25, 101, 131, .13), transparent 32%),
    linear-gradient(135deg, #050911 0%, #07101b 54%, #04070d 100%);
  font-family: var(--font-cn);
  -webkit-font-smoothing: antialiased;
  user-select: none;
}
button { font: inherit; }
button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  opacity: .23;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(65, 145, 178, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65, 145, 178, .035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.ambient { position: fixed; width: 26vw; height: 26vw; border-radius: 50%; filter: blur(100px); opacity: .1; pointer-events: none; }
.ambient-a { background: var(--cyan); left: -15vw; top: 25vh; }
.ambient-b { background: #2c62ff; right: -16vw; bottom: -10vh; }

#app, .screen { width: 100%; height: 100vh; }
.screen { position: absolute; inset: 0; display: none; overflow: hidden; }
.screen.active { display: block; animation: screen-in .4s ease both; }
@keyframes screen-in { from { opacity: 0; transform: scale(1.008); } to { opacity: 1; transform: none; } }

.topbar {
  height: 86px;
  display: flex;
  align-items: center;
  padding: 0 clamp(28px, 4vw, 72px);
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 30;
}
.topbar.compact { height: 72px; justify-content: space-between; background: rgba(5, 10, 18, .65); backdrop-filter: blur(18px); }
.brand { display: flex; gap: 13px; align-items: center; color: var(--text); text-decoration: none; font: 600 18px var(--font-display); letter-spacing: 3px; }
.brand b { color: var(--cyan); }
.brand-mark { width: 27px; height: 29px; display: flex; gap: 3px; align-items: end; transform: skew(-17deg); }
.brand-mark i { display: block; width: 7px; background: var(--cyan); box-shadow: 0 0 12px rgba(83, 230, 255, .45); }
.brand-mark i:nth-child(1) { height: 15px; opacity: .42; }
.brand-mark i:nth-child(2) { height: 23px; opacity: .72; }
.brand-mark i:nth-child(3) { height: 29px; }
.brand-mark.small { transform: scale(.7) skew(-17deg); transform-origin: center; }
.system-state { margin-left: auto; color: var(--muted); letter-spacing: 1.5px; font-size: 11px; text-transform: uppercase; display: flex; align-items: center; gap: 9px; }
.system-state span, .pulse-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); animation: pulse 1.7s infinite; }
@keyframes pulse { 50% { opacity: .38; transform: scale(.75); } }
.icon-button { width: 38px; height: 38px; margin-left: 28px; border: 1px solid var(--line); border-radius: 2px; color: var(--muted); background: rgba(14, 25, 39, .55); display: grid; place-items: center; cursor: pointer; transition: .2s; }
.icon-button:hover { color: var(--cyan); border-color: rgba(83,230,255,.4); }
.icon-button svg { width: 17px; fill: currentColor; }

.menu-screen::after {
  content: ""; position: absolute; inset: 86px 0 0; pointer-events: none;
  background: linear-gradient(90deg, transparent 49.92%, rgba(83,230,255,.05) 50%, transparent 50.08%);
}
.menu-grid { height: calc(100vh - 132px); display: grid; grid-template-columns: 46% 54%; max-width: 1600px; margin: auto; position: relative; }
.hero-copy { padding: clamp(54px, 8vh, 105px) 20px 40px clamp(40px, 7vw, 112px); position: relative; z-index: 5; }
.eyebrow { display: flex; align-items: center; gap: 15px; font: 600 11px var(--font-display); letter-spacing: 2.5px; color: var(--cyan); }
.eyebrow::before { content: ""; width: 34px; height: 1px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.eyebrow em { font-style: normal; padding: 3px 7px; color: #8ba2b6; border: 1px solid var(--line); letter-spacing: 1.5px; }
.hero-copy h1 { margin: 22px 0 0; font-size: clamp(75px, 9.2vw, 148px); font-weight: 800; line-height: .74; letter-spacing: -.07em; }
.hero-copy h1 span { color: transparent; -webkit-text-stroke: 1px rgba(209, 232, 245, .58); text-shadow: 0 0 40px rgba(83,230,255,.08); }
.hero-en { margin: 22px 0 0 4px; font: 600 clamp(17px, 1.55vw, 24px) var(--font-display); letter-spacing: .68em; color: #5d7183; }
.hero-desc { margin: 32px 0 0; padding-left: 16px; border-left: 2px solid rgba(83,230,255,.35); color: #8195a7; font-size: 14px; line-height: 1.9; }
.hero-desc strong { color: #cfe6f3; font-weight: 600; }
.hero-actions { display: flex; gap: 12px; margin-top: 32px; }
.primary-btn, .secondary-btn {
  height: 50px; border-radius: 2px; padding: 0 24px; cursor: pointer; letter-spacing: 1px; font-weight: 700; border: 0; transition: transform .18s, box-shadow .18s, border-color .18s;
}
.primary-btn { color: #021017; background: var(--cyan); display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; box-shadow: 0 9px 35px rgba(32,169,213,.16); clip-path: polygon(0 0, 92% 0, 100% 28%, 100% 100%, 0 100%); }
.primary-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(83,230,255,.25); }
.primary-btn svg { width: 17px; fill: currentColor; }
.secondary-btn { border: 1px solid var(--line); color: #aebfcd; background: rgba(9,17,28,.55); }
.secondary-btn:hover { transform: translateY(-2px); border-color: rgba(83,230,255,.4); color: var(--text); }
.secondary-btn span { margin-left: 14px; color: var(--cyan); font: 600 12px var(--font-display); }
.control-hint { display: flex; gap: clamp(13px, 2vw, 30px); margin-top: clamp(25px, 5vh, 56px); }
.control-hint div { display: flex; flex-direction: column; gap: 7px; }
.control-hint kbd { color: #a7b8c6; font: 600 10px var(--font-display); letter-spacing: 1px; background: rgba(143,175,201,.08); border: 1px solid var(--line); padding: 4px 7px; text-align: center; box-shadow: inset 0 -2px rgba(255,255,255,.035); }
.control-hint span { color: #52687b; font-size: 10px; text-align: center; }

.hero-visual { position: relative; overflow: hidden; perspective: 1000px; }
.hero-visual::before { content: ""; position: absolute; inset: 12% 4% 7%; background: radial-gradient(ellipse at center, rgba(36,153,182,.14), transparent 62%); }
.radar-ring { position: absolute; border: 1px solid rgba(83,230,255,.11); border-radius: 50%; left: 50%; top: 51%; transform: translate(-50%,-50%) rotateX(62deg); }
.radar-ring::before, .radar-ring::after { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(83,230,255,.09); }
.radar-ring::after { transform: rotate(90deg); }
.ring-1 { width: 67%; aspect-ratio: 1; animation: ring-turn 24s linear infinite; }
.ring-2 { width: 49%; aspect-ratio: 1; border-style: dashed; animation: ring-turn 19s linear infinite reverse; }
.ring-3 { width: 83%; aspect-ratio: 1; border-color: rgba(83,230,255,.055); }
@keyframes ring-turn { to { transform: translate(-50%,-50%) rotateX(62deg) rotateZ(360deg); } }
.scan-line { position: absolute; left: 13%; width: 74%; height: 1px; top: 32%; background: linear-gradient(90deg, transparent, rgba(83,230,255,.5), transparent); box-shadow: 0 0 18px var(--cyan); animation: scan 5s ease-in-out infinite; }
@keyframes scan { 50% { top: 70%; opacity: .28; } }
.tank-showcase { position: absolute; width: 520px; height: 400px; left: 50%; top: 49%; transform: translate(-50%,-50%) rotate(-7deg) skewY(2deg); filter: drop-shadow(0 38px 28px rgba(0,0,0,.65)); }
.showcase-shadow { position: absolute; width: 85%; height: 23%; border-radius: 50%; left: 9%; bottom: 2%; background: rgba(0,0,0,.6); filter: blur(16px); }
.tank-body { position: absolute; inset: 55px 25px 45px; }
.track { position: absolute; top: 36px; width: 105px; height: 270px; border: 2px solid #2e4755; border-radius: 44px 44px 32px 32px; background: repeating-linear-gradient(0deg, #0e1922 0 15px, #243440 16px 19px); box-shadow: inset 0 0 0 14px #080e14, 0 0 22px #000; }
.track::after { content:""; position:absolute; inset:23px; border: 5px dotted #4b5c67; border-radius:30px; }
.track-left { left: 20px; transform: skewY(-3deg); }
.track-right { right: 20px; transform: skewY(3deg); }
.hull { position:absolute; left:93px; top:58px; width:250px; height:224px; clip-path: polygon(14% 0,86% 0,100% 25%,91% 92%,69% 100%,31% 100%,9% 92%,0 25%); background: linear-gradient(100deg, #142734, #3b5866 40%, #1e3542 70%, #0a151d); border-top:2px solid #58727c; box-shadow:inset 0 0 45px rgba(0,0,0,.5); }
.hull::before { content:""; position:absolute; inset:20px 28px 40px; clip-path:polygon(18% 0,82% 0,100% 25%,85% 100%,15% 100%,0 25%); background:linear-gradient(120deg,#294755,#10232e); }
.hull i { position:absolute; width:10px; height:55px; top:32px; background:var(--cyan); box-shadow:0 0 18px var(--cyan); z-index:2; opacity:.7; }
.hull i:first-child { left:42px; }.hull i:last-child { right:42px; }
.showcase-turret { position:absolute; left:144px; top:75px; width:150px; height:140px; border-radius:44% 44% 40% 40%; background:linear-gradient(135deg,#426270,#152a35 55%,#0b161e); box-shadow: inset 0 0 30px rgba(0,0,0,.6), 0 9px 20px rgba(0,0,0,.4); }
.showcase-turret::before { content:""; position:absolute; left:52px; top:-128px; width:45px; height:160px; border-radius:8px 8px 15px 15px; background:linear-gradient(90deg,#152c37,#4a6c7a 45%,#0e202a); border-top:8px solid #6e8994; }
.showcase-turret::after { content:""; position:absolute; inset:31px; border:1px solid rgba(125,171,188,.25); border-radius:50%; background:#10212b; }
.showcase-turret span { position:absolute; width:46px; height:12px; bottom:20px; left:52px; background:var(--cyan); box-shadow:0 0 15px var(--cyan); opacity:.8; z-index:2; }
.data-tag { position:absolute; padding:9px 12px; border-left:1px solid var(--cyan); background:linear-gradient(90deg,rgba(24,112,139,.15),transparent); font:500 9px var(--font-display); letter-spacing:1px; color:#6d8799; }
.data-tag b { display:block; color:var(--cyan); font-size:13px; margin-top:3px; }
.tag-a { left:10%; top:25%; }.tag-b { right:9%; bottom:22%; }
.data-tag::after { content:""; position:absolute; width:70px; height:1px; top:0; left:0; background:linear-gradient(90deg,var(--cyan),transparent); }
.crosshair { position:absolute; width:44px; height:44px; right:13%; top:24%; border:1px solid rgba(83,230,255,.35); border-radius:50%; }
.crosshair::before,.crosshair::after { content:""; position:absolute; background:var(--cyan); opacity:.4; }.crosshair::before{width:60px;height:1px;left:-9px;top:21px}.crosshair::after{height:60px;width:1px;top:-9px;left:21px}.crosshair i{position:absolute;inset:17px;border:1px solid var(--cyan);border-radius:50%}
.vertical-code { position:absolute; right:2%; top:50%; writing-mode:vertical-rl; color:#344c5d; font:500 9px var(--font-display); letter-spacing:3px; }
.menu-footer { position:absolute; bottom:0; width:100%; height:46px; padding:0 clamp(28px,4vw,72px); display:flex; align-items:center; gap:18px; color:#344b5d; font:500 8px var(--font-display); letter-spacing:2px; border-top:1px solid rgba(142,180,211,.08); }
.footer-line { flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent); }

/* Loadout */
.back-button { border:0;background:none;color:#7990a3;font-size:12px;letter-spacing:1px;cursor:pointer;padding:9px 0; }
.back-button:hover{color:var(--cyan)}
.step-label { color:#526b7e;font:600 10px var(--font-display);letter-spacing:2.2px;position:absolute;left:50%;transform:translateX(-50%); }
.progress-text { color:#61798a;font:600 10px var(--font-display);letter-spacing:1.5px; }.progress-text span{color:var(--cyan)}
.loadout-content,.mission-content { height:calc(100vh - 72px);max-width:1440px;margin:auto;padding:clamp(32px,5vh,62px) clamp(28px,5vw,74px) 30px;display:flex;flex-direction:column; }
.section-heading { display:grid;grid-template-columns:200px 1fr 380px;align-items:end;gap:30px; }
.section-heading>div { display:flex;align-items:center;gap:13px;color:#587083;font:600 10px var(--font-display);letter-spacing:2px; }
.section-heading .index { color:var(--cyan);font-size:22px; }
.section-heading h2 { margin:0;font-size:clamp(30px,3vw,48px);letter-spacing:-.04em; }
.section-heading>p { margin:0;color:#6f8496;font-size:12px;line-height:1.8; }
.tank-cards { display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:clamp(25px,4vh,48px);flex:1;min-height:0; }
.tank-card { position:relative;overflow:hidden;min-height:330px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(16,29,44,.84),rgba(6,12,21,.75));padding:24px 22px;cursor:pointer;transition:.25s;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%); }
.tank-card:hover { transform:translateY(-5px);border-color:rgba(83,230,255,.36); }
.tank-card.selected { border-color:var(--cyan);background:linear-gradient(145deg,rgba(20,56,70,.82),rgba(7,17,27,.9));box-shadow:inset 0 0 35px rgba(83,230,255,.06),0 15px 40px rgba(0,0,0,.2); }
.tank-card::before { content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--cyan);box-shadow:0 0 13px var(--cyan);transition:.25s; }.tank-card.selected::before{height:100%}
.card-number { position:absolute;right:17px;top:11px;color:rgba(113,144,165,.12);font:700 56px var(--font-display); }
.card-tank { height:115px;margin:15px 0 17px;display:grid;place-items:center;filter:drop-shadow(0 15px 10px #000); }
.mini-tank { width:110px;height:82px;position:relative;transform:rotate(-12deg); }
.mini-tank::before,.mini-tank::after { content:"";position:absolute;top:10px;width:25px;height:67px;border-radius:10px;background:repeating-linear-gradient(0deg,#263b47 0 6px,#101c25 7px 10px); }
.mini-tank::before{left:3px}.mini-tank::after{right:3px}
.mini-hull { position:absolute;inset:9px 19px 5px;background:linear-gradient(135deg,#527080,#152934);clip-path:polygon(20% 0,80% 0,100% 25%,88% 100%,12% 100%,0 25%);z-index:2; }
.mini-hull::before { content:"";position:absolute;width:42px;height:42px;border-radius:50%;left:15px;top:13px;background:linear-gradient(135deg,#6b8793,#162d38);box-shadow:0 4px 9px #000; }
.mini-hull::after { content:"";position:absolute;width:9px;height:59px;left:32px;top:-40px;background:linear-gradient(90deg,#142833,#65828d,#172d36);border-radius:4px; }
.tank-card[data-type="scout"] .mini-tank{transform:rotate(-12deg) scale(.85)}
.tank-card[data-type="siege"] .mini-hull::after{width:14px;height:70px;top:-49px;left:30px}
.tank-card[data-type="bastion"] .mini-tank{transform:rotate(-12deg) scale(1.12)}
.tank-role { color:var(--cyan);font:600 9px var(--font-display);letter-spacing:2px; }
.tank-card h3 { margin:5px 0 2px;font-size:20px; }.tank-card h3 small{font:500 12px var(--font-display);color:#6d8393;margin-left:5px;letter-spacing:1px}
.tank-card>p { color:#63798b;font-size:10px;line-height:1.65;height:34px;margin:7px 0 12px; }
.stat-row { display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:8px;margin-top:7px;color:#668093;font:500 8px var(--font-display);letter-spacing:1px; }.stat-row em{font-style:normal;color:#8196a6;text-align:right}.mini-meter{height:3px;background:rgba(122,157,181,.12)}.mini-meter i{height:100%;display:block;background:linear-gradient(90deg,#1e91ba,var(--cyan));box-shadow:0 0 5px rgba(83,230,255,.35)}
.select-indicator { position:absolute;right:18px;bottom:18px;width:18px;height:18px;border:1px solid #395264;border-radius:50%;display:grid;place-items:center; }.selected .select-indicator{border-color:var(--cyan);}.selected .select-indicator::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.loadout-footer { min-height:72px;margin-top:18px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:flex-end;gap:40px;padding-top:15px; }.selected-summary{display:flex;flex-direction:column;gap:5px;text-align:right}.selected-summary span{font-size:9px;color:#536a7c;letter-spacing:1px}.selected-summary strong{font:600 13px var(--font-display);letter-spacing:1px}.primary-btn.wide{min-width:205px}

/* Mission archive */
.mission-heading{flex:none}.mission-layout{display:grid;grid-template-columns:1fr 330px;gap:25px;margin-top:28px;flex:1;min-height:0}.mission-grid{overflow-y:auto;padding-right:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-content:start;scrollbar-width:thin;scrollbar-color:#29485c transparent}.mission-node{min-height:100px;padding:14px;border:1px solid var(--line);background:rgba(10,18,30,.6);cursor:pointer;color:inherit;text-align:left;position:relative;overflow:hidden;transition:.2s}.mission-node:hover:not(:disabled),.mission-node.selected{border-color:rgba(83,230,255,.55);background:rgba(17,42,55,.72);transform:translateY(-2px)}.mission-node.selected::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(83,230,255,.08),transparent 55%);pointer-events:none}.mission-node:disabled{opacity:.35;cursor:not-allowed;filter:saturate(.3)}.mission-node .node-top{display:flex;justify-content:space-between;align-items:center;color:#5f788b;font:600 9px var(--font-display);letter-spacing:1px}.mission-node .node-number{color:var(--cyan);font-size:15px}.mission-node h3{font-size:12px;margin:14px 0 5px}.mission-node p{margin:0;color:#536b7c;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-node .lock{position:absolute;right:11px;bottom:9px;font-size:10px;color:#688093}.mission-node.completed .node-top::after{content:"✓";color:var(--acid)}
.mission-brief{border:1px solid var(--line);background:linear-gradient(155deg,rgba(14,28,43,.86),rgba(6,12,20,.88));padding:24px;position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.mission-brief::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}.brief-code{color:var(--cyan);font:600 10px var(--font-display);letter-spacing:2px}.mission-brief h3{font-size:25px;margin:8px 0 4px}.brief-en{color:#547084;font:600 11px var(--font-display);letter-spacing:2px}.brief-map{height:118px;margin:20px 0;border:1px solid var(--line);position:relative;background-color:#07111c;background-image:linear-gradient(rgba(83,230,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(83,230,255,.055) 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.brief-map::before{content:"";position:absolute;width:70px;height:70px;border:1px solid rgba(83,230,255,.24);border-radius:50%;left:38%;top:19%;box-shadow:0 0 30px rgba(83,230,255,.08)}.brief-map::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);right:23%;top:38%;box-shadow:0 0 10px var(--red)}.brief-desc{color:#718697;font-size:10px;line-height:1.7;min-height:47px}.brief-tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.brief-tags span{border:1px solid var(--line);padding:4px 7px;color:#6b8395;font-size:8px}.brief-info{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}.brief-info div{background:rgba(112,154,180,.05);padding:8px}.brief-info small{display:block;color:#4f687b;font-size:8px}.brief-info b{font:600 11px var(--font-display);color:#a4b7c5}.mission-launch{width:100%;height:46px}

/* Game */
.game-screen{background:#02060a}.game-shell{width:100%;height:100%;display:flex;flex-direction:column}.hud-top{height:65px;flex:none;border-bottom:1px solid rgba(127,171,199,.16);display:grid;grid-template-columns:1.2fr .8fr 1.25fr 1fr;align-items:center;background:#07101a;padding:0 clamp(18px,3vw,48px);position:relative;z-index:6}.hud-top::after{content:"";position:absolute;bottom:-1px;left:0;width:27%;height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}.hud-brand{display:flex;align-items:center;gap:5px}.hud-brand>div{display:flex;flex-direction:column}.hud-brand b{font:600 12px var(--font-display);letter-spacing:2px;color:var(--cyan)}.hud-brand small,.mission-status small,.objective-status small{color:#4b6477;font:500 7px var(--font-display);letter-spacing:1.5px}.mission-status,.objective-status{border-left:1px solid var(--line);padding-left:18px;display:flex;flex-direction:column;gap:5px}.mission-status strong{font-size:11px}.objective-status strong{color:#c7d8e4;font-size:10px}.pulse-dot{margin-right:5px;width:5px;height:5px}.hud-actions{display:flex;justify-content:flex-end}.hud-actions .icon-button{margin-left:10px;width:32px;height:32px}.pause-icon{display:flex;gap:4px;justify-content:center}.pause-icon i{display:block;width:2px;height:11px;background:currentColor}
.canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:#050b10}.canvas-wrap canvas{position:absolute;width:100%;height:100%;object-fit:contain;left:50%;top:50%;transform:translate(-50%,-50%);cursor:crosshair}.canvas-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px rgba(0,0,0,.48);background:linear-gradient(180deg,rgba(3,8,13,.16),transparent 16%,transparent 82%,rgba(3,8,13,.25))}.announcement{position:absolute;top:29%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;opacity:0;font:700 28px var(--font-display);letter-spacing:7px;color:#dff9ff;text-shadow:0 0 20px var(--cyan);white-space:nowrap}.announcement.show{animation:announce 2.1s ease both}@keyframes announce{0%{opacity:0;transform:translate(-50%,-40%) scale(1.1)}18%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-60%) scale(.96)}}.announcement small{display:block;color:var(--cyan);font-size:9px;letter-spacing:3px;margin-top:8px}.boss-warning{position:absolute;top:16px;left:50%;transform:translateX(-50%);font:600 9px var(--font-display);letter-spacing:2px;color:var(--red);opacity:0;transition:.3s}.boss-warning.show{opacity:1}.hud-left{position:absolute;left:22px;top:22px;width:190px;pointer-events:none}.stat-panel{background:linear-gradient(90deg,rgba(5,13,21,.86),rgba(5,13,21,.25));border-left:2px solid var(--cyan);padding:11px 13px}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-head span{font-size:8px;color:#728a9c}.stat-head b{font:700 20px var(--font-display)}.meter{height:3px;background:rgba(114,151,176,.15);overflow:hidden}.meter i{display:block;height:100%;width:100%;transition:width .2s;background:linear-gradient(90deg,var(--cyan-2),var(--cyan));box-shadow:0 0 9px var(--cyan)}.meter.health{margin-top:5px}.meter.health i.low{background:linear-gradient(90deg,#c82a44,var(--red));box-shadow:0 0 9px var(--red)}.substat{display:flex;justify-content:space-between;margin-top:7px;color:#587083;font:500 7px var(--font-display);letter-spacing:1px}.substat em{font-style:normal;color:#314a5c}.compact-stat{margin-top:5px;border-left-color:#789dff}.compact-stat .stat-head b{font-size:10px;color:#9db1ff}.meter.boost i{background:linear-gradient(90deg,#5579e8,#a7b7ff);box-shadow:0 0 8px #7996ff}.hud-right{position:absolute;right:22px;top:22px;width:196px;pointer-events:none;display:flex;align-items:stretch}.enemy-counter{text-align:center;background:rgba(5,13,21,.83);padding:9px 13px;border-right:1px solid var(--line)}.enemy-counter small,.base-panel small{display:block;color:#637c8e;font-size:7px}.enemy-counter strong{font:700 25px var(--font-display);color:var(--red)}.base-panel{flex:1;background:linear-gradient(90deg,rgba(5,13,21,.83),rgba(5,13,21,.4));padding:9px 11px;border-right:2px solid var(--red)}.base-panel>div{display:flex;justify-content:space-between;align-items:center}.base-panel b{color:#d7e1e7;font:600 10px var(--font-display)}.meter.enemy-base{margin-top:10px}.meter.enemy-base i{background:linear-gradient(90deg,#ff9348,var(--red));box-shadow:0 0 8px var(--red)}
.hud-bottom{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:6px;pointer-events:none}.weapon-panel{height:54px;min-width:260px;background:rgba(5,13,21,.84);border-bottom:2px solid rgba(83,230,255,.55);display:flex;align-items:center;padding:0 10px;clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px)}.weapon-icon{font-size:23px;color:var(--cyan);margin:0 12px 0 5px;text-shadow:0 0 13px var(--cyan)}.weapon-panel>div:nth-child(2){display:flex;flex-direction:column;min-width:125px}.weapon-panel small{font-size:7px;color:#50697b}.weapon-panel b{font-size:10px;margin-top:4px}.reload-ring{position:relative;width:44px;height:44px;margin-left:auto}.reload-ring svg{width:44px;height:44px;transform:rotate(-90deg)}.reload-ring circle{fill:none;stroke:rgba(124,162,186,.14);stroke-width:2}.reload-ring circle.progress{stroke:var(--cyan);stroke-dasharray:113;stroke-dashoffset:0;transition:stroke-dashoffset .05s}.reload-ring span{position:absolute;inset:0;display:grid;place-items:center;color:#7790a2;font:600 6px var(--font-display)}.zone-readout{background:rgba(5,13,21,.75);padding:8px 14px;display:flex;flex-direction:column;justify-content:center}.zone-readout span{font:500 6px var(--font-display);color:#475f72}.zone-readout b{font:600 10px var(--font-display);color:#829bab;margin-top:4px}
.mobile-controls{display:none}.modal{position:fixed;inset:0;z-index:100;background:rgba(2,6,10,.76);backdrop-filter:blur(12px);display:none;place-items:center}.modal.show{display:grid;animation:fade .25s ease}@keyframes fade{from{opacity:0}.modal.show{opacity:1}}.modal-card{width:min(460px,90vw);border:1px solid rgba(83,230,255,.26);background:linear-gradient(145deg,#0d1b28,#060c14);padding:42px;text-align:center;position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}.modal-card::before{content:"";position:absolute;top:0;left:0;width:70%;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}.modal-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 49%,rgba(83,230,255,.025) 50%);background-size:100% 4px}.modal-eyebrow{color:var(--cyan);font:600 10px var(--font-display);letter-spacing:4px}.modal-card h2{font-size:34px;margin:11px 0}.modal-card>p{color:#708596;font-size:12px}.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:27px 0}.modal-stats div{background:#09131e;padding:13px 4px}.modal-stats small{display:block;color:#516a7d;font-size:8px}.modal-stats b{display:block;margin-top:5px;font:600 18px var(--font-display)}.modal-actions{display:flex;gap:10px}.modal-actions button{flex:1}.orientation-notice{display:none;position:fixed;inset:0;z-index:999;background:#050a12;place-items:center;text-align:center;align-content:center;gap:8px}.orientation-notice span{font-size:42px;color:var(--cyan);animation:rotate-hint 2s ease infinite}.orientation-notice b{font-size:18px}.orientation-notice small{color:#647b8e}@keyframes rotate-hint{50%{transform:rotate(90deg)}}

@media(max-width:900px){
  .topbar{padding:0 22px}.menu-grid{grid-template-columns:55% 45%}.hero-copy{padding-left:40px}.hero-visual{transform:scale(.82);transform-origin:center}.tank-showcase{left:45%}.control-hint{flex-wrap:wrap}.tank-cards{grid-template-columns:repeat(2,1fr);overflow:auto}.tank-card{min-height:310px}.section-heading{grid-template-columns:120px 1fr}.section-heading>p{display:none}.mission-layout{grid-template-columns:1fr 280px}.mission-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){
  .hero-visual{position:absolute;inset:0;opacity:.2;transform:scale(.7) translateX(25%)}.menu-grid{display:block}.hero-copy{padding:60px 30px}.hero-copy h1{font-size:90px}.menu-screen .system-state{display:none}.control-hint{display:none}.hero-actions{margin-top:38px}.loadout-content,.mission-content{padding:25px 18px}.tank-cards{grid-template-columns:repeat(2,1fr)}.mission-layout{grid-template-columns:1fr}.mission-brief{display:none}.mission-grid{grid-template-columns:repeat(3,1fr)}.hud-top{height:48px;padding:0 10px;grid-template-columns:1fr 1fr auto}.objective-status{display:none}.hud-brand b{font-size:9px}.mission-status{padding-left:8px}.hud-actions .icon-button{width:28px;height:28px}.hud-left{left:10px;top:10px;transform:scale(.82);transform-origin:top left}.hud-right{right:10px;top:10px;transform:scale(.82);transform-origin:top right}.hud-bottom{bottom:9px;transform:translateX(-50%) scale(.78);transform-origin:bottom center}.mobile-controls{display:block}.move-pad{position:absolute;left:22px;bottom:19px;width:92px;height:92px;border:1px solid rgba(114,156,185,.22);border-radius:50%;background:rgba(5,14,23,.32);pointer-events:auto;touch-action:none}.move-pad::before,.move-pad::after{content:"";position:absolute;background:rgba(123,164,189,.12)}.move-pad::before{width:1px;height:100%;left:50%}.move-pad::after{height:1px;width:100%;top:50%}.move-stick{position:absolute;width:38px;height:38px;left:27px;top:27px;border-radius:50%;background:rgba(83,230,255,.18);border:1px solid rgba(83,230,255,.5);box-shadow:0 0 18px rgba(83,230,255,.15)}.fire-button{position:absolute;right:26px;bottom:30px;width:70px;height:70px;border-radius:50%;border:1px solid rgba(255,65,94,.6);color:#ff8699;background:rgba(112,18,36,.28);font:700 10px var(--font-display);letter-spacing:1px;box-shadow:inset 0 0 20px rgba(255,65,94,.12);touch-action:none}.fire-button:active{background:rgba(255,65,94,.35)}
}
@media(max-height:680px){.hero-copy{padding-top:38px}.hero-copy h1{font-size:min(15vh,100px)}.hero-desc{margin-top:20px}.hero-actions{margin-top:20px}.control-hint{margin-top:25px}.loadout-content,.mission-content{padding-top:23px}.tank-cards{margin-top:20px}.tank-card{min-height:270px;padding-top:15px}.card-tank{height:85px;transform:scale(.8);margin:6px 0}.tank-card>p{display:none}}
@media(orientation:portrait) and (max-width:700px){.orientation-notice{display:grid}}

@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
