/* Field command UI. Visual layer only; existing actions and state owners stay intact. */
:root{
  --ink:#f2eee1;--muted:#b5bdb2;--paper:#202923;--line:#586152;
  --green:#b6c792;--gold:#e9bd72;--panel:#17211fee;--edge:#dbd0ab33;
  --bevel:inset 0 1px #fff3,0 3px 0 #0b1411;--radius:10px;
}
body{background:#15221e}
button,select,.file-button{border-color:var(--edge);border-radius:var(--radius);background:linear-gradient(160deg,#3b463b,#29342e);box-shadow:inset 0 1px #ffffff12,0 2px 3px #080f1644;letter-spacing:0;transition:background .15s,border-color .15s,transform .15s}
button:hover{background:#45533f;border-color:#b8c39c}
button:active{transform:translateY(1px);box-shadow:inset 0 1px 4px #0005}
button.selected,button.active{background:linear-gradient(135deg,#526046,#303f32);border-color:#c1cd9e;box-shadow:inset 3px 0 #cad5a2,inset 0 1px #fff2}
button:disabled{opacity:.62;cursor:not-allowed}
button:focus-visible,summary:focus-visible,.file-button:focus-within,a:focus-visible{outline:3px solid #f3d399;outline-offset:3px}
.cta{background:linear-gradient(150deg,#f5d590,#dfb268);color:#263127;border:1px solid #ffe0a5;box-shadow:inset 0 1px #fff9,0 4px #8c693b,0 7px 18px #0004;min-height:56px;font-size:18px;letter-spacing:.04em}
.cta:hover{background:linear-gradient(150deg,#ffe5b0,#eac57c);border-color:#fff1cb}
.cta:disabled{background:#5c6557;border-color:#88907a;box-shadow:none;color:#d6dacd}
h2{font-size:30px;font-weight:850;letter-spacing:.04em;color:#f6f0dd}
.modal-eyebrow{font-size:13px;letter-spacing:.16em;color:#cabd92}
.top .logo{background:none;border:0;padding:8px 0;font-size:17px;letter-spacing:.1em}
.logo-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid #c6b78777;transform:rotate(-8deg);border-radius:5px;color:#efd194}
.top-actions{gap:8px}
.top-actions button{background:#172420e8;border-color:#c1c6a635;box-shadow:inset 0 1px #fff1;border-radius:10px}
.top-actions button:hover{background:#40503e}
.mission-tag{color:#c6cfbb;background:none}
.overlay{background:radial-gradient(ellipse at 30% 35%,#455a3e44,transparent 65%),linear-gradient(120deg,#0c1815e6,#11201bdc);padding:78px 26px 26px}
.modal{position:relative;border:1px solid #a7b59355;border-top:1px solid #d6cda788;border-radius:16px;background:radial-gradient(ellipse at 0 0,#71816420,transparent 60%),linear-gradient(150deg,#303a30,#1c2924);box-shadow:inset 0 1px #fff1,0 28px 90px #06100eb3;padding:30px;gap:18px;scrollbar-width:thin;scrollbar-color:#78876a #253128}
.modal:not(.intro)>h2{padding-bottom:15px;border-bottom:1px solid #d1c49b29}
.intro{width:min(1120px,100%);padding:0;gap:0;grid-template-columns:minmax(0,1.28fr) minmax(360px,1fr);background:#202e26}
.intro-stage{min-height:530px;background:radial-gradient(ellipse at 43% 53%,#8c9e6d40,transparent 65%),linear-gradient(145deg,#43513a,#1c2b24 85%)}
.intro-stage:before{inset:0;transform:none;background:repeating-radial-gradient(ellipse at -30% 110%,transparent 0 32px,#c9d3b00a 33px 34px,transparent 35px 55px);z-index:0}
.stage-title{padding:32px 38px 0}
.stage-title .modal-eyebrow{display:flex;align-items:center;gap:9px;color:#d2d8bc}
.stage-title .modal-eyebrow:before{content:'';width:23px;height:2px;background:#dac38a}
.intro .stage-title h1{font-size:clamp(38px,4.1vw,60px);line-height:1.12;letter-spacing:.08em;margin:14px 0 12px;text-shadow:0 3px #0f211a55}
.intro .stage-title h1 span{display:inline;color:#e9c98c;margin-left:.12em}
.hero-copy{color:#c1cbb2;font-size:14px}
body[data-renderer='3d'] .intro-stage .hero-scene{inset:115px -10% 22px -10%}
.hero-scene:after{display:none}
.stage-caption{bottom:22px;left:36px;right:36px;padding-top:15px;border-top:1px solid #c7d2ab33;color:#b9c6ac}
.stage-caption strong{font-size:18px;letter-spacing:.08em}
.ready-light{background:#bacc91;box-shadow:0 0 0 4px #bacc9112;width:6px;height:6px}
.intro-command{padding:30px;gap:17px;border-left:1px solid #d9d4ad26;background:linear-gradient(140deg,#33403180,#17262055)}
.graphics-state{min-height:20px}
#renderStatus{font-size:13px;letter-spacing:.06em;color:#b7c7a3}
.profile-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0 16px;border-bottom:1px solid #b3c29326;color:#b6c1ad}
.profile-line b{font-size:26px;font-weight:800;color:#e7d6a8;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
#startBtn{display:flex;justify-content:center;align-items:center;gap:24px;min-height:58px}
#continueBtn:not([hidden])+#startBtn{background:#2d3b30;border-color:#78866b77;box-shadow:inset 0 1px #ffffff12;color:#d8e0c8;min-height:44px}
.region-select-line{background:#0e1b162b;padding:3px 0 3px 12px;border-left:2px solid #b2bd8b;border-radius:0 8px 8px 0}
.region-select-line b{font-size:15px;color:#e3e8d4}
.region-select-line button{border:0;background:none;box-shadow:none;color:#ced6b9;font-size:13px;padding:8px 12px}
details{border-color:#bac69c25}summary{padding:12px 0;color:#becbad;font-size:14px}
.mode-tile small{color:#c3cbb8}.mode-tile strong{font-size:14px}
.lobby-nav{gap:8px}
.lobby-nav button{flex-direction:column;gap:10px;min-height:76px;padding:12px 4px;background:linear-gradient(#40503a55,#24332a55);border-color:#b8c29a30;font-size:14px;font-weight:600}
.lobby-nav .nav-icon{display:grid;place-items:center;width:28px;height:26px;color:#dec795;font-size:27px;line-height:1;font-weight:400}
.lobby-nav .tank-glyph{transform:none;width:24px;margin-top:6px}
.save-line{border-top:1px solid #bac69c25;padding-top:9px;color:#b8c4ae;gap:6px;flex-wrap:wrap}
.save-line #saveStatus{flex:1;min-width:110px;font-size:13px}
.save-line button{background:none;border-color:transparent;box-shadow:none;color:#cad3bc;padding:7px 9px}
.controls-note{font-size:13px;color:#abb89f;line-height:1.6}
/* The center remains clear. A single compact instrument cluster carries the mission and armor. */
.left-hud{width:238px;padding:12px 14px;border:1px solid #d2d8b539;border-top:2px solid #d4be83;border-left-width:1px;border-radius:11px;background:linear-gradient(135deg,#27362de8,#14231eeb);box-shadow:inset 0 1px #fff1,0 5px 16px #03100d22}
.wave-contract{color:#f1edd9;font-size:14px;letter-spacing:.03em;margin-bottom:8px}
.objective strong{color:#c4d0b6}.health-line{color:#b9c7ac}.health-line b{color:#ebefda}
.health-meter{height:7px;border-radius:3px;background:#091b14;box-shadow:inset 0 1px 2px #0006}
.health-meter i{background:repeating-linear-gradient(90deg,transparent 0 22px,#14221e55 23px 24px),linear-gradient(#c6d99a,#8fa866)}
.health-meter.danger i{background:linear-gradient(#f1ab87,#cc6f55)}
.shield-meter,.reload-track,.dash-track{border-radius:3px;background:#0c1d17}
.stat-pair{color:#bec8ad}.stat-pair b{color:#efd49c}
.right-hud{background:#11241ee6;border:1px solid #c5ceaa55;box-shadow:0 0 0 4px #14271c44,inset 0 0 12px #0a1818;opacity:.96}
.weapon-block,.dash-widget{background:#172720eb;border-color:#bac59c40;border-radius:8px;padding:10px 12px}
.weapon-tile{min-width:68px;min-height:50px;border-radius:8px;background:#203329e8;border-color:#b8c49f44;position:relative;gap:7px}
.weapon-tile:before{content:'';width:5px;height:17px;border-radius:3px 3px 1px 1px;background:currentColor;opacity:.8;box-shadow:inset 0 -4px #15251d55;flex:none}
.weapon-tile[data-weapon='1']:before{width:4px;height:13px;box-shadow:6px 0 currentColor;margin-right:6px}
.weapon-tile[data-weapon='2']:before{width:13px;height:13px;clip-path:polygon(0 80%,55% 0,100% 50%,55% 100%,45% 65%,20% 100%)}
.weapon-tile.active{background:linear-gradient(#696844,#424c31);border-color:#e9cf8e;box-shadow:inset 0 2px #f3dda3;color:#f9e3b2}
.weapon-tile.locked:before{width:9px!important;height:9px!important;margin:4px 0 0!important;border-radius:2px;clip-path:none!important;background:currentColor;box-shadow:0 -4px 0 -2px #213329,0 -5px 0 -1px currentColor!important}
.center-bulletin,.coach,.objective-arrow{border-radius:8px;background:#17271fe8;border-color:#c6cca34d;color:#e9ecd4;box-shadow:0 5px 20px #001b1120}
.toast{border-radius:10px;background:#20342cf5;border-color:#b9c89c70}
.zone-card,.route-option,.upgrade-card,.tech-card,.medal-card{border-radius:12px;box-shadow:inset 0 1px #fff1,0 4px 10px #06130c20;border-color:#b8c59c40}
.zone-card{min-height:155px;border-left-width:3px;background:radial-gradient(ellipse at 100% 100%,#78905633,transparent 65%),linear-gradient(135deg,#3c5037,#28382c)}
.zone-card:before{background:repeating-radial-gradient(ellipse at 75% 10%,transparent 0 18px,#e1dec214 19px 20px,transparent 21px 35px);inset:0;transform:none}
.route-option{min-height:160px}.route-glyph{width:54px;flex:none;color:#e3d2a2;line-height:1.2}.route-copy{gap:12px}.route-copy b{font-size:22px}.route-copy small{color:#d1dcc3}
.route-node{background:#1c3025;border-color:#89977555}.route-node.current{color:#f6dca7;border-color:#e8c584;box-shadow:0 0 0 5px #e1c48316}
.upgrade-card .symbol{background:linear-gradient(135deg,#5e6e464d,#243b2d);border-color:#d1c39044;border-radius:13px;color:#efd59a}
.tech-card,.medal-card{background:linear-gradient(145deg,#354331,#23362c)}
.tech-card strong,.medal-card strong{color:#f0efdc}.tech-card em,.medal-card em{color:#c9d4bb}
#garageModal{width:min(1000px,100%);gap:13px}
#garageModal .hangar-showcase{background:radial-gradient(ellipse at 25% 30%,#93a56d30,transparent 75%),#1b2c24;border-color:#a5b78e33;border-radius:13px}
.preview-stage:before{inset:0;transform:none;background:repeating-radial-gradient(ellipse at center,transparent 0 36px,#bdcaa20c 37px 38px,transparent 39px 60px)}
.preview-controls button{border-radius:50%;background:#23382ee0;border-color:#b6c59f55;box-shadow:inset 0 1px #fff1}
.hangar-info{border-left:1px solid #b7c39b20;padding:22px}.hangar-info strong{font-size:28px;letter-spacing:.08em}.hangar-info small{color:#c0ccb3}
.model-card{border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#7e915233,transparent),#263a2d;position:relative}
.model-card.selected{border-color:#ded2a0;box-shadow:inset 0 -3px #d8c68e,inset 0 1px #fff2;background:#3b4e35}
.skin-card{border-radius:9px;background:#23362b;border-color:#9dac8533;padding:12px 5px}
.paint-chip{width:42px;height:26px;border-radius:6px;border-color:#f5e9c555;transform:skewX(-8deg);box-shadow:inset 0 1px #fff4,inset 0 -6px #0003,0 2px 3px #0003}
#garageModal .garage-actions{background:#233229f5;border-color:#c5cba633;padding-top:14px}
#pauseModal{width:min(430px,100%);padding:32px;gap:12px;text-align:left}
#pauseModal .modal-eyebrow{display:flex;align-items:center;gap:8px}
#pauseModal .modal-eyebrow:before{content:'';height:6px;width:6px;border-radius:50%;background:#b3c58c;box-shadow:0 0 0 4px #b3c58c12}
#pauseModal h2{font-size:32px;margin:0 0 6px;padding-bottom:18px}
#pauseModal .secondary{background:#34423455;box-shadow:none;text-align:left;padding-inline:17px;color:#dbe2cb;min-height:48px}
#pauseModal .lobby-back{border-color:transparent;color:#b8c7ab;margin-top:3px}
.help-table span{color:#d1bc8e}.help-table b{color:#dbe3d0;line-height:1.65}
.rank-row{border-color:#b6c59a25;padding:16px 10px}.rank-row:first-child{background:#dcc47e0c;border-radius:8px;color:#f0d59b}
.save-choice{background:#13281d44;border-radius:10px;border-color:#afbe9555}.save-choice small{color:#c1cdb4}
#endModal{padding:35px}#endModal .end-stats{border-top:1px solid #b5c69d30;border-bottom:1px solid #b5c69d30;padding:20px 0}#endGrade{text-shadow:0 3px 0 #876d3f66}
.touch-stick{border-color:#e7e2be60;background:radial-gradient(circle,#19372a24 45%,#d8ddb01a 46%,#182d204a 70%);box-shadow:inset 0 0 0 9px #bed19c0d}
.stick-knob{background:radial-gradient(circle at 35% 30%,#d5dfbda0,#94af8288);border:1px solid #eef1cc88;box-shadow:0 4px 8px #001c1840,inset 0 1px #fff5}
.touch-dash{border-radius:12px;background:linear-gradient(#ddce9ce8,#bda974e8);color:#253b2a;border-color:#f1dfab99;box-shadow:inset 0 1px #fff5,0 3px #31452d80}
@media(min-width:761px) and (pointer:fine){.weapon-tile b{display:block;position:absolute;top:-9px;left:6px;min-width:18px;border-radius:3px;background:#17271f;border:1px solid #b8c39a50;color:#c7d2b8;font-size:13px;line-height:17px;font-weight:500}}
@media(max-width:1000px){.intro-command{padding:24px;gap:14px}.stage-title{padding:30px 26px 0}.stage-caption{left:26px;right:26px}.intro{grid-template-columns:1.05fr 1fr}.intro .stage-title h1{font-size:44px}.intro-stage{min-height:510px}}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .overlay{padding:64px 12px max(12px,var(--safe))}.modal{padding:22px;border-radius:14px;gap:15px}.modal:not(.intro)>h2{padding-bottom:12px;font-size:26px}
  .intro{display:flex;flex-direction:column;padding:0;width:540px;gap:0}.intro-stage{min-height:215px;flex:none}.stage-title{padding:22px 22px 0}.intro .stage-title h1{font-size:34px;margin:12px 0 8px;line-height:1.05}.intro .stage-title h1 span{display:block;margin:3px 0 0}.hero-copy{font-size:13px;max-width:126px;line-height:1.5}
  body[data-renderer='3d'] .intro-stage .hero-scene{inset:20px -20% -3px 20%}.stage-caption{left:22px;right:18px;bottom:15px;border:0;padding:0;font-size:13px;gap:8px}.stage-caption strong{font-size:15px}.stage-caption>span:last-child{display:none}
  .intro-command{padding:20px;gap:13px;border-left:0;border-top:1px solid #b3c49333}.profile-line{padding:0 0 12px;font-size:13px}.profile-line b{font-size:22px}.graphics-state{min-height:18px}#startBtn{min-height:54px}
  .lobby-nav button{min-height:66px;gap:7px;font-size:13px;padding:9px 2px}.lobby-nav .nav-icon{font-size:24px;height:24px}.controls-note{display:none}
  .left-hud{width:188px;padding:9px 11px;border-radius:9px}.wave-contract{font-size:13px;margin-bottom:6px}.weapon-tile{min-width:48px;min-height:44px;padding:7px;gap:5px}.weapon-tile:before{height:13px;width:4px}.weapon-tile[data-weapon='1']:before{height:11px;width:3px;margin-right:4px;box-shadow:4px 0 currentColor}.weapon-tile[data-weapon='2']:before{width:10px;height:10px}
  #garageModal{padding:20px}.hangar-info{padding:13px 16px;border-left:0;border-top:1px solid #aab98d25}.hangar-info strong{font-size:22px}#garageModal .garage-actions{bottom:-20px}.model-card small{font-size:13px}.skin-card{padding:10px 5px}
  #pauseModal{padding:26px;gap:11px}#pauseModal h2{font-size:28px}.route-copy b{font-size:19px}.route-glyph{width:40px}.route-option{min-height:145px}.upgrade-card{min-height:0}.save-choice{overflow-wrap:anywhere}
}
@media(pointer:coarse) and (orientation:landscape){
  .overlay{padding-top:62px}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:880px;align-items:stretch}.intro-stage{min-height:440px}.intro-command{border-left:1px solid #b8c49d26;border-top:0;padding:20px;gap:13px}.stage-title{padding:25px}.intro .stage-title h1{font-size:40px}.intro .stage-title h1 span{display:inline}.hero-copy{max-width:none}.stage-caption{left:25px;right:25px;bottom:24px}.stage-caption>span:last-child{display:block}
  body[data-renderer='3d'] .intro-stage .hero-scene{inset:105px -18% 30px -18%}.left-hud{width:180px}.weapon-tile{min-width:48px}.hangar-info{border-left:1px solid #b7c39b20;border-top:0}.route-options{grid-template-columns:1fr 1fr}
}
@media(pointer:coarse) and (orientation:portrait){.weapon-tile{min-width:55px}.bottom-wrap{bottom:calc(12px + var(--safe))}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){
  .intro{height:100%;max-height:100%;overflow:hidden;min-height:0}.intro-stage{min-height:0}.intro-command{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px;scrollbar-width:thin}.intro .stage-title h1{font-size:34px}.stage-title{padding:20px 24px 0}.hero-copy{font-size:13px}.stage-caption{bottom:15px}.intro-command>*{flex-shrink:0}
  body[data-renderer='3d'] .intro-stage .hero-scene{inset:92px -14% 20px -14%}
}
@media(prefers-reduced-motion:reduce){button,select,.file-button{transition:none}.modal{animation:none}}
