:root {
  color-scheme: dark;
  font-family: "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;
  background: #02070d;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; overflow: hidden; }
body { min-height: 100svh; display: grid; place-items: center; background: #02070d; }
button { font: inherit; letter-spacing: 0; }

.game-shell {
  position: relative;
  width: min(100vw, 56.5svh, 720px);
  height: 100svh;
  min-height: 560px;
  overflow: hidden;
  background: #030912;
  border-inline: 1px solid rgba(104, 222, 255, .2);
  user-select: none;
}

canvas { width: 100%; height: 100%; display: block; touch-action: none; outline: none; }

.hud {
  position: absolute;
  inset: env(safe-area-inset-top, 0) 0 auto;
  z-index: 2;
  min-height: 74px;
  padding: 13px 14px 10px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  gap: 10px;
  background: linear-gradient(#02070de8, #02070d00);
  pointer-events: none;
}

.pilot { display:flex; gap:7px; align-items:center; color:#dffbff; font:700 11px Consolas,monospace; }
.portrait { width:42px; height:42px; display:grid; place-items:center; border:2px solid #75dfff; border-radius:8px; color:#9df2ff; background:linear-gradient(135deg,#214b7d,#0d152b); box-shadow:0 0 12px #39c9ff77; }
.portrait img { width:100%; height:100%; display:block; object-fit:cover; border-radius:6px; }
.pilot b { color:#fff; }.pilot small { display:block; margin-top:4px; color:#95e9ff; letter-spacing:2px; font-size:9px; }.armor { width:130px; height:15px; margin-top:3px; padding:2px; border:1px solid #467c90; background:#06111c; transform:skewX(-12deg); }.armor i { display:block; width:100%; height:100%; background:repeating-linear-gradient(110deg,#3dfa70 0 14px,#149c43 15px 17px); transition:width .18s; }
.mission { display: grid; gap: 3px; }
.mission span { color: #79a4b5; font-size: 10px; }
.mission { min-width: 116px; text-align: center; }
.mission strong { color: #8deeff; font: 700 13px/1 "Consolas", monospace; }
.mission small { color:#8ca9c2; font:700 8px/1 Consolas,monospace; letter-spacing:.3px; }
.evo-meter{width:112px;height:4px;margin:1px auto 0;border:1px solid #36536a;background:#06111b;transform:skewX(-14deg)}.evo-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#56e7ff,#c879ff,#ffd35d);transition:width .2s ease}
.resources { justify-self:end; display:grid; gap:4px; color:#ffc958; font:700 16px Consolas,monospace; }.resources div:last-child { color:#5ce6ff; }.resources b{color:#ecf8ff;}
.resources { margin-right: 64px; }
#sound { display: none; }

.actions { position: absolute; z-index: 3; right: 12px; bottom: max(14px, env(safe-area-inset-bottom)); display: flex; gap: 7px; }
.actions button {
  min-width: 54px; min-height: 38px; padding: 0 10px;
  border: 1px solid #315568; border-radius: 4px;
  color: #9fcedc; background: #04111bba; cursor: pointer;
}
.actions { top:14px; bottom:auto; }.actions button { min-width:42px; min-height:42px; font-weight:900; }
.actions button:hover, .actions button:focus-visible { color: #fff; border-color: #77e9ff; outline: 2px solid #77e9ff; outline-offset: 2px; }

.overlay {
  position: absolute; inset: 0; z-index: 5;
  display: grid; place-content: center; justify-items: center;
  padding: 28px; text-align: center;
  background: rgba(1, 7, 13, .74);
  backdrop-filter: blur(5px);
}
.overlay[hidden] { display: none; }
.start-screen { align-content:start; overflow-y:auto; padding:max(22px,env(safe-area-inset-top)) 18px 92px; background:linear-gradient(180deg,rgba(1,7,15,.76),rgba(1,8,19,.93)); }
.start-screen h1 { font-size:clamp(38px,10vw,58px); }
.start-screen > p { margin-bottom:14px; }
.hangar-summary { width:min(430px,100%);display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:7px;margin-bottom:9px; }
.hangar-summary div { padding:9px 8px;border:1px solid #315e77;background:linear-gradient(145deg,#082238dd,#04101ddd);clip-path:polygon(0 0,94% 0,100% 24%,100% 100%,6% 100%,0 76%); }
.hangar-summary span,.stage-picker small { display:block;color:#6f9fb5;font-size:9px;letter-spacing:.8px; }
.hangar-summary strong { display:block;margin-top:2px;color:#effcff;font:900 19px Consolas,monospace; }
.hangar-summary div:first-child strong { color:#ffd463;text-shadow:0 0 12px #e37d1d99; }
.equipment-grid { width:min(430px,100%);display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:9px; }
.equipment-card { position:relative;min-height:76px;padding:9px 8px 8px 62px;text-align:left;border:1px solid #284e65;border-radius:5px;color:#eafaff;background:linear-gradient(135deg,#0a2032eb,#06111deb);cursor:pointer; }
.equipment-card::before { content:attr(data-icon);position:absolute;left:10px;top:12px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #4d88a8;border-radius:7px;color:#8defff;background:#0a2c43;box-shadow:inset 0 0 16px #1caee633; }
.equipment-card b,.equipment-card small,.equipment-card span { display:block; }
.equipment-card b { font-size:12px; }.equipment-card small{margin-top:3px;color:#8caabd;font-size:9px}.equipment-card span{margin-top:5px;color:#f3bf53;font:800 10px Consolas,monospace}.equipment-card:disabled{opacity:.48}.equipment-card:focus-visible{outline:2px solid #fff;outline-offset:2px}
.stage-picker { width:min(430px,100%);display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:6px;margin-bottom:7px; }
.stage-picker > div { min-height:62px;padding:8px 12px;border:1px solid #4c7186;background:#071724d9; }
.stage-picker b,.stage-picker span { display:block; }.stage-picker b{margin:2px 0;color:#e8f9ff;font-size:15px}.stage-picker span{color:#8ba8b8;font-size:10px}.stage-picker span strong{display:inline;color:#ffcc57}
.stage-picker button { height:62px;border:1px solid #3f718e;color:#9deeff;background:#082238d9;font-size:28px;cursor:pointer; }
.power-verdict { width:min(430px,100%);margin-bottom:10px;padding:7px 10px;border-left:3px solid #69e3ff;color:#9bddec;background:#052235aa;font-size:10px;text-align:left; }
.power-verdict.advantage { border-color:#69f19a;color:#aaf6c1;background:#062a1baa; }.power-verdict.danger{border-color:#ff704f;color:#ffc0ae;background:#32100baa}
.run-rewards { min-width:240px;margin:-10px 0 18px;padding:10px 14px;border:1px solid #7d6330;color:#ffd975;background:#241704dd;font:800 13px Consolas,monospace; }
.kicker { color: #66d9f2; font: 700 11px/1.2 "Consolas", monospace; }
.overlay h1 { margin: 14px 0 0; color: #f6fbff; font-size: clamp(46px, 12vw, 68px); line-height: .95; text-shadow: 0 0 24px rgba(54, 203, 255, .38); }
.overlay h2 { margin: 14px 0 28px; color: #f6fbff; font-size: 34px; }
.start-screen > p { margin: 10px 0 26px; color: #f2c55c; font-size: 17px; }
.ship-mark { width: 170px; height: 96px; position: relative; margin-bottom: 30px; filter: drop-shadow(0 0 16px #32cffa99); }
.ship-mark b { position: absolute; left: 66px; top: 2px; width: 38px; height: 88px; background: linear-gradient(#dffaff, #37b8d5 60%, #103e59); clip-path: polygon(50% 0, 88% 38%, 100% 100%, 50% 76%, 0 100%, 12% 38%); }
.ship-mark i { position: absolute; top: 34px; width: 78px; height: 40px; background: #5f8da5; clip-path: polygon(0 78%, 100% 0, 88% 100%); }
.ship-mark i:first-child { left: 0; }.ship-mark i:last-child { right: 0; transform: scaleX(-1); }
.primary {
  min-width: 190px; min-height: 52px; padding: 0 26px;
  border: 1px solid #86edff; border-radius: 5px;
  color: #001018; background: #8beeff; font-weight: 800;
  box-shadow: 0 0 24px rgba(64, 215, 247, .24); cursor: pointer;
}
.primary:hover, .primary:focus-visible { background: #fff; outline: 3px solid #f2c55c; outline-offset: 3px; }
.record { margin-top: 18px; color: #698d9d; font-size: 11px; }.record strong { color: #cfeef5; font-family: Consolas, monospace; }
.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:min(330px,100%);margin:0 0 14px}.mode-choice{min-height:50px;padding:6px 4px;border:1px solid #284c64;border-radius:5px;color:#87a7bb;background:#041521cc;cursor:pointer}.mode-choice b,.mode-choice small{display:block}.mode-choice b{font-size:13px;color:#dffaff}.mode-choice small{margin-top:3px;color:#6e95aa;font-size:9px}.mode-choice.active{border-color:#88efff;background:#0a3042;color:#fff;box-shadow:0 0 14px #37d5ff55}.mode-choice.active b{color:#8ff4ff}

/* Cinematic cover and command-center lobby */
.splash-screen{z-index:9;display:flex;flex-direction:column;justify-content:flex-start;padding:4.5vh 16px 28px;overflow:hidden;background:radial-gradient(circle at 50% 39%,rgba(35,98,203,.34),transparent 31%),radial-gradient(circle at 15% 20%,rgba(159,39,220,.25),transparent 29%),linear-gradient(180deg,rgba(1,4,15,.08),rgba(0,4,15,.82)),url('assets/backgrounds/nebula-battlefield-runtime.webp') center/cover no-repeat,#020615;backdrop-filter:none}
.splash-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 46%,rgba(82,205,255,.12) 47%,transparent 48%),radial-gradient(circle at 50% 48%,transparent 0 36%,rgba(35,160,255,.18) 37%,transparent 38%);pointer-events:none}
.splash-title{position:relative;z-index:1;width:100%;text-align:center;text-transform:uppercase}.splash-title small{display:block;color:#b9e8ff;font:900 12px Consolas,monospace;letter-spacing:5px}.splash-title h1{margin:8px auto 4px;font-size:clamp(39px,9vw,64px);line-height:1.05;letter-spacing:-3px;color:transparent;background:linear-gradient(#fff 8%,#d9e9fa 43%,#7386a1 49%,#fff 56%,#83c8ff 82%,#234872);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px #d9f2ff;filter:drop-shadow(0 3px 0 #07182e) drop-shadow(0 0 12px #1aaeff)}.splash-title span{display:block;color:#eef9ff;font:italic 800 12px Consolas,monospace;letter-spacing:4px;text-shadow:0 0 9px #2cbcff}
.splash-battle{position:relative;z-index:1;width:min(100%,610px);height:auto;min-height:0;flex:1;display:grid;place-items:center;margin:-6px auto 82px}.splash-battle::before{content:"";position:absolute;left:50%;top:34%;width:18%;height:65%;transform:translateX(-50%);background:linear-gradient(rgba(255,255,255,.9),rgba(83,195,255,.6) 20%,rgba(57,99,255,0));clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(2px)}.splash-battle img{position:relative;width:min(92%,550px);filter:drop-shadow(0 0 18px #35c7ff) drop-shadow(0 0 34px #ffb23e);animation:splash-float 2.4s ease-in-out infinite}.splash-battle i{position:absolute;top:18%;width:82px;height:82px;background-image:url('assets/ships/enemy-v11-atlas-runtime.webp');background-size:400% 400%;background-repeat:no-repeat;filter:drop-shadow(0 0 12px #c154ff)}.splash-battle i:first-child{left:1%;background-position:33.333% 0;transform:rotate(-16deg)}.splash-battle i:last-child{right:1%;background-position:100% 33.333%;transform:rotate(16deg)}
.splash-start{position:absolute;left:50%;bottom:76px;z-index:2;width:min(82%,430px);min-height:78px;margin:0;transform:translateX(-50%);border:2px solid #79e9ff;clip-path:polygon(8% 0,92% 0,100% 28%,100% 72%,92% 100%,8% 100%,0 72%,0 28%);color:#fff;background:linear-gradient(180deg,#0b5fb9f2,#06245ef2);box-shadow:inset 0 0 20px #30caff,0 0 26px #159dff;cursor:pointer}.splash-start::before{content:"";position:absolute;inset:5px;border:1px solid #9df4ff;clip-path:inherit;pointer-events:none}.splash-start b,.splash-start span{position:relative;display:block}.splash-start b{font-size:30px;letter-spacing:5px;text-shadow:0 0 10px #fff}.splash-start span{margin-top:3px;color:#8edfff;font:700 9px Consolas,monospace;letter-spacing:2px}.splash-tagline{position:absolute;left:0;right:0;bottom:31px;z-index:1;color:#e7f6ff;font-weight:800;letter-spacing:5px;text-shadow:0 0 10px #42bfff}@keyframes splash-float{50%{transform:translateY(-9px) scale(1.012)}}

.start-screen{display:block;align-content:unset;padding:0 10px 76px;text-align:left;background:linear-gradient(180deg,rgba(1,7,18,.45),rgba(1,8,22,.9));backdrop-filter:blur(2px)}
.command-bar{position:sticky;top:0;z-index:3;width:100%;min-height:78px;padding:8px;display:grid;grid-template-columns:1.35fr .72fr .72fr 44px;gap:5px;align-items:center;border:1px solid #4d7694;border-top:0;background:linear-gradient(180deg,#071322f5,#06101cf0);box-shadow:0 5px 20px #000b,0 0 12px #238cff55}.commander{min-width:0;display:flex;align-items:center;gap:7px}.commander img{width:52px;height:52px;border:2px solid #75dfff;object-fit:cover;clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%)}.commander span,.command-wallet{display:grid}.commander b{white-space:nowrap;color:#effaff;font-size:12px}.commander small{margin-top:4px;color:#55c9ff;font:700 9px Consolas,monospace}.command-power{text-align:center;border-inline:1px solid #274b65}.command-power small{display:block;color:#93b5c8;font-size:9px}.command-power strong{display:block;color:#ffc552;font:900 22px Consolas,monospace;text-shadow:0 0 12px #ff8a13}.command-wallet{gap:4px;color:#ffcf4f;font:800 11px Consolas,monospace}.command-wallet span:last-child{color:#63dcff}.command-wallet b{color:#f5fbff}.gear-button{width:42px;height:42px;border:1px solid #6284a0;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);color:#ffe2bd;background:#18202a;font-size:22px}
.hangar-display{position:relative;width:100%;height:390px;overflow:hidden;border-inline:1px solid #17435f;background:radial-gradient(circle at 44% 45%,#0c407066,transparent 37%),linear-gradient(180deg,rgba(3,9,24,.25),rgba(2,12,29,.65))}.hangar-label{position:absolute;top:14px;left:0;right:0;text-align:center;color:#ccefff;font:700 10px Consolas,monospace;letter-spacing:4px}.hangar-ring{position:absolute;left:8%;top:7%;width:65%;aspect-ratio:1;border:4px double #198dd0;border-radius:50%;box-shadow:inset 0 0 24px #1a9cff66,0 0 28px #1a9cff55;background:repeating-conic-gradient(from 0deg,rgba(62,182,255,.32) 0 2deg,transparent 2deg 12deg);mask:radial-gradient(circle,transparent 56%,#000 57%);animation:hangar-spin 16s linear infinite}.hangar-ship{position:absolute;z-index:1;left:7%;top:20%;width:65%;filter:drop-shadow(0 0 18px #2ac8ff) drop-shadow(0 0 30px #185eff);animation:splash-float 2.8s ease-in-out infinite}.hangar-platform{position:absolute;left:8%;bottom:11%;width:65%;height:42px;border:3px solid #159de7;border-radius:50%;box-shadow:inset 0 0 22px #28bfff,0 0 20px #149cff;transform:perspective(90px) rotateX(58deg)}.fighter-info{position:absolute;z-index:2;right:2%;top:25%;width:29%;padding:10px 9px;display:grid;gap:10px;border:1px solid #148ad0;background:linear-gradient(135deg,#06254ee6,#03142ee6);box-shadow:inset 0 0 18px #197fdc55}.fighter-info>b{padding-bottom:7px;border-bottom:1px solid #256c9e;color:#cdeeff;text-align:center}.fighter-info span{color:#d7eaff;font-size:10px}.fighter-info strong{color:#ffbf4d}@keyframes hangar-spin{to{transform:rotate(360deg)}}
.mission-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.mission-card{min-height:120px;padding:16px 12px;text-align:left;border:1px solid;color:#fff;clip-path:polygon(6% 0,94% 0,100% 10%,100% 90%,94% 100%,6% 100%,0 90%,0 10%);cursor:pointer}.mission-card b,.mission-card span,.mission-card em{display:block}.mission-card b{font-size:22px;font-style:italic;text-shadow:0 0 10px currentColor}.mission-card span{min-height:30px;margin-top:8px;color:#d1e5f0;font-size:10px}.mission-card em{margin-top:7px;font:800 10px Consolas,monospace}.campaign{border-color:#41d8ff;background:radial-gradient(circle at 70% 68%,#1678c788,transparent 34%),linear-gradient(135deg,#063d78,#07162c)}.campaign em{color:#75e7ff}.endless{border-color:#bc63ff;background:radial-gradient(circle at 70% 68%,#8d27ca88,transparent 34%),linear-gradient(135deg,#40176f,#130a31)}.endless em{color:#e19aff}
.hangar-tools{width:100%;padding:9px;border:1px solid #8c611e;background:linear-gradient(135deg,#2a1605e8,#0d111ee8)}.hangar-tools-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:7px}.hangar-tools-title b{color:#ffc764;font-size:17px}.hangar-tools-title span{color:#b5a384;font-size:9px}.hangar-tools .equipment-grid{width:100%;margin:0}.hangar-tools .equipment-card{min-height:70px;background:linear-gradient(135deg,#131925f2,#08101df2)}
.hangar-nav{position:sticky;z-index:4;bottom:-76px;width:calc(100% + 20px);height:66px;margin:10px -10px -66px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4d7190;background:#050d18f5}.hangar-nav b{display:grid;place-items:center;align-content:center;color:#72899d;font-size:22px}.hangar-nav b:first-child{color:#69dfff;background:linear-gradient(180deg,#103f76aa,#082146)}.hangar-nav span{display:block;font-size:10px}.start-screen .record{margin:78px 0 0;text-align:center}.start-screen .stage-picker,.start-screen .power-verdict{width:100%}

.sortie-screen{z-index:8;padding:14px;background:rgba(0,4,14,.82);backdrop-filter:blur(4px)}.sortie-panel{position:relative;width:min(100%,540px);padding:24px 18px 18px;border:2px solid #4ca9df;clip-path:polygon(5% 0,95% 0,100% 5%,100% 95%,95% 100%,5% 100%,0 95%,0 5%);background:linear-gradient(180deg,#071d38fa,#040d1cfa);box-shadow:inset 0 0 30px #177bcc55,0 0 35px #04101f}.sortie-panel h2{margin:7px 0 10px;font-size:28px;text-shadow:0 0 12px #38bfff}.sortie-close{position:absolute;right:12px;top:10px;width:42px;height:42px;border:1px solid #65cfff;color:#d8f8ff;background:#0b3760;font-size:30px}.sortie-visual{position:relative;height:280px;display:grid;place-items:center;overflow:hidden}.sortie-visual div{position:absolute;width:72%;aspect-ratio:1;border:3px double #238ed2;border-radius:50%;background:repeating-conic-gradient(#248ed455 0 3deg,transparent 3deg 13deg);animation:hangar-spin 14s linear infinite}.sortie-visual img{position:relative;width:78%;filter:drop-shadow(0 0 18px #22c5ff)}.sortie-name{display:block;padding:9px;border-block:1px solid #204568;color:#e8f7ff}.sortie-name span,.sortie-panel p strong{color:#ffc85d}.sortie-panel p{margin:10px 0 5px;color:#dbeeff}.sortie-panel>small{display:block;color:#67caff}.sortie-actions{display:grid;grid-template-columns:.8fr 1fr 1.2fr;gap:8px;margin-top:16px}.sortie-actions button{min-height:52px;border:1px solid #61809b;color:#ecf8ff;background:#121d2a;font-weight:800}.sortie-actions button:nth-child(2){border-color:#a96eff;background:#32165c}.sortie-actions .primary{min-width:0;border-color:#77eaff;background:#0b66bd;box-shadow:inset 0 0 14px #3cd7ff,0 0 16px #168fff}

.result-screen dl { width: min(320px, 100%); margin: 0 0 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #284454; }
.result-screen dl div { padding: 13px 6px; background: #06131e; }
.result-screen dt { color: #648a9a; font-size: 10px; }.result-screen dd { margin: 5px 0 0; color: #f2c55c; font: 700 20px Consolas, monospace; }

.boss-hud { position:absolute;z-index:3;top:80px;left:50%;width:min(92%,620px);transform:translateX(-50%);text-align:center;pointer-events:none; }
.boss-hud span { color:#ffb09a;font-size:13px;font-weight:900;text-shadow:0 1px 6px #000; }
.boss-hud > div { position:relative;height:17px;margin-top:6px;border:2px solid #bd5b48;background:#170906;overflow:hidden;box-shadow:inset 0 0 9px #000,0 0 14px #ff472b55; }
.boss-hud > div::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 29.3%,#240704 29.6%,#240704 31%,transparent 31.3%,transparent 59.3%,#240704 59.6%,#240704 61%,transparent 61.3%),repeating-linear-gradient(90deg,transparent 0 8.1%,rgba(255,255,255,.16) 8.2% 8.5%);pointer-events:none; }
.boss-hud i { display:block;width:100%;height:100%;background:linear-gradient(180deg,#ff9a68,#ff3f36 55%,#bd071d);box-shadow:inset 0 0 8px #ffd1a4;transition:width .15s linear; }
.toast { position: absolute; z-index: 4; top: 26%; left: 50%; transform: translateX(-50%); color: #f9df78; font-weight: 800; font-size: 20px; text-shadow: 0 2px 10px #000; opacity: 0; pointer-events: none; transition: opacity .2s ease; white-space: nowrap; }
.toast.show { opacity: 1; }
.combo { position:absolute; z-index:3; top:145px; right:18px; display:grid; color:#ffd262; font-family:Consolas,monospace; text-align:center; transform:skewX(-8deg); text-shadow:0 2px 0 #7d210c,0 0 16px #ff9b35; pointer-events:none; }.combo b{font-size:48px; line-height:.8;}.combo span{font-weight:900;font-size:13px;}
.skills { position:absolute; z-index:4; bottom:max(13px,env(safe-area-inset-bottom)); left:10px; right:10px; display:grid; grid-template-columns:72px minmax(0,1fr) 72px; gap:10px; align-items:end; }.cards{min-width:0;overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}.skill{position:relative; min-width:0; max-width:100%; color:#f5fbff; border:1px solid #5cc9ed; background:#06162cc9; cursor:pointer; overflow:hidden; text-shadow:0 1px 2px #001;}.skill:focus-visible{outline:3px solid #fff;outline-offset:2px}.skill:disabled{filter:grayscale(.7);opacity:.58;cursor:not-allowed}.skill i{position:absolute;inset:auto 0 0;height:4px;width:0;background:#5de8ff;transition:width .15s}.round{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 5px #0c4267,0 0 16px #158eea88}.round b{font-size:35px;line-height:.7}.round span{font:800 11px Consolas,monospace;margin-top:8px}.card{min-height:78px;padding:2px;border-radius:6px;display:grid;place-items:center;align-content:center;gap:5px;box-shadow:inset 0 0 20px #1b58af88}.card b{font-size:25px;color:#ca91ff}.card span{font-size:11px;font-weight:800}.shield b{color:#7deaff}.burst b{color:#ffb151}.burst{border-color:#f09640;background:#281005d6}.wingman{border-color:#b068e7;background:#240a3bd6}.bomb{border-color:#7ae8ff}.bomb b{color:#eaf9ff}
.round em{font-style:normal;color:#ffd05a}.fire-level{position:absolute;z-index:3;left:50%;bottom:106px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #315e75;border-radius:3px;color:#73a9bd;background:#04121dd9;font:800 10px Consolas,monospace;pointer-events:none}.fire-level b{color:#fff;font-size:14px}.fire-level span{color:#496778;letter-spacing:2px}.fire-level.max{border-color:#ffd259;color:#ffd259;box-shadow:0 0 18px #ff9d2a77}.fire-level.max span{color:#ffd259}
.skill.cooling::after{content:attr(data-cooldown);position:absolute;right:5px;top:4px;min-width:20px;height:20px;display:grid;place-items:center;border:1px solid #8cc7df;border-radius:50%;color:#fff;background:#020b12e6;font:900 11px Consolas,monospace;box-shadow:0 0 8px #2bcfff88}

@media (max-height: 650px) {
  .hud { min-height: 60px; padding-top: 8px; }
  .actions { top:8px; }
  .overlay h1 { font-size: 44px; }
  .ship-mark { transform: scale(.78); margin-block: -4px 14px; }
  .start-screen{padding-top:12px}.start-screen h1{font-size:34px}.start-screen>p{margin:5px 0 9px}.equipment-card{min-height:64px;padding-top:7px;padding-bottom:6px}.stage-picker>div,.stage-picker button{min-height:50px;height:50px}
}
@media (max-width:480px){.actions #sound{display:none}.actions{right:8px}.hud{padding-right:56px}}
@media (max-width:390px){.portrait{width:36px;height:36px}.armor{width:92px}.resources{font-size:12px}.mission{min-width:96px}.evo-meter{width:90px}.skills{grid-template-columns:62px minmax(0,1fr) 62px;gap:5px;left:6px;right:6px}.cards{gap:4px}.card{min-height:64px}.card b{font-size:20px}.card span{font-size:9px}.round b{font-size:27px}.combo{right:10px}.equipment-card{padding-left:54px}.equipment-card::before{left:8px;width:36px;height:36px}.fire-level{bottom:88px}}
@media (min-width:600px){.hud{min-height:96px;padding:15px 18px 12px;gap:14px}.pilot{gap:10px;font-size:14px}.portrait{width:60px;height:60px;font-size:17px}.armor{width:176px;height:18px}.pilot small{font-size:11px}.mission{min-width:150px}.mission span{font-size:12px}.mission strong{font-size:20px}.mission small{font-size:10px}.evo-meter{width:142px;height:6px}.resources{margin-right:82px;font-size:19px}.actions{top:15px;right:18px}.actions button{min-width:62px;min-height:62px;font-size:20px}.combo{top:148px;right:26px}.combo b{font-size:60px}.combo span{font-size:17px}.skills{left:20px;right:20px;bottom:18px;grid-template-columns:96px minmax(0,360px) 96px;justify-content:space-between;gap:18px}.cards{gap:10px}.card{min-height:104px}.card b{font-size:34px}.card span{font-size:12px}.round span{font-size:13px}}
@media (max-width:480px){.splash-screen{padding-top:3.5vh}.splash-title small{font-size:9px;letter-spacing:4px}.splash-title h1{font-size:46px;letter-spacing:-3px}.splash-title span{font-size:9px;letter-spacing:2px}.splash-battle{height:auto;margin-bottom:76px}.splash-battle img{width:98%}.splash-start{min-height:66px}.splash-start b{font-size:25px}.splash-tagline{font-size:12px;letter-spacing:3px}.start-screen{padding-inline:6px}.command-bar{grid-template-columns:1.25fr .7fr .7fr 36px;padding:6px 4px}.commander img{width:42px;height:42px}.commander b{font-size:10px}.commander small{font-size:8px}.command-power strong{font-size:18px}.command-wallet{font-size:9px}.gear-button{width:34px;height:36px;font-size:18px}.hangar-display{height:320px}.hangar-ring{top:11%}.hangar-ship{top:23%}.fighter-info{top:27%;padding:7px 5px;gap:7px}.fighter-info>b{font-size:11px}.fighter-info span{font-size:8px}.mission-card{min-height:102px;padding:12px 9px}.mission-card b{font-size:18px}.mission-card span{font-size:8px}.hangar-tools{padding:7px}.hangar-tools-title b{font-size:15px}.hangar-tools .equipment-card{min-height:63px}.sortie-panel{padding-inline:12px}.sortie-panel h2{font-size:24px}.sortie-visual{height:220px}.sortie-actions{gap:5px}.sortie-actions button{min-height:48px;font-size:12px;padding-inline:4px}}
.fighter-screen{z-index:10;padding:14px;background:rgba(0,4,14,.9);backdrop-filter:blur(6px)}
.fighter-panel{position:relative;width:min(100%,620px);max-height:94vh;overflow:auto;padding:25px 16px 18px;border:2px solid #4ca9df;background:linear-gradient(180deg,#071d38fa,#040d1cfa);box-shadow:inset 0 0 32px #177bcc55,0 0 40px #000}
.fighter-panel h2{margin:8px 0 4px;font-size:28px}.fighter-panel>p{margin:0 32px 14px;color:#8eb6ca;font-size:11px}.fighter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fighter-card{position:relative;min-height:188px;padding:8px;border:1px solid #326888;color:#eaf9ff;background:linear-gradient(150deg,#0a2036,#060e1b);cursor:pointer;overflow:hidden}.fighter-card.selected{border-color:#ffd45d;box-shadow:inset 0 0 22px #ffab2144,0 0 14px #ffba3155}.fighter-card:disabled{filter:grayscale(.75);opacity:.55;cursor:not-allowed}.fighter-card-image{display:block;height:112px;margin:0!important}.fighter-card img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px #34c9ff)}.fighter-card b,.fighter-card small{display:block}.fighter-card b{font-size:13px}.fighter-card small{margin-top:5px;color:#75dcff;font:800 9px Consolas,monospace}.fighter-card em{display:block;margin-top:5px;color:#ffc95b;font:800 8px Consolas,monospace}.fighter-card.selected em{color:#ffe58e}
@media(max-width:390px){.fighter-card{min-height:170px}.fighter-card-image{height:98px}}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }

/* v12 media-faithful shell */
.splash-screen{padding:0;background:#010716 url('assets/ui/v12-cover-runtime.webp') center/cover no-repeat!important}
.splash-screen::before{background:linear-gradient(180deg,transparent 0 78%,rgba(0,7,22,.34) 88%,rgba(0,5,18,.82))!important}
.splash-title,.splash-battle,.splash-tagline{display:none!important}
.splash-loader{position:absolute;z-index:3;left:13%;right:13%;bottom:8.8%;text-align:center;color:#d9f6ff;text-shadow:0 0 10px #2fbfff}
.splash-loader>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:2px}.splash-loader>div{height:9px;padding:2px;border:1px solid #5ce6ff;border-radius:20px;background:#031a3c;box-shadow:0 0 14px #2ec7ff,inset 0 0 8px #1a74ff}.splash-loader i{display:block;width:0;height:100%;border-radius:20px;background:linear-gradient(90deg,#27e7ff,#eafcff 70%,#9f69ff);box-shadow:0 0 12px #55eaff;transition:width .22s ease}.splash-loader small{display:block;margin-top:5px;font:700 10px Consolas,monospace;letter-spacing:2px}
.splash-start{bottom:2.4%;min-height:48px;width:54%;opacity:0;pointer-events:none;transition:opacity .25s}.splash-start.ready{opacity:1;pointer-events:auto}.splash-start b{font-size:20px}.splash-start span{font-size:7px}
.feature-screen{z-index:13;padding:20px;background:rgba(0,4,18,.84);backdrop-filter:blur(7px)}.feature-panel{position:relative;width:min(430px,92%);margin:auto;padding:27px 22px 22px;border:2px solid #39cfff;background:linear-gradient(145deg,#092952f2,#030d24f7);box-shadow:inset 0 0 32px #167fea66,0 0 30px #138de077;text-align:center;clip-path:polygon(5% 0,95% 0,100% 8%,100% 92%,95% 100%,5% 100%,0 92%,0 8%)}.feature-panel>button:first-child{position:absolute;right:8px;top:7px;width:40px;height:40px;border:1px solid #6ce7ff;background:#092a58;color:#fff;font-size:26px}.feature-panel small{color:#60dfff;letter-spacing:3px}.feature-panel h2{margin:8px 0;color:#fff;font-size:28px}.feature-panel p{min-height:68px;color:#c8e9ff;line-height:1.7}
.showroom-screen{z-index:14;padding:0;background:radial-gradient(circle at 50% 42%,#163f8877,transparent 34%),linear-gradient(180deg,#061124,#01050d 70%);overflow:hidden}.showroom-screen:not([hidden]){display:block;justify-items:normal;place-content:normal}.showroom-top,.showroom-poster,.showroom-stage{width:100%}.showroom-screen::before{content:"";position:absolute;inset:0;background:url('assets/backgrounds/nebula-battlefield-runtime.webp') center/cover;opacity:.34}.showroom-top{position:relative;z-index:2;height:7%;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #318ad0;background:#020917db;color:#aeeeff;font:700 10px Consolas,monospace;letter-spacing:2px}.showroom-top button{border:0;background:transparent;color:#dff9ff;font-weight:800}.showroom-top b{color:#ffd15a}
.showroom-poster{position:relative;z-index:1;height:28%;overflow:hidden;border-bottom:2px solid #3fb8ff;background:linear-gradient(115deg,#0a3a7a,#5a177a 50%,#062f68);box-shadow:0 12px 28px #000}.showroom-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff22 48%,transparent 65%);transform:skewX(-12deg)}.showroom-poster .showroom-atlas{position:absolute;right:-5%;top:-28%;width:70%;aspect-ratio:1;filter:drop-shadow(0 0 18px #73ddff);opacity:.9}.showroom-poster>span{position:absolute;left:5%;top:18%;font:italic 900 48px Arial;color:#ffd35a;text-shadow:0 0 18px #ff8a24}.showroom-poster h2{position:absolute;left:5%;bottom:21%;margin:0;font-size:28px;color:#fff;text-shadow:0 0 12px #42b8ff}.showroom-poster small{position:absolute;left:5%;bottom:13%;color:#8bdcff;font:700 9px Consolas;letter-spacing:2px}
.showroom-stage{position:relative;z-index:2;height:35%;display:grid;place-items:center}.showroom-stage>button{position:absolute;z-index:5;top:46%;width:48px;height:64px;border:1px solid #55ddff;background:#06172dd9;color:#eaffff;font-size:38px;box-shadow:0 0 15px #168ee0}.showroom-stage>button:first-child{left:8px}.showroom-stage>button:last-child{right:8px}.showroom-ring{position:absolute;width:75%;aspect-ratio:1;border:3px double #28aaff;border-radius:50%;background:repeating-conic-gradient(#5ed7ff66 0 2deg,transparent 2deg 11deg);mask:radial-gradient(circle,transparent 57%,#000 58%);animation:hangar-spin 13s linear infinite}.showroom-stage>.showroom-atlas{position:relative;width:72%;aspect-ratio:1;background-repeat:no-repeat;background-size:400% 400%;filter:drop-shadow(0 0 15px #4edcff) drop-shadow(0 0 30px #5a42ff);animation:splash-float 2.4s ease-in-out infinite}
.showroom-demo{position:absolute;left:50%;top:-7%;width:54%;height:56%;transform:translateX(-50%);pointer-events:none}.showroom-demo::before,.showroom-demo::after{content:"";position:absolute;bottom:0;left:50%;width:13px;height:100%;transform:translateX(-50%);background:linear-gradient(transparent,#fff 54%,#43cfff 76%,transparent);filter:drop-shadow(0 0 9px #48cfff);clip-path:polygon(50% 0,100% 22%,70% 100%,30% 100%,0 22%);animation:demo-shot .8s linear infinite}.showroom-demo::after{left:28%;height:78%;animation-delay:-.28s}.showroom-demo.active::after{left:72%;animation-delay:-.55s}@keyframes demo-shot{0%{transform:translate(-50%,55%) scaleY(.35);opacity:0}35%{opacity:1}100%{transform:translate(-50%,-70%) scaleY(1);opacity:0}}
.showroom-stats{position:relative;z-index:2;margin:0 8%;display:grid;gap:7px}.showroom-stats div{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;color:#96cff0;font-size:10px}.showroom-stats i{height:8px;border:1px solid #2877a7;background:#031221}.showroom-stats b{display:block;height:100%;width:70%;background:linear-gradient(90deg,#16a6ff,#72f4ff);box-shadow:0 0 8px #36cfff;transition:width .35s}.showroom-detail{position:relative;z-index:2;margin:12px 8% 0;padding:10px;border:1px solid #326f9f;background:#04172cd9}.showroom-detail span{float:right;color:#ffd451}.showroom-detail b{color:#d6f6ff}.showroom-detail p{margin:6px 0 0;color:#79bfe5;font-size:10px}.showroom-actions{position:absolute;z-index:3;left:7%;right:7%;bottom:3%;display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.showroom-actions button{min-height:50px;border:1px solid #53dcff;background:#08264c;color:#eaffff;font-weight:900}.showroom-actions .primary{background:linear-gradient(#10b94c,#087c28);border-color:#a6ff75}
.skills{height:112px;padding:0;background:linear-gradient(180deg,#061b31e8,#020913f2)!important;grid-template-columns:23% 54% 23%!important;gap:8px!important;filter:drop-shadow(0 0 10px #001a40);padding-inline:8px}.skills .skill{height:100%;min-height:0!important;opacity:1!important;color:#f5fbff!important;text-shadow:0 1px 2px #001!important}.skills .cards{height:100%;gap:8px!important}.skills .skill i{opacity:1;background:#5de8ff;height:5px}.fire-level{bottom:124px!important}
.hangar-showroom{position:absolute;z-index:1;left:7%;top:18%;width:65%;height:63%;background-repeat:no-repeat;background-size:400% 400%;filter:drop-shadow(0 0 18px #2ac8ff) drop-shadow(0 0 30px #185eff);animation:splash-float 2.8s ease-in-out infinite}.hangar-showroom[hidden]{display:none}.atlas-card{background-repeat:no-repeat;background-size:400% 400%;filter:drop-shadow(0 0 12px #34c9ff)}
.warehouse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.warehouse-item{padding:12px;border:1px solid #247ba4;background:#06192bd9;color:#dff8ff;text-align:left}.warehouse-item b,.warehouse-item span{display:block}.warehouse-item span{margin-top:6px;color:#7bdcff;font-size:11px}.pilot-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #287eaa;background:#06192b}.pilot-card img{width:70px;height:70px;object-fit:cover}.pilot-card div{display:grid;gap:7px;text-align:left}.pilot-card span{color:#8ac4df;font-size:12px}.pilot-card strong{color:#ffd05d}.pilot-panel p{color:#a9d5e9;line-height:1.6}.warehouse-panel,.pilot-panel{max-height:82vh;overflow:auto}
.pickup-banner{position:absolute;z-index:7;left:50%;top:17%;width:min(72%,380px);transform:translate(-50%,-16px);padding:8px 14px;border:1px solid #58ddff;background:linear-gradient(90deg,transparent,#062d55ee 18%,#062d55ee 82%,transparent);color:#efffff;text-align:center;font-weight:900;letter-spacing:1px;opacity:0;pointer-events:none;transition:.24s}.pickup-banner.show{opacity:1;transform:translate(-50%,0)}
@media(max-height:700px){.skills{height:88px}.fire-level{bottom:100px!important}.showroom-poster{height:25%}.showroom-stage{height:34%}}

/* v15 command-center reconstruction: the lobby is live DOM, never a flattened reference image. */
.start-screen {
  display: block !important;
  align-content: initial !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 10px 88px !important;
  text-align: left !important;
  background:
    linear-gradient(180deg, rgba(2, 12, 31, .86), rgba(1, 7, 18, .96)),
    url('assets/backgrounds/nebula-battlefield-runtime.webp') center / cover no-repeat !important;
  backdrop-filter: none !important;
}
.start-screen[hidden] { display: none !important; }
.start-screen::after { display: none !important; }
.lobby-header {
  position: sticky; top: 0; z-index: 8; min-height: 72px; width: 100%;
  display: grid; grid-template-columns: minmax(130px, 1.4fr) repeat(3, minmax(54px, .62fr)) 38px;
  gap: 6px; align-items: center; padding: 7px 5px;
  border: 1px solid #2b6089; border-top: 0; background: rgba(3, 14, 31, .96);
  box-shadow: 0 8px 24px rgba(0,0,0,.35), inset 0 -1px 0 #55cfff33;
}
.lobby-header .commander { min-width: 0; }
.lobby-header .commander img { width: 44px; height: 44px; }
.lobby-header .commander b { font-size: 11px; }
.lobby-header .commander small { color: #73cff2; }
.lobby-resource { min-width: 0; display: grid; grid-template-columns: 20px 1fr; grid-template-rows: 1fr 11px; align-items: center; column-gap: 3px; }
.lobby-resource .resource-icon { grid-row: 1 / span 2; width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-weight: 900; }
.lobby-resource .energy { color: #72e8ff; }.lobby-resource .coin { color: #ffd05a; }.lobby-resource .gem { color: #d2a4ff; }
.lobby-resource b { min-width: 0; overflow: hidden; color: #f4fbff; font: 800 12px Consolas, monospace; text-overflow: ellipsis; }
.lobby-resource small { color: #7397ae; font-size: 8px; }
.lobby-header .gear-button { width: 36px; height: 38px; font-size: 18px; }
.lobby-layout { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 7px; align-items: stretch; padding-top: 8px; }
.quick-rail { display: grid; align-content: start; gap: 10px; padding-top: 30px; }
.quick-rail button { position: relative; min-height: 67px; display: grid; place-items: center; align-content: center; gap: 4px; border: 1px solid #347ca9; clip-path: polygon(18% 0, 82% 0, 100% 17%, 100% 83%, 82% 100%, 18% 100%, 0 83%, 0 17%); color: #dff8ff; background: linear-gradient(160deg, #0b3457, #061322); cursor: pointer; }
.quick-rail button:hover, .quick-rail button:focus-visible { border-color: #8deeff; background: #0b426a; outline: 2px solid #8deeff; outline-offset: 2px; }
.quick-rail b { color: #79e4ff; font-size: 18px; line-height: 1; }.quick-rail span { font-size: 10px; }.quick-rail i { position: absolute; top: -5px; right: -3px; min-width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; color: #04101a; background: #ff5f58; font: 900 9px Consolas, monospace; font-style: normal; }
.hangar-display { min-width: 0; height: 368px; overflow: hidden; border: 1px solid #246a9c; background: radial-gradient(circle at 50% 43%, #0d498b88, transparent 31%), linear-gradient(180deg, #03132ad9, #020a18e8); }
.hangar-kicker { position: absolute; z-index: 3; top: 11px; left: 14px; right: 14px; display: flex; justify-content: space-between; color: #82dff7; font: 800 9px Consolas, monospace; letter-spacing: 2px; }
.hangar-kicker b { color: #ffd05a; letter-spacing: 0; }
.hangar-ring { left: 20%; top: 15%; width: 58%; opacity: .7; }
.hangar-ship, .hangar-showroom { left: 18%; top: 22%; width: 55%; }
.hangar-ship { z-index: 2; }
.hangar-showroom { z-index: 2; height: 61%; }
.hangar-platform { left: 18%; bottom: 12%; width: 55%; }
.main-slot { position: absolute; z-index: 4; left: 50%; bottom: 12px; transform: translateX(-50%); min-width: 142px; display: grid; gap: 2px; padding: 6px 12px; border: 1px solid #5bdcff; background: rgba(2, 18, 40, .86); color: #ecfbff; cursor: pointer; }
.main-slot span { color: #6fb1ca; font: 800 8px Consolas, monospace; letter-spacing: 1px; }.main-slot b { font-size: 12px; }.main-slot small { color: #62d9ff; font-size: 8px; }
.aux-slot { position: absolute; z-index: 4; top: 31%; width: 22%; min-height: 96px; padding: 6px 3px; display: grid; justify-items: center; align-content: center; gap: 3px; border: 1px solid #3a83ad; background: rgba(3, 20, 39, .88); color: #e9faff; cursor: pointer; }
.aux-slot:hover, .aux-slot:focus-visible, .main-slot:hover, .main-slot:focus-visible { border-color: #ffdc6e; outline: 2px solid #ffdc6e; outline-offset: 1px; }
.aux-slot-left { left: 3%; }.aux-slot-right { right: 3%; }.aux-slot b { max-width: 100%; overflow: hidden; color: #dff7ff; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.aux-slot small { color: #70abc5; font-size: 8px; }
.aux-preview { width: 58px; height: 50px; display: block; background-repeat: no-repeat; background-size: 400% 400%; filter: drop-shadow(0 0 8px #31cfff); }.aux-preview.empty { border: 1px dashed #41738e; opacity: .5; }.aux-preview.empty::after { content: '+'; display: grid; place-items: center; height: 100%; color: #76e6ff; font-size: 24px; }
.fighter-info { right: 2%; top: 8%; width: 26%; padding: 6px; gap: 4px; background: rgba(3, 20, 40, .8); }.fighter-info strong { font-size: 17px; }.fighter-info span { font-size: 8px; }
.mission-side { grid-column: 2; display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 6px; align-items: stretch; }
.mission-status, .archive-button { min-height: 60px; padding: 8px; border: 1px solid #2d7197; background: linear-gradient(135deg, rgba(6, 33, 61, .95), rgba(3, 13, 26, .95)); color: #e6f9ff; }
.mission-status { display: grid; gap: 2px; }.mission-status small { color: #73acc5; font-size: 8px; }.mission-status b { color: #ffd364; font-size: 12px; }.mission-status span { color: #8ebed4; font-size: 8px; }.mission-status strong { color: #ffcf5d; }
.mission-side .power-verdict { width: auto; min-height: 60px; margin: 0; padding: 8px; display: grid; place-items: center; font-size: 9px; line-height: 1.4; }
.archive-button { display: grid; grid-template-columns: 26px 1fr; grid-template-rows: 1fr 1fr; align-items: center; gap: 2px; text-align: left; cursor: pointer; }.archive-button span { grid-row: 1 / span 2; color: #d27cff; font-size: 24px; }.archive-button b { font-size: 10px; }.archive-button small { color: #75d9fa; font-size: 8px; }
.lobby-tools { margin-top: 8px; padding: 9px; border: 1px solid #3b6a8f; background: linear-gradient(135deg, rgba(5, 28, 52, .94), rgba(3, 12, 25, .94)); }.tool-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 7px; }.tool-section-head small { display: block; color: #62c9eb; font: 700 8px Consolas, monospace; letter-spacing: 1px; }.tool-section-head b { color: #f2f9ff; font-size: 15px; }.tool-section-head button { border: 1px solid #4fcdf5; color: #8deeff; background: #062746; padding: 6px 8px; cursor: pointer; font-size: 9px; }.tool-section-head button:hover { background: #0d4770; }
.equipment-grid.compact { width: 100%; margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }.equipment-grid.compact .equipment-card { min-height: 76px; padding: 8px 5px 7px 43px; }.equipment-grid.compact .equipment-card::before { left: 5px; top: 10px; width: 31px; height: 31px; }.equipment-grid.compact .equipment-card b { font-size: 9px; }.equipment-grid.compact .equipment-card small, .equipment-grid.compact .equipment-card span { font-size: 7px; }
.mission-grid { grid-column: 2; margin: 8px 0 0; }.mission-card { min-height: 112px; padding: 12px; }.mission-card small { color: #86cfe8; font: 700 8px Consolas, monospace; letter-spacing: 1px; }.mission-card b { margin-top: 3px; font-size: 20px; }.mission-card span { font-size: 9px; }
.lobby-briefs { grid-column: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 8px; }.lobby-briefs button { min-height: 48px; padding: 7px; display: grid; gap: 3px; border: 1px solid #315f7c; color: #dff8ff; background: rgba(5, 25, 44, .85); text-align: left; cursor: pointer; }.lobby-briefs b { font-size: 10px; }.lobby-briefs span { color: #74b2cb; font-size: 8px; }.lobby-briefs strong { color: #ffd15b; }
.stage-picker { grid-column: 2; width: 100%; margin-top: 8px; }.stage-picker > div { flex: 1; }.stage-picker #stage-picker-name { color: #e9f9ff; }
.hangar-nav { position: sticky; bottom: 0; z-index: 9; width: calc(100% + 20px); height: 64px; margin: 10px -10px -88px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #396c8d; background: rgba(3, 12, 23, .97); }.hangar-nav button { display: grid; place-items: center; align-content: center; gap: 2px; border: 0; border-right: 1px solid #1d3c52; color: #7ca5b8; background: transparent; cursor: pointer; }.hangar-nav button:hover, .hangar-nav button:focus-visible { color: #8eeeff; background: #0a2b48; outline: none; }.hangar-nav b { font-size: 20px; }.hangar-nav span { font-size: 9px; }
.warehouse-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 9px 0; }.warehouse-tabs button { min-height: 32px; border: 1px solid #2d7295; color: #91dfff; background: #06203a; cursor: pointer; }.warehouse-tabs button.active { color: #071522; background: #79e6ff; }
.warehouse-item { position: relative; min-height: 102px; padding: 9px 6px 8px 58px; display: grid; align-content: center; gap: 3px; }.warehouse-item img { position: absolute; left: 7px; top: 17px; width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 0 8px #44d9ff); }.warehouse-item b { font-size: 11px; }.warehouse-item strong { color: #ffd263; font: 800 14px Consolas, monospace; }.warehouse-item span { margin: 0; font-size: 9px; }
.pilot-xp { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; margin: 14px 0; color: #95cfe5; font-size: 10px; }.pilot-xp i { height: 8px; border: 1px solid #2c6988; background: #03111d; }.pilot-xp i b { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #38cfff, #c675ff); }.pilot-xp strong { color: #dffaff; font: 800 9px Consolas, monospace; }.pilot-skills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-bottom: 12px; }.pilot-skills button { min-height: 42px; border: 1px solid #356b8c; color: #b7e7f7; background: #061b30; font-size: 9px; cursor: pointer; }.pilot-skills button.active { border-color: #ffd25d; color: #ffe18a; background: #392914; }
.upgrade-grid { width: 100%; margin-top: 12px; }.upgrade-panel { max-height: 86vh; overflow: auto; }.upgrade-panel .equipment-card { min-height: 90px; }
.fighter-picker-scope { display: inline-flex; min-height: 28px; align-items: center; padding: 0 10px; margin: 2px 0 12px; border: 1px solid #ffd15d; color: #ffe49a; background: #382510; font-size: 10px; }
.sortie-supports { display: grid; grid-template-columns: 72px minmax(0, 1fr) 72px; gap: 7px; align-items: center; }.sortie-supports > button { min-height: 72px; display: grid; place-items: center; gap: 2px; border: 1px solid #326b8d; color: #dff8ff; background: #06172a; cursor: pointer; }.sortie-supports > button:hover { border-color: #ffda6e; }.sortie-support { width: 48px; height: 40px; display: block; background-repeat: no-repeat; background-size: 400% 400%; filter: drop-shadow(0 0 7px #3bd7ff); }.sortie-support.empty { border: 1px dashed #35617a; }.sortie-supports > button b { max-width: 100%; overflow: hidden; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }.sortie-primary { min-width: 0; display: grid; gap: 4px; text-align: center; }.sortie-primary small { color: #83bfd5; font-size: 8px; line-height: 1.4; }
.sortie-visual { height: 190px; }.sortie-panel { max-height: 94vh; overflow-y: auto; }
.sortie-supply { margin: 8px 0; padding: 7px 9px; border: 1px solid #426f82; color: #9feaff; background: #061b2bd9; font-size: 10px; text-align: center; }
.warehouse-consumable button { grid-column: 1 / -1; min-height: 26px; border: 1px solid #3aa9ce; color: #9beeff; background: #072849; cursor: pointer; font-size: 9px; font-weight: 800; }
.warehouse-consumable button[data-armed="true"] { border-color: #ffd15d; color: #ffe39a; background: #362512; }
.warehouse-consumable button:disabled { cursor: not-allowed; opacity: .42; }
.skills { background: none !important; filter: none !important; padding: 0 !important; }
.skills .skill { box-shadow: 0 0 14px rgba(24, 151, 231, .3), inset 0 0 16px rgba(26, 99, 176, .4); }
@media (max-width: 560px) {
  .start-screen { padding-inline: 6px !important; }
  .lobby-header { grid-template-columns: minmax(110px, 1.3fr) repeat(3, minmax(46px, .58fr)) 34px; gap: 3px; }
  .lobby-header .commander img { width: 38px; height: 38px; }.lobby-header .commander b { font-size: 9px; }.lobby-header .commander small { font-size: 7px; }.lobby-resource b { font-size: 9px; }.lobby-resource small { font-size: 7px; }.lobby-resource .resource-icon { width: 17px; height: 17px; font-size: 10px; }.lobby-resource { grid-template-columns: 18px 1fr; }
  .hangar-display { height: 330px; }.hangar-ship, .hangar-showroom { left: 17%; top: 25%; width: 58%; }.hangar-ring { left: 17%; top: 17%; width: 61%; }.hangar-platform { left: 17%; width: 58%; }.aux-slot { top: 33%; width: 24%; min-height: 84px; }.aux-preview { width: 48px; height: 40px; }.fighter-info { top: 9%; right: 1%; width: 27%; }.fighter-info span { display: none; }.fighter-info strong { font-size: 14px; }.main-slot { bottom: 8px; min-width: 130px; }
  .mission-side { grid-template-columns: 1fr 1fr; }.archive-button { grid-column: 1 / -1; min-height: 46px; }.mission-side .power-verdict { min-height: 56px; }.equipment-grid.compact { grid-template-columns: repeat(2, 1fr); }.lobby-briefs { grid-template-columns: 1fr; }.lobby-briefs button { min-height: 42px; }.hangar-nav { margin-bottom: -88px; }
}

/* v15.4 reference-frame pass: measured against download.png (539 x 914). */
.game-shell { width: min(100vw, 58.97svh, 720px); }
.start-screen {
  padding: 0 10px 0 !important;
  background:
    linear-gradient(180deg, rgba(1, 8, 22, .34), rgba(1, 6, 18, .66)),
    url('assets/backgrounds/nebula-battlefield-runtime.webp') center / cover no-repeat !important;
}
.command-logo {
  min-height: 148px;
  margin: 0 -10px;
  padding: 12px 14px 10px;
  background:
    radial-gradient(circle at 50% 64%, rgba(25, 115, 255, .3), transparent 36%),
    linear-gradient(180deg, rgba(2, 14, 36, .18), rgba(2, 12, 31, .16));
}
.command-logo::before { width: 58%; height: 78%; opacity: .62; }
.command-logo::after { bottom: 9px; width: 188px; height: 16px; opacity: .85; }
.command-logo span { margin-top: 12px; font-size: 8px; letter-spacing: 3px; }
.command-logo strong { margin: 10px 0 4px; font-size: clamp(42px, 8.6vw, 58px); letter-spacing: 0; }
.command-logo small { font-size: 7px; letter-spacing: 4px; }
.command-star {
  position: absolute;
  z-index: 0;
  top: 28px;
  left: 50%;
  width: 68px;
  height: 68px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #efffff 0 7%, #62dfff 17%, #1b7bff 43%, transparent 70%);
  clip-path: polygon(50% 0, 61% 35%, 100% 50%, 61% 65%, 50% 100%, 39% 65%, 0 50%, 39% 35%);
  filter: drop-shadow(0 0 12px #33cfff) drop-shadow(0 0 25px #1c65ff);
  opacity: .92;
}
.command-star::after { content: ""; position: absolute; inset: 16px; background: #e6fbff; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); box-shadow: 0 0 12px #fff; }

.lobby-layout { width: 100%; height: 386px; grid-template-columns: 62px minmax(0, 1fr); gap: 0; padding: 0; }
.hangar-display { height: 386px; border-color: #2c9fdd; background: radial-gradient(circle at 50% 48%, rgba(14, 102, 222, .68), transparent 36%), radial-gradient(circle at 50% 78%, rgba(15, 226, 255, .25), transparent 45%), linear-gradient(180deg, rgba(2, 15, 42, .56), rgba(1, 8, 24, .74)); }
.hangar-ring { left: 13%; top: 5%; width: 74%; opacity: .94; }
.hangar-ship, .hangar-showroom { left: 12%; top: 12%; width: 70%; }
.hangar-showroom { height: 72%; }
.hangar-platform { left: 12%; bottom: 9%; width: 70%; }
.quick-rail { gap: 14px; padding-top: 0; transform: translateY(-88px); }
.quick-rail button { min-height: 68px; }
.fighter-info { top: auto; right: 2%; bottom: 9%; width: 27%; min-height: 62px; padding: 8px 6px; }
.fighter-info>b { font-size: 9px; }.fighter-info strong { font-size: 18px; }.fighter-info span { display: none; }
.mission-side { right: 2%; bottom: 22%; left: auto; width: 27%; height: auto; grid-template-columns: 1fr; gap: 5px; }
.mission-side .mission-status { min-height: 70px; padding: 8px 6px; background: linear-gradient(145deg, rgba(7, 38, 72, .97), rgba(2, 15, 35, .97)); border-color: #4bbce9; }
.mission-side .mission-status small { color: #9fe7ff; }.mission-side .mission-status b { color: #ffda5f; font-size: 15px; }.mission-side .mission-status span { font-size: 8px; }
.mission-side .power-verdict, .mission-side .archive-button { display: none; }
.aux-slot { top: 26%; width: 17%; min-height: 108px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.aux-slot-left { left: 4%; }.aux-slot-right { right: 4%; }
.aux-slot b, .aux-slot small { display: none; }
.aux-preview { width: 72px; height: 108px; filter: drop-shadow(0 0 10px #31cfff) drop-shadow(0 0 16px #1f5cff); }
.aux-slot:hover, .aux-slot:focus-visible { border: 0; outline: 2px solid #ffe27b; outline-offset: 4px; }
.main-slot { left: 50%; bottom: 13px; width: 46%; min-width: 0; height: 74%; padding: 0; border: 0; background: transparent; color: transparent; opacity: .01; }
.main-slot span, .main-slot b, .main-slot small { visibility: hidden; }
.main-slot:hover, .main-slot:focus-visible { opacity: .16; border: 1px solid #ffdc6e; outline: 2px solid #ffdc6e; }

.mission-grid {
  position: relative;
  width: 100%;
  height: 257px;
  margin: 0;
  padding: 43px 0 0;
  display: grid;
  grid-template-columns: 1.06fr 1fr;
  gap: 3px;
}
.mission-grid .lobby-briefs {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  width: 44%;
  height: 47px;
  margin: 0;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.mission-grid .lobby-briefs button { min-height: 47px; padding: 6px 4px 5px 24px; border-color: #4785a8; background: linear-gradient(145deg, rgba(7, 39, 69, .97), rgba(2, 16, 33, .97)); }
.mission-grid .lobby-briefs b { font-size: 8px; }.mission-grid .lobby-briefs span { font-size: 6px; }
.mission-card { min-height: 254px; height: 254px; padding: 56px 13px 14px; }
.mission-card::before { inset: 6px; }.mission-card::after { top: 18px; width: 62px; height: 25px; }
.mission-card small { margin-top: 8px; font-size: 8px; }.mission-card b { margin-top: 12px; font-size: 29px; }.mission-card span { min-height: 38px; margin: 10px auto 0; max-width: 88%; font-size: 9px; }.mission-card em { margin-top: 17px; font-size: 8px; }

.lobby-tools { position: absolute; z-index: 12; left: 0; bottom: 0; width: 33.333%; height: 64px; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; }
.lobby-tools .tool-section-head { width: 100%; height: 64px; margin: 0; }.lobby-tools .tool-section-head > div { display: none; }.lobby-tools .tool-section-head button { width: 100%; height: 100%; opacity: .01; pointer-events: auto; border: 0; background: transparent; color: transparent; }.lobby-tools .equipment-grid { display: none; }
.hangar-nav { position: absolute; left: 0; right: 0; bottom: 0; z-index: 9; width: calc(100% + 20px); height: 64px; margin: 0 -10px; padding: 4px 8px; }

@media (max-width: 499px) {
  .command-logo { min-height: 110px; margin-inline: -6px; }.command-logo span { margin-top: 10px; font-size: 7px; }.command-logo strong { margin-top: 8px; font-size: 38px; }.command-logo small { font-size: 6px; letter-spacing: 3px; }.command-star { top: 23px; width: 56px; height: 56px; }
  .lobby-layout { height: 348px; grid-template-columns: 54px minmax(0, 1fr); }.hangar-display { height: 348px; }.hangar-ring { left: 13%; top: 7%; width: 74%; }.hangar-ship, .hangar-showroom { left: 10%; top: 15%; width: 74%; }.hangar-platform { left: 10%; width: 74%; bottom: 8%; }.quick-rail { gap: 9px; transform: translateY(-55px); }.quick-rail button { min-height: 61px; }.mission-side { right: 2%; bottom: 22%; width: 29%; }.mission-side .mission-status { min-height: 64px; }.fighter-info { right: 2%; bottom: 7%; width: 29%; min-height: 56px; }.fighter-info strong { font-size: 15px; }.aux-slot { top: 28%; width: 19%; min-height: 88px; }.aux-preview { width: 56px; height: 88px; }.main-slot { bottom: 11px; height: 72%; }
  .mission-grid { height: 235px; padding-top: 39px; gap: 2px; }.mission-grid .lobby-briefs { width: 72%; height: 42px; }.mission-grid .lobby-briefs button { min-height: 42px; }.mission-card { min-height: 232px; height: 232px; padding: 48px 7px 10px; }.mission-card small { font-size: 7px; }.mission-card b { margin-top: 9px; font-size: 23px; }.mission-card span { min-height: 31px; margin-top: 7px; font-size: 7px; }.mission-card em { margin-top: 12px; font-size: 7px; }
  .lobby-tools { height: 62px; }.lobby-tools .tool-section-head { height: 62px; }.hangar-nav { height: 62px; padding-inline: 5px; }.hangar-nav button { min-height: 52px; }.hangar-nav button b { font-size: 17px; }.hangar-nav button span { font-size: 8px; }
}

/* Keep the supplied emblem as a bounded title asset; the surrounding UI remains live DOM. */
.command-logo strong { font-size: 0 !important; width: min(86%, 420px); height: 122px; margin: -1px auto 0; transform: none; background: url('assets/ui/home-title-reference.webp') center / contain no-repeat; -webkit-text-stroke: 0; filter: drop-shadow(0 3px 0 #041126) drop-shadow(0 0 12px #1bbcff); }
@media (max-width: 499px) { .command-logo strong { width: 94%; height: 92px; margin-top: 0; } }

@media (min-width: 500px) and (max-width: 720px) {
  .start-screen { padding-inline: 8px !important; }
  .command-logo { margin-inline: -8px; }
}

/* v15.3 lobby cover buttons: live controls styled after the supplied cover art. */
.command-logo {
  position: relative;
  z-index: 6;
  min-height: 98px;
  margin: 0 -10px 4px;
  padding: 13px 14px 10px;
  display: grid;
  justify-items: center;
  align-content: center;
  overflow: hidden;
  isolation: isolate;
  border-block: 1px solid rgba(80, 206, 255, .42);
  background:
    linear-gradient(90deg, transparent 0 10%, rgba(17, 100, 196, .32) 27%, transparent 48%, rgba(17, 100, 196, .32) 73%, transparent 90%),
    linear-gradient(180deg, rgba(3, 16, 40, .95), rgba(4, 23, 57, .42) 66%, transparent);
}
.command-logo::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 77%;
  height: 84%;
  border: 1px solid rgba(85, 220, 255, .56);
  clip-path: polygon(50% 0, 57% 18%, 96% 18%, 100% 49%, 96% 82%, 57% 82%, 50% 100%, 43% 82%, 4% 82%, 0 49%, 4% 18%, 43% 18%);
  box-shadow: 0 0 22px rgba(30, 176, 255, .42), inset 0 0 18px rgba(24, 157, 240, .28);
}
.command-logo::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 2px;
  width: 154px;
  height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #4ce8ff 20%, #d8fbff 50%, #4ce8ff 80%, transparent);
  filter: blur(1px);
  clip-path: polygon(0 50%, 34% 27%, 45% 0, 55% 0, 66% 27%, 100% 50%, 66% 73%, 55% 100%, 45% 100%, 34% 73%);
}
.command-logo span,
.command-logo strong,
.command-logo small { position: relative; z-index: 1; display: block; }
.command-logo span { color: #9fe9ff; font: 800 8px/1 Consolas, monospace; letter-spacing: 2px; text-shadow: 0 0 9px #29b9ff; }
.command-logo span i { display: inline-block; width: 24px; height: 1px; margin: 0 7px 2px; background: #67e7ff; box-shadow: 0 0 7px #53d9ff; }
.command-logo strong {
  margin: 5px 0 3px;
  color: #eef9ff;
  font: 900 clamp(31px, 8vw, 46px)/.92 "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
  text-shadow: 0 2px 0 #092652, 0 4px 0 #06152e, 0 0 16px #1bbdff, 0 0 26px rgba(19, 107, 255, .62);
}
.command-logo small { color: #c4eefe; font: 800 7px/1 Consolas, monospace; letter-spacing: 3px; }

.lobby-header {
  grid-template-columns: repeat(3, minmax(0, 1fr)) 42px;
  gap: 4px;
  min-height: 62px;
  padding: 5px 5px 6px;
  border-color: #3e91c6;
  background: linear-gradient(180deg, rgba(6, 22, 47, .98), rgba(2, 12, 29, .98));
  box-shadow: 0 4px 15px rgba(0, 0, 0, .6), inset 0 -1px 0 rgba(106, 223, 255, .45);
}
.lobby-header .commander { display: none; }
.lobby-resource {
  position: relative;
  min-height: 44px;
  padding: 5px 5px 5px 7px;
  grid-template-columns: 22px minmax(0, 1fr);
  grid-template-rows: 1fr 11px;
  border: 1px solid #3979a6;
  clip-path: polygon(9% 0, 91% 0, 100% 22%, 100% 78%, 91% 100%, 9% 100%, 0 78%, 0 22%);
  background: linear-gradient(135deg, rgba(15, 56, 94, .96), rgba(3, 15, 36, .96));
  box-shadow: inset 0 0 11px rgba(41, 178, 255, .2);
}
.lobby-resource .resource-icon { width: 21px; height: 21px; border-color: currentColor; border-radius: 0; clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); background: rgba(1, 16, 38, .68); }
.lobby-resource b { color: #f3fbff; font-size: 11px; text-shadow: 0 0 8px currentColor; }
.lobby-resource small { color: #8db8cc; font-size: 7px; }
.lobby-header .gear-button { width: 39px; height: 42px; border-color: #66b9e5; color: #eafaff; background: linear-gradient(135deg, #153e64, #071326); box-shadow: inset 0 0 10px #2b98d144; }

.lobby-layout { grid-template-columns: 57px minmax(0, 1fr); gap: 7px; padding-top: 0; }
.quick-rail { gap: 8px; padding-top: 21px; }
.quick-rail button { min-height: 62px; border-color: #459ed0; background: linear-gradient(145deg, #0c3a64, #031528); box-shadow: inset 0 0 10px rgba(38, 168, 242, .24), 0 0 9px rgba(6, 94, 170, .35); }
.quick-rail button::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(107, 217, 255, .35); clip-path: inherit; pointer-events: none; }
.quick-rail b { color: #b7f4ff; text-shadow: 0 0 10px #2fc8ff; }
.quick-rail span { color: #e5f8ff; font-weight: 800; }

.hangar-display {
  height: 354px;
  border-color: #2d9cdb;
  background:
    radial-gradient(circle at 50% 51%, rgba(21, 124, 229, .52), transparent 31%),
    radial-gradient(circle at 50% 72%, rgba(14, 245, 255, .18), transparent 43%),
    linear-gradient(180deg, rgba(3, 14, 37, .76), rgba(1, 8, 22, .94));
  box-shadow: inset 0 0 28px rgba(19, 125, 225, .26), 0 0 17px rgba(12, 97, 179, .24);
}
.hangar-display::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(90deg, transparent 0 26px, rgba(61, 203, 255, .035) 27px 28px), linear-gradient(180deg, transparent 0 70%, rgba(12, 203, 255, .15) 100%); }
.hangar-kicker { top: 10px; z-index: 5; }
.hangar-ring { opacity: .88; }
.fighter-info { border-color: #54c9ff; background: linear-gradient(135deg, rgba(5, 33, 68, .94), rgba(2, 13, 33, .87)); box-shadow: inset 0 0 14px rgba(32, 182, 255, .26); }
.fighter-info>b { color: #9be9ff; }.fighter-info strong { color: #65edff; text-shadow: 0 0 10px #21b9ff; }
.lobby-layout { position: relative; width: 100%; }
.mission-side { position: absolute; z-index: 7; right: 1px; bottom: 0; left: 64px; width: auto; grid-column: auto; grid-template-columns: 1.05fr .88fr 1fr; gap: 4px; }
.mission-side .mission-status, .mission-side .power-verdict, .mission-side .archive-button { min-height: 58px; padding: 6px; }
.mission-side .archive-button { grid-template-columns: 20px 1fr; }.mission-side .archive-button span { font-size: 19px; }.mission-side .archive-button b { font-size: 9px; }.mission-side .archive-button small { font-size: 7px; }
.main-slot { bottom: 68px; }

.stage-picker { display: none; }
.lobby-tools {
  display: block;
  margin-top: 7px;
  padding: 6px 8px;
  border-color: #3d7fa5;
  background: linear-gradient(135deg, rgba(4, 26, 49, .96), rgba(2, 11, 25, .96));
}
.lobby-tools .tool-section-head { margin: 0; }
.lobby-tools .tool-section-head b { font-size: 12px; }
.lobby-tools .tool-section-head button { border-color: #6bdfff; color: #d8f9ff; background: #0a426b; }
.lobby-tools .equipment-grid { display: none; }
.lobby-briefs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 7px 0 0; }
.lobby-briefs button {
  position: relative;
  min-height: 48px;
  padding: 6px 5px 6px 28px;
  overflow: hidden;
  border-color: #477b9d;
  clip-path: polygon(6% 0, 94% 0, 100% 16%, 100% 84%, 94% 100%, 6% 100%, 0 84%, 0 16%);
  background: linear-gradient(135deg, rgba(9, 43, 76, .95), rgba(3, 15, 32, .95));
  box-shadow: inset 0 0 11px rgba(46, 166, 230, .16);
}
.lobby-briefs button::before { position: absolute; left: 7px; top: 50%; width: 15px; height: 15px; transform: translateY(-50%) rotate(45deg); border: 1px solid #71dcff; box-shadow: 0 0 8px #3abfff; content: ""; }
.lobby-briefs button:nth-child(2)::before { border-color: #ffd46e; box-shadow: 0 0 8px #ffae36; }.lobby-briefs button:nth-child(3)::before { border-color: #cf98ff; box-shadow: 0 0 8px #9653ff; }
.lobby-briefs b { color: #e7f9ff; font-size: 9px; }.lobby-briefs span { color: #85c2db; font-size: 7px; white-space: nowrap; }.lobby-briefs strong { color: #ffd568; }

.mission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 7px 0 0; }
.mission-card {
  --mode-line: #5ce7ff;
  --mode-bright: #a4f4ff;
  position: relative;
  isolation: isolate;
  min-height: 146px;
  padding: 13px 12px 11px;
  overflow: hidden;
  border: 0;
  clip-path: polygon(6% 0, 94% 0, 100% 11%, 100% 89%, 94% 100%, 6% 100%, 0 89%, 0 11%);
  color: #f6fcff;
  text-align: center;
  cursor: pointer;
  background:
    linear-gradient(145deg, rgba(11, 87, 167, .98), rgba(3, 29, 76, .98) 49%, rgba(1, 16, 49, .98)),
    #04152e;
  box-shadow: 0 0 0 1px var(--mode-line), inset 0 0 0 2px rgba(221, 250, 255, .18), inset 0 0 27px rgba(40, 205, 255, .34), 0 0 18px rgba(16, 145, 255, .45);
  transition: transform .16s ease, filter .16s ease;
}
.mission-card::before { content: ""; position: absolute; z-index: 0; inset: 6px; border: 1px solid color-mix(in srgb, var(--mode-line) 75%, white); clip-path: polygon(5% 0, 95% 0, 100% 12%, 100% 88%, 95% 100%, 5% 100%, 0 88%, 0 12%); opacity: .88; pointer-events: none; }
.mission-card::after { content: ""; position: absolute; z-index: 0; top: 10px; left: 50%; width: 54px; height: 20px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, var(--mode-bright) 28%, #fff 50%, var(--mode-bright) 72%, transparent); clip-path: polygon(0 50%, 26% 34%, 40% 0, 60% 0, 74% 34%, 100% 50%, 74% 66%, 60% 100%, 40% 100%, 26% 66%); filter: drop-shadow(0 0 7px var(--mode-line)); pointer-events: none; }
.mission-card > * { position: relative; z-index: 1; display: block; }
.mission-card small { margin-top: 21px; color: var(--mode-bright); font: 800 7px/1 Consolas, monospace; letter-spacing: 1px; text-shadow: 0 0 8px var(--mode-line); }
.mission-card b { margin-top: 5px; color: #fff; font: 900 24px/1.05 "Microsoft YaHei", sans-serif; letter-spacing: 0; text-shadow: 0 2px 0 rgba(1, 18, 52, .9), 0 0 11px var(--mode-line); }
.mission-card span { min-height: 28px; margin-top: 5px; color: #d9f4ff; font-size: 8px; line-height: 1.45; }
.mission-card em { margin-top: 6px; color: var(--mode-bright); font: 800 8px/1 Consolas, monospace; letter-spacing: 1px; text-shadow: 0 0 7px var(--mode-line); }
.mission-card em i { display: inline-grid; width: 14px; height: 14px; margin-left: 4px; place-items: center; border: 1px solid currentColor; font-size: 13px; font-style: normal; line-height: 1; clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 0 50%); }
.mission-card:hover,
.mission-card:focus-visible { filter: brightness(1.18) saturate(1.1); outline: 2px solid #e8fcff; outline-offset: 2px; transform: translateY(-2px); }
.mission-card:active { transform: translateY(1px) scale(.99); }
.campaign { --mode-line: #45ddff; --mode-bright: #b0f5ff; background: radial-gradient(circle at 52% 115%, rgba(4, 221, 255, .8), transparent 48%), linear-gradient(145deg, #0e73d0, #063a88 50%, #03193f); }
.endless { --mode-line: #ff9a3d; --mode-bright: #ffe0a1; background: radial-gradient(circle at 52% 115%, rgba(255, 69, 25, .76), transparent 50%), linear-gradient(145deg, #a93613, #601809 53%, #2b0b0a); box-shadow: 0 0 0 1px var(--mode-line), inset 0 0 0 2px rgba(255, 244, 213, .2), inset 0 0 27px rgba(255, 102, 28, .33), 0 0 18px rgba(255, 95, 18, .42); }
.endless span { color: #ffe5cd; }

.hangar-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  height: 68px;
  margin: 9px -10px -88px;
  bottom: -88px;
  padding: 5px 8px;
  border-top: 1px solid #377ba6;
  background: linear-gradient(180deg, rgba(4, 19, 38, .98), rgba(2, 9, 20, .99));
}
.hangar-nav button {
  --nav-line: #52dffd;
  position: relative;
  overflow: hidden;
  min-height: 56px;
  padding: 5px 3px 13px;
  border: 1px solid var(--nav-line);
  color: #eafaff;
  clip-path: polygon(9% 0, 91% 0, 100% 22%, 100% 78%, 91% 100%, 9% 100%, 0 78%, 0 22%);
  background: linear-gradient(145deg, rgba(13, 63, 101, .98), rgba(3, 19, 41, .98));
  box-shadow: inset 0 0 13px rgba(27, 180, 255, .24), 0 0 8px rgba(24, 139, 213, .35);
}
.hangar-nav button:nth-child(2) { --nav-line: #b0dcff; background: linear-gradient(145deg, rgba(33, 75, 111, .98), rgba(6, 23, 44, .98)); }.hangar-nav button:nth-child(3) { --nav-line: #7ae8ff; }
.hangar-nav button::before { content: ""; position: absolute; inset: 3px; border: 1px solid rgba(196, 241, 255, .3); clip-path: inherit; pointer-events: none; }
.hangar-nav button::after { position: absolute; left: 0; right: 0; bottom: 5px; color: #78cdea; font: 800 6px/1 Consolas, monospace; letter-spacing: 1px; content: "UPGRADE"; }
.hangar-nav button:nth-child(2)::after { content: "WAREHOUSE"; }.hangar-nav button:nth-child(3)::after { content: "PILOT"; }
.hangar-nav button b,
.hangar-nav b:first-child { position: relative; z-index: 1; display: block; color: var(--nav-line); background: none; font-size: 19px; line-height: 1; text-shadow: 0 0 10px var(--nav-line); }
.hangar-nav button span { position: relative; z-index: 1; color: #effbff; font-size: 10px; font-weight: 800; }.hangar-nav button:hover,.hangar-nav button:focus-visible { color:#fff; background:linear-gradient(145deg,#155c8d,#082946); outline:2px solid #d8faff; outline-offset:2px; }

@media (max-width: 560px) {
  .command-logo { min-height: 88px; margin-inline: -6px; }.command-logo strong { font-size: 35px; }.command-logo span { font-size: 7px; }.command-logo small { font-size: 6px; }
  .lobby-header { grid-template-columns: repeat(3, minmax(0, 1fr)) 36px; }.lobby-header .gear-button { width: 34px; height: 38px; }
  .lobby-resource { min-height: 40px; padding-left: 4px; grid-template-columns: 18px minmax(0, 1fr); }.lobby-resource .resource-icon { width: 18px; height: 18px; font-size: 10px; }.lobby-resource b { font-size: 9px; }.lobby-resource small { font-size: 6px; }
  .lobby-layout { grid-template-columns: 54px minmax(0, 1fr); gap: 5px; }.quick-rail { gap: 7px; }.quick-rail button { min-height: 56px; }.quick-rail b { font-size: 16px; }.quick-rail span { font-size: 9px; }
  .hangar-display { height: 332px; }.hangar-ship,.hangar-showroom { left: 17%; top: 25%; width: 58%; }.hangar-ring { left: 17%; top: 17%; width: 61%; }.hangar-platform { left: 17%; width: 58%; }.mission-side { left: 59px; }.main-slot { bottom: 65px; }
  .lobby-briefs { gap: 4px; }.lobby-briefs button { min-height: 44px; padding-left: 24px; }.lobby-briefs button::before { left: 6px; width: 12px; height: 12px; }.lobby-briefs b { font-size: 8px; }.lobby-briefs span { font-size: 6px; }
  .mission-grid { gap: 5px; }.mission-card { min-height: 136px; padding-inline: 7px; }.mission-card b { font-size: 21px; }.mission-card span { font-size: 7px; }.mission-card em { font-size: 7px; }
  .hangar-nav { height: 66px; gap: 4px; padding-inline: 6px; }.hangar-nav button { min-height: 54px; }.hangar-nav button b { font-size: 18px; }.hangar-nav button span { font-size: 9px; }
}

/* v15.2 skill stickers: visual-only layers keep the live controls and cooldown UI intact. */
.skills .skill { isolation: isolate; }
.skills .skill-sticker {
  position: absolute;
  z-index: 0;
  inset: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  display: block;
  object-fit: contain;
  object-position: center 24%;
  clip-path: inset(0 0 18% 0);
  opacity: .66;
  mix-blend-mode: screen;
  pointer-events: none;
  user-select: none;
}
.skills .skill > b,
.skills .skill > span { position: relative; z-index: 2; }
.skills .skill > b { text-shadow: 0 1px 4px #001, 0 0 8px currentColor; }
.skills .skill > span { text-shadow: 0 1px 3px #001, 0 0 5px #001; }
.skills .skill > i { z-index: 3; }
.skills .skill.cooling::after { z-index: 4; }
.skills .round .skill-sticker { inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); }

@media (max-width: 390px) {
  .skills .skill-sticker { inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); opacity: .58; }
  .skills .round .skill-sticker { inset: 1px; width: calc(100% - 2px); height: calc(100% - 2px); }
}

/* v15.4-final: authoritative rules for the measured 539 x 914 cover frame. */
.game-shell { width: min(100vw, 58.97svh, 720px); }
.start-screen { padding: 0 10px 0 !important; background: linear-gradient(180deg, rgba(1, 8, 22, .34), rgba(1, 6, 18, .66)), url('assets/backgrounds/nebula-battlefield-runtime.webp') center / cover no-repeat !important; }
.command-logo { min-height: 148px; height: 148px; margin: 0 -10px; padding: 12px 14px 10px; background: radial-gradient(circle at 50% 64%, rgba(25, 115, 255, .3), transparent 36%), linear-gradient(180deg, rgba(2, 14, 36, .18), rgba(2, 12, 31, .16)); }
.command-logo::before { width: 58%; height: 78%; opacity: .62; }.command-logo::after { bottom: 9px; width: 188px; height: 16px; opacity: .85; }.command-logo span { margin-top: 12px; font-size: 8px; letter-spacing: 3px; }.command-logo strong { margin: 10px 0 4px; font-size: clamp(48px, 10.5vw, 70px); letter-spacing: 2px; color: transparent; background: linear-gradient(180deg, #ffffff 4%, #d6e4f2 34%, #536c87 48%, #ffffff 57%, #79c9ff 82%, #173a65); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: 1px #d9f5ff; text-shadow: 0 2px 0 #061631, 0 5px 0 #041126, 0 0 14px #1bbcff, 0 0 24px rgba(23, 123, 255, .68); transform: scaleX(1.12); }.command-logo small { font-size: 7px; letter-spacing: 4px; }
.command-star { position: absolute; z-index: 0; top: 28px; left: 50%; width: 68px; height: 68px; transform: translateX(-50%); background: radial-gradient(circle, #efffff 0 7%, #62dfff 17%, #1b7bff 43%, transparent 70%); clip-path: polygon(50% 0, 61% 35%, 100% 50%, 61% 65%, 50% 100%, 39% 65%, 0 50%, 39% 35%); filter: drop-shadow(0 0 12px #33cfff) drop-shadow(0 0 25px #1c65ff); opacity: .92; }.command-star::after { content: ""; position: absolute; inset: 16px; background: #e6fbff; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); box-shadow: 0 0 12px #fff; }
.lobby-resource:nth-child(2)::after, .lobby-resource:nth-child(3)::after, .lobby-resource:nth-child(4)::after { content: "+"; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); color: #83dfff; font: 900 17px/1 Consolas, monospace; text-shadow: 0 0 8px #28bfff; }
.lobby-layout { width: 100%; height: 386px; grid-template-columns: 62px minmax(0, 1fr); gap: 0; padding: 0; }.hangar-display { height: 386px; border-color: #2c9fdd; background: radial-gradient(circle at 50% 48%, rgba(14, 102, 222, .68), transparent 36%), radial-gradient(circle at 50% 78%, rgba(15, 226, 255, .25), transparent 45%), linear-gradient(180deg, rgba(2, 15, 42, .56), rgba(1, 8, 24, .74)); }.hangar-ring { left: 16%; top: 8%; width: 68%; opacity: .94; }.hangar-ship, .hangar-showroom { left: 9%; top: 18%; width: 76%; }.hangar-showroom { height: 72%; }.hangar-platform { left: 12%; bottom: 9%; width: 70%; border-color: #21dfff; box-shadow: inset 0 0 22px #28bfff, 0 0 20px #149cff, 0 0 42px rgba(12, 190, 255, .6); }.hangar-platform::before, .hangar-platform::after { content: ""; position: absolute; left: 50%; top: 50%; width: 72%; height: 150%; transform: translate(-50%, -50%); border: 2px solid rgba(71, 221, 255, .7); border-radius: 50%; box-shadow: 0 0 12px rgba(30, 197, 255, .7), inset 0 0 12px rgba(22, 173, 255, .4); }.hangar-platform::after { width: 46%; height: 100%; border-color: rgba(158, 243, 255, .88); box-shadow: 0 0 10px rgba(87, 226, 255, .85); }
.quick-rail { gap: 14px; padding-top: 0; transform: translateY(-88px); }.quick-rail button { min-height: 68px; }.fighter-info { top: auto; right: 2%; bottom: 9%; width: 27%; min-height: 62px; padding: 8px 6px; }.fighter-info>b { font-size: 9px; }.fighter-info strong { font-size: 18px; }.fighter-info span { display: none; }.mission-side { right: 2%; bottom: 22%; left: auto; width: 27%; height: auto; grid-template-columns: 1fr; gap: 5px; }.mission-side .mission-status { min-height: 70px; padding: 8px 6px; background: linear-gradient(145deg, rgba(7, 38, 72, .97), rgba(2, 15, 35, .97)); border-color: #4bbce9; }.mission-side .mission-status small { color: #9fe7ff; }.mission-side .mission-status b { color: #ffda5f; font-size: 15px; }.mission-side .mission-status span { font-size: 8px; }.mission-side .power-verdict, .mission-side .archive-button { display: none; }
.mission-side .mission-status .stage-data { color: #6fa6be; font-size: 7px; white-space: nowrap; }
.aux-slot { top: 26%; width: 17%; min-height: 108px; padding: 0; border: 0; background: transparent; box-shadow: none; }.aux-slot-left { left: 4%; }.aux-slot-right { right: 4%; }.aux-slot b, .aux-slot small { display: none; }.aux-preview { width: 72px; height: 108px; filter: drop-shadow(0 0 10px #31cfff) drop-shadow(0 0 16px #1f5cff); }.aux-slot:hover, .aux-slot:focus-visible { border: 0; outline: 2px solid #ffe27b; outline-offset: 4px; }.main-slot { left: 50%; bottom: 13px; width: 46%; min-width: 0; height: 74%; padding: 0; border: 0; background: transparent; color: transparent; opacity: .01; }.main-slot span, .main-slot b, .main-slot small { visibility: hidden; }.main-slot:hover, .main-slot:focus-visible { opacity: .16; border: 1px solid #ffdc6e; outline: 2px solid #ffdc6e; }
.mission-grid { position: relative; width: 100%; height: 257px; margin: 0; padding: 0; display: grid; grid-template-columns: 1.06fr 1fr; gap: 3px; }.mission-grid .lobby-briefs { position: absolute; z-index: 4; top: 0; left: 50%; grid-column: 1 / -1; width: 44%; height: 47px; margin: 0; transform: translateX(-50%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }.mission-grid .lobby-briefs button { min-height: 47px; padding: 6px 4px 5px 24px; border-color: #4785a8; background: linear-gradient(145deg, rgba(7, 39, 69, .97), rgba(2, 16, 33, .97)); }.mission-grid .lobby-briefs b { font-size: 8px; }.mission-grid .lobby-briefs span { font-size: 6px; }.mission-card { min-height: 254px; height: 254px; padding: 86px 13px 14px; }.mission-card::after { top: 18px; width: 62px; height: 25px; }.mission-card small { margin-top: 8px; font-size: 8px; }.mission-card b { margin-top: 12px; font-size: 29px; }.mission-card span { min-height: 38px; margin: 10px auto 0; max-width: 88%; font-size: 9px; }.mission-card em { margin-top: 17px; font-size: 8px; }
.lobby-tools { position: absolute; z-index: 12; left: 39px; bottom: 0; width: calc((100% - 88px) / 3); height: 64px; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; }.lobby-tools .tool-section-head { width: 100%; height: 64px; margin: 0; }.lobby-tools .tool-section-head > div { display: none; }.lobby-tools .tool-section-head button { width: 100%; height: 100%; opacity: .01; pointer-events: auto; border: 0; background: transparent; color: transparent; }.lobby-tools .equipment-grid { display: none; }.hangar-nav { position: absolute; left: 39px; right: 39px; bottom: 0; z-index: 9; width: auto; height: 64px; margin: 0; padding: 4px 0; }

@media (max-width: 499px) {
  .command-logo { min-height: 110px; height: 110px; margin-inline: -6px; }.command-logo span { margin-top: 10px; font-size: 7px; }.command-logo strong { margin-top: 8px; font-size: 44px; transform: scaleX(1.08); }.command-logo small { font-size: 6px; letter-spacing: 3px; }.command-star { top: 23px; width: 56px; height: 56px; }
  .lobby-layout { height: 348px; grid-template-columns: 54px minmax(0, 1fr); }.hangar-display { height: 348px; }.hangar-ring { left: 16%; top: 9%; width: 68%; }.hangar-ship, .hangar-showroom { left: 8%; top: 20%; width: 78%; }.hangar-platform { left: 10%; width: 74%; bottom: 8%; }.quick-rail { gap: 9px; transform: translateY(-55px); }.quick-rail button { min-height: 61px; }.mission-side { right: 2%; bottom: 22%; width: 29%; }.mission-side .mission-status { min-height: 64px; }.fighter-info { right: 2%; bottom: 7%; width: 29%; min-height: 56px; }.fighter-info strong { font-size: 15px; }.aux-slot { top: 28%; width: 19%; min-height: 88px; }.aux-preview { width: 56px; height: 88px; }.main-slot { bottom: 11px; height: 72%; }
  .mission-grid { height: 235px; padding-top: 0; gap: 2px; }.mission-grid .lobby-briefs { top: 0; width: 72%; height: 42px; }.mission-grid .lobby-briefs button { min-height: 42px; }.mission-card { min-height: 232px; height: 232px; padding: 70px 7px 10px; }.mission-card small { font-size: 7px; }.mission-card b { margin-top: 9px; font-size: 23px; }.mission-card span { min-height: 31px; margin-top: 7px; font-size: 7px; }.mission-card em { margin-top: 12px; font-size: 7px; }
  .lobby-tools { left: 25px; width: calc((100% - 65px) / 3); height: 62px; }.lobby-tools .tool-section-head { height: 62px; }.hangar-nav { left: 25px; right: 25px; width: auto; height: 62px; padding-inline: 0; }.hangar-nav button { min-height: 52px; }.hangar-nav button b { font-size: 17px; }.hangar-nav button span { font-size: 8px; }
}

/* v15.5: measured fidelity pass for the supplied 539 x 914 lobby reference. */
.command-logo { overflow: visible; }
.command-logo strong { font-size: 0; width: min(86%, 420px); height: 122px; margin: -1px auto 0; background: url('assets/ui/home-title-reference.webp') center / contain no-repeat; -webkit-text-stroke: 0; filter: drop-shadow(0 3px 0 #041126) drop-shadow(0 0 12px #1bbcff); }
.command-logo strong {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  font-size: clamp(54px, 12.8vw, 78px);
  transform: scaleX(1.28);
  transform-origin: center;
  text-shadow: 0 2px 0 #07162b, 0 4px 0 #020b1b, 0 0 0 1px #effaff, 0 0 12px #20c6ff, 0 0 24px rgba(33, 120, 255, .75);
  background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 26%, #8fa5bb 45%, #ffffff 57%, #c7def0 76%, #557493 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1.5px #e6f7ff;
}
.command-logo::before {
  z-index: 1;
  width: 76%;
  height: 58%;
  top: 31%;
  border: 2px solid rgba(149, 232, 255, .72);
  clip-path: polygon(0 55%, 13% 43%, 22% 15%, 40% 31%, 50% 0, 60% 31%, 78% 15%, 87% 43%, 100% 55%, 87% 67%, 78% 95%, 60% 78%, 50% 100%, 40% 78%, 22% 95%, 13% 67%);
  box-shadow: 0 0 12px rgba(47, 204, 255, .62), inset 0 0 13px rgba(27, 146, 255, .3);
}
.command-logo::after {
  z-index: 1;
  bottom: 6px;
  width: 250px;
  height: 20px;
  background: linear-gradient(90deg, transparent, #51dfff 18%, #efffff 50%, #51dfff 82%, transparent);
  clip-path: polygon(0 50%, 14% 25%, 35% 35%, 50% 0, 65% 35%, 86% 25%, 100% 50%, 86% 75%, 65% 65%, 50% 100%, 35% 65%, 14% 75%);
  filter: drop-shadow(0 0 8px #20bfff);
}
.lobby-layout { display: block; position: relative; }
.quick-rail { position: absolute; z-index: 8; left: 0; top: 0; width: 62px; }
.hangar-display {
  width: 100%;
  border: 0;
  background: radial-gradient(circle at 50% 43%, rgba(20, 121, 238, .73), transparent 34%), radial-gradient(circle at 50% 78%, rgba(14, 226, 255, .35), transparent 48%), linear-gradient(180deg, rgba(2, 15, 42, .2), rgba(1, 8, 24, .46));
}
.hangar-display::before { display: none; }
.hangar-kicker { display: none; }
.hangar-ring { left: 24%; top: 7%; width: 52%; opacity: 1; border-width: 3px; box-shadow: inset 0 0 30px #1a9cff88, 0 0 34px #1a9cff77, 0 0 64px rgba(14, 154, 255, .4); }
.hangar-ship, .hangar-showroom { left: 17%; top: 20%; width: 64%; }
.hangar-platform { left: 9%; bottom: 5%; width: 82%; height: 48px; border-width: 3px; box-shadow: inset 0 0 28px #28bfff, 0 0 25px #149cff, 0 0 48px rgba(12, 190, 255, .75); }
.hangar-platform::before { width: 78%; height: 170%; border-width: 2px; box-shadow: 0 0 15px rgba(30, 197, 255, .85), inset 0 0 15px rgba(22, 173, 255, .55); }
.hangar-platform::after { width: 48%; height: 115%; border-width: 2px; box-shadow: 0 0 13px rgba(87, 226, 255, .95); }
.aux-slot { top: 29%; width: 15%; min-height: 94px; }
.aux-slot-left { left: 7%; }.aux-slot-right { right: 7%; }
.aux-preview { width: 64px; height: 94px; filter: drop-shadow(0 0 7px #31cfff) drop-shadow(0 0 12px #1f5cff); }
.mission-side { right: 2%; bottom: 19%; width: 24%; gap: 8px; }
.mission-side .mission-status { min-height: 70px; }
.fighter-info { right: 2%; bottom: 0; z-index: 10; width: 24%; height: 56px; min-height: 56px; gap: 3px; padding: 6px; }
.mission-grid { padding-top: 0; }
.mission-grid .lobby-briefs { top: 0; width: calc(100% - 28px); left: 50%; height: 78px; gap: 5px; }
.mission-grid .lobby-briefs button { min-height: 78px; padding: 8px 8px 8px 34px; }
.mission-grid .lobby-briefs button::before { left: 10px; width: 25px; height: 25px; border-width: 2px; }
.mission-grid .lobby-briefs b { font-size: 11px; }.mission-grid .lobby-briefs span { font-size: 7px; }
.mission-card { height: 254px; min-height: 254px; padding: 86px 13px 12px; }
.mission-card::after { top: 13px; width: 72px; height: 28px; }
.mission-card small { margin-top: 8px; }.mission-card b { margin-top: 8px; font-size: 28px; }.mission-card span { margin-top: 8px; }.mission-card em { margin-top: 11px; }
.campaign { background: radial-gradient(circle at 50% 112%, rgba(37, 218, 255, .92), transparent 54%), radial-gradient(circle at 12% 18%, rgba(91, 208, 255, .35), transparent 28%), linear-gradient(145deg, #1279da, #06448f 54%, #03163c); box-shadow: 0 0 0 1px var(--mode-line), inset 0 0 0 2px rgba(221, 250, 255, .25), inset 0 0 34px rgba(40, 205, 255, .48), 0 0 22px rgba(16, 145, 255, .6); }
.endless { background: radial-gradient(circle at 50% 112%, rgba(255, 83, 24, .95), transparent 54%), radial-gradient(circle at 83% 17%, rgba(255, 175, 60, .34), transparent 28%), linear-gradient(145deg, #b44316, #6a1c0b 54%, #2b0908); box-shadow: 0 0 0 1px var(--mode-line), inset 0 0 0 2px rgba(255, 244, 213, .25), inset 0 0 34px rgba(255, 102, 28, .5), 0 0 22px rgba(255, 95, 18, .6); }
.hangar-nav { left: 39px; right: 39px; padding: 4px 0; gap: 5px; }
.hangar-nav button { min-height: 58px; border-width: 2px; display: grid; grid-template-columns: 28px 1fr; grid-template-rows: 1fr 10px; align-items: center; padding: 5px 10px 13px; box-shadow: inset 0 0 18px rgba(27, 180, 255, .34), 0 0 11px rgba(24, 139, 213, .5); }
.hangar-nav button b { grid-row: 1 / span 2; font-size: 21px; }.hangar-nav button span { align-self: end; font-size: 13px; }
.lobby-resource { grid-template-columns: 26px minmax(0, 1fr); }
.lobby-resource .resource-icon { width: 24px; height: 24px; font-size: 14px; }
.lobby-resource b { font-size: 13px; }.lobby-resource small { font-size: 8px; }
.lobby-resource:nth-child(2)::after, .lobby-resource:nth-child(3)::after, .lobby-resource:nth-child(4)::after { right: 5px; }

@media (max-width: 499px) {
  .lobby-layout { display: block; }
  .quick-rail { left: 0; width: 54px; }
  .command-logo strong { font-size: 56px; transform: scaleX(1.18); margin-top: 0; }
  .command-logo::before { width: 82%; height: 62%; top: 26%; }.command-logo::after { width: 210px; bottom: 4px; }
  .hangar-ring { left: 22%; top: 7%; width: 56%; }.hangar-ship, .hangar-showroom { left: 17%; top: 21%; width: 64%; }
  .hangar-platform { left: 7%; width: 86%; bottom: 4%; }.aux-slot { top: 29%; width: 16%; }.aux-slot-left { left: 6%; }.aux-slot-right { right: 6%; }.aux-preview { width: 54px; height: 82px; }
  .mission-side { right: 2%; bottom: 20%; width: 28%; }.fighter-info { right: 2%; bottom: 0; width: 28%; }
  .mission-grid { padding-top: 0; }.mission-grid .lobby-briefs { width: calc(100% - 14px); height: 42px; }.mission-grid .lobby-briefs button { min-height: 42px; padding: 6px 4px 5px 24px; }.mission-grid .lobby-briefs button::before { left: 6px; width: 15px; height: 15px; border-width: 1px; }.mission-grid .lobby-briefs b { font-size: 8px; }.mission-grid .lobby-briefs span { font-size: 6px; }
  .mission-card { height: 232px; min-height: 232px; padding: 70px 7px 10px; }.mission-card b { font-size: 23px; }.mission-card span { font-size: 7px; }.mission-card em { font-size: 7px; }
  .lobby-resource { grid-template-columns: 22px minmax(0, 1fr); }.lobby-resource .resource-icon { width: 20px; height: 20px; font-size: 12px; }.lobby-resource b { font-size: 11px; }.lobby-resource small { font-size: 7px; }
  .hangar-nav { left: 25px; right: 25px; }.hangar-nav button { min-height: 52px; grid-template-columns: 22px 1fr; padding-inline: 5px; }.hangar-nav button b { font-size: 18px; }.hangar-nav button span { font-size: 9px; }
}

/* Bounded user-supplied emblem asset; all surrounding controls remain live DOM. */
.command-logo strong {
  font-size: 0 !important;
  width: min(86%, 420px) !important;
  height: 122px !important;
  margin: -1px auto 0 !important;
  transform: none !important;
  background: url('assets/ui/home-title-reference.webp') center / 160% auto no-repeat !important;
  -webkit-text-stroke: 0 !important;
  filter: drop-shadow(0 3px 0 #041126) drop-shadow(0 0 12px #1bbcff) !important;
  mix-blend-mode: screen;
}
@media (max-width: 499px) {
  .command-logo strong { width: 94% !important; height: 92px !important; margin-top: 0 !important; }
}
