:root{--bg:#05090d;--panel:#0a1219;--panel2:#0d1821;--line:#203543;--line2:#33566b;--text:#edf7fb;--muted:#8ca4b2;--accent:#ffba46;--accent2:#ff8a3d;--good:#58d690;--danger:#ff6259;--blue:#5ec8ff;--shadow:0 18px 45px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;min-height:100dvh;background:radial-gradient(circle at 50% 0,#132430 0,#070d12 42%,#030609 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-shell{width:min(1500px,100%);margin:auto;padding:10px}.topbar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;margin-bottom:9px;border:1px solid var(--line);border-radius:16px;background:rgba(7,14,20,.92);backdrop-filter:blur(14px);box-shadow:var(--shadow);position:relative;z-index:30}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#171006;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}.brand strong,.brand span{display:block}.brand strong{font-size:14px;letter-spacing:.08em}.brand span{margin-top:2px;color:var(--muted);font-size:8px;letter-spacing:.16em}.wallet-bar,.top-actions{display:flex;align-items:center;gap:7px}.wallet-chip,.icon-btn,.pill-btn,.secondary-btn,.primary-btn{border:1px solid var(--line);color:var(--text);background:#0d1922;cursor:pointer}.wallet-chip{display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border-radius:12px;font-size:12px}.wallet-chip.gem{border-color:rgba(94,200,255,.3)}.icon-btn{display:grid;place-items:center;width:39px;height:39px;padding:0;border-radius:11px}.pill-btn{min-height:39px;padding:0 14px;border-radius:11px;font-weight:900}.primary-btn{width:100%;min-height:48px;border:0;border-radius:13px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#181006;font-weight:950;letter-spacing:.04em}.secondary-btn{display:inline-grid;place-items:center;min-height:42px;padding:0 13px;border-radius:11px;font-weight:850;text-decoration:none}.secondary-btn:hover,.icon-btn:hover,.pill-btn:hover{border-color:var(--line2);background:#122330}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:9px}.game-console{min-width:0}.mission-bar{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:8px;margin-bottom:7px}.mission-side,.mission-center{padding:9px 11px;border:1px solid var(--line);border-radius:14px;background:rgba(8,16,22,.94)}.mission-side span,.mission-side strong,.mission-side small{display:block}.mission-side span{color:var(--muted);font-size:8px;letter-spacing:.14em}.mission-side strong{font-size:22px}.mission-side small{color:var(--muted);font-size:9px}.mission-side.right{text-align:right}.mission-center{text-align:center}.mission-center>span{display:block;font-size:11px;font-weight:850}.mission-center small{color:var(--muted);font-size:9px}.progress-track{height:8px;margin:7px 0 5px;border-radius:999px;background:#071018;overflow:hidden}.progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--danger));transition:width .3s ease}.game-frame{position:relative;height:clamp(470px,59vh,760px);min-height:430px;border:1px solid var(--line2);border-radius:18px;overflow:hidden;background:#081118;box-shadow:var(--shadow)}#renderCanvas{display:block;width:100%;height:100%;touch-action:none;outline:0}.cinema-bars:before,.cinema-bars:after{content:"";position:absolute;left:0;right:0;height:0;background:#000;z-index:9;transition:height .35s}.cinema-bars:before{top:0}.cinema-bars:after{bottom:0}.game-frame.cinematic .cinema-bars:before,.game-frame.cinematic .cinema-bars:after{height:6%}.nuclear-flash{position:absolute;inset:0;z-index:14;pointer-events:none;opacity:0;background:radial-gradient(circle at 55% 50%,#fff 0,#fff7bf 10%,rgba(255,177,52,.96) 30%,rgba(255,74,25,.44) 58%,transparent 82%);mix-blend-mode:screen}.nuclear-flash.active{animation:nuclearFlash 2.6s ease-out forwards}@keyframes nuclearFlash{0%{opacity:1;filter:brightness(2.8)}10%{opacity:1}40%{opacity:.42}100%{opacity:0;filter:brightness(1)}}.stage-hud{position:absolute;top:10px;left:10px;z-index:8;display:grid;gap:2px;padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(4,10,14,.72);backdrop-filter:blur(8px)}.stage-hud span{font-size:8px;color:var(--accent);font-weight:900}.stage-hud strong{font-size:8px;color:var(--muted)}.status-message{position:absolute;left:50%;bottom:13px;z-index:18;transform:translate(-50%,18px);max-width:88%;padding:8px 12px;border:1px solid rgba(255,186,70,.34);border-radius:999px;background:rgba(4,9,13,.9);opacity:0;pointer-events:none;font-size:9px;font-weight:900;letter-spacing:.08em;transition:.25s}.status-message.show{opacity:1;transform:translate(-50%,0)}.loading-overlay{position:absolute;inset:0;z-index:40;display:none;place-items:center;align-content:center;gap:10px;background:#071016;text-align:center}.loading-overlay.active{display:grid}.loading-overlay strong{font-size:12px}.loading-overlay span{color:var(--muted);font-size:10px}.loader-ring{width:42px;height:42px;border:4px solid rgba(255,255,255,.13);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:absolute;inset:0;z-index:35;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(1,5,8,.8);backdrop-filter:blur(8px)}.overlay.active{display:flex}.overlay-card{width:min(720px,100%);max-height:94%;overflow:auto;padding:22px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(160deg,#0c1922,#071016 68%);box-shadow:0 28px 80px rgba(0,0,0,.55)}.overlay-card h1,.overlay-card h2,.overlay-card h3{margin:0}.overlay-card h1{font-size:42px;line-height:1}.overlay-card p{color:var(--muted);font-size:12px;line-height:1.5}.eyebrow{margin-bottom:5px;color:var(--accent);font-size:8px;font-weight:950;letter-spacing:.18em}.field-label{display:block;margin:14px 0 6px;color:var(--muted);font-size:9px;font-weight:850}.text-input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#071018;color:#fff;outline:none}.text-input:focus{border-color:var(--accent)}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.profile-summary div,.briefing-stats div,.result-stats div{padding:10px;border:1px solid var(--line);border-radius:12px;background:#0b1720}.profile-summary span,.profile-summary strong,.briefing-stats span,.briefing-stats strong,.result-stats span,.result-stats strong{display:block}.profile-summary span,.briefing-stats span,.result-stats span{color:var(--muted);font-size:8px}.profile-summary strong,.briefing-stats strong,.result-stats strong{margin-top:4px;font-size:13px}.menu-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.control-hint{margin-bottom:0!important;text-align:center;font-size:9px!important}.overlay-head,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stage-card{width:min(920px,100%)}.chapter-tabs{display:flex;gap:6px;margin:14px 0 8px;overflow-x:auto;padding-bottom:3px}.chapter-tab{flex:0 0 auto;min-width:104px;padding:8px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#09151d;cursor:pointer;font-size:8px}.chapter-tab.active{border-color:var(--accent);color:#181006;background:var(--accent);font-weight:900}.stage-toolbar{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;gap:7px;margin-bottom:8px;text-align:center}.stage-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.stage-node{position:relative;min-height:66px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#0a1720;cursor:pointer}.stage-node strong,.stage-node span{display:block}.stage-node strong{font-size:15px}.stage-node span{margin-top:4px;color:var(--accent);font-size:9px;letter-spacing:-2px}.stage-node.locked{opacity:.35;cursor:not-allowed;filter:grayscale(1)}.stage-node.current{border-color:var(--accent);box-shadow:inset 0 0 20px rgba(255,186,70,.08)}.briefing-grid{display:grid;grid-template-columns:150px 1fr;gap:14px;margin:14px 0}.briefing-visual{display:grid;place-items:center;min-height:145px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle,#172d39,#08131a);font-size:64px}.briefing-info p{margin:5px 0 10px}.briefing-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.loadout-title,.section-label{margin:10px 0 7px;color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.14em}.gear-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.gear-select{min-height:70px;padding:8px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#0b1720;cursor:pointer;text-align:left}.gear-select.active{border-color:var(--good);background:rgba(88,214,144,.09)}.gear-select span,.gear-select strong,.gear-select small{display:block}.gear-select span{font-size:20px}.gear-select strong{font-size:9px}.gear-select small{margin-top:3px;color:var(--muted);font-size:7px}.result-card{width:min(570px,100%);text-align:center}.result-badge{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(88,214,144,.12);color:var(--good);font-size:9px;font-weight:950}.result-stars{margin:10px 0;font-size:38px;letter-spacing:4px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.result-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px}.control-console{display:grid;grid-template-columns:1.25fr 1.2fr .9fr .8fr;gap:7px;margin-top:7px}.control-panel{min-width:0;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(8,16,22,.96)}.weapon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.weapon-btn{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:7px;min-height:52px;padding:7px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:#0b1821;cursor:pointer;text-align:left}.weapon-btn.active{border-color:var(--accent);background:rgba(255,186,70,.1)}.weapon-btn:disabled{opacity:.3;cursor:not-allowed}.weapon-btn .weapon-icon{font-size:22px}.weapon-btn strong,.weapon-btn small{display:block}.weapon-btn strong{font-size:8px}.weapon-btn small{margin-top:2px;color:var(--muted);font-size:6px}.weapon-btn b{padding:4px 6px;border-radius:999px;background:#071018;font-size:8px}.aim-pad{position:relative;height:155px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#102534,#071018);touch-action:none}.aim-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px}.aim-line{position:absolute;left:12%;bottom:12%;width:55%;height:2px;background:var(--accent);transform-origin:left center;transform:rotate(-45deg)}.aim-knob{position:absolute;left:62%;top:27%;display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--accent);border-radius:50%;color:var(--accent);background:rgba(8,18,24,.9);transform:translate(-50%,-50%);cursor:grab}.angle-mark{position:absolute;color:var(--muted);font-size:7px}.angle-15{left:17%;bottom:4%}.angle-45{left:47%;bottom:4%}.angle-80{right:4%;bottom:37%}.aim-values{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px}.aim-values div{padding:6px;border:1px solid var(--line);border-radius:9px;text-align:center}.aim-values span,.aim-values strong{display:block}.aim-values span{color:var(--muted);font-size:6px}.aim-values strong{margin-top:2px;font-size:9px}.gear-list{display:grid;gap:5px}.gear-btn{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;min-height:43px;padding:6px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#0a1720;cursor:pointer;text-align:left}.gear-btn.active{border-color:var(--good);background:rgba(88,214,144,.08)}.gear-btn:disabled{opacity:.35}.gear-btn strong,.gear-btn small{display:block}.gear-btn strong{font-size:8px}.gear-btn small{font-size:6px;color:var(--muted)}.gear-btn b{font-size:8px}.fire-panel{display:grid;align-content:start;gap:6px}.salvo-selector{display:grid;gap:5px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#0a1720}.salvo-selector>span{color:var(--muted);font-size:7px;text-align:center}.salvo-selector>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.salvo-btn{min-height:34px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#10212c;cursor:pointer;font-size:8px;font-weight:900}.salvo-btn.active{border-color:var(--accent);color:#181006;background:var(--accent)}.salvo-btn:disabled{opacity:.35}.fire-btn{display:grid;place-items:center;min-height:92px;border:0;border-radius:13px;background:linear-gradient(145deg,#ffad33,#ff6941);color:#1a0d06;cursor:pointer}.fire-btn:disabled{opacity:.35;cursor:not-allowed}.fire-btn span,.fire-btn strong,.fire-btn small{display:block}.fire-btn span{font-size:24px}.fire-btn strong{font-size:15px}.fire-btn small{font-size:7px}.turn-note{color:var(--muted);font-size:7px;line-height:1.4;text-align:center}.mobile-tabs{display:none}.side-panel{display:grid;align-content:start;gap:8px}.panel-card{padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(8,16,22,.94)}.section-heading{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:8px}.section-heading span{color:var(--muted);font-weight:900;letter-spacing:.12em}.section-heading b{color:var(--accent)}.target-list,.army-list{display:grid;gap:6px}.target-row,.army-row{display:grid;grid-template-columns:1fr auto;gap:5px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#09151d}.target-row strong,.target-row small,.army-row strong,.army-row small{display:block}.target-row strong,.army-row strong{font-size:9px}.target-row small,.army-row small{margin-top:2px;color:var(--muted);font-size:7px}.target-row b,.army-row b{font-size:8px}.mini-bar{grid-column:1/-1;height:5px;border-radius:999px;background:#061017;overflow:hidden}.mini-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--good),var(--accent),var(--danger))}.mission-rule-card ul{margin:0;padding-left:17px;color:var(--muted);font-size:8px;line-height:1.7}.modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.modal.open{display:flex}.modal-dialog{width:min(760px,100%);max-height:92dvh;overflow:auto;padding:18px;border:1px solid var(--line2);border-radius:19px;background:#071119;box-shadow:var(--shadow)}.modal-header h2{margin:0}.modal-header small{color:var(--accent);font-size:8px}.store-wallet{display:flex;align-items:center;gap:14px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0b1720}.store-wallet span{margin-right:auto;color:var(--muted);font-size:9px}.store-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.store-tab{min-height:38px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#0a1720;cursor:pointer;font-weight:850}.store-tab.active{border-color:var(--accent);color:#171006;background:var(--accent)}.store-content{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.store-item{display:grid;gap:7px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#0b1720}.store-item .item-icon{font-size:28px}.store-item h3{margin:0;font-size:11px}.store-item p{margin:0;color:var(--muted);font-size:8px;line-height:1.45}.store-item .owned{font-size:8px;color:var(--good)}.buy-btn{min-height:38px;border:0;border-radius:9px;background:var(--accent);color:#171006;cursor:pointer;font-size:9px;font-weight:950}.buy-btn.gem-buy{background:var(--blue)}.buy-btn:disabled{opacity:.4}.package-note{grid-column:1/-1;padding:10px;border:1px dashed var(--line2);border-radius:11px;color:var(--muted);font-size:9px;line-height:1.5}
@media(max-width:1100px){.game-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(3,1fr)}.control-console{grid-template-columns:1.1fr 1fr .8fr .75fr}.stage-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:760px){body{background:#03070a}.app-shell{padding:4px}.topbar{position:sticky;top:env(safe-area-inset-top);z-index:50;grid-template-columns:1fr auto;padding:6px 8px;margin-bottom:4px;border-radius:11px}.brand-mark{width:35px;height:35px;border-radius:10px}.brand strong{font-size:10px}.brand span{font-size:6px}.wallet-bar{grid-column:1/2;grid-row:2;gap:4px}.wallet-chip{min-height:29px;padding:4px 7px;font-size:9px}.top-actions{grid-column:2;grid-row:1/3}.icon-btn,.pill-btn{width:34px;height:34px}.pill-btn{padding:0;font-size:0}.pill-btn:after{content:"🛒";font-size:15px}.mission-bar{grid-template-columns:88px 1fr 88px;gap:3px}.mission-side,.mission-center{padding:5px 6px;border-radius:9px}.mission-side strong{font-size:15px}.mission-side span,.mission-side small,.mission-center small{font-size:6px}.mission-center>span{font-size:8px}.progress-track{height:5px;margin:4px 0}.game-frame{height:clamp(300px,45dvh,470px);min-height:290px;border-radius:12px}.control-console{display:block;margin-top:4px}.control-panel{display:none;min-height:220px;padding:8px;border-radius:11px}.control-console[data-mobile-panel="weapons"] [data-panel="weapons"],.control-console[data-mobile-panel="aim"] [data-panel="aim"],.control-console[data-mobile-panel="gear"] [data-panel="gear"],.control-console[data-mobile-panel="fire"] [data-panel="fire"]{display:block}.control-console[data-mobile-panel="aim"] [data-panel="aim"]{display:grid}.control-console[data-mobile-panel="fire"] [data-panel="fire"]{display:grid}.mobile-tabs{position:sticky;bottom:env(safe-area-inset-bottom);z-index:45;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:4px;padding:3px;border:1px solid var(--line);border-radius:11px;background:rgba(4,10,14,.96)}.mobile-tab{min-height:40px;border:1px solid transparent;border-radius:8px;color:var(--muted);background:transparent;font-size:8px;font-weight:900}.mobile-tab.active{border-color:var(--line2);color:var(--text);background:#10212c}.weapon-list{grid-template-columns:repeat(2,1fr)}.weapon-btn{grid-template-columns:30px 1fr auto;min-height:56px}.aim-pad{height:155px}.gear-list{grid-template-columns:repeat(2,1fr)}.fire-panel{grid-template-columns:1fr 1fr}.salvo-selector,.fire-btn,.turn-note{grid-column:1/-1}.fire-btn{min-height:82px}.side-panel{display:none}.overlay{padding:7px}.overlay-card{padding:14px;border-radius:14px}.overlay-card h1{font-size:31px}.profile-summary{gap:4px}.profile-summary div{padding:7px}.menu-actions{grid-template-columns:1fr}.stage-grid{grid-template-columns:repeat(5,1fr);gap:5px}.stage-node{min-height:56px}.briefing-grid{grid-template-columns:90px 1fr;gap:9px}.briefing-visual{min-height:115px;font-size:44px}.gear-grid{grid-template-columns:repeat(2,1fr)}.store-content{grid-template-columns:repeat(2,1fr)}.result-actions{grid-template-columns:1fr}.modal{padding:7px}.modal-dialog{padding:12px}.stage-hud{top:6px;left:6px;padding:5px 7px}.status-message{bottom:7px}}
@media(max-width:430px){.game-frame{height:41dvh;min-height:275px}.mission-bar{grid-template-columns:74px 1fr 74px}.mission-side small{display:none}.weapon-btn strong{font-size:7px}.weapon-btn small{font-size:5px}.stage-grid{grid-template-columns:repeat(4,1fr)}.briefing-grid{grid-template-columns:1fr}.briefing-visual{min-height:80px}.store-content{grid-template-columns:1fr}.profile-summary{grid-template-columns:1fr 1fr}.profile-summary div:last-child{grid-column:1/-1}}
@media(max-width:950px) and (orientation:landscape) and (max-height:640px){html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;display:flex;flex-direction:column;padding:3px}.topbar{position:relative;top:auto;flex:0 0 auto;grid-template-columns:1fr auto auto;padding:3px 7px;min-height:38px}.wallet-bar{grid-column:auto;grid-row:auto}.top-actions{grid-column:auto;grid-row:auto}.brand-mark{width:31px;height:31px}.mission-bar{margin-bottom:3px}.game-layout{flex:1;min-height:0}.game-console{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(265px,34vw);grid-template-rows:auto 37px minmax(0,1fr);gap:3px}.mission-bar{grid-column:1/-1;grid-row:1}.game-frame{grid-column:1;grid-row:2/4;height:100%;min-height:0}.mobile-tabs{position:relative;bottom:auto;grid-column:2;grid-row:2;margin:0}.mobile-tab{min-height:31px;font-size:7px}.control-console{grid-column:2;grid-row:3;height:100%;min-height:0;margin:0;overflow:hidden}.control-panel{height:100%;min-height:0;overflow:auto;padding:6px}.aim-pad{height:min(30dvh,145px)}.weapon-list,.gear-list{grid-template-columns:repeat(2,1fr)}.weapon-btn{min-height:47px;padding:4px}.fire-btn{min-height:61px}.overlay-card{max-height:94dvh}.menu-card{width:min(780px,100%)}.menu-card p{margin:4px 0}.profile-summary{margin:7px 0}.menu-actions{grid-template-columns:repeat(3,1fr);margin-top:5px}.field-label{margin:7px 0 4px}.primary-btn{min-height:38px}}

/* v11 variable salvo */
.variable-salvo .salvo-stepper{display:grid;grid-template-columns:44px minmax(64px,1fr) 44px 54px;gap:6px;align-items:center}
.salvo-step-btn,.salvo-max-btn{min-height:40px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#10212c;cursor:pointer;font-weight:950}
.salvo-step-btn{font-size:20px}.salvo-max-btn{font-size:9px;color:var(--accent)}
.salvo-step-btn:disabled,.salvo-max-btn:disabled{opacity:.35;cursor:not-allowed}
.salvo-input{width:100%;min-width:0;height:40px;padding:0 8px;border:1px solid var(--accent);border-radius:9px;background:#071018;color:#fff;text-align:center;font-weight:950;outline:none}
.salvo-input:focus{box-shadow:0 0 0 3px rgba(255,183,61,.14)}
.salvo-stock-hint{display:block;color:var(--muted);font-size:7px;text-align:center}
@media(max-width:760px){.variable-salvo .salvo-stepper{grid-template-columns:42px minmax(58px,1fr) 42px 50px}.salvo-step-btn,.salvo-input,.salvo-max-btn{min-height:44px;height:44px}}

/* v12 modern intel lock */
.intel-locked{opacity:.78;border-style:dashed!important}.intel-locked strong{letter-spacing:.04em}.intel-locked b{font-size:1.2rem}


/* V13 target lock and radius UX */
.target-list .target-row {
  width: 100%;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  appearance: none;
}
.target-list .target-row.selected {
  border-color: rgba(255, 202, 74, .92);
  box-shadow: inset 0 0 0 1px rgba(255, 202, 74, .38), 0 0 18px rgba(255, 166, 37, .12);
  background: linear-gradient(135deg, rgba(255, 190, 58, .13), rgba(14, 29, 35, .82));
}
.target-list .target-row.selected strong::before {
  content: '🎯 ';
}
.target-list .target-row:disabled {
  cursor: default;
  opacity: .55;
}
@media (max-width: 720px) {
  .target-list .target-row { min-height: 64px; }
}


/* v15 universal mobile + landscape console */
@media (pointer:coarse){.icon-btn,.wallet-chip,.pill-btn,.secondary-btn,.primary-btn,.mobile-tab,.gear-btn,.weapon-btn,.salvo-step-btn,.salvo-max-btn,.fire-btn{min-height:44px}.aim-knob{width:46px;height:46px}.control-panel{scrollbar-width:thin}}
@media (orientation:landscape) and (max-height:700px) and (pointer:coarse){
  html,body{height:var(--app-height);max-height:var(--app-height);overflow:hidden}
  body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
  .app-shell{height:var(--app-height);max-width:none;display:flex;flex-direction:column;padding:3px}
  .topbar{position:relative;top:auto;flex:0 0 auto;grid-template-columns:minmax(180px,1fr) auto auto;gap:5px;min-height:39px;padding:3px 7px;margin-bottom:3px;border-radius:10px}
  .brand-mark{width:31px;height:31px;border-radius:9px}.brand strong{font-size:10px}.brand span{display:none}.wallet-chip{min-height:31px;padding:3px 7px}.icon-btn,.pill-btn{width:32px;height:32px;min-height:32px}.pill-btn{padding:0 8px}
  .game-layout{flex:1;min-height:0;display:block}.side-panel{display:none!important}.game-console{height:100%;display:grid!important;grid-template-columns:minmax(0,1fr) clamp(270px,37vw,390px);grid-template-rows:auto 38px minmax(0,1fr);gap:3px}
  .mission-bar{grid-column:1/-1;grid-row:1;margin:0;grid-template-columns:90px minmax(0,1fr) 90px;gap:3px}.mission-side,.mission-center{padding:4px 6px;border-radius:8px}.mission-side strong{font-size:14px}.mission-side span,.mission-side small,.mission-center small{font-size:6px}.mission-center>span{font-size:8px}.progress-track{height:4px;margin:3px 0}
  .game-frame{grid-column:1;grid-row:2/4;width:100%;height:100%!important;min-height:0!important;max-height:none;border-radius:9px}
  .mobile-tabs{position:relative!important;bottom:auto!important;grid-column:2;grid-row:2;display:grid!important;grid-template-columns:repeat(4,1fr);gap:2px;margin:0;padding:2px;border-radius:8px}.mobile-tab{min-height:32px;font-size:7px}
  .control-console{grid-column:2;grid-row:3;display:block!important;height:100%;min-height:0;margin:0;overflow:hidden}
  .control-panel{display:none!important;height:100%;min-height:0!important;overflow:auto;padding:6px;border-radius:8px}
  .control-console[data-mobile-panel="weapons"] [data-panel="weapons"]{display:block!important}.control-console[data-mobile-panel="aim"] [data-panel="aim"]{display:grid!important}.control-console[data-mobile-panel="gear"] [data-panel="gear"]{display:block!important}.control-console[data-mobile-panel="fire"] [data-panel="fire"]{display:grid!important}
  .weapon-list,.gear-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.weapon-btn,.gear-btn{min-height:49px;padding:4px}.weapon-btn strong,.gear-btn strong{font-size:7px}.weapon-btn small,.gear-btn small{font-size:5px}.aim-pad{height:clamp(112px,29vh,160px)}.aim-values{gap:3px}.aim-values div{padding:4px}.fire-btn{min-height:62px}.variable-salvo .salvo-stepper{grid-template-columns:38px minmax(48px,1fr) 38px 48px;gap:4px}.salvo-step-btn,.salvo-input,.salvo-max-btn{min-height:38px;height:38px}
  .overlay{padding:5px}.overlay-card{max-height:94%;padding:11px}.menu-card{width:min(780px,100%)}.menu-card h1{font-size:28px}.menu-card p{margin:4px 0}.profile-summary{margin:6px 0}.menu-actions{grid-template-columns:repeat(3,1fr);margin-top:5px}.primary-btn,.secondary-btn{min-height:38px}
}
@media (orientation:landscape) and (max-height:430px) and (pointer:coarse){.game-console{grid-template-columns:minmax(0,1fr) clamp(250px,40vw,360px)}.topbar{min-height:34px}.wallet-bar{display:none}.mission-bar{grid-template-columns:76px 1fr 76px}.aim-pad{height:105px}.mobile-tab{min-height:29px}.control-panel{padding:4px}.weapon-btn,.gear-btn{min-height:43px}.stage-hud{top:4px;left:4px}.status-message{bottom:4px}}


/* v19 mobile analog angle control and smooth-render profile */
.mobile-angle-analog{display:none}.angle-analog-pad{position:relative;width:108px;max-width:100%;aspect-ratio:1;border:1px solid var(--line2);border-radius:50%;background:radial-gradient(circle at 50% 65%,rgba(255,181,61,.16),rgba(4,11,16,.98) 68%);touch-action:none;user-select:none;overflow:hidden;box-shadow:inset 0 0 24px rgba(0,0,0,.55)}.angle-analog-track{position:absolute;left:50%;top:12%;bottom:12%;width:7px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(to top,#ff7b43,#ffc553);box-shadow:0 0 16px rgba(255,170,55,.28)}.angle-analog-knob{position:absolute;left:50%;top:46%;display:grid;place-items:center;width:43px;height:43px;transform:translate(-50%,-50%);border:2px solid #ffd172;border-radius:50%;color:#181006;background:linear-gradient(145deg,#ffe09a,#ff9f37);font-weight:950;box-shadow:0 7px 20px rgba(0,0,0,.45);will-change:top}.analog-label{position:absolute;right:7px;color:var(--muted);font-size:7px;font-weight:900}.analog-high{top:7px}.analog-mid{top:47%;transform:translateY(-50%)}.analog-low{bottom:7px}.mobile-power-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#09151d}.mobile-power-control span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em}.mobile-power-control strong{font-size:12px;color:var(--accent)}.mobile-power-control input{grid-column:1/-1;width:100%;height:34px;margin:0;accent-color:var(--accent);touch-action:pan-x}.performance-badge{position:absolute;right:8px;bottom:8px;z-index:8;padding:4px 7px;border-radius:999px;background:rgba(3,9,13,.72);color:rgba(255,255,255,.66);font-size:7px;pointer-events:none}
@media(pointer:coarse){.aim-panel .aim-pad{display:none}.mobile-angle-analog{display:grid;grid-template-columns:minmax(92px,112px) minmax(0,1fr);gap:9px;align-items:center}.aim-panel{align-content:start}.aim-values{grid-column:1/-1}.angle-analog-pad{width:min(112px,29vw)}}
@media(pointer:coarse) and (orientation:landscape){.mobile-angle-analog{grid-template-columns:92px minmax(0,1fr);gap:6px}.angle-analog-pad{width:88px}.angle-analog-knob{width:38px;height:38px}.mobile-power-control{padding:7px}.mobile-power-control input{height:28px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:430px){.mobile-angle-analog{grid-template-columns:76px minmax(0,1fr)}.angle-analog-pad{width:72px}.angle-analog-knob{width:32px;height:32px}.mobile-power-control{padding:5px}.mobile-power-control input{height:24px}.aim-values{grid-template-columns:repeat(4,1fr)}}


/* v23 — full viewport cockpit, no page scroll, mobile smoothness */
.fire-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.intel-panel{gap:6px}.intel-panel .panel-card{margin:0;min-height:0}.intel-panel .target-list,.intel-panel .army-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.intel-panel .target-row,.intel-panel .army-row{min-height:0;padding:5px}.intel-panel .target-row strong,.intel-panel .army-row strong{font-size:7px}.intel-panel .target-row small,.intel-panel .army-row small,.intel-panel .target-row b,.intel-panel .army-row b{font-size:6px}.intel-rule-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;margin:3px 0;padding-left:14px}.intel-rule-card li{font-size:7px;line-height:1.25}
html.cockpit-layout,html.cockpit-layout body{height:var(--app-height);max-height:var(--app-height);overflow:hidden;overscroll-behavior:none}
html.cockpit-layout body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
html.cockpit-layout .app-shell{height:var(--app-height);max-width:none;display:flex;flex-direction:column;padding:clamp(3px,.55vw,8px);overflow:hidden}
html.cockpit-layout .topbar{position:relative;flex:0 0 auto;min-height:42px;padding:5px 9px;margin-bottom:4px;border-radius:11px}
html.cockpit-layout .brand-mark{width:34px;height:34px;border-radius:10px}html.cockpit-layout .brand strong{font-size:11px}html.cockpit-layout .brand span{font-size:6px}
html.cockpit-layout .wallet-chip{min-height:32px;padding:4px 8px}html.cockpit-layout .icon-btn,html.cockpit-layout .pill-btn{height:34px;min-height:34px}
html.cockpit-layout .game-layout{display:block;flex:1;min-height:0;overflow:hidden}
html.cockpit-layout .game-console{height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(286px,29vw,430px);grid-template-rows:auto 38px minmax(0,1fr);gap:4px;min-height:0}
html.cockpit-layout .mission-bar{grid-column:1/-1;grid-row:1;margin:0;grid-template-columns:clamp(82px,10vw,140px) minmax(0,1fr) clamp(82px,10vw,140px);gap:4px}
html.cockpit-layout .mission-side,html.cockpit-layout .mission-center{padding:5px 8px;border-radius:9px}html.cockpit-layout .mission-side strong{font-size:16px}html.cockpit-layout .mission-side span,html.cockpit-layout .mission-side small,html.cockpit-layout .mission-center small{font-size:7px}html.cockpit-layout .mission-center>span{font-size:9px}html.cockpit-layout .progress-track{height:5px;margin:4px 0}
html.cockpit-layout .game-frame{grid-column:1;grid-row:2/4;height:100%!important;min-height:0!important;max-height:none;border-radius:11px}
html.cockpit-layout .mobile-tabs{position:relative;grid-column:2;grid-row:2;display:grid!important;grid-template-columns:repeat(5,1fr);gap:2px;margin:0;padding:2px;border-radius:9px}
html.cockpit-layout .mobile-tab{min-height:32px;padding:2px;font-size:7px}
html.cockpit-layout .control-console{grid-column:2;grid-row:3;height:100%;min-height:0;margin:0;overflow:hidden;display:block!important}
html.cockpit-layout .control-panel{display:none!important;height:100%;min-height:0;overflow:hidden;padding:7px;border-radius:9px;align-content:start}
html.cockpit-layout .control-console[data-mobile-panel="weapons"] [data-panel="weapons"],html.cockpit-layout .control-console[data-mobile-panel="gear"] [data-panel="gear"],html.cockpit-layout .control-console[data-mobile-panel="intel"] [data-panel="intel"]{display:grid!important}
html.cockpit-layout .control-console[data-mobile-panel="aim"] [data-panel="aim"],html.cockpit-layout .control-console[data-mobile-panel="fire"] [data-panel="fire"]{display:grid!important}
html.cockpit-layout .weapon-list,html.cockpit-layout .gear-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;align-content:start}
html.cockpit-layout .weapon-btn,html.cockpit-layout .gear-btn{min-height:48px;padding:5px}html.cockpit-layout .weapon-btn strong,html.cockpit-layout .gear-btn strong{font-size:8px}html.cockpit-layout .weapon-btn small,html.cockpit-layout .gear-btn small{font-size:6px}
html.cockpit-layout .aim-pad{height:clamp(100px,25vh,178px)}html.cockpit-layout .fire-btn{min-height:66px}html.cockpit-layout .turn-note{font-size:7px;line-height:1.25;padding:6px}
html.cockpit-layout .intel-panel{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}html.cockpit-layout .intel-target-card,html.cockpit-layout .intel-army-card{overflow:hidden}html.cockpit-layout .intel-rule-card{grid-column:1/-1}
html.cockpit-layout .intel-panel .target-list,html.cockpit-layout .intel-panel .army-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;overflow:hidden}
html.cockpit-layout .modal{overflow:hidden;padding:5px}html.cockpit-layout .modal-dialog{max-height:calc(var(--app-height) - 10px);overflow:hidden}html.cockpit-layout .store-dialog{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}html.cockpit-layout .store-content{overflow:auto;overscroll-behavior:contain}
@media(max-height:560px){html.cockpit-layout .topbar{min-height:36px;padding:3px 7px}html.cockpit-layout .brand-mark{width:30px;height:30px}html.cockpit-layout .brand span{display:none}html.cockpit-layout .wallet-chip{min-height:29px}html.cockpit-layout .icon-btn,html.cockpit-layout .pill-btn{height:30px;min-height:30px}html.cockpit-layout .mission-side,html.cockpit-layout .mission-center{padding:3px 6px}html.cockpit-layout .mobile-tabs{grid-row:2;height:34px}html.cockpit-layout .mobile-tab{min-height:28px}html.cockpit-layout .control-panel{padding:5px}html.cockpit-layout .weapon-btn,html.cockpit-layout .gear-btn{min-height:41px;padding:3px}html.cockpit-layout .angle-analog-pad{width:68px}html.cockpit-layout .mobile-angle-analog{grid-template-columns:72px 1fr}html.cockpit-layout .aim-values div{padding:3px}html.cockpit-layout .fire-btn{min-height:54px}html.cockpit-layout .secondary-btn{min-height:34px}html.cockpit-layout .intel-rule-card{display:none}}
@media(max-width:900px) and (orientation:portrait){.mobile-tabs{grid-template-columns:repeat(5,1fr)}.mobile-tab{font-size:8px}.intel-panel{grid-template-columns:1fr}.intel-rule-card{display:none}}

@media(max-width:760px){.mobile-tabs{grid-template-columns:repeat(5,1fr)}.control-console[data-mobile-panel="intel"] [data-panel="intel"]{display:grid}.intel-panel{grid-template-columns:1fr 1fr}.intel-rule-card{grid-column:1/-1}}
@media(max-height:620px){html.cockpit-layout .store-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:5px;overflow:hidden}html.cockpit-layout .store-item{gap:3px;padding:6px}html.cockpit-layout .store-item .item-icon{font-size:19px}html.cockpit-layout .store-item h3{font-size:8px}html.cockpit-layout .store-item p{font-size:6px;line-height:1.25}html.cockpit-layout .store-item .owned{font-size:6px}html.cockpit-layout .buy-btn{min-height:29px;font-size:7px}html.cockpit-layout .store-wallet{margin:5px 0;padding:6px}html.cockpit-layout .store-tab{min-height:30px}html.cockpit-layout .modal-dialog{padding:9px}}

/* v23.6 — Multiplayer Operations, Matchmaking, Season, Replay & Clan War */
.overlay-head-actions{display:flex;align-items:center;gap:7px}.compact-btn{min-height:36px;padding:0 10px;font-size:8px}.operation-badge{display:inline-flex;align-items:center;margin-top:7px;padding:5px 8px;border:1px solid rgba(255,186,70,.35);border-radius:999px;background:rgba(255,186,70,.08);color:var(--accent);font-size:8px;font-weight:950;letter-spacing:.1em}.air-defense-heading{margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}.air-defense-list .army-row{border-color:rgba(255,116,104,.28)}.air-defense-list .army-row.disabled{border-color:rgba(94,200,255,.38);background:rgba(94,200,255,.07)}.air-defense-list .army-row.destroyed{opacity:.45;filter:grayscale(1)}.ranking-card{width:min(820px,100%)}.ranking-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:13px;background:#09151d}.ranking-toolbar>div{text-align:center}.ranking-toolbar span,.ranking-toolbar strong{display:block}.ranking-toolbar span{color:var(--muted);font-size:8px}.ranking-toolbar strong{margin-top:3px;color:var(--accent);font-size:12px}.ranking-status{padding:9px 11px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:#071018;font-size:9px}.ranking-table-wrap{margin-top:8px;overflow:auto;border:1px solid var(--line);border-radius:13px}.ranking-table{width:100%;border-collapse:collapse;min-width:620px}.ranking-table th,.ranking-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:9px}.ranking-table th{color:var(--muted);background:#0d1922}.ranking-table tr.personal{background:rgba(255,186,70,.08)}.ranking-table td:first-child{color:var(--accent);font-weight:950}.result-stats{grid-template-columns:repeat(4,1fr)}.result-actions{grid-template-columns:2fr 1fr 1fr 1fr}.air-defense-warning{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:rgba(255,116,104,.11);color:var(--danger);font-size:8px;font-weight:900}.air-defense-warning.safe{background:rgba(88,214,144,.1);color:var(--good)}
@media(max-width:700px){.overlay-head-actions .compact-btn{display:none}.ranking-toolbar{grid-template-columns:1fr 1fr}.ranking-toolbar>div{grid-column:1/-1;grid-row:1}.result-stats{grid-template-columns:repeat(2,1fr)}.result-actions{grid-template-columns:1fr 1fr}.menu-actions{grid-template-columns:1fr 1fr}.ranking-table th,.ranking-table td{padding:7px;font-size:8px}}
#rankingOverlay{z-index:55}

/* v23.5 — vehicle progression, technology tree, daily missions, cosmetics */
.profile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.progression-dialog{width:min(980px,100%);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);max-height:min(92vh,780px)}.progression-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.progression-summary>div{padding:11px;border:1px solid var(--line);border-radius:12px;background:#09151d}.progression-summary span,.progression-summary strong{display:block}.progression-summary span{font-size:8px;color:var(--muted)}.progression-summary strong{margin-top:4px;color:var(--accent);font-size:14px}.progression-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.progression-tab{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#08131b;color:var(--muted);font-weight:900;font-size:8px}.progression-tab.active{border-color:rgba(255,186,70,.55);background:rgba(255,186,70,.1);color:var(--accent)}.progression-content{min-height:0;overflow:auto;margin-top:10px;padding-right:3px}.vehicle-upgrade-grid,.tech-tree-grid,.daily-mission-grid,.cosmetic-owned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.progress-card{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#09151d}.progress-card h3,.progress-card p{margin:0}.progress-card h3{font-size:11px}.progress-card p{font-size:8px;line-height:1.45;color:var(--muted)}.progress-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.progress-card-icon{font-size:24px}.progress-card .mini-bar{height:8px}.progress-card button{min-height:34px;border:0;border-radius:9px;background:var(--accent);color:#181006;font-size:8px;font-weight:950}.progress-card button:disabled{opacity:.45;cursor:not-allowed}.tech-branch{font-size:7px;color:var(--accent);letter-spacing:.09em;text-transform:uppercase}.progress-cost{font-size:8px;color:var(--muted)}.daily-reward{display:flex;gap:8px;font-size:9px;font-weight:900}.daily-complete{border-color:rgba(88,214,144,.45);background:rgba(88,214,144,.06)}.cosmetic-preview{height:58px;border-radius:10px;border:1px solid var(--line);background:linear-gradient(135deg,var(--skin-primary,#a79a77) 0 55%,var(--skin-secondary,#756b52) 55% 82%,var(--skin-accent,#c1b693) 82%)}.cosmetic-equipped{border-color:rgba(255,186,70,.6);box-shadow:inset 0 0 0 1px rgba(255,186,70,.22)}.store-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.store-item.cosmetic-item .item-icon{font-size:30px}.store-cosmetic-preview{height:46px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(135deg,var(--skin-primary,#a79a77) 0 55%,var(--skin-secondary,#756b52) 55% 82%,var(--skin-accent,#c1b693) 82%)}
@media(max-width:760px){.profile-summary,.progression-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progression-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-upgrade-grid,.tech-tree-grid,.daily-mission-grid,.cosmetic-owned-grid{grid-template-columns:1fr}.progression-dialog{max-height:calc(var(--app-height) - 12px)}.store-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v23.7 — Hero Armory: 50 original Missile, Tank and Aircraft machines */
.store-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.progression-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-owned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hero-item,.hero-progress-card{position:relative;overflow:hidden}.hero-card-label{font-size:7px;font-weight:950;letter-spacing:.09em;color:var(--accent)}.hero-machine-preview{position:relative;height:74px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--hero-accent,#ffb347) 20%,transparent),transparent 56%),linear-gradient(155deg,#101d26,#071018)}.hero-machine-preview:before,.hero-machine-preview:after,.hero-machine-preview i,.hero-machine-preview b,.hero-machine-preview em{content:"";position:absolute;display:block;background:var(--hero-primary,#83919a);border:1px solid color-mix(in srgb,var(--hero-accent,#ffb347) 55%,transparent);box-shadow:inset 0 -8px 12px color-mix(in srgb,var(--hero-secondary,#28323a) 55%,transparent)}.hero-machine-preview.missile:before{width:62%;height:14px;left:18%;top:30px;border-radius:999px 70% 70% 999px;transform:skewX(-13deg)}.hero-machine-preview.missile:after{width:16%;height:28px;right:12%;top:23px;background:var(--hero-accent,#ffb347);clip-path:polygon(0 18%,100% 50%,0 82%)}.hero-machine-preview.missile i{width:22%;height:7px;left:22%;top:20px;transform:skewX(-26deg)}.hero-machine-preview.missile b{width:22%;height:7px;left:22%;bottom:18px;transform:skewX(26deg)}.hero-machine-preview.missile em{width:9%;height:16px;left:11%;top:29px;background:var(--hero-secondary,#28323a);border-radius:4px}.hero-machine-preview.tank:before{width:62%;height:25px;left:17%;bottom:14px;border-radius:8px 13px 6px 6px}.hero-machine-preview.tank:after{width:40%;height:19px;left:30%;bottom:34px;border-radius:8px 10px 2px 2px;transform:skewX(-8deg)}.hero-machine-preview.tank i{width:58%;height:8px;left:21%;bottom:7px;border-radius:999px;background:var(--hero-secondary,#28323a)}.hero-machine-preview.tank b{width:36%;height:7px;left:8%;bottom:47px;transform:rotate(-8deg);transform-origin:right center;background:var(--hero-accent,#ffb347)}.hero-machine-preview.tank em{width:8px;height:31px;right:21%;bottom:38px;background:var(--hero-accent,#ffb347);border-radius:4px}.hero-machine-preview.aircraft:before{width:52%;height:22px;left:28%;top:31px;border-radius:58% 45% 38% 52%;transform:skewX(-7deg);background:var(--hero-primary,#83919a)}.hero-machine-preview.aircraft:after{width:72%;height:5px;left:11%;top:18px;border-radius:999px;background:var(--hero-secondary,#28323a);box-shadow:0 0 0 1px color-mix(in srgb,var(--hero-accent,#ffb347) 38%,transparent)}.hero-machine-preview.aircraft i{width:31%;height:7px;right:3%;top:36px;border-radius:999px;background:var(--hero-secondary,#28323a);transform:rotate(-5deg)}.hero-machine-preview.aircraft b{width:34%;height:7px;left:33%;top:54px;background:var(--hero-accent,#ffb347);clip-path:polygon(0 0,100% 28%,82% 100%,10% 65%)}.hero-machine-preview.aircraft em{width:18px;height:18px;right:4%;top:25px;border-radius:50%;background:conic-gradient(var(--hero-accent,#ffb347) 0 12%,transparent 12% 25%,var(--hero-accent,#ffb347) 25% 37%,transparent 37% 50%,var(--hero-accent,#ffb347) 50% 62%,transparent 62% 75%,var(--hero-accent,#ffb347) 75% 87%,transparent 87%);border:2px solid var(--hero-secondary,#28323a)}
@media(max-width:760px){.store-tabs,.progression-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-owned-grid{grid-template-columns:1fr}.hero-machine-preview{height:68px}}
@media(max-width:430px){.store-tabs,.progression-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v23.7.2 — campaign difficulty labels */
.stage-node small{display:block;max-width:100%;margin-top:2px;overflow:hidden;color:var(--muted);font-size:6px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.stage-node.current small{color:var(--accent)}
.briefing-stats strong#briefingDifficulty{color:var(--accent)}
@media(max-width:560px){.stage-node small{font-size:5px}.briefing-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v23.7.2 — Hero Commander & Outfit visuals */
.hero-duo-preview{position:relative;height:142px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:radial-gradient(circle at 28% 36%,color-mix(in srgb,var(--pilot-accent,#7fd7ff) 22%,transparent),transparent 32%),radial-gradient(circle at 73% 56%,color-mix(in srgb,var(--hero-accent,#ffb347) 18%,transparent),transparent 40%),linear-gradient(155deg,#10202b,#061018);isolation:isolate}
.hero-duo-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.045) 49% 50%,transparent 51%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:100% 100%,100% 18px;opacity:.75;pointer-events:none}
.hero-duo-preview .hero-machine-preview{position:absolute;right:2%;bottom:5px;width:67%;height:78px;border:0;background:transparent;overflow:visible;z-index:1;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.hero-person-preview{position:absolute;left:3%;bottom:0;width:43%;height:132px;z-index:3;filter:drop-shadow(0 7px 9px rgba(0,0,0,.55));transform-origin:50% 100%}
.hero-person-preview span{position:absolute;display:block;box-sizing:border-box}
.hero-person-preview .pilot-body{left:25%;bottom:2px;width:52%;height:63%;background:linear-gradient(115deg,var(--pilot-primary,#314438),var(--pilot-secondary,#1d2b25));clip-path:polygon(22% 0,78% 0,100% 28%,89% 100%,11% 100%,0 28%);border:1px solid color-mix(in srgb,var(--pilot-accent,#7fd7ff) 45%,transparent)}
.hero-person-preview .pilot-body:after{content:"";position:absolute;left:43%;top:9%;width:14%;height:76%;background:var(--pilot-accent,#7fd7ff);opacity:.8;clip-path:polygon(35% 0,65% 0,100% 100%,0 100%)}
.hero-person-preview .pilot-neck{left:43%;top:33%;width:17%;height:11%;background:var(--pilot-skin,#d9a77f);border-radius:30%}
.hero-person-preview .pilot-head{left:31%;top:9%;width:42%;height:35%;border-radius:47% 47% 43% 43%;background:var(--pilot-skin,#d9a77f);border:1px solid rgba(0,0,0,.28)}
.hero-person-preview .pilot-hair{left:32%;top:7%;width:40%;height:17%;border-radius:50% 50% 26% 26%;background:var(--pilot-hair,#171719)}
.hero-person-preview .pilot-helmet{left:25%;top:3%;width:54%;height:28%;border-radius:55% 55% 30% 30%;background:linear-gradient(135deg,var(--pilot-helmet,#34473b),var(--pilot-secondary,#1d2b25));border:1px solid color-mix(in srgb,var(--pilot-accent,#7fd7ff) 55%,transparent)}
.hero-person-preview .pilot-visor{left:27%;top:20%;width:50%;height:13%;border-radius:6px 11px 9px 6px;background:linear-gradient(90deg,color-mix(in srgb,var(--pilot-visor,#79ddff) 38%,#03121c),var(--pilot-visor,#79ddff));box-shadow:0 0 10px color-mix(in srgb,var(--pilot-visor,#79ddff) 55%,transparent);transform:skewX(-7deg)}
.hero-person-preview .pilot-shoulder{bottom:43%;width:24%;height:15%;border-radius:9px 9px 3px 3px;background:var(--pilot-secondary,#1d2b25);border-top:3px solid var(--pilot-accent,#7fd7ff)}
.hero-person-preview .pilot-shoulder.left{left:8%;transform:rotate(-13deg)}.hero-person-preview .pilot-shoulder.right{right:4%;transform:rotate(13deg)}
.hero-person-preview .pilot-badge{left:57%;bottom:36%;width:12%;height:12%;background:var(--pilot-accent,#7fd7ff);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.hero-person-preview.helmet-1 .pilot-helmet{clip-path:polygon(8% 14%,82% 0,100% 38%,91% 100%,6% 91%,0 38%)}
.hero-person-preview.helmet-2 .pilot-helmet{border-radius:18% 60% 34% 45%;transform:rotate(-2deg)}
.hero-person-preview.helmet-3 .pilot-helmet:after{content:"";position:absolute;right:-12%;top:15%;width:25%;height:55%;background:var(--pilot-accent,#7fd7ff);clip-path:polygon(0 0,100% 50%,0 100%)}
.hero-person-preview.helmet-4 .pilot-visor{height:18%;top:18%;clip-path:polygon(0 0,100% 20%,91% 100%,7% 84%)}
.hero-person-preview.helmet-5 .pilot-helmet{box-shadow:inset 0 -8px 0 color-mix(in srgb,var(--pilot-accent,#7fd7ff) 38%,transparent)}
.hero-person-preview.accessory-antenna:after,.hero-person-preview.accessory-scanner:after{content:"";position:absolute;left:68%;top:1%;width:2px;height:27px;background:var(--pilot-accent,#7fd7ff);transform:rotate(8deg);transform-origin:bottom}
.hero-person-preview.accessory-shoulder .pilot-shoulder.right{height:22%;right:0}.hero-person-preview.accessory-breather .pilot-visor{border-bottom:5px solid var(--pilot-secondary,#1d2b25)}
.hero-preview-callsign{position:absolute;left:6px;bottom:5px;z-index:5;padding:3px 6px;border-radius:7px;background:rgba(3,12,18,.78);border:1px solid color-mix(in srgb,var(--pilot-accent,#7fd7ff) 55%,transparent);color:var(--pilot-accent,#7fd7ff);font-size:7px;font-weight:950;letter-spacing:.11em}
.hero-item h3 small,.hero-progress-card h3 small{font-size:8px;color:var(--accent);letter-spacing:.06em}.hero-machine-name{margin:3px 0 6px;font-size:9px;font-weight:900;color:#dbe9f0}.hero-item p b,.hero-progress-card p b{color:var(--accent)}
.hero-roster-intro{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(13,30,40,.72)}.hero-roster-intro strong{font-size:9px;color:var(--accent);letter-spacing:.08em}.hero-roster-intro span{font-size:8px;color:var(--muted)}
.outfit-store-preview .hero-duo-preview{height:125px}.outfit-store-preview .hero-machine-preview{opacity:.18;transform:scale(.82);transform-origin:right bottom}.outfit-store-preview .hero-person-preview{left:26%;transform:scale(1.08);transform-origin:50% 100%}.outfit-store-preview .hero-preview-callsign{display:none}
.outfit-item .item-icon{margin-top:5px}
@media(max-width:760px){.hero-duo-preview{height:128px}.hero-person-preview{height:119px;width:46%;left:1%}.hero-duo-preview .hero-machine-preview{width:65%;height:70px}.hero-preview-callsign{font-size:6px}.hero-item h3,.hero-progress-card h3{font-size:12px}}

/* v23.7.4 — reliable Hero purchase/equip states and Hero identity skins */
.store-item.store-equipped,.progress-card.cosmetic-equipped{border-color:rgba(88,214,144,.72);box-shadow:inset 0 0 0 1px rgba(88,214,144,.16),0 0 24px rgba(88,214,144,.08)}
.buy-btn.use-owned-btn{background:linear-gradient(145deg,#55d58d,#2aaa70);color:#06140d;border-color:rgba(115,244,168,.65)}
.buy-btn.equipped-buy{background:rgba(88,214,144,.12);color:var(--good);border-color:rgba(88,214,144,.42);opacity:1}
.buy-btn:disabled.equipped-buy{cursor:default;filter:none}
.hero-skin-preview .hero-duo-preview{height:125px;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--pilot-visor,#79ddff) 28%,transparent),transparent 38%),linear-gradient(155deg,#111e28,#061018)}
.hero-skin-preview .hero-machine-preview{display:none}
.hero-skin-preview .hero-person-preview{left:27%;width:46%;transform:scale(1.12);transform-origin:50% 100%}
.hero-skin-item .owned{color:var(--blue)}
@media(max-width:560px){.buy-btn.use-owned-btn,.buy-btn.equipped-buy{min-height:44px}.hero-skin-preview .hero-person-preview{left:24%;width:52%}}


/* v23.7.4 — clearer uniform / Hero Skin catalog and identity preview */
.cosmetic-store-section,.owned-cosmetic-section{grid-column:1/-1;display:grid;gap:9px;margin-bottom:12px}
.cosmetic-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,rgba(15,34,45,.94),rgba(7,17,24,.94))}
.cosmetic-section-head div{display:grid;gap:3px}.cosmetic-section-head strong{color:var(--accent);font-size:9px;letter-spacing:.11em}.cosmetic-section-head span,.cosmetic-section-head b{color:var(--muted);font-size:8px}.cosmetic-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hero-person-preview .pilot-helmet{box-shadow:0 0 12px color-mix(in srgb,var(--pilot-visor,#79ddff) 42%,transparent)}
.hero-person-preview.face-1 .pilot-head:after{content:"";position:absolute;right:5%;top:52%;width:42%;height:5%;border-radius:999px;background:var(--pilot-face-mark,#7fd7ff);transform:rotate(-14deg);box-shadow:0 0 6px color-mix(in srgb,var(--pilot-face-mark,#7fd7ff) 55%,transparent)}
.hero-person-preview.face-2 .pilot-head:after{content:"";position:absolute;left:7%;right:3%;bottom:2%;height:32%;border-radius:3px 3px 45% 45%;background:linear-gradient(90deg,var(--pilot-secondary,#1d2b25),color-mix(in srgb,var(--pilot-face-mark,#7fd7ff) 38%,var(--pilot-secondary,#1d2b25)));border-top:2px solid var(--pilot-face-mark,#7fd7ff)}
.hero-person-preview.face-3 .pilot-head:before,.hero-person-preview.face-3 .pilot-head:after{content:"";position:absolute;top:57%;width:11%;height:8%;border-radius:50%;background:var(--pilot-face-mark,#7fd7ff);box-shadow:0 0 5px color-mix(in srgb,var(--pilot-face-mark,#7fd7ff) 65%,transparent)}
.hero-person-preview.face-3 .pilot-head:before{left:9%}.hero-person-preview.face-3 .pilot-head:after{right:6%}
.hero-person-preview.face-4 .pilot-head:after{content:"";position:absolute;left:14%;right:9%;bottom:-11%;height:30%;clip-path:polygon(10% 0,90% 0,100% 65%,70% 100%,30% 100%,0 65%);background:var(--pilot-helmet,#34473b);border-top:2px solid var(--pilot-face-mark,#7fd7ff)}
@media(max-width:900px){.cosmetic-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cosmetic-section-grid{grid-template-columns:1fr}.cosmetic-section-head{align-items:flex-start}.cosmetic-section-head b{white-space:nowrap}}


/* v23.7.15 — Nusantara-inspired berets, ranks, field uniforms and original insignia */
.hero-person-preview .pilot-camo{display:none;left:31%;bottom:23%;width:16%;height:13%;border-radius:40%;opacity:.92;z-index:2}
.hero-person-preview .pilot-camo.one{background:var(--pilot-camo-a);transform:rotate(-18deg)}
.hero-person-preview .pilot-camo.two{left:54%;bottom:52%;background:var(--pilot-camo-c);transform:rotate(24deg)}
.hero-person-preview[class*="camo-"]:not(.camo-solid) .pilot-body{background:radial-gradient(ellipse at 28% 28%,var(--pilot-camo-c) 0 10%,transparent 11%),radial-gradient(ellipse at 72% 48%,var(--pilot-camo-a) 0 13%,transparent 14%),radial-gradient(ellipse at 44% 76%,var(--pilot-camo-b) 0 14%,transparent 15%),linear-gradient(115deg,var(--pilot-primary),var(--pilot-secondary))}
.hero-person-preview[class*="camo-"]:not(.camo-solid) .pilot-camo{display:block}
.hero-person-preview .pilot-rank{right:9%;bottom:46%;width:19%;height:8%;border-radius:2px;background:repeating-linear-gradient(90deg,var(--pilot-rank) 0 3px,transparent 3px 5px);border:1px solid color-mix(in srgb,var(--pilot-rank) 70%,#111);opacity:0}
.hero-person-preview.rank-1 .pilot-rank,.hero-person-preview.rank-2 .pilot-rank,.hero-person-preview.rank-3 .pilot-rank,.hero-person-preview.rank-4 .pilot-rank,.hero-person-preview.rank-5 .pilot-rank{opacity:1}
.hero-person-preview.rank-1 .pilot-rank{width:7%}.hero-person-preview.rank-2 .pilot-rank{width:11%}.hero-person-preview.rank-3 .pilot-rank{width:15%}.hero-person-preview.rank-4 .pilot-rank{width:19%}.hero-person-preview.rank-5 .pilot-rank{width:23%;box-shadow:0 0 8px color-mix(in srgb,var(--pilot-rank) 55%,transparent)}
.hero-person-preview .pilot-flag{display:none;right:2%;bottom:55%;width:17%;height:10%;border:1px solid rgba(0,0,0,.38);overflow:hidden;border-radius:1px;z-index:4}.hero-person-preview.patch-red_white .pilot-flag{display:block}.hero-person-preview .pilot-flag i,.hero-person-preview .pilot-flag b{position:absolute;left:0;width:100%;height:50%}.hero-person-preview .pilot-flag i{top:0;background:#c92f3a}.hero-person-preview .pilot-flag b{bottom:0;background:#f3f0e7}
.hero-person-preview .pilot-nameplate{display:block;left:48%;bottom:47%;width:22%;height:4%;border-radius:2px;background:#11191b;border-top:1px solid var(--pilot-accent)}
.hero-person-preview .pilot-headgear-badge{display:none;left:56%;top:6%;width:10%;height:10%;background:var(--pilot-rank);clip-path:polygon(50% 0,100% 35%,82% 100%,18% 100%,0 35%);z-index:5}
.hero-person-preview.headgear-beret .pilot-helmet{left:23%;top:4%;width:57%;height:18%;border-radius:55% 45% 48% 30%;transform:rotate(-9deg);background:var(--pilot-headgear);box-shadow:none}.hero-person-preview.headgear-beret .pilot-headgear-badge{display:block}.hero-person-preview.headgear-beret .pilot-visor{height:7%;top:23%;width:36%;left:35%;opacity:.75}
.hero-person-preview.headgear-patrol_cap .pilot-helmet{left:26%;top:5%;width:50%;height:17%;border-radius:18% 18% 45% 45%;background:var(--pilot-headgear);box-shadow:none}.hero-person-preview.headgear-patrol_cap .pilot-helmet:after{content:"";position:absolute;left:55%;bottom:-28%;width:55%;height:26%;background:var(--pilot-headgear);clip-path:polygon(0 0,100% 35%,85% 100%,0 80%)}.hero-person-preview.headgear-patrol_cap .pilot-headgear-badge{display:block}
.hero-person-preview.headgear-boonie .pilot-helmet{left:18%;top:7%;width:67%;height:12%;border-radius:50%;background:var(--pilot-headgear);box-shadow:0 -8px 0 -2px var(--pilot-headgear)}.hero-person-preview.headgear-boonie .pilot-helmet:after{content:"";position:absolute;left:-10%;top:55%;width:120%;height:40%;border-radius:50%;background:var(--pilot-headgear)}
.hero-person-preview.headgear-peaked_cap .pilot-helmet{left:23%;top:3%;width:57%;height:20%;border-radius:16% 16% 42% 42%;background:linear-gradient(180deg,var(--pilot-headgear),var(--pilot-secondary));border-bottom:4px solid var(--pilot-rank);box-shadow:none}.hero-person-preview.headgear-peaked_cap .pilot-helmet:after{content:"";position:absolute;left:52%;bottom:-24%;width:56%;height:24%;background:#11191b;clip-path:polygon(0 0,100% 20%,85% 100%,0 70%)}.hero-person-preview.headgear-peaked_cap .pilot-headgear-badge{display:block;left:47%;top:7%}.hero-person-preview.headgear-peaked_cap .pilot-visor{display:none}
.hero-person-preview.headgear-bandana .pilot-helmet{left:29%;top:16%;width:46%;height:8%;border-radius:2px;background:var(--pilot-headgear);box-shadow:none}.hero-person-preview.headgear-bandana .pilot-helmet:after{content:"";position:absolute;right:80%;top:20%;width:42%;height:70%;background:var(--pilot-headgear);clip-path:polygon(100% 0,100% 100%,0 70%)}.hero-person-preview.headgear-bandana .pilot-visor{display:none}
.hero-person-preview.headgear-pilot_helmet .pilot-helmet{background:linear-gradient(90deg,#f4f2e9 0 35%,#c92f3a 36% 52%,#f4f2e9 53% 66%,var(--pilot-headgear) 67%)}
.hero-person-preview.vest-ceremonial .pilot-body:before{content:"";position:absolute;left:47%;top:4%;width:9%;height:90%;background:var(--pilot-rank);transform:rotate(27deg);opacity:.9}.hero-person-preview.vest-heavy .pilot-body{border-width:2px}.hero-person-preview.vest-heavy .pilot-shoulder{height:20%}
.cosmetic-meta-chips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.cosmetic-meta-chips span{font-size:9px;line-height:1.2;padding:4px 6px;border:1px solid color-mix(in srgb,var(--accent,#72d6ff) 45%,transparent);border-radius:999px;background:rgba(8,22,30,.75);color:#cfe9f2;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:560px){.cosmetic-meta-chips span{font-size:8px;padding:3px 5px}}

.hero-ammo-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0;padding:7px 9px;border:1px solid rgba(112,214,255,.22);border-radius:9px;background:rgba(5,20,28,.72);font-size:10px;text-transform:uppercase}.hero-ammo-line span{color:#9ec0cc}.hero-ammo-line b{color:#ffd36f;text-align:right}.hero-ammo-description{display:block;color:#9fb3bb;min-height:2.4em;margin:0 0 8px}.hero-machine-preview.tank{border-radius:22% 35% 20% 20%}.hero-machine-preview.aircraft{clip-path:none;border-radius:18px}@media(max-width:560px){.hero-ammo-line{font-size:8px;padding:6px}.hero-ammo-description{font-size:9px}}

/* v23.7.15 — removable Hero/loadout actions */
.buy-btn.unequip-buy{background:linear-gradient(135deg,#7e2d26,#b24736)!important;color:#fff!important;border-color:#d86855!important}


/* v23.7.17 account login, profile, and PNG vehicle skin support */
.account-auth-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 20%,rgba(40,72,83,.32),rgba(2,8,12,.97) 58%),#02070a;backdrop-filter:blur(8px)}
.account-auth-overlay.active{display:flex}.account-auth-card{width:min(430px,100%);border:1px solid rgba(255,184,63,.45);border-radius:22px;padding:24px;background:linear-gradient(160deg,rgba(15,27,33,.98),rgba(5,12,16,.99));box-shadow:0 24px 80px rgba(0,0,0,.58)}
.account-auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:18px}.account-auth-brand>span{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#f5ad32;color:#211503;font-size:22px;font-weight:950}.account-auth-brand strong{display:block;font-size:20px}.account-auth-brand small{display:block;margin-top:3px;color:#91a4af;letter-spacing:.12em}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.auth-tabs button{border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:11px;background:#0b171d;color:#91a4af;font-weight:900}.auth-tabs button.active{border-color:#f5ad32;background:rgba(245,173,50,.15);color:#ffd786}
.account-auth-card label,.password-form label{display:block;margin:12px 0 6px;color:#aebdc5;font-size:12px;font-weight:800;letter-spacing:.06em}.account-auth-card input,.password-form input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:13px 14px;background:#061116;color:#fff;outline:none}.account-auth-card input:focus,.password-form input:focus{border-color:#f5ad32;box-shadow:0 0 0 3px rgba(245,173,50,.12)}
.account-auth-card .primary-btn{width:100%;margin-top:18px}.auth-message{min-height:20px;margin:12px 0 0;color:#91a4af;font-size:12px;line-height:1.45}.auth-message.error{color:#ff8174}.auth-message.success{color:#65df9c}
.account-profile-dialog{width:min(600px,calc(100% - 24px))}.account-profile-hero{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(5,18,24,.76)}.account-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:rgba(245,173,50,.16);font-size:32px}.account-profile-hero span,.account-profile-hero small{display:block;color:#91a4af}.account-profile-hero strong{display:block;margin:2px 0;font-size:24px;color:#fff}.account-profile-stats{margin:14px 0}.password-form{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(5,18,24,.58)}.password-form h3{margin:0 0 8px}.password-form .secondary-btn{width:100%;margin-top:14px}.danger-account-btn{width:100%;margin-top:14px;border:1px solid rgba(255,91,83,.5);border-radius:12px;padding:12px;background:rgba(112,22,20,.38);color:#ffaaa4;font-weight:900}
.store-cosmetic-preview.has-uploaded-skin,.cosmetic-preview.has-uploaded-skin{background-image:var(--skin-image);background-size:cover;background-position:center}.skin-texture-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:rgba(91,213,255,.12);color:#8ce7ff;font-size:10px;font-weight:900}
@media(max-width:600px){.account-auth-card{padding:18px}.account-profile-stats{grid-template-columns:1fr 1fr}}

/* v23.7.38 — Hero Hangar progression: attributes, equipment, skills, tier and stars */
.hero-hangar-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(100,205,255,.28);border-radius:14px;background:linear-gradient(145deg,rgba(11,29,40,.96),rgba(5,16,24,.96))}.hero-hangar-head>div:first-child{display:grid;gap:4px}.hero-hangar-head strong{font-size:15px;color:#fff;letter-spacing:.06em}.hero-hangar-head span{font-size:10px;color:var(--muted)}.hero-wallet-mini{display:flex;gap:7px;flex-wrap:wrap}.hero-wallet-mini b{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(3,13,19,.82);font-size:10px;color:#e7f5fa}
.hero-hangar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.hero-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.hero-filter-tabs button,.hero-hangar-toolbar>button{min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#071720;color:#9db6c0;font-size:10px;font-weight:900}.hero-filter-tabs button.active{border-color:#ffb43f;background:linear-gradient(145deg,#ffb43f,#ff873f);color:#211506}.hero-roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-roster-empty{grid-column:1/-1;padding:30px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.hero-roster-card{overflow:hidden;border:1px solid rgba(100,205,255,.24);border-radius:14px;background:linear-gradient(160deg,rgba(13,32,44,.98),rgba(4,14,21,.98));transition:border-color .18s ease,transform .18s ease}.hero-roster-card:hover{border-color:rgba(255,183,73,.62);transform:translateY(-2px)}.hero-roster-card.active{border-color:rgba(81,222,143,.7);box-shadow:inset 0 0 0 1px rgba(81,222,143,.15)}.hero-card-portrait{position:relative;padding:8px 8px 0;background:radial-gradient(circle at 50% 18%,rgba(91,205,255,.13),transparent 52%)}.hero-card-portrait .hero-duo-preview{height:112px;margin:0}.hero-rarity,.hero-level-chip{position:absolute;top:13px;z-index:3;padding:4px 7px;border-radius:7px;background:rgba(3,11,17,.85);border:1px solid rgba(255,255,255,.14);font-size:8px;font-weight:950}.hero-rarity{left:13px;color:#ffd069}.hero-level-chip{right:13px;color:#fff}.hero-card-body{padding:10px}.hero-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#93b3c0;font-size:8px;font-weight:900;letter-spacing:.08em}.hero-card-title b{color:#59dd91}.hero-card-body h3{margin:5px 0 1px;font-size:14px;color:#fff}.hero-card-body small{display:block;color:var(--muted);font-size:9px}.hero-star-strip{display:flex;gap:2px;margin:7px 0}.hero-star-strip i{font-style:normal;color:#3a4750;text-shadow:none}.hero-star-strip i.filled{color:#ffd34f;text-shadow:0 0 7px rgba(255,191,63,.42)}.hero-card-power{font-size:16px;font-weight:950;color:#ffc64f;text-shadow:0 2px 0 rgba(77,41,0,.8)}.hero-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}.hero-card-stats span{display:grid;gap:2px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(2,11,17,.7);font-size:7px;color:#78929d}.hero-card-stats b{font-size:9px;color:#dceaf0}.hero-card-actions{display:grid;grid-template-columns:1.35fr .75fr;gap:6px}.hero-card-actions button{min-height:36px;border:1px solid rgba(255,181,64,.5);border-radius:9px;background:rgba(255,170,55,.13);color:#ffd37a;font-size:9px;font-weight:950}.hero-card-actions button.danger{border-color:rgba(255,91,79,.45);background:rgba(118,28,25,.42);color:#ffaaa2}
.hero-detail-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px}.hero-detail-modal.open{display:flex}.hero-detail-backdrop{position:absolute;inset:0;background:rgba(1,7,11,.82);backdrop-filter:blur(7px)}.hero-detail-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 28px));max-height:min(92vh,900px);overflow:auto;border:1px solid rgba(105,211,255,.36);border-radius:20px;background:linear-gradient(160deg,#102638,#07131d 48%,#051018);box-shadow:0 30px 100px rgba(0,0,0,.72)}.hero-detail-close{position:absolute;right:12px;top:12px;z-index:5;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:rgba(4,15,22,.88);color:#dceaf1;font-size:26px}.hero-detail-header{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:18px;align-items:center;padding:20px 56px 15px 20px;background:radial-gradient(circle at 20% 25%,rgba(78,183,255,.18),transparent 40%),linear-gradient(135deg,rgba(38,63,111,.75),rgba(11,24,38,.9))}.hero-detail-portrait .hero-duo-preview{height:210px;margin:0}.hero-detail-header>div:last-child>span{color:#74dcff;font-size:10px;font-weight:950;letter-spacing:.08em}.hero-detail-header h2{margin:5px 0;font-size:28px}.hero-detail-header small{color:#a7bcc6}.hero-detail-power{margin-top:12px;font-size:27px;font-weight:950;color:#ffc747;text-shadow:0 3px 0 rgba(69,39,0,.8)}.hero-detail-header .hero-star-strip{font-size:19px}.hero-detail-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#06131d}.hero-detail-tabs button{min-height:52px;border:0;border-right:1px solid var(--line);background:transparent;color:#8da8b5;font-weight:950}.hero-detail-tabs button.active{background:linear-gradient(180deg,rgba(255,179,55,.2),rgba(255,179,55,.06));color:#ffd06a;box-shadow:inset 0 -3px 0 #ffae3b}.hero-detail-panel{padding:18px}.hero-level-upgrade{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid rgba(107,210,255,.25);border-radius:14px;background:rgba(6,21,31,.8)}.hero-level-upgrade>div:first-child{display:grid;gap:3px}.hero-level-upgrade span{font-size:9px;color:#71d8ff;font-weight:900}.hero-level-upgrade strong{font-size:20px}.hero-level-upgrade small{color:var(--muted)}.hero-upgrade-actions{display:flex;gap:6px;flex-wrap:wrap}.hero-upgrade-actions button{min-width:92px;min-height:39px;padding:8px 12px;border:1px solid rgba(255,181,61,.55);border-radius:9px;background:linear-gradient(145deg,#ffb43f,#ff8b40);color:#1d1102;font-weight:950}.hero-upgrade-actions button.gem{border-color:rgba(95,197,255,.6);background:linear-gradient(145deg,#45c6f5,#587cf5);color:#041220}.hero-upgrade-actions button:disabled{filter:grayscale(.8);opacity:.45}.hero-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.hero-stat-grid div{display:grid;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(4,15,22,.72)}.hero-stat-grid span{font-size:8px;color:#78939f}.hero-stat-grid b{font-size:17px;color:#fff}.hero-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.hero-item-upgrade{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(5,18,27,.75)}.hero-item-icon,.hero-skill-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,187,67,.35);border-radius:12px;background:rgba(255,176,54,.12);font-size:22px}.hero-item-upgrade>div:nth-child(2){display:grid;gap:3px}.hero-item-upgrade strong{font-size:12px}.hero-item-upgrade span,.hero-item-upgrade p{font-size:9px;color:var(--muted);margin:0}.hero-skill-list{display:grid;gap:9px}.hero-skill-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(105,210,255,.18);border-radius:14px;background:linear-gradient(145deg,rgba(8,25,37,.9),rgba(4,15,23,.9))}.hero-skill-row>div:nth-child(2){display:grid;gap:3px}.hero-skill-row span{font-size:8px;color:#69d5ff;font-weight:900}.hero-skill-row strong{font-size:13px}.hero-skill-row p{margin:0;color:var(--muted);font-size:9px}.hero-skill-row>b{color:#fff;white-space:nowrap}.hero-skill-row .mini-bar{height:6px}.hero-tier-panel{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:18px;align-items:center}.hero-tier-emblem{display:grid;place-items:center;min-height:250px;border:1px solid rgba(255,191,71,.3);border-radius:18px;background:radial-gradient(circle,rgba(255,183,61,.21),transparent 60%),linear-gradient(145deg,#12263b,#08131e)}.hero-tier-emblem>span{font-size:26px;font-weight:950;color:#ffd269}.hero-tier-emblem>b{font-size:13px;color:#90b1c0}.hero-tier-emblem .hero-star-strip{font-size:24px}.hero-tier-copy{display:grid;gap:12px}.hero-tier-copy h3{margin:0;font-size:24px}.hero-tier-copy p{margin:0;color:#9db3bd}.hero-tier-bonuses{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.hero-tier-bonuses span{padding:10px;border:1px solid rgba(80,218,143,.2);border-radius:10px;background:rgba(44,155,98,.1);color:#75dfa1;font-weight:900;font-size:10px}
@media(max-width:980px){.hero-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-detail-header{grid-template-columns:1fr}.hero-detail-portrait .hero-duo-preview{height:170px}.hero-item-grid{grid-template-columns:1fr}.hero-skill-row{grid-template-columns:48px 1fr}.hero-skill-row>b{grid-column:1}.hero-skill-row .hero-upgrade-actions{grid-column:2}.hero-tier-panel{grid-template-columns:1fr}.hero-tier-emblem{min-height:180px}}
@media(max-width:620px){.hero-hangar-head,.hero-hangar-toolbar{align-items:stretch;flex-direction:column}.hero-roster-grid{grid-template-columns:1fr}.hero-detail-modal{padding:6px}.hero-detail-dialog{width:100%;max-height:96vh;border-radius:15px}.hero-detail-header{padding:48px 12px 12px}.hero-detail-header h2{font-size:22px}.hero-detail-tabs button{font-size:10px}.hero-detail-panel{padding:10px}.hero-level-upgrade{align-items:stretch;flex-direction:column}.hero-stat-grid{grid-template-columns:repeat(2,1fr)}.hero-item-upgrade{grid-template-columns:42px 1fr}.hero-item-upgrade>.hero-upgrade-actions{grid-column:1/-1}.hero-upgrade-actions button{flex:1;min-width:78px}.hero-skill-row .hero-upgrade-actions{grid-column:1/-1}.hero-tier-bonuses{grid-template-columns:1fr}}

/* v23.7.38 · Hero rank progression: Bintang 1–5, masing-masing Tier 1–5 */
.hero-card-rank{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}.hero-card-rank .hero-star-strip{margin:0}.hero-card-rank>b{padding:3px 7px;border:1px solid rgba(255,195,70,.28);border-radius:999px;background:rgba(255,184,53,.09);color:#ffd46e;font-size:8px;white-space:nowrap}.hero-rank-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.hero-rank-badge>b,.hero-rank-badge>span{padding:5px 8px;border-radius:8px;font-size:10px;font-weight:950;letter-spacing:.04em}.hero-rank-badge>b{border:1px solid rgba(255,197,72,.48);background:linear-gradient(145deg,rgba(255,190,63,.22),rgba(255,137,43,.1));color:#ffd66e}.hero-rank-badge>span{border:1px solid rgba(99,202,255,.32);background:rgba(54,164,225,.1);color:#83dcff}.hero-tier-pips{display:flex;gap:4px}.hero-tier-pips i{width:14px;height:6px;border-radius:999px;background:#31434d;border:1px solid rgba(255,255,255,.06)}.hero-tier-pips i.filled{background:linear-gradient(90deg,#ffd34e,#ff9142);border-color:rgba(255,211,78,.55);box-shadow:0 0 8px rgba(255,174,55,.28)}
.hero-power-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0 13px}.hero-power-breakdown>div{display:grid;gap:3px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(4,15,22,.76)}.hero-power-breakdown span{font-size:7px;color:#78939f}.hero-power-breakdown b{font-size:13px;color:#ffd15f}.hero-power-breakdown>div:first-child b{color:#fff}
.hero-rank-roadmap{display:grid;gap:7px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(3,13,20,.72)}.hero-rank-row{display:grid;grid-template-columns:58px repeat(5,34px);gap:6px;align-items:center}.hero-rank-row>b{font-size:9px;color:#78929f}.hero-rank-row.current-star>b{color:#ffd267}.hero-rank-row i{display:grid;place-items:center;width:32px;height:25px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#101f29;color:#5e7480;font-size:9px;font-style:normal;font-weight:950}.hero-rank-row i.done{border-color:rgba(76,221,143,.32);background:rgba(48,164,101,.14);color:#74e3a3}.hero-rank-row i.current{border-color:#ffc34f;background:linear-gradient(145deg,#ffbb3f,#ff8b3d);color:#1f1202;box-shadow:0 0 14px rgba(255,174,55,.27)}
.hero-rank-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hero-rank-preview>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:5px;padding:10px;border:1px solid rgba(94,213,255,.17);border-radius:11px;background:rgba(5,21,31,.8)}.hero-rank-preview span{grid-column:1/-1;color:#7e9aa6;font-size:8px}.hero-rank-preview b{color:#dceaf0;font-size:11px}.hero-rank-preview em{color:#79a6b9;font-style:normal}.hero-rank-preview strong{color:#70e79d;font-size:12px}.hero-rank-preview small{grid-column:1/-1;color:#ffd26b;font-weight:900}.hero-rank-max-note{padding:15px;border:1px solid rgba(255,205,79,.28);border-radius:12px;background:rgba(255,187,54,.09);color:#ffd46b;font-weight:950;text-align:center}
.hero-rank-upgrade-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-rank-upgrade-action button{min-width:210px;min-height:48px;border:1px solid rgba(97,204,255,.62);border-radius:11px;background:linear-gradient(145deg,#45c9f4,#5b72f3);color:#03131d;font-size:13px;font-weight:950}.hero-rank-upgrade-action button:disabled{filter:grayscale(.8);opacity:.48}.hero-rank-upgrade-action small{color:#8ea8b4}.hero-tier-emblem{align-content:center;gap:10px}.hero-tier-emblem>small{color:#8aa7b3;font-size:9px;font-weight:900}.hero-tier-emblem .hero-rank-badge{justify-content:center}.hero-tier-copy>p{line-height:1.55}
@media(max-width:980px){.hero-power-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-rank-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hero-power-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-rank-roadmap{overflow-x:auto}.hero-rank-row{grid-template-columns:52px repeat(5,30px);min-width:240px}.hero-rank-row i{width:28px}.hero-rank-preview{grid-template-columns:1fr}.hero-rank-upgrade-action{align-items:stretch;flex-direction:column}.hero-rank-upgrade-action button{width:100%;min-width:0}.hero-rank-badge{gap:5px}.hero-tier-pips i{width:11px}}

/* v23.7.40 — fast submit feedback + total Hero Power in lobby header */
.wallet-chip.power{border-color:rgba(255,186,70,.42);background:linear-gradient(145deg,rgba(255,186,70,.12),#0d1922);min-width:112px}
.wallet-chip.power small{color:var(--accent);font-size:7px;font-weight:950;letter-spacing:.12em}
.wallet-chip.power b{font-variant-numeric:tabular-nums}
button.is-busy{position:relative;opacity:.82;cursor:wait!important;pointer-events:none}
button.is-busy:after{content:"";width:11px;height:11px;margin-left:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;animation:submitSpin .65s linear infinite}
@keyframes submitSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.wallet-chip.power{min-width:96px}.wallet-chip.power small{display:none}}
@media(max-width:520px){.wallet-chip.power{min-width:auto;padding-inline:7px}.wallet-chip.power span{display:none}}
@media (orientation:landscape) and (max-height:430px) and (pointer:coarse){.wallet-bar{display:flex}.wallet-chip.power{display:flex}.wallet-chip:not(.power){display:none}}

/* Legacy GLB card styles retained for compatibility; v23.7.56 uses static Hero artwork. */
.strike-glb-preview-renderer{position:fixed!important;left:-10000px!important;top:-10000px!important;width:384px!important;height:216px!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}
.hero-actual-glb-preview{position:relative;height:142px;overflow:hidden;border:1px solid rgba(96,210,255,.28);border-radius:13px;background:radial-gradient(circle at 52% 34%,rgba(80,191,239,.17),transparent 42%),linear-gradient(155deg,#102735,#061019 72%);isolation:isolate}
.hero-actual-glb-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 18px;pointer-events:none;z-index:2}
.hero-actual-glb-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.015);transition:opacity .22s ease,transform .25s ease;z-index:1}
.hero-actual-glb-preview.ready img{opacity:1;transform:scale(1)}
.hero-actual-glb-fallback{position:absolute;inset:0;z-index:0;transition:opacity .2s ease}
.hero-actual-glb-fallback>.hero-duo-preview{height:100%;margin:0;border:0;border-radius:0}
.hero-actual-glb-preview.ready .hero-actual-glb-fallback{opacity:0;pointer-events:none}
.hero-actual-glb-label,.hero-actual-glb-state{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(2,10,16,.76);backdrop-filter:blur(5px);font-size:6px;font-weight:950;letter-spacing:.08em;line-height:1;padding:5px 7px;pointer-events:none}
.hero-actual-glb-label{left:7px;bottom:7px;color:#78e0ff;border-color:rgba(91,210,255,.32)}
.hero-actual-glb-state{right:7px;bottom:7px;color:#91aab4}
.hero-actual-glb-preview.ready .hero-actual-glb-state{color:#72e8a4;border-color:rgba(74,225,140,.28)}
.hero-actual-glb-preview:not(.ready) .hero-actual-glb-state:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:heroGlbSpin .7s linear infinite}
@keyframes heroGlbSpin{to{transform:rotate(360deg)}}
.hero-card-portrait .hero-actual-glb-preview{height:112px;margin:0}
.store-item.hero-item .hero-actual-glb-preview{height:142px;margin-bottom:9px}
.hero-detail-portrait .hero-actual-glb-preview{height:210px;margin:0}
.hero-detail-portrait .hero-actual-glb-label{font-size:8px;padding:6px 9px}
.hero-detail-portrait .hero-actual-glb-state{font-size:8px;padding:6px 9px}
@media(max-width:980px){.hero-detail-portrait .hero-actual-glb-preview{height:170px}}
@media(max-width:760px){.hero-actual-glb-preview{height:128px}.hero-card-portrait .hero-actual-glb-preview{height:108px}.store-item.hero-item .hero-actual-glb-preview{height:128px}.hero-actual-glb-label,.hero-actual-glb-state{font-size:5px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.hero-actual-glb-preview img,.hero-actual-glb-fallback{transition:none}.hero-actual-glb-preview:not(.ready) .hero-actual-glb-state:before{animation:none}}

/* v23.7.56 staged preload and smooth gameplay */
.game-load-progress{width:min(320px,72%);height:9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#03090d;overflow:hidden}
.game-load-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--accent),var(--good));transition:width .18s ease}
.game-load-percent{min-height:13px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.08em}
.loading-overlay.active{will-change:opacity}
@media (max-width:700px){.game-load-progress{width:min(270px,78%)}.loading-overlay{gap:8px}}

/* v23.7.56 total performance controls */
.campaign-quality-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:9px 12px;border:1px solid rgba(113,194,229,.2);border-radius:12px;background:rgba(5,24,35,.72);font-size:12px;color:#9eb8c6}.campaign-quality-control span{font-weight:800;text-transform:uppercase;letter-spacing:.08em}.campaign-quality-control select{min-width:170px;border:1px solid rgba(113,194,229,.28);border-radius:9px;background:#071923;color:#eaf7ff;padding:8px 10px;font-weight:800}@media(max-width:620px){.campaign-quality-control{align-items:stretch;flex-direction:column}.campaign-quality-control select{width:100%}}

/* v23.7.56 static Hero artwork and clean equipped-vehicle formation */
.hero-actual-glb-preview.static-hero-image{background:radial-gradient(circle at 48% 28%,rgba(87,194,239,.18),transparent 46%),linear-gradient(155deg,#102735,#061019 72%)}
.hero-actual-glb-preview.static-hero-image .hero-actual-glb-fallback{opacity:1!important;pointer-events:auto!important}
.hero-actual-glb-preview.static-hero-image .hero-duo-preview{width:100%;height:100%;margin:0;transform:none}
.hero-actual-glb-preview.static-hero-image .hero-actual-glb-label{color:#ffd071;border-color:rgba(255,190,75,.34);background:rgba(5,12,17,.78)}
.hero-roster-grid,.store-content{align-items:start}
.hero-roster-card,.store-item.hero-item{min-width:0;overflow:hidden}
.hero-card-body h3,.store-item.hero-item h3,.hero-machine-name,.hero-ammo-line span,.hero-ammo-line b{overflow-wrap:anywhere}
.store-item.hero-item{display:flex;flex-direction:column;height:100%}
.store-item.hero-item .buy-btn{margin-top:auto}
@media(max-width:1180px){html.cockpit-layout .store-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){html.cockpit-layout .store-content{grid-template-columns:1fr}.hero-actual-glb-preview.static-hero-image .hero-duo-preview{min-width:0}}


/* Nusantara Strike v23.7.56 — katalog Hero terfilter dengan thumbnail GLB asli. */
.hero-store-browser{grid-column:1/-1;display:grid;gap:12px;min-width:0}.hero-store-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(12,35,47,.96),rgba(5,18,26,.96))}.hero-store-heading strong,.hero-store-heading span{display:block}.hero-store-heading strong{font-size:12px;letter-spacing:.12em}.hero-store-heading span{margin-top:3px;color:var(--muted);font-size:8px}.hero-store-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hero-store-filters button{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#071720;color:#9db6c0;font-size:9px;font-weight:900;cursor:pointer}.hero-store-filters button b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.07);font-size:8px}.hero-store-filters button.active{border-color:#ffb43f;background:linear-gradient(145deg,#ffb43f,#ff873f);color:#211506}.hero-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-store-grid .store-item{min-width:0}.hero-actual-glb-preview{position:relative;isolation:isolate;min-height:174px;overflow:hidden;border:1px solid rgba(88,193,224,.28);border-radius:12px;background:radial-gradient(circle at 50% 65%,rgba(35,91,112,.62),rgba(4,13,19,.98) 72%)}.hero-actual-glb-preview:after{content:"";position:absolute;inset:auto 7% 10px;height:18px;border-radius:50%;background:rgba(0,0,0,.48);filter:blur(8px);z-index:-1}.hero-glb-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .28s ease,transform .35s ease}.hero-actual-glb-preview.glb-ready .hero-glb-card-image{opacity:1;transform:scale(1)}.hero-actual-glb-preview.glb-ready .hero-actual-glb-fallback{opacity:0}.hero-actual-glb-fallback{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .22s ease}.hero-actual-glb-label{position:absolute;left:8px;bottom:7px;z-index:3;padding:4px 7px;border:1px solid rgba(117,219,247,.28);border-radius:7px;background:rgba(2,10,15,.78);color:#b9efff;font-size:6px;font-weight:950;letter-spacing:.12em}.hero-glb-render-canvas{position:fixed!important;left:-10000px!important;top:-10000px!important;width:560px!important;height:320px!important;pointer-events:none!important;opacity:0!important}.hero-item.store-equipped .hero-actual-glb-preview{border-color:rgba(89,226,151,.8);box-shadow:0 0 0 1px rgba(89,226,151,.22),0 0 24px rgba(89,226,151,.12)}
@media(max-width:900px){.hero-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-store-heading{align-items:flex-start;flex-direction:column}.hero-store-filters{justify-content:flex-start}.hero-actual-glb-preview{min-height:150px}}
@media(max-width:560px){.hero-store-grid{grid-template-columns:1fr}.hero-store-filters button{flex:1 1 calc(50% - 6px);justify-content:center}.hero-actual-glb-preview{min-height:180px}}

.hero-package-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid rgba(86,224,151,.34);border-radius:10px;background:rgba(24,92,65,.24);color:#8df0b8;font-size:8px;font-weight:950;letter-spacing:.08em;white-space:nowrap}
@media(max-width:620px){.hero-package-badge{width:100%;justify-content:center}}

/* Nusantara Strike v23.7.56 — kartu Hero memakai PNG statis agar selalu tampil. */
.hero-actual-glb-preview.static-hero-image{display:block;background:radial-gradient(circle at 50% 62%,rgba(46,111,137,.62),rgba(4,13,19,.98) 74%)}
.hero-actual-glb-preview.static-hero-image .hero-static-card-image{position:absolute;inset:0;display:block;width:100%;height:100%;padding:7px;box-sizing:border-box;object-fit:contain;object-position:center;opacity:1!important;visibility:visible!important;transform:none!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.58));z-index:1}
.hero-actual-glb-preview.static-hero-image:after{content:"";position:absolute;left:12%;right:12%;bottom:9px;height:17px;border-radius:50%;background:rgba(0,0,0,.52);filter:blur(8px);z-index:0}
.hero-actual-glb-preview.static-hero-image .hero-actual-glb-fallback,.hero-actual-glb-preview.static-hero-image .hero-actual-glb-label,.hero-actual-glb-preview.static-hero-image .hero-actual-glb-state{display:none!important}
.hero-actual-glb-preview.static-hero-image .hero-static-card-image{padding:0;transform:scale(1.18)!important}
.hero-actual-glb-preview.static-hero-image.hero-class-aircraft .hero-static-card-image{transform:scale(1.28)!important}

/* v23.7.56 */
.army-row .mini-bar i,.target-row .mini-bar i{background:#39ff88!important;box-shadow:0 0 8px rgba(57,255,136,.45)}.game-frame.nuclear-cinematic .cinema-bars:before,.game-frame.nuclear-cinematic .cinema-bars:after{height:8%}.nuclear-flash.active{animation:nuclearFlash 2.45s ease-out forwards}


/* Nusantara Strike v23.7.56 — Hall of Fame & Power Clan */
.champions-header-btn{border-color:rgba(255,193,74,.38);background:linear-gradient(145deg,rgba(255,193,74,.15),#0d1922)}
.champions-dialog{width:min(820px,100%)}
.champions-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}
.champions-tab{min-height:42px;padding:8px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:#09151d;cursor:pointer;font-size:9px;font-weight:900}
.champions-tab.active{border-color:var(--accent);color:#181006;background:var(--accent)}
.champions-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.champions-section-head h3{margin:0;font-size:15px}.champions-section-head p{margin:4px 0 0;color:var(--muted);font-size:9px}
.champions-list{display:grid;gap:6px}.champion-row{display:grid;grid-template-columns:46px 44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#0a1720}
.champion-row.podium{border-color:rgba(255,193,74,.38);background:linear-gradient(100deg,rgba(255,193,74,.08),#0a1720 54%)}
.champion-medal{display:grid;place-items:center;font-size:17px;font-weight:950}.champion-clan-logo,.champion-avatar{width:42px;height:42px;border:1px solid var(--line2);border-radius:11px;background:#071018;object-fit:contain;padding:4px}.champion-avatar{display:grid;place-items:center;padding:0;font-size:20px}
.champion-main{min-width:0}.champion-main strong,.champion-main small,.champion-row>b small{display:block}.champion-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.champion-main small{margin-top:3px;color:var(--muted);font-size:8px}.champion-row>b{text-align:right;color:var(--accent);font-size:13px}.champion-row>b small{margin-top:2px;color:var(--muted);font-size:7px;letter-spacing:.1em}.champions-updated{display:block;margin-top:10px;color:var(--muted);text-align:right;font-size:8px}.champions-loading,.champions-error,.champions-empty{padding:24px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.champions-error{color:#ff8d8d}
@media(max-width:620px){.champions-tabs{grid-template-columns:1fr}.champion-row{grid-template-columns:34px 38px minmax(0,1fr);padding:8px}.champion-row>b{grid-column:2/4;text-align:left;padding-left:0}.champion-clan-logo,.champion-avatar{width:36px;height:36px}.champions-section-head{display:grid}.champions-section-head .secondary-btn{width:100%}}
