/* Post-Phase-3 Battle Simulator product workspace.
   Presentation-only layer: the combat engine remains the source of truth. */
:root{
  --battle-att:#e84f57;--battle-att-deep:#9d2832;--battle-def:#3e8fe8;--battle-def-deep:#1f5f9f;
  --battle-ice:#58d8f4;--battle-gold:#f0be57;--battle-panel:rgba(9,36,50,.94);--battle-panel-2:rgba(14,48,64,.94);
  --battle-line:rgba(104,202,230,.25);--battle-text:#eef9fc;--battle-muted:#9fbcc8;
  --paper:#f1e3d0;--paper-2:#e7d4bb;--paper-3:#d7bea2;--paper-ink:#5f4938;--paper-line:#c7ab8d;
}
body.frozen-battle-page{overflow-x:hidden}
.frozen-battle-page .command-hub{max-width:1560px;padding-bottom:72px}
.battle-workspace{position:relative;z-index:1}
.battle-lab-header{margin:18px 0 16px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--battle-line);border-radius:20px;background:linear-gradient(120deg,rgba(9,35,49,.96),rgba(8,29,44,.93));box-shadow:0 18px 55px rgba(0,0,0,.24)}
.battle-lab-copy{max-width:840px}.battle-lab-kicker{display:block;color:#75dff5;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.battle-lab-header h1{margin:3px 0 4px;color:#fff;font-size:clamp(1.75rem,2.4vw,2.5rem);line-height:1}.battle-lab-header p{margin:0;color:var(--battle-muted);font-size:.93rem;line-height:1.55}
.battle-lab-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.battle-lab-badges span{padding:7px 10px;border:1px solid rgba(105,210,239,.26);border-radius:999px;background:rgba(63,158,188,.09);color:#bfeaf4;font-size:.72rem;font-weight:800}

/* Command center */
.battle-command-host{margin:0 0 18px}.battle-command-host #battleRail{display:block!important;position:relative!important;inset:auto!important;width:auto!important;max-width:none!important;margin:0!important;z-index:4}.battle-command-host .rail-sticky{position:relative!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;transform:none!important;overflow:visible!important;padding:0!important;display:block!important}
.battle-command-center{border:1px solid var(--battle-line);border-radius:22px;background:linear-gradient(150deg,rgba(6,30,43,.97),rgba(10,42,57,.94));box-shadow:0 22px 60px rgba(0,0,0,.3);overflow:hidden}
.battle-mode-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 15px;border-bottom:1px solid var(--battle-line);background:rgba(5,24,37,.52)}
.battle-mode-line .command-context{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;display:flex!important;gap:7px!important}.battle-mode-line .command-context button{min-height:34px!important;padding:6px 13px!important;border-radius:999px!important;font-size:.75rem!important}
.battle-mode-copy{color:var(--battle-muted);font-size:.75rem}.battle-mode-copy b{color:#d9f4fa}
.battle-command-main{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(380px,1.4fr) minmax(230px,.8fr);gap:12px;padding:14px}
.optimizer-launch{position:relative;min-height:118px;border:1px solid transparent;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 20px;cursor:pointer;color:white;text-align:left;isolation:isolate;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.optimizer-launch::after{content:"";position:absolute;inset:-80% -35%;z-index:-1;transform:translateX(-65%) rotate(20deg);transition:transform .55s ease;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.optimizer-launch:hover::after{transform:translateX(65%) rotate(20deg)}.optimizer-launch:hover{transform:translateY(-2px);filter:saturate(1.08)}.optimizer-launch.att{background:linear-gradient(135deg,#7c1e29,#d93e49 55%,#f36d70);box-shadow:0 13px 30px rgba(187,46,59,.25)}.optimizer-launch.def{background:linear-gradient(135deg,#164b81,#2f80d6 55%,#66b7f6);box-shadow:0 13px 30px rgba(43,126,204,.23)}.optimizer-launch small{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;opacity:.78;font-weight:900}.optimizer-launch strong{font-size:1.18rem;margin-top:2px}.optimizer-launch span{margin-top:5px;font-size:.73rem;opacity:.86;line-height:1.35}
.simulation-console{min-width:0;padding:0;display:flex;flex-direction:column;gap:8px}.simulation-console #multiFightBtn{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:58px!important;margin:0!important;border:1px solid rgba(108,224,247,.7)!important;border-radius:15px!important;background:linear-gradient(180deg,#62dff5,#2daed1)!important;color:#042536!important;box-shadow:0 10px 24px rgba(50,188,221,.2)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;font-weight:950!important;letter-spacing:.02em!important}.simulation-console #multiFightBtn:hover{filter:brightness(1.07);transform:translateY(-1px)}.simulation-console #multiFightBtn .sword-pair{font-size:1.25rem}.simulation-console #multiFightBtn small{font-size:.92rem!important;color:inherit!important}
.sim-run-score-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.sim-run-count,.sim-score{min-height:42px;border:1px solid var(--battle-line);border-radius:12px;background:rgba(4,26,38,.72);display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 10px}.sim-run-count label{color:#a7c6d1;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sim-run-count select{width:74px!important;min-height:30px!important}.sim-score{font-size:.88rem;font-weight:950}.sim-score .red{color:#ff7d85}.sim-score .blue{color:#79c3ff}.sim-score .dash{color:#75909b}
.sim-percent-area{padding:5px 1px}.battle-command-center .multi-bar-wrap{margin:0!important;width:100%!important}.battle-command-center .multi-bar{width:100%!important;height:20px!important;border-radius:999px!important;background:#183845!important;overflow:hidden!important;position:relative}.battle-command-center .multi-red{background:linear-gradient(90deg,#b02d38,#ef626a)!important;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:900}.battle-command-center .multi-blue{background:linear-gradient(90deg,#4ca4eb,#2369ac)!important;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:900}.battle-command-center .multi-stalemate{background:#9a8b76!important;width:2px!important}
.sim-run-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.sim-average{border:1px solid var(--battle-line);border-radius:11px;padding:8px 10px;background:rgba(5,27,38,.6);min-width:0}.sim-average small{display:block;color:#91b3bf;font-size:.61rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.sim-average b{display:block;margin-top:1px;color:#effcff;font-size:.82rem}.sim-average.att b{color:#ff9ca2}.sim-average.def b{color:#9bd1ff}.battle-report-open{min-width:146px;border:1px solid rgba(240,190,87,.55);border-radius:11px;background:linear-gradient(180deg,#5f4a21,#3d311c);color:#ffdf8a;font-weight:900;padding:7px 12px;cursor:pointer}.battle-report-open[disabled]{opacity:.45;cursor:not-allowed}.battle-report-open:not([disabled]):hover{filter:brightness(1.14)}
.sim-complete-status{text-align:center;color:#9fbcc8;font-size:.68rem;min-height:14px}.sim-complete-status.complete{color:#7fe8c1}
.global-meta-row{display:flex;justify-content:center;padding:0 14px 14px}.global-meta-row #exploreMetaBtn{position:relative;min-width:min(100%,440px);min-height:48px!important;border:1px solid rgba(247,202,101,.65)!important;border-radius:14px!important;background:linear-gradient(135deg,#664820,#b77e26 55%,#e0b14a)!important;color:#fff5c6!important;box-shadow:0 10px 25px rgba(196,137,42,.2)!important;font-weight:950!important;overflow:hidden}.global-meta-row #exploreMetaBtn::after{content:"";position:absolute;inset:-120% -25%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-80%) rotate(18deg);animation:meta-glint 4s ease-in-out infinite}.global-meta-row #exploreMetaBtn .meta-button-content{position:relative;z-index:2}@keyframes meta-glint{0%,72%,100%{transform:translateX(-80%) rotate(18deg)}86%{transform:translateX(85%) rotate(18deg)}}@media(prefers-reduced-motion:reduce){.global-meta-row #exploreMetaBtn::after{animation:none}.optimizer-launch::after{transition:none}}
.optimizer-settings{margin:0 14px 14px;border:1px solid var(--battle-line);border-radius:14px;background:rgba(4,26,38,.62);overflow:hidden}.optimizer-settings>summary{list-style:none;cursor:pointer;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;color:#dff5fa;font-size:.78rem;font-weight:900}.optimizer-settings>summary::-webkit-details-marker{display:none}.optimizer-settings>summary::after{content:"▾";color:#6fdcf3}.optimizer-settings[open]>summary::after{content:"▴"}.optimizer-settings-body{border-top:1px solid var(--battle-line);padding:12px;display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:12px}.optimizer-group{min-width:0;padding-right:11px;border-right:1px solid rgba(105,202,230,.15)}.optimizer-group:last-child{border-right:0;padding-right:0}.optimizer-group-title{display:block;margin-bottom:8px;color:#78dff4;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.optimizer-group label{font-size:.72rem}.optimizer-gen-compact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin-bottom:7px;border:1px solid rgba(240,190,87,.35);border-radius:10px;background:rgba(115,77,20,.16)}.optimizer-gen-compact span{font-size:.67rem;color:#e5c675;font-weight:900}.optimizer-gen-compact select{width:82px!important;min-height:31px!important;border-color:rgba(240,190,87,.55)!important;color:#ffe18d!important;background:#372b17!important}.optimizer-speed-copy{font-size:.67rem;color:#9ebac5}.optimizer-settings .rail-gen-box-btn{min-height:32px!important;padding:4px 10px!important;font-size:.75rem!important;background:#493719!important;border-color:#b78a36!important;color:#ffe49a!important}.optimizer-settings input[type=range]{max-width:100%}.optimizer-settings .command-compact-row,.optimizer-settings .command-toggle-row{display:block!important}.optimizer-settings .rail-joiner-opt{margin:4px 0!important}.optimizer-settings .rail-global-row{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.optimizer-settings .rail-global-btn{min-height:32px!important;padding:5px 8px!important;font-size:.67rem!important}.optimizer-settings .rail-global-field{min-width:92px!important}.optimizer-settings .rail-global-field label{font-size:.59rem!important}.optimizer-settings .rail-global-field select{min-height:30px!important}.optimizer-settings .command-worker-inline,.optimizer-settings #optimizerWorkerInline{display:none!important}
.battle-command-center .command-progress,.battle-command-center .command-note,.battle-command-center .command-meta-status{margin:0 14px 10px!important}.battle-command-center .command-suggestions{margin:0!important}

/* Army workspaces */
.battle-army-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;align-items:start}.battle-army-grid>.army-panel{min-width:0!important;margin:0!important;padding:14px!important;border-radius:20px!important;background:linear-gradient(170deg,rgba(8,34,47,.97),rgba(11,43,57,.94))!important;border:1px solid var(--battle-line)!important;box-shadow:0 16px 48px rgba(0,0,0,.22)!important}.battle-army-grid>.army-panel.att{border-top:3px solid rgba(232,79,87,.86)!important}.battle-army-grid>.army-panel.def{border-top:3px solid rgba(62,143,232,.86)!important}.army-panel .army-chapter{margin:0 0 10px!important;padding:5px 2px 12px!important}.army-panel .army-chapter h2{font-size:1.42rem!important}.army-panel .section-title{margin:15px 0 8px!important;padding:8px 10px!important;border-radius:10px!important;background:linear-gradient(90deg,rgba(88,216,244,.1),transparent)!important;border:0!important;border-left:3px solid #52cee8!important;color:#dff7fb!important;font-size:.78rem!important;text-transform:none!important;letter-spacing:.02em!important}.army-panel .stat-mode-wrap{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important}.army-panel .stat-mode-btn{min-height:36px!important;border-radius:9px!important;font-size:.69rem!important;padding:5px 7px!important}.army-panel .stat-mode-help{font-size:.69rem!important;line-height:1.45!important;color:#91b1bd!important;margin-top:6px!important}.army-panel .formation-mode-toggle{width:auto!important;margin:0 0 8px!important;display:inline-flex!important}.army-panel .formation-mode-toggle button{min-height:32px!important;padding:4px 11px!important}.army-total-field{display:grid!important;grid-template-columns:auto minmax(110px,170px)!important;align-items:center!important;gap:8px!important;max-width:300px}.army-total-field label{margin:0!important}.army-total-field input{min-height:36px!important}.ratio-toolbar{gap:7px!important;margin:8px 0!important}.ratio-presets{display:flex!important;gap:5px!important;flex-wrap:wrap!important}.ratio-preset{min-height:30px!important;padding:4px 8px!important;border-radius:8px!important;font-size:.64rem!important}.ratio-total-pill{font-size:.66rem!important}.formation-stack{height:13px!important;border-radius:999px!important;overflow:hidden!important;margin:8px 0 10px!important}.ratio-control{display:grid!important;grid-template-columns:minmax(114px,1fr) 31px minmax(90px,1.1fr) 50px 31px!important;align-items:center!important;gap:6px!important;margin:5px 0!important;padding:6px 7px!important;border:1px solid rgba(102,195,219,.14)!important;border-radius:11px!important;background:rgba(4,26,37,.43)!important}.ratio-label{display:flex!important;align-items:center!important;gap:7px!important;font-size:.72rem!important}.troop-type-icon{display:inline-flex!important;width:26px!important;height:26px!important;min-width:26px!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;border:1px solid rgba(131,212,231,.22)!important;background:rgba(8,43,57,.9)!important;font-size:0!important}.troop-type-icon::before{font-size:14px;line-height:1;color:#d7f3f9;font-weight:900}.troop-type-icon.inf::before{content:"▣"}.troop-type-icon.lancer::before{content:"◆"}.troop-type-icon.marksman::before{content:"✦"}.ratio-step{width:31px!important;height:31px!important;min-width:31px!important;border-radius:8px!important}.ratio-value{font-size:.72rem!important;text-align:center!important}.ratio-slider{min-width:60px!important}
.army-panel #att_troops,.army-panel #def_troops{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.troop-card{min-width:0!important;padding:9px!important;border-radius:12px!important;background:rgba(4,27,39,.54)!important;border:1px solid rgba(97,191,216,.16)!important}.troop-head-name{display:flex!important;align-items:center!important;gap:6px!important}.troop-card .row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.troop-card .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}.troop-card .field label{font-size:.56rem!important;text-transform:none!important}.troop-card input,.troop-card select{min-width:0!important;width:100%!important;min-height:32px!important;padding:4px 5px!important;font-size:.68rem!important}
.hero-card{margin:7px 0!important;padding:9px!important;border-radius:14px!important;background:rgba(4,27,39,.52)!important;border:1px solid rgba(97,191,216,.16)!important}.hero-card .hero-compact-grid{grid-template-columns:90px minmax(0,1fr) 96px!important;gap:9px!important;align-items:center!important}.hero-card .hero-photo-select{min-width:0!important}.hero-card .hero-portrait{width:64px!important;height:64px!important}.hero-card .hero-photo-name{font-size:.7rem!important}.hero-card .hero-gen-badge{opacity:1!important;color:#ffe398!important;background:#4a381b!important;border-color:#ae8232!important}.hero-card .snowflake-row{max-width:100%!important;overflow:visible!important}.hero-card .hero-progression-top{gap:5px!important;flex-wrap:wrap!important}.hero-card .star-readout,.hero-card .skill-level-readout{font-size:.64rem!important}.hero-card .hero-widget-corner select{min-height:32px!important}.hero-card .hero-stat-strip{font-size:.58rem!important}.hero-card .skills-grid{gap:4px!important}.hero-card .skill-box{padding:5px!important}.hero-card .skill-icon{width:31px!important;height:31px!important}.hero-card .skill-box b{font-size:.61rem!important}.hero-card .skill-box .small{font-size:.55rem!important;line-height:1.3!important}.hero-card .widget-box-v4{padding:6px!important}.hero-card .widget-img{width:38px!important;height:38px!important}.joiner-card{border-radius:11px!important;background:rgba(4,27,39,.48)!important}.joiner-actions{margin-top:6px!important}
.battle-mobile-side-switch{display:none}

/* Admin-only diagnostic surface */
.battle-admin-only{display:none!important}.battle-admin-only.admin-visible{display:block!important}.battle-admin-heading span{color:#f0be57;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.battle-admin-heading h2{margin:2px 0}.battle-admin-heading p{color:var(--battle-muted);font-size:.75rem}.battle-admin-toolbar{margin:10px 0}

/* Beige in-game-inspired Battle Report */
.battle-report-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,12,18,.76);backdrop-filter:blur(5px)}.battle-report-modal.open{display:flex}.battle-report-shell{width:min(940px,96vw);height:min(92vh,1040px);display:flex;flex-direction:column;border:3px solid #c6aa89;border-radius:23px;background:var(--paper);color:var(--paper-ink);box-shadow:0 28px 90px rgba(0,0,0,.5);overflow:hidden}.battle-report-topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;background:linear-gradient(#a97c58,#8f6548);color:#fff8ec;border-bottom:3px solid #d9c2a5}.battle-report-topbar span{font-size:.67rem;text-transform:uppercase;font-weight:900;letter-spacing:.11em;opacity:.84}.battle-report-topbar h2{margin:1px 0 0;font-size:1.65rem;text-shadow:0 2px 0 rgba(74,42,26,.35)}.battle-report-close{width:44px;height:44px;border:0;background:#fff1d8;color:#77472e;border-radius:12px;font-size:1.75rem;font-weight:950;cursor:pointer;box-shadow:inset 0 0 0 2px #c4a486}.battle-report-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 28px;scrollbar-color:#a98b6b #eadac6}.report-section{margin:0 0 13px;border:2px solid var(--paper-line);border-radius:17px;background:#f7ead8;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.report-section-title{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:9px 14px;background:linear-gradient(#cbb49d,#bca187);border-bottom:2px solid #ab8d70;color:#fffdf7;text-shadow:0 2px 1px rgba(74,51,37,.55);font-size:1.13rem;font-weight:950}.report-side-head{display:grid;grid-template-columns:1fr auto 1fr}.report-side-head .att{background:linear-gradient(100deg,#e2444d,#f07a76);color:#fff}.report-side-head .def{background:linear-gradient(260deg,#3d8cde,#75a9de);color:#fff}.report-side-head .center{background:#dbc6ae;color:#725943}.report-side-head>*{padding:7px 10px;font-weight:900;text-align:center;font-size:.73rem}.report-comparison-row{display:grid;grid-template-columns:1fr minmax(116px,.62fr) 1fr;align-items:stretch;border-top:1px solid rgba(155,125,96,.2)}.report-comparison-row:first-child{border-top:0}.report-side-cell{min-width:0;padding:9px 12px;display:flex;align-items:center;gap:7px}.report-side-cell.att{justify-content:flex-start;text-align:left}.report-side-cell.def{justify-content:flex-end;text-align:right}.report-center-cell{padding:9px 8px;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(213,190,164,.26);font-size:.74rem;font-weight:850;color:#6d5542}.report-side-cell b{font-size:.86rem}.report-side-cell small{display:block;font-size:.62rem;color:#806b59}.report-hero-portrait{width:56px;height:56px;object-fit:cover;border-radius:11px;border:2px solid #fff3df;box-shadow:0 0 0 2px #b69a79}.report-side-cell.def .report-hero-portrait{order:2}.report-gear-strip{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.report-gear-piece{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:2px solid #cf9f66;background:#e8c18d;overflow:hidden;position:relative}.report-gear-piece img{width:100%;height:100%;object-fit:cover}.report-widget-piece{border-color:#d4a13c;background:#f1c75d}.report-gear-piece .mini-tag{position:absolute;right:1px;bottom:1px;padding:1px 3px;border-radius:5px;background:#8e6444;color:#fff;font-size:.48rem;font-weight:900}
.report-summary-grid{display:grid;grid-template-columns:1fr 1fr}.report-summary-side{padding:15px 18px;min-width:0}.report-summary-side.att{background:linear-gradient(125deg,rgba(238,77,84,.18),transparent)}.report-summary-side.def{background:linear-gradient(235deg,rgba(62,143,232,.18),transparent);text-align:right}.report-summary-side h3{margin:0;font-size:1rem}.report-summary-side .outcome{font-size:1.35rem;font-weight:950;margin:4px 0}.report-summary-side.att .outcome{color:#bf303c}.report-summary-side.def .outcome{color:#2f73b6}.report-summary-stat{display:flex;justify-content:space-between;gap:10px;margin-top:5px;font-size:.7rem}.report-summary-side.def .report-summary-stat{flex-direction:row-reverse}.report-summary-stat b{font-size:.76rem}.report-overview-victory{grid-column:1/-1;text-align:center;padding:8px;background:#e6c98f;color:#735127;font-weight:950;border-top:1px solid #cfad70;border-bottom:1px solid #cfad70}
.report-chief-grid,.report-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.report-equipment-side{min-width:0}.report-equipment-side h4{margin:0 0 7px;font-size:.7rem;color:#745944}.report-equipment-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.report-equipment-card,.report-context-card{min-width:0;border:1px solid #d0b79a;border-radius:10px;background:#fff5e7;padding:6px;text-align:center;cursor:pointer;color:#6a513e}.report-equipment-card img,.report-context-card img{width:38px;height:38px;object-fit:cover;border-radius:7px}.report-equipment-card b,.report-context-card b{display:block;margin-top:3px;font-size:.57rem}.report-context-card small{font-size:.52rem;color:#8b7765}.report-source-grid .report-context-card{display:flex;align-items:center;gap:7px;text-align:left}.report-source-grid .report-context-card img{flex:none}
.report-troop-list{padding:5px 10px 10px}.report-troop-row{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(250px,1.4fr) minmax(100px,.75fr);align-items:center;gap:8px;padding:9px 5px;border-top:1px solid rgba(155,125,96,.22)}.report-troop-row:first-child{border-top:0}.report-troop-value{font-weight:900;font-size:.79rem}.report-troop-value small{display:block;font-size:.58rem;color:#8c7763}.report-troop-value.def{text-align:right}.report-troop-mid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px}.report-troop-track{height:15px;background:#d8c5ad;overflow:hidden;display:flex}.report-troop-track.att{justify-content:flex-start;border-radius:8px 2px 2px 8px}.report-troop-track.def{justify-content:flex-end;border-radius:2px 8px 8px 2px}.report-troop-track i{display:block;height:100%}.report-troop-track.att i{background:linear-gradient(90deg,#c9313d,#ef6e70)}.report-troop-track.def i{background:linear-gradient(90deg,#67a9e9,#2e72b8)}.report-troop-name{min-width:82px;padding:4px 7px;background:#dfccb5;border-radius:6px;text-align:center;font-size:.64rem;font-weight:900;color:#6f5642}
.report-stat-table{padding:7px 10px 12px}.report-stat-row{display:grid;grid-template-columns:1fr minmax(180px,.8fr) 1fr;align-items:center;min-height:42px;border-radius:8px;padding:3px 8px}.report-stat-row:nth-child(odd){background:rgba(255,255,255,.43)}.report-stat-value{font-weight:900;font-size:.83rem}.report-stat-value.att{text-align:right;color:#c93642}.report-stat-value.def{color:#2f9c36}.report-stat-label{text-align:center;font-size:.72rem;font-weight:850;color:#6c5745}.report-stat-help{margin-left:7px;width:25px;height:25px;border:1px solid #ad9276;border-radius:7px;background:#e3cdb4;color:#765d46;font-weight:950;cursor:pointer}
/* Skill Details: faithful mirrored in-game report composition. */
.report-skill-matchups{padding:8px}.report-skill-matchup{margin:0 0 12px;border:1px solid #cdb398;border-radius:13px;overflow:hidden;background:#eadac3}.report-skill-matchup:last-child{margin-bottom:0}.report-skill-hero-banner{display:grid;grid-template-columns:1fr 1fr;position:relative}.report-skill-hero{min-height:91px;display:flex;align-items:center;gap:10px;padding:10px 14px;color:#fff;text-shadow:0 2px 1px rgba(39,22,14,.45)}.report-skill-hero.att{background:linear-gradient(110deg,#e24049 0%,#ed716d 82%,#d7b39c 82%)}.report-skill-hero.def{justify-content:flex-end;text-align:right;background:linear-gradient(250deg,#377fc7 0%,#78a7dc 82%,#d7b39c 82%)}.report-skill-hero.def img{order:2}.report-skill-hero img{width:64px;height:64px;border-radius:12px;object-fit:cover;border:3px solid #fff1d8;box-shadow:0 0 0 2px rgba(92,65,43,.22)}.report-skill-hero strong{font-size:1.05rem}.report-skill-troop-label{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);z-index:3;padding:3px 9px;border-radius:999px;background:#ead7bf;color:#6b513e;border:1px solid #bca184;font-size:.56rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.report-detail-head,.report-detail-row{display:grid;grid-template-columns:52px 1fr 1fr 52px;align-items:center}.report-detail-head{min-height:42px;background:#f4e7d6;color:#7a624e;font-size:.68rem;font-weight:900}.report-detail-head span:nth-child(1){grid-column:1/3;text-align:center}.report-detail-head span:nth-child(2){grid-column:3/5;text-align:center}.report-detail-row{min-height:57px;border-top:1px solid rgba(155,125,96,.22)}.report-detail-row:nth-child(odd){background:rgba(255,255,255,.22)}.report-detail-skill-icon{width:39px;height:39px;justify-self:center;padding:0;border:2px solid #fff3e1;border-radius:9px;background:#d3b89a;overflow:hidden;cursor:pointer;position:relative}.report-detail-skill-icon img{width:100%;height:100%;object-fit:cover}.report-detail-skill-icon .report-detail-skill-label{position:absolute;left:1px;top:1px;background:rgba(84,59,39,.85);color:#fff;border-radius:4px;padding:1px 3px;font-size:.43rem;font-weight:950}.report-detail-number{display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:center;font-size:.8rem;font-weight:900;color:#664c38}.report-detail-number.att{grid-column:2}.report-detail-number.def{grid-column:3}.report-detail-number span:first-child{color:#7d6652}.report-detail-number span:last-child{color:#4f3d2f}.report-detail-skill-icon.def{grid-column:4}.report-detail-skill-icon.locked{opacity:.36;filter:grayscale(1)}
.report-troop-casualty-audit{padding:8px 12px 12px;border-top:1px solid #ccb194;background:#f1e3d0}.report-troop-casualty-audit h4{margin:0 0 6px;font-size:.68rem}.report-troop-casualty-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:4px 0;font-size:.62rem}.report-troop-casualty-row .att{text-align:right;color:#b7323c;font-weight:900}.report-troop-casualty-row .def{color:#2e70ad;font-weight:900}.report-troop-casualty-row .mid{color:#7e6a57}
.report-joiners{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border-top:2px solid #c8ad8e}.report-joiner-side{min-width:0}.report-joiner-side h4{margin:0 0 7px;font-size:.72rem;color:#735844}.report-joiner-side.def{text-align:right}.report-joiner-list{display:flex;flex-wrap:wrap;gap:7px}.report-joiner-side.def .report-joiner-list{justify-content:flex-end}.report-joiner{display:flex;align-items:center;gap:5px}.report-joiner-side.def .report-joiner{flex-direction:row-reverse}.report-joiner img{width:42px;height:42px;border-radius:9px;object-fit:cover;border:2px solid #c5a47f}.report-joiner b{font-size:.62rem}
.battle-report-tooltip{position:fixed;z-index:10070;left:50%;top:50%;transform:translate(-50%,-50%);display:none;width:min(500px,calc(100vw - 34px));max-height:min(540px,70vh);overflow:auto;padding:16px 18px;border:2px solid #9baebb;border-radius:17px;background:#f7fdff;color:#44576c;box-shadow:0 22px 70px rgba(0,0,0,.42);font-size:.85rem;line-height:1.55}.battle-report-tooltip.open{display:block}.battle-report-tooltip h3{margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid #d6e1e6;color:#355169;font-size:1.15rem}.battle-report-tooltip b{color:#20b768}.battle-report-empty{padding:28px;text-align:center;color:#886f58}.battle-report-empty b{display:block;font-size:1rem;margin-bottom:4px}

/* Loadout picker harmonization */
.loadout-dialog{border-color:var(--battle-line)!important;background:#0b3446!important;color:#e8f8fb!important}.loadout-dialog-head{border-bottom-color:var(--battle-line)!important}.hero-picker-choice{border-radius:12px!important}.hero-picker-choice.selected{border-color:#63d8ef!important;box-shadow:0 0 0 2px rgba(84,214,240,.12)!important}.joiner-gen-head{color:#8fdff0!important}

/* Light theme — simulator chrome only; report intentionally remains beige. */
body.light-theme{--battle-panel:rgba(241,249,251,.96);--battle-panel-2:rgba(232,245,249,.97);--battle-line:rgba(43,124,149,.25);--battle-text:#173b4b;--battle-muted:#5e7d8a}
body.light-theme .battle-lab-header,body.light-theme .battle-command-center,body.light-theme .battle-army-grid>.army-panel{background:linear-gradient(150deg,rgba(241,249,251,.98),rgba(224,241,246,.97))!important;color:#183d4d!important;box-shadow:0 15px 45px rgba(43,88,103,.12)!important}body.light-theme .battle-lab-header h1,body.light-theme .army-panel .section-title{color:#183c4b!important}body.light-theme .battle-lab-header p,body.light-theme .battle-mode-copy,body.light-theme .army-panel .stat-mode-help{color:#557887!important}.light-theme .battle-lab-badges span{color:#286779;background:#e3f5f8;border-color:#a6d4df}.light-theme .battle-mode-line{background:#e2f2f5}.light-theme .sim-run-count,.light-theme .sim-score,.light-theme .sim-average,.light-theme .optimizer-settings,.light-theme .troop-card,.light-theme .hero-card{background:#eef7f9!important;color:#1a4050!important;border-color:#b6d9e1!important}.light-theme .sim-run-count label,.light-theme .sim-average small,.light-theme .sim-complete-status{color:#557887!important}.light-theme .sim-average b{color:#173e4f}.light-theme .sim-average.att b{color:#b9343d}.light-theme .sim-average.def b{color:#286fae}.light-theme .optimizer-settings>summary{color:#1a4b5d}.light-theme .optimizer-group-title{color:#14758b}.light-theme .optimizer-speed-copy{color:#557887}.light-theme .ratio-control{background:#edf7f9!important;border-color:#c1dde4!important}.light-theme .troop-type-icon{background:#dceff3!important}.light-theme .troop-type-icon::before{color:#256276}.light-theme .hero-card .hero-gen-badge{color:#6b4b0a!important;background:#fff3c7!important}.light-theme .battle-report-open{background:linear-gradient(#f5ce73,#ddb553);color:#5b4213}.light-theme .optimizer-gen-compact{background:#fff8df}.light-theme .optimizer-gen-compact span{color:#71520d}.light-theme .optimizer-gen-compact select{background:#fff7d3!important;color:#5e450f!important}.light-theme .loadout-dialog{background:#edf8fa!important;color:#173e4f!important}

@media(max-width:1180px){.battle-command-main{grid-template-columns:1fr 1.35fr 1fr}.optimizer-launch{padding:14px}.optimizer-settings-body{grid-template-columns:1fr 1fr}.optimizer-group:nth-child(2){border-right:0}.optimizer-group:last-child{grid-column:1/-1;border-top:1px solid rgba(105,202,230,.15);padding-top:10px}.battle-army-grid{grid-template-columns:1fr!important}.army-panel #att_troops,.army-panel #def_troops{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.frozen-battle-page .command-hub{padding-left:10px!important;padding-right:10px!important}.battle-lab-header{padding:15px;display:block}.battle-lab-badges{justify-content:flex-start;margin-top:10px}.battle-command-main{grid-template-columns:1fr;gap:8px}.optimizer-launch{min-height:74px;padding:12px 14px}.optimizer-launch span{display:none}.simulation-console{grid-row:1}.optimizer-launch.att{grid-row:2}.optimizer-launch.def{grid-row:3}.sim-run-meta{grid-template-columns:1fr 1fr}.battle-report-open{grid-column:1/-1;min-height:40px}.optimizer-settings-body{grid-template-columns:1fr}.optimizer-group{border-right:0!important;padding-right:0!important;border-bottom:1px solid rgba(105,202,230,.15);padding-bottom:9px}.optimizer-group:last-child{grid-column:auto;border-bottom:0}.battle-mode-line{align-items:flex-start;flex-direction:column}.battle-mode-copy{display:none}.battle-mobile-side-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 10px;padding:4px;border:1px solid var(--battle-line);border-radius:12px;background:rgba(5,29,41,.92)}.battle-mobile-side-switch button{min-height:38px;border:0;border-radius:9px;background:transparent;color:#8fb3c0;font-weight:900}.battle-mobile-side-switch button.active{background:#2b7892;color:#fff}.battle-army-grid>.army-panel{display:none}.battle-army-grid>.army-panel.mobile-active{display:block}.army-panel #att_troops,.army-panel #def_troops{grid-template-columns:1fr!important}.ratio-control{grid-template-columns:minmax(100px,1fr) 31px minmax(70px,1fr) 44px 31px!important}.hero-card .hero-compact-grid{grid-template-columns:78px minmax(0,1fr)!important}.hero-card .hero-widget-corner{grid-column:1/-1;display:flex!important;align-items:center!important;gap:8px!important}.hero-card .hero-widget-corner select{width:95px!important}.battle-report-modal{padding:0;align-items:stretch}.battle-report-shell{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.battle-report-topbar{min-height:65px;padding:9px 12px}.battle-report-scroll{padding:8px 7px 22px}.report-section-title{font-size:.95rem}.report-comparison-row{grid-template-columns:1fr 92px 1fr}.report-side-cell{padding:7px}.report-hero-portrait{width:45px;height:45px}.report-gear-strip{gap:2px}.report-gear-piece{width:29px;height:29px;border-width:1px}.report-gear-piece .mini-tag{display:none}.report-troop-row{grid-template-columns:78px minmax(130px,1fr) 78px;gap:4px}.report-troop-name{min-width:63px;padding:3px;font-size:.53rem}.report-stat-row{grid-template-columns:1fr minmax(118px,.8fr) 1fr;padding:3px 4px}.report-stat-value{font-size:.69rem}.report-stat-label{font-size:.61rem}.report-skill-hero{min-height:75px;padding:8px}.report-skill-hero img{width:48px;height:48px}.report-skill-hero strong{font-size:.83rem}.report-detail-head,.report-detail-row{grid-template-columns:43px 1fr 1fr 43px}.report-detail-row{min-height:51px}.report-detail-skill-icon{width:34px;height:34px}.report-detail-number{font-size:.67rem}.report-joiner img{width:36px;height:36px}.report-summary-side{padding:11px}.report-summary-side .outcome{font-size:1.08rem}}
@media(max-width:430px){.battle-lab-header p{font-size:.78rem}.battle-lab-badges span{font-size:.61rem;padding:5px 7px}.sim-run-score-row{grid-template-columns:.8fr 1.2fr}.sim-score{font-size:.75rem}.sim-average{padding:7px}.global-meta-row #exploreMetaBtn{min-width:100%}.ratio-control{grid-template-columns:94px 29px minmax(60px,1fr) 40px 29px!important;gap:3px!important}.ratio-label{font-size:.63rem!important}.troop-type-icon{width:23px!important;height:23px!important;min-width:23px!important}.hero-card{padding:7px!important}.hero-card .hero-compact-grid{grid-template-columns:68px minmax(0,1fr)!important;gap:6px!important}.hero-card .hero-portrait{width:54px!important;height:54px!important}.report-side-head>*{font-size:.59rem;padding:6px 4px}.report-comparison-row{grid-template-columns:1fr 72px 1fr}.report-side-cell b{font-size:.68rem}.report-side-cell small{font-size:.51rem}.report-hero-portrait{width:38px;height:38px}.report-troop-row{grid-template-columns:65px minmax(115px,1fr) 65px}.report-troop-value{font-size:.65rem}.report-troop-value small{font-size:.48rem}.report-troop-track{height:12px}.report-stat-row{grid-template-columns:1fr 105px 1fr}.report-stat-value{font-size:.62rem}.report-stat-label{font-size:.54rem}.report-skill-hero{gap:6px}.report-skill-hero img{width:42px;height:42px}.report-skill-hero strong{font-size:.72rem}.report-detail-number{font-size:.59rem}.report-joiners{gap:6px;padding:8px}.report-joiner-list{gap:4px}.report-joiner{display:block!important;text-align:center}.report-joiner img{display:block;margin:0 auto 2px}.report-joiner b{font-size:.52rem}}

/* Workspace-owned progressive disclosure and report utility states. */
.battle-dynamic-disclosure{margin:7px 0 0;border:1px solid rgba(93,190,216,.16);border-radius:11px;background:rgba(5,28,39,.38);overflow:hidden}.battle-dynamic-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:8px 10px;color:#cbeef5;font-size:.69rem;font-weight:900;list-style:none}.battle-dynamic-disclosure>summary::-webkit-details-marker{display:none}.battle-dynamic-disclosure>summary::after{content:"Configure ▾";color:#70d9ef;font-size:.63rem}.battle-dynamic-disclosure[open]>summary::after{content:"Hide ▴"}.battle-dynamic-disclosure>summary small{color:#8faeba;font-weight:700}.battle-dynamic-disclosure>.dynamic-loadout{border-top:1px solid rgba(93,190,216,.14);padding-top:8px}.light-theme .battle-dynamic-disclosure{background:#edf7f9;border-color:#c1dde4}.light-theme .battle-dynamic-disclosure>summary{color:#214b5a}.light-theme .battle-dynamic-disclosure>summary small{color:#63828e}
.battle-recommendations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 14px 10px}.battle-recommendations>.command-suggestions{min-width:0}.sim-run-count #multiCount{display:none}.report-stat-value.good{color:#30a934!important}.report-stat-value.bad{color:#e72f32!important}.report-stat-value.even{color:#795f4b!important}.report-special-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-special-breakdown h4{margin:0 0 6px;color:#5e4938}.report-special-breakdown ul{margin:0;padding-left:18px}.report-special-breakdown li{margin:3px 0}.report-empty-inline{color:#8b7764;font-size:.62rem}.report-equipment-card small{display:block;margin-top:2px;color:#88725e;font-size:.49rem}.report-source-grid .report-equipment-side{display:grid;gap:6px}.report-source-grid .report-equipment-side h4{margin-bottom:0}.report-context-card span{min-width:0}.report-context-card{width:100%}.report-gear-piece{padding:0}.report-detail-skill-icon{padding:0}.report-stat-help{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.report-troop-track i{width:0}.battle-report-open:focus-visible,.report-detail-skill-icon:focus-visible,.report-gear-piece:focus-visible,.report-context-card:focus-visible,.report-stat-help:focus-visible{outline:3px solid #56a7df;outline-offset:2px}.optimizer-launch:focus-visible,.simulation-console #multiFightBtn:focus-visible,.global-meta-row #exploreMetaBtn:focus-visible{outline:3px solid #a5edfa;outline-offset:3px}.light-theme .battle-mobile-side-switch{background:#e6f3f6}.light-theme .battle-mobile-side-switch button{color:#4e7482}.light-theme .battle-mobile-side-switch button.active{color:#fff;background:#2d8198}
@media(max-width:760px){.battle-recommendations{grid-template-columns:1fr;margin-left:0;margin-right:0}.report-special-breakdown{grid-template-columns:1fr}.battle-dynamic-disclosure>summary small{display:none}}
.report-troop-track[data-pct="0"] i{width:0%}
.report-troop-track[data-pct="1"] i{width:1%}
.report-troop-track[data-pct="2"] i{width:2%}
.report-troop-track[data-pct="3"] i{width:3%}
.report-troop-track[data-pct="4"] i{width:4%}
.report-troop-track[data-pct="5"] i{width:5%}
.report-troop-track[data-pct="6"] i{width:6%}
.report-troop-track[data-pct="7"] i{width:7%}
.report-troop-track[data-pct="8"] i{width:8%}
.report-troop-track[data-pct="9"] i{width:9%}
.report-troop-track[data-pct="10"] i{width:10%}
.report-troop-track[data-pct="11"] i{width:11%}
.report-troop-track[data-pct="12"] i{width:12%}
.report-troop-track[data-pct="13"] i{width:13%}
.report-troop-track[data-pct="14"] i{width:14%}
.report-troop-track[data-pct="15"] i{width:15%}
.report-troop-track[data-pct="16"] i{width:16%}
.report-troop-track[data-pct="17"] i{width:17%}
.report-troop-track[data-pct="18"] i{width:18%}
.report-troop-track[data-pct="19"] i{width:19%}
.report-troop-track[data-pct="20"] i{width:20%}
.report-troop-track[data-pct="21"] i{width:21%}
.report-troop-track[data-pct="22"] i{width:22%}
.report-troop-track[data-pct="23"] i{width:23%}
.report-troop-track[data-pct="24"] i{width:24%}
.report-troop-track[data-pct="25"] i{width:25%}
.report-troop-track[data-pct="26"] i{width:26%}
.report-troop-track[data-pct="27"] i{width:27%}
.report-troop-track[data-pct="28"] i{width:28%}
.report-troop-track[data-pct="29"] i{width:29%}
.report-troop-track[data-pct="30"] i{width:30%}
.report-troop-track[data-pct="31"] i{width:31%}
.report-troop-track[data-pct="32"] i{width:32%}
.report-troop-track[data-pct="33"] i{width:33%}
.report-troop-track[data-pct="34"] i{width:34%}
.report-troop-track[data-pct="35"] i{width:35%}
.report-troop-track[data-pct="36"] i{width:36%}
.report-troop-track[data-pct="37"] i{width:37%}
.report-troop-track[data-pct="38"] i{width:38%}
.report-troop-track[data-pct="39"] i{width:39%}
.report-troop-track[data-pct="40"] i{width:40%}
.report-troop-track[data-pct="41"] i{width:41%}
.report-troop-track[data-pct="42"] i{width:42%}
.report-troop-track[data-pct="43"] i{width:43%}
.report-troop-track[data-pct="44"] i{width:44%}
.report-troop-track[data-pct="45"] i{width:45%}
.report-troop-track[data-pct="46"] i{width:46%}
.report-troop-track[data-pct="47"] i{width:47%}
.report-troop-track[data-pct="48"] i{width:48%}
.report-troop-track[data-pct="49"] i{width:49%}
.report-troop-track[data-pct="50"] i{width:50%}
.report-troop-track[data-pct="51"] i{width:51%}
.report-troop-track[data-pct="52"] i{width:52%}
.report-troop-track[data-pct="53"] i{width:53%}
.report-troop-track[data-pct="54"] i{width:54%}
.report-troop-track[data-pct="55"] i{width:55%}
.report-troop-track[data-pct="56"] i{width:56%}
.report-troop-track[data-pct="57"] i{width:57%}
.report-troop-track[data-pct="58"] i{width:58%}
.report-troop-track[data-pct="59"] i{width:59%}
.report-troop-track[data-pct="60"] i{width:60%}
.report-troop-track[data-pct="61"] i{width:61%}
.report-troop-track[data-pct="62"] i{width:62%}
.report-troop-track[data-pct="63"] i{width:63%}
.report-troop-track[data-pct="64"] i{width:64%}
.report-troop-track[data-pct="65"] i{width:65%}
.report-troop-track[data-pct="66"] i{width:66%}
.report-troop-track[data-pct="67"] i{width:67%}
.report-troop-track[data-pct="68"] i{width:68%}
.report-troop-track[data-pct="69"] i{width:69%}
.report-troop-track[data-pct="70"] i{width:70%}
.report-troop-track[data-pct="71"] i{width:71%}
.report-troop-track[data-pct="72"] i{width:72%}
.report-troop-track[data-pct="73"] i{width:73%}
.report-troop-track[data-pct="74"] i{width:74%}
.report-troop-track[data-pct="75"] i{width:75%}
.report-troop-track[data-pct="76"] i{width:76%}
.report-troop-track[data-pct="77"] i{width:77%}
.report-troop-track[data-pct="78"] i{width:78%}
.report-troop-track[data-pct="79"] i{width:79%}
.report-troop-track[data-pct="80"] i{width:80%}
.report-troop-track[data-pct="81"] i{width:81%}
.report-troop-track[data-pct="82"] i{width:82%}
.report-troop-track[data-pct="83"] i{width:83%}
.report-troop-track[data-pct="84"] i{width:84%}
.report-troop-track[data-pct="85"] i{width:85%}
.report-troop-track[data-pct="86"] i{width:86%}
.report-troop-track[data-pct="87"] i{width:87%}
.report-troop-track[data-pct="88"] i{width:88%}
.report-troop-track[data-pct="89"] i{width:89%}
.report-troop-track[data-pct="90"] i{width:90%}
.report-troop-track[data-pct="91"] i{width:91%}
.report-troop-track[data-pct="92"] i{width:92%}
.report-troop-track[data-pct="93"] i{width:93%}
.report-troop-track[data-pct="94"] i{width:94%}
.report-troop-track[data-pct="95"] i{width:95%}
.report-troop-track[data-pct="96"] i{width:96%}
.report-troop-track[data-pct="97"] i{width:97%}
.report-troop-track[data-pct="98"] i{width:98%}
.report-troop-track[data-pct="99"] i{width:99%}
.report-troop-track[data-pct="100"] i{width:100%}

/* Battle overhaul closeout: keep optimizer scope deliberate and collision-free. */
.optimizer-group[data-group="defaults"] .command-army-fields{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;align-items:end!important}
.optimizer-group[data-group="defaults"] .command-army-control{min-width:0!important}
.optimizer-group[data-group="defaults"] .command-army-control select{width:100%!important}
.optimizer-default-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.optimizer-default-actions .rail-global-btn{width:100%!important;min-width:0!important}
.optimizer-group[data-group="speed"]{display:flex;flex-direction:column;gap:9px}
.optimizer-group[data-group="speed"] .optimizer-group-title{margin-bottom:0}
.optimizer-speed-copy{line-height:1.45}.optimizer-speed-copy b{display:block;margin-bottom:3px;color:#d9f3f8;font-size:.76rem}.optimizer-speed-copy span{display:block}
.optimizer-group[data-group="speed"] #optimizerWorkers{width:100%;margin-top:auto}
.light-theme .optimizer-speed-copy b{color:#1a5366}
@media(max-width:760px){.optimizer-group[data-group="defaults"] .command-army-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.optimizer-default-actions{grid-template-columns:1fr 1fr}}

/* Final Battle refinement: restore the preferred command composition and pre-overhaul hero progression. */
.battle-restored-hero{margin-top:18px!important}.battle-restored-hero .sim-hero-copy{width:min(870px,64%)!important}.battle-restored-hero .sim-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:760px!important}
.battle-command-main{grid-template-columns:minmax(300px,1fr) minmax(340px,.88fr) minmax(300px,1fr)!important;gap:12px!important;padding:14px!important;align-items:stretch}
.optimizer-column{min-width:0;padding:18px 18px 14px;border:1px solid rgba(104,202,230,.16);background:rgba(4,25,37,.58);display:flex;flex-direction:column;gap:12px}.optimizer-column.att{border-left:3px solid var(--battle-att)}.optimizer-column.def{border-right:3px solid var(--battle-def)}.optimizer-column-head small{display:block;margin-bottom:4px;color:#8baab6;font-size:.62rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.optimizer-column-head h3{margin:0;color:#effbfe;font-size:1.16rem}.optimizer-column-head p{margin:5px 0 0;color:#91afbb;font-size:.72rem;line-height:1.4}
.optimizer-side-action{position:relative;width:100%;min-height:48px;border:1px solid transparent;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:950;cursor:pointer;overflow:hidden;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.optimizer-side-action::after{content:"";position:absolute;inset:-100% -35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-85%) rotate(15deg);transition:transform .5s ease}.optimizer-side-action:hover::after{transform:translateX(85%) rotate(15deg)}.optimizer-side-action:hover{transform:translateY(-1px);filter:brightness(1.08)}.optimizer-side-action.att{background:linear-gradient(100deg,#b52f40,#e85b68);box-shadow:0 9px 24px rgba(190,47,66,.18)}.optimizer-side-action.def{background:linear-gradient(100deg,#226aae,#4ca8ea);box-shadow:0 9px 24px rgba(47,132,201,.18)}.optimizer-side-action span,.optimizer-side-action b{position:relative;z-index:1}.optimizer-column-results{margin:0!important;min-width:0!important}.optimizer-column .command-suggestions{margin:0!important;width:100%!important}.optimizer-column .suggestion-empty{min-height:84px!important;border-radius:10px!important}.optimizer-column .optimizer-recs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.simulation-console{padding:0 2px!important}.simulation-console #multiFightBtn{min-height:62px!important;border-radius:12px!important;font-family:var(--book-font)!important}.simulation-console #multiFightBtn small{font-size:1.02rem!important}.sim-run-score-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important}.sim-run-count,.sim-score{min-height:42px!important}.sim-percent-area{padding:3px 1px!important}.sim-run-meta{grid-template-columns:1fr 1fr!important}.battle-report-open{grid-column:1/-1;min-height:42px!important}.global-meta-row{padding:2px 0 0!important;width:100%!important}.global-meta-row #exploreMetaBtn{width:100%!important;min-width:0!important;min-height:48px!important;border-radius:11px!important}.optimizer-settings{max-width:1080px;margin:0 auto 14px!important}.optimizer-settings>summary{min-height:40px!important}.optimizer-settings-body{grid-template-columns:1.05fr 1fr .8fr!important}.optimizer-gen-compact{max-width:220px;margin:0 0 8px auto!important}.optimizer-gen-compact span{font-size:.72rem!important;text-transform:none!important}.optimizer-gen-compact select{width:92px!important}

/* Hero stars deliberately inherit the original pre-overhaul snowflake/leaf control from simulator.css. */
/* Formation sliders get the full remaining row width; drag handles use a hand/grab cursor. */
.ratio-control{grid-template-columns:118px 31px minmax(0,1fr) 50px 31px!important}.ratio-label{min-width:0!important}.ratio-slider{width:100%!important;min-width:0!important;cursor:pointer!important}.ratio-slider::-webkit-slider-thumb{cursor:grab!important}.ratio-slider:active::-webkit-slider-thumb{cursor:grabbing!important}.ratio-slider::-moz-range-thumb{cursor:grab!important}.ratio-slider:active::-moz-range-thumb{cursor:grabbing!important}

/* Explicit outer-edge side markers in the parchment report. */
.report-troop-value,.report-stat-value{position:relative}.report-troop-value.att{padding-left:9px;border-left:3px solid #ef6e70}.report-troop-value.def{padding-right:9px;border-right:3px solid #67a9e9;border-left:0!important}.report-stat-value.att{padding-left:9px;border-left:3px solid #ef6e70;text-align:right}.report-stat-value.def{padding-right:9px;border-right:3px solid #67a9e9;border-left:0!important;text-align:left}.report-side-head{grid-template-columns:minmax(0,1fr) minmax(145px,.36fr) minmax(0,1fr)!important}.report-side-head .center{background:#d8c0a5!important;border-left:1px solid #c5a98a;border-right:1px solid #c5a98a}.report-troop-mid{grid-template-columns:minmax(0,1fr) minmax(74px,auto) minmax(0,1fr)!important}.report-troop-track.att{justify-content:flex-start!important}.report-troop-track.def{justify-content:flex-end!important}

/* Special Bonuses reference table: city multipliers, active role Widget multipliers, then Gareth. */
.battle-report-tooltip.special-bonus{width:min(690px,calc(100vw - 28px));max-height:min(760px,82vh);padding:12px;border:3px solid #c4a98a;border-radius:19px;background:#f0dfca;color:#6a503c;box-shadow:0 24px 70px rgba(63,39,24,.42)}.battle-report-tooltip.special-bonus h3{margin:0;padding:6px 10px 12px;border-bottom:2px solid #c7ab8d;color:#713f20;text-align:center;font-family:var(--book-font);font-size:1.35rem}.report-special-reference{margin-top:10px;border:2px solid #c9ad8c;border-radius:15px;background:#ead8c0;overflow:hidden}.report-special-heading{padding:10px 12px;text-align:center;background:#cdb59d;color:#fffaf0;font-weight:950;font-family:var(--book-font);text-shadow:0 1px 1px rgba(78,51,32,.45)}.report-special-row{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(190px,1.6fr) minmax(95px,.8fr);align-items:center;min-height:48px;padding:4px 12px;border-top:1px solid rgba(151,119,87,.18);background:#f4e7d7}.report-special-row:nth-child(odd){background:#ead9c3}.report-special-row span{text-align:center;font-weight:850;color:#6b5544}.report-special-row b{font-size:.9rem;color:#8a7766!important}.report-special-row b.att{text-align:left}.report-special-row b.def{text-align:right}.report-special-row b.active{color:#24a933!important}.report-special-row b.active:first-child,.report-special-row b.att.active{color:#24a933!important}.report-special-row b.active[data-negative],.report-special-row b.def.active[data-negative]{color:#e52d32!important}.report-special-empty{padding:18px;text-align:center;color:#8a735e}

.light-theme .optimizer-column{background:#f4fafc;border-color:#c8e0e8}.light-theme .optimizer-column-head h3{color:#173a49}.light-theme .optimizer-column-head p,.light-theme .optimizer-column-head small{color:#587985}.light-theme .sim-run-count,.light-theme .sim-score,.light-theme .sim-average{background:#f8fcfd;border-color:#bfd8e1;color:#244a59}.light-theme .sim-average small{color:#5f7e89}.light-theme .sim-average.att b{color:#c13a43}.light-theme .sim-average.def b{color:#2877b9}.light-theme .battle-report-open{background:linear-gradient(180deg,#f7e6b1,#e1c06d);color:#644a18;border-color:#cba956}.light-theme .optimizer-settings{background:#f7fbfc;border-color:#c7dfe6}.light-theme .optimizer-settings>summary{color:#244d5c}

@media(max-width:1000px){.battle-command-main{grid-template-columns:1fr!important}.simulation-console{grid-row:1}.optimizer-column.att{grid-row:2}.optimizer-column.def{grid-row:3}.optimizer-column .optimizer-recs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.optimizer-settings{max-width:none!important}.optimizer-settings-body{grid-template-columns:1fr 1fr!important}.optimizer-group[data-group="speed"]{grid-column:1/-1}.battle-restored-hero .sim-hero-copy{width:100%!important;background:linear-gradient(90deg,rgba(7,12,21,.90),rgba(7,12,21,.60))}.battle-restored-hero .sim-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.battle-restored-hero{min-height:470px!important;background-position:66% center!important}.battle-restored-hero .sim-hero-copy{padding:72px 18px 22px!important}.battle-restored-hero .sim-feature-grid{grid-template-columns:1fr!important}.optimizer-settings-body{grid-template-columns:1fr!important}.optimizer-group[data-group="speed"]{grid-column:auto}.optimizer-gen-compact{margin-left:0!important}.ratio-control{grid-template-columns:98px 29px minmax(0,1fr) 44px 29px!important}.hero-card .snowflake-row{gap:4px!important;transform:scale(.94)!important}.hero-card .hero-progression:hover .snowflake-row{transform:scale(1)!important}.report-side-head{grid-template-columns:minmax(0,1fr) minmax(92px,.36fr) minmax(0,1fr)!important}.report-special-row{grid-template-columns:minmax(70px,.75fr) minmax(140px,1.5fr) minmax(70px,.75fr);font-size:.72rem;padding:4px 7px}}
.report-special-row b.good{color:#24a933!important}.report-special-row b.bad{color:#e52d32!important}.report-special-row b.even{color:#7d6a58!important}

/* Empty optimizer hosts stay out of the command layout until real recommendations exist. */
.optimizer-column-results.command-suggestions-empty,
.optimizer-column-results:empty{
  display:none!important;
}

/* The Frozen Tundra shell gives every generic .att/.def a left border. Inside the
   parchment report that generic accent creates duplicate/misplaced markers, so the
   report owns its comparison geometry explicitly instead. */
body.frozen-battle-page #battleReportModal .att,
body.frozen-battle-page #battleReportModal .def,
body.frozen-battle-page #battleReportTooltip .att,
body.frozen-battle-page #battleReportTooltip .def{
  border-left:0!important;
  border-right:0!important;
}
body.frozen-battle-page #battleReportModal .report-troop-value.att,
body.frozen-battle-page #battleReportModal .report-stat-value.att{
  border-left:3px solid #ef6e70!important;
}
body.frozen-battle-page #battleReportModal .report-troop-value.def,
body.frozen-battle-page #battleReportModal .report-stat-value.def{
  border-right:3px solid #67a9e9!important;
}

/* Final correction: normalize troop-type heading geometry without changing troop semantics. */
.troop-card .troop-head{display:flex!important;align-items:center!important;min-height:34px!important;line-height:1!important}
.troop-head-name .troop-type-icon,.ratio-label .troop-type-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;box-sizing:border-box!important;vertical-align:middle!important}
.troop-head-name .troop-type-icon::before,.ratio-label .troop-type-icon::before{position:static!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;filter:none!important;transform:none!important;font-size:15px!important;line-height:1!important;color:currentColor!important}
.troop-head-name .troop-type-icon.inf::before,.ratio-label .troop-type-icon.inf::before{content:"▣"!important}
.troop-head-name .troop-type-icon.lancer::before,.ratio-label .troop-type-icon.lancer::before{content:"◆"!important}
.troop-head-name .troop-type-icon.marksman::before,.ratio-label .troop-type-icon.marksman::before{content:"✦"!important}
.troop-head-name .troop-type-icon.lancer::after,.ratio-label .troop-type-icon.lancer::after{display:none!important;content:none!important}

/* Keep the original star controls clear of the star/skill readouts. */
.hero-card .hero-progression-top{padding-right:148px!important;min-height:42px!important}
.hero-card .star-controls{right:12px!important;top:10px!important}
@media(max-width:760px){
  .hero-card .hero-progression-top{padding-right:0!important;padding-top:48px!important;min-height:84px!important}
  .hero-card .star-controls{right:8px!important;top:8px!important}
}

/* Skill popovers anchor beside the clicked report skill rather than the report centre. */
.report-detail-row{position:relative}
.battle-report-tooltip.anchored-skill{position:absolute!important;top:50%!important;left:62px!important;right:auto!important;transform:translateY(-50%)!important;width:min(430px,calc(100% - 124px))!important;max-height:min(420px,70vh)!important;z-index:10090!important}
.battle-report-tooltip.anchored-skill.anchor-def{left:auto!important;right:54px!important}
.battle-report-tooltip.anchored-skill::before{content:"";position:absolute;top:50%;left:-10px;transform:translateY(-50%);border-width:9px 10px 9px 0;border-style:solid;border-color:transparent #9baebb transparent transparent}
.battle-report-tooltip.anchored-skill.anchor-def::before{left:auto;right:-10px;border-width:9px 0 9px 10px;border-color:transparent transparent transparent #9baebb}
@media(max-width:520px){
  .battle-report-tooltip.anchored-skill{left:42px!important;width:calc(100% - 84px)!important;padding:12px 13px!important;font-size:.74rem!important}
  .battle-report-tooltip.anchored-skill.anchor-def{left:auto!important;right:42px!important}
}


/* Narrow-screen formation controls keep the slider as the dominant control. */
@media(max-width:430px){
  .ratio-control{
    grid-template-columns:30px minmax(0,1fr) 40px!important;
    grid-template-areas:"label label value" "minus slider plus"!important;
    gap:5px 6px!important;
  }
  .ratio-control .ratio-label{grid-area:label!important;font-size:.64rem!important}
  .ratio-control .ratio-value{grid-area:value!important;align-self:center!important}
  .ratio-control .ratio-step:first-of-type{grid-area:minus!important}
  .ratio-control .ratio-slider{grid-area:slider!important}
  .ratio-control .ratio-step:last-of-type{grid-area:plus!important}
}

/* ===== PROMPT A RECOVERY REFINEMENTS (2026-09-13) ===== */
/* Restore the exact historical snowflake geometry. Later workspace/mobile rules must not compress it. */
.hero-card .snowflake-row{gap:7px!important;transform:none!important;min-height:48px!important}
.hero-card .hero-progression:hover .snowflake-row{transform:scale(1.10)!important;filter:drop-shadow(0 5px 10px rgba(34,211,238,.15))!important}

/* Give the main commander cards enough visual weight without changing any mechanics. */
.battle-army-grid{max-width:1660px!important;margin-left:auto!important;margin-right:auto!important;gap:16px!important}
.battle-army-grid>.army-panel{padding:16px!important}
.hero-card{padding:11px!important;margin:9px 0!important}
.hero-card .hero-compact-grid{grid-template-columns:104px minmax(0,1fr) 124px!important;gap:11px!important}
.hero-card .hero-portrait{width:72px!important;height:72px!important}
.hero-card .hero-photo-name{font-size:.74rem!important}
.hero-card .skills-grid{gap:6px!important}
.hero-card .skill-box{padding:7px!important;gap:6px!important}
.hero-card .skill-icon{width:42px!important;height:42px!important;flex:0 0 42px!important}
.hero-card .skill-box b{font-size:.69rem!important;line-height:1.18!important}
.hero-card .skill-box .small{font-size:.61rem!important;line-height:1.36!important}
.hero-card .widget-box-v4{padding:8px!important}
.hero-card .widget-img{width:52px!important;height:52px!important}
.hero-card .hero-widget-corner label{font-size:.7rem!important}

/* Mode is a restrained segmented control: no selected underline. */
.battle-mode-line .command-context{padding:4px!important;gap:4px!important;border:1px solid rgba(126,189,205,.20)!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(8,28,40,.80),rgba(4,21,32,.76))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important}
.battle-mode-line .command-context .battle-context-btn{min-height:36px!important;padding:6px 15px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#9fc1cc!important;box-shadow:none!important}
.battle-mode-line .command-context .battle-context-btn.active{border-color:rgba(83,190,218,.34)!important;background:linear-gradient(180deg,rgba(34,112,132,.34),rgba(21,72,91,.32))!important;color:#e9fbff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important}
.battle-mode-line .command-context .battle-context-btn.active::after{display:none!important;content:none!important}
body.light-theme .battle-mode-line .command-context{background:#edf6f8!important;border-color:#c5dce3!important}
body.light-theme .battle-mode-line .command-context .battle-context-btn{color:#5d7883!important}
body.light-theme .battle-mode-line .command-context .battle-context-btn.active{background:#fff!important;border-color:#9bcbd8!important;color:#215e70!important}

/* Search Scope: one premium surface, one switch language, one accent. */
.optimizer-settings{border-color:rgba(109,195,216,.24)!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(8,31,44,.88),rgba(5,22,33,.86))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 26px rgba(1,12,18,.16)!important}
.optimizer-settings>summary{padding:11px 15px!important;letter-spacing:.01em!important;color:#e4f7fb!important}
.optimizer-settings-body{padding:14px!important;gap:10px!important}
.optimizer-group{padding:10px!important;border:1px solid rgba(110,190,211,.13)!important;border-radius:12px!important;background:rgba(4,24,35,.40)!important}
.optimizer-group:last-child{padding-right:10px!important;border-right:1px solid rgba(110,190,211,.13)!important}
.optimizer-group-title{color:#8bd9e9!important;letter-spacing:.07em!important}
.optimizer-settings .rail-joiner-opt{border-color:rgba(137,180,195,.18)!important;background:linear-gradient(180deg,rgba(19,38,52,.74),rgba(10,27,40,.80))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.optimizer-settings .rail-joiner-opt:has(input:checked){border-color:rgba(71,184,215,.42)!important;background:linear-gradient(135deg,rgba(19,104,128,.22),rgba(32,94,147,.18))!important}
.optimizer-settings .rail-joiner-opt input:not(:checked)+.rail-joiner-switch{background:linear-gradient(180deg,#445665,#2e3d49)!important;border-color:#60717e!important}
.optimizer-settings .rail-joiner-opt input:checked+.rail-joiner-switch{background:linear-gradient(90deg,#1187a2,#2b75bd)!important;border-color:#68cee6!important;box-shadow:0 0 0 1px rgba(88,204,232,.12),0 0 13px rgba(37,139,189,.15)!important}
.optimizer-settings .rail-joiner-opt .rail-joiner-copy b{color:#e7f5f8!important}
.optimizer-settings .rail-joiner-opt:has(input:checked) .rail-joiner-copy b:after{background:rgba(60,167,198,.15)!important;border-color:rgba(91,197,225,.24)!important;color:#bfeef7!important}
.optimizer-gen-compact{max-width:none!important;margin:0 0 9px!important;padding:8px 10px!important;border:1px solid rgba(236,190,89,.50)!important;border-radius:11px!important;background:linear-gradient(135deg,rgba(129,88,22,.22),rgba(70,52,24,.15))!important;box-shadow:inset 0 1px 0 rgba(255,241,186,.05)!important}
.optimizer-gen-compact span{font-size:.78rem!important;letter-spacing:.04em!important;color:#f3d27a!important;font-weight:1000!important}
.optimizer-gen-compact select{width:96px!important;min-height:34px!important;border-color:rgba(239,197,100,.58)!important;background:#302718!important;color:#ffe9a8!important;font-size:.8rem!important;font-weight:950!important}
body.light-theme .optimizer-settings{background:linear-gradient(180deg,#f8fcfd,#f0f7f9)!important;border-color:#c5dfe6!important}
body.light-theme .optimizer-settings>summary{color:#234c5b!important}
body.light-theme .optimizer-group{background:#fff!important;border-color:#dbe8ed!important}
body.light-theme .optimizer-settings .rail-joiner-opt{background:linear-gradient(180deg,#fff,#f6f9fb)!important;border-color:#d2dde6!important}
body.light-theme .optimizer-settings .rail-joiner-opt:has(input:checked){background:linear-gradient(135deg,#eaf7fb,#edf3ff)!important;border-color:#8fc4d9!important}
body.light-theme .optimizer-settings .rail-joiner-opt .rail-joiner-copy b{color:#264253!important}
body.light-theme .optimizer-gen-compact{background:#fff8e8!important;border-color:#dec47f!important}
body.light-theme .optimizer-gen-compact span{color:#76541c!important}
body.light-theme .optimizer-gen-compact select{background:#fff!important;color:#76541c!important}

/* Keep the Global Meta explanation physically attached to the button and restore a restrained gold/flame accent. */
.global-meta-row .rail-meta-wrap{position:relative!important;width:100%!important;max-width:none!important;margin:0!important}
.global-meta-row .rail-meta-wrap #exploreMetaBtn{width:100%!important}
.global-meta-row #exploreMetaBtn{isolation:isolate!important;background:linear-gradient(135deg,#5c4322,#a57128 55%,#c79739)!important;box-shadow:0 10px 24px rgba(173,123,40,.18),inset 0 1px 0 rgba(255,243,191,.18)!important}
.global-meta-row #exploreMetaBtn::before{content:""!important;display:block!important;position:absolute!important;z-index:0!important;left:8%!important;right:8%!important;bottom:-16px!important;height:34px!important;background:radial-gradient(ellipse at 22% 100%,rgba(255,204,83,.36),transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(255,139,39,.26),transparent 54%),radial-gradient(ellipse at 78% 100%,rgba(255,213,96,.30),transparent 48%)!important;filter:blur(2px)!important;opacity:.68!important;transform-origin:50% 100%!important;animation:meta-flame 3.2s ease-in-out infinite!important;pointer-events:none!important}
.global-meta-row #exploreMetaBtn::after{display:block!important;z-index:1!important;pointer-events:none!important}
.global-meta-row #exploreMetaBtn>*{position:relative!important;z-index:2!important}
@keyframes meta-flame{0%,100%{transform:scaleX(.94) scaleY(.86);opacity:.48}50%{transform:scaleX(1.04) scaleY(1.08);opacity:.72}}
@media(prefers-reduced-motion:reduce){.global-meta-row #exploreMetaBtn::before,.global-meta-row #exploreMetaBtn::after{animation:none!important}}

/* Empty optimizer result surfaces: premium, calm, and clearly non-result state. */
.optimizer-column-results.command-suggestions-empty{display:block!important}
.optimizer-column-results:empty{display:block!important;min-height:0!important}
.optimizer-column .suggestion-empty.premium-empty{min-height:92px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;padding:14px 15px!important;border:1px dashed rgba(133,180,194,.24)!important;border-radius:11px!important;background:linear-gradient(180deg,rgba(15,35,48,.52),rgba(8,25,36,.45))!important;text-align:left!important;color:#8fa9b3!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.suggestion-empty-eyebrow{font-size:.56rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#6f96a3!important;font-weight:950!important}
.optimizer-column .suggestion-empty.premium-empty b{font-family:var(--book-font)!important;font-size:.82rem!important;color:#dcecf0!important;font-weight:900!important}
.optimizer-column .suggestion-empty.premium-empty small{font-size:.63rem!important;line-height:1.42!important;color:#88a4ae!important}
body.light-theme .optimizer-column .suggestion-empty.premium-empty{background:linear-gradient(180deg,#fff,#f6fafb)!important;border-color:#c7dce2!important;color:#647f89!important}
body.light-theme .optimizer-column .suggestion-empty.premium-empty b{color:#294c58!important}

/* Rank order is visually inward-out: #1 nearest the simulation console, then #2, then #3. */
@media(min-width:1001px){
  .optimizer-column.att .optimizer-recs{direction:rtl!important}
  .optimizer-column.att .optimizer-recs>*{direction:ltr!important}
  .optimizer-column.def .optimizer-recs{direction:ltr!important}
}
@media(max-width:1000px){.optimizer-column.att .optimizer-recs{direction:ltr!important}}

/* Expert Comparison mirrors the in-game report: identity at the outer edge, passive/skills toward center. */
.report-expert-list{display:grid;gap:0}
.report-expert-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.36fr) minmax(0,1fr);align-items:stretch;border-top:1px solid rgba(155,125,96,.22);min-height:92px}
.report-expert-row:first-child{border-top:0}
.report-expert-side{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding:10px 12px;background:rgba(255,247,235,.52)}
.report-expert-side.def{flex-direction:row;justify-content:space-between;text-align:right}
.report-expert-side.empty{min-height:74px;opacity:.35}
.report-expert-divider{display:flex;align-items:center;justify-content:center;padding:8px;background:rgba(213,190,164,.24);color:#745d49;font-size:.66rem;font-weight:900;text-align:center}
.report-expert-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto}
.report-expert-side.def .report-expert-identity{flex-direction:row-reverse}
.report-expert-identity>img{width:68px;height:68px;object-fit:cover;border-radius:12px;border:2px solid #f7e5c9;box-shadow:0 0 0 2px #b79873;background:#d6c1a7}
.report-expert-identity span{min-width:0}
.report-expert-identity b{display:block;color:#6c4d35;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-expert-identity small{display:block;margin-top:2px;color:#8b725d;font-size:.57rem;font-weight:800}
.report-expert-skills{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;min-width:0}
.report-expert-side.def .report-expert-skills{justify-content:flex-start}
.report-expert-skill{position:relative;width:46px;height:46px;padding:0;border:2px solid #b99a75;border-radius:9px;background:#d6bd98;overflow:hidden;cursor:pointer;box-shadow:0 2px 5px rgba(82,53,31,.14)}
.report-expert-skill.passive{border-color:#b98b3e;box-shadow:0 0 0 1px rgba(217,168,75,.25),0 2px 5px rgba(82,53,31,.14)}
.report-expert-skill img{width:100%;height:100%;object-fit:cover;display:block}
.report-expert-skill small{position:absolute;right:1px;bottom:1px;min-width:17px;padding:1px 3px;border-radius:5px;background:rgba(82,52,31,.88);color:#fff9ec;font-size:.45rem;font-weight:950;line-height:1.2}

/* Chief gear report cards: piece plus its three charm visuals; all remain clickable. */
.report-equipment-card{position:relative;overflow:hidden}
.report-equipment-card .report-chief-piece-image{width:44px!important;height:44px!important;object-fit:contain!important}
.report-charm-triplet{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:5px;padding-top:5px;border-top:1px solid rgba(167,132,96,.20)}
.report-charm-triplet>*{min-width:0}
.report-charm-triplet .report-charm-mini{position:relative;display:flex;align-items:center;justify-content:center;min-height:27px;padding:1px;border:1px solid rgba(170,134,95,.30);border-radius:6px;background:#f3e4d0}
.report-charm-triplet .report-charm-mini img{width:23px!important;height:23px!important;object-fit:contain!important;border-radius:4px!important}
.report-charm-triplet .report-charm-mini.empty{font-size:.62rem;color:#b59a7f}
.report-charm-triplet .report-charm-mini small{position:absolute;right:1px;bottom:0;padding:0 2px;border-radius:4px;background:#846447;color:#fff;font-size:.41rem!important;line-height:1.25}

/* Battle Details columns share the exact same two-column geometry as their values. */
.report-detail-number-head{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:center!important;text-align:center!important;min-width:0!important}
.report-detail-number-head span{display:block!important;min-width:0!important;padding:0 3px!important;font-size:.55rem!important;font-weight:950!important;letter-spacing:.02em!important;color:#78614e!important;white-space:nowrap!important}
.report-detail-number-head span+span{border-left:1px solid rgba(145,113,84,.18)!important}
.report-detail-number{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:center!important;text-align:center!important}
.report-detail-number>*{min-width:0!important;text-align:center!important}

/* Per-skill tooltip stays beside the clicked icon; class-only clamps avoid runtime style attributes. */
.report-skill-matchup.tooltip-open{overflow:visible!important;position:relative;z-index:8}
.battle-report-tooltip.anchored-skill.clamp-bottom{transform:translateY(calc(-100% + 30px))!important}
.battle-report-tooltip.anchored-skill.clamp-top{transform:translateY(-30px)!important}
.battle-report-open:focus-visible,.report-detail-skill-icon:focus-visible,.report-gear-piece:focus-visible,.report-equipment-card:focus-visible,.report-expert-skill:focus-visible,.report-context-card:focus-visible,.report-stat-help:focus-visible{outline:3px solid #56a7df;outline-offset:2px}

@media(max-width:760px){
  .hero-card .hero-compact-grid{grid-template-columns:88px minmax(0,1fr)!important;gap:8px!important}
  .hero-card .hero-portrait{width:64px!important;height:64px!important}
  .hero-card .hero-progress-main{grid-column:1/-1!important;grid-row:2!important;min-width:0!important}
  .hero-card .hero-widget-corner{grid-column:1/-1!important;grid-row:3!important;justify-self:stretch!important;width:auto!important}
  .hero-card .skill-icon{width:39px!important;height:39px!important;flex-basis:39px!important}
  .hero-card .widget-img{width:48px!important;height:48px!important}
  .hero-card .snowflake-row{gap:7px!important;transform:none!important}
  .hero-card .hero-progression:hover .snowflake-row{transform:scale(1.10)!important}
  .report-expert-row{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}
  .report-expert-side{padding:8px 7px;gap:5px;align-content:center;flex-wrap:wrap}
  .report-expert-identity>img{width:52px;height:52px}
  .report-expert-skill{width:38px;height:38px}
  .report-expert-skills{gap:3px}
}
@media(max-width:430px){
  .battle-army-grid>.army-panel{padding:11px!important}
  .hero-card{padding:8px!important}
  .hero-card .hero-compact-grid{grid-template-columns:74px minmax(0,1fr)!important}
  .hero-card .hero-progress-main{grid-column:1/-1!important}
  .hero-card .snowflake-row{gap:7px!important;transform:none!important}
  .hero-card .hero-progression:hover .snowflake-row{transform:none!important;filter:none!important}
  .report-expert-row{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)}
  .report-expert-divider{padding:4px;font-size:.52rem}
  .report-expert-side{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center!important}
  .report-expert-side.def{display:grid;grid-template-columns:1fr}
  .report-expert-side.def .report-expert-identity{flex-direction:row}
  .report-expert-identity>img{width:44px;height:44px}
  .report-expert-identity b{font-size:.62rem}
  .report-expert-skill{width:32px;height:32px}
  .report-expert-skills,.report-expert-side.def .report-expert-skills{justify-content:center}
  .report-detail-number-head span{font-size:.48rem!important;padding:0 1px!important}
}
/* Nested heading spans must not inherit the legacy outer-head nth-child grid spans. */
.report-detail-head>.report-detail-number-head.att{grid-column:2!important}
.report-detail-head>.report-detail-number-head.def{grid-column:3!important}
.report-detail-head>.report-detail-number-head>span:nth-child(1),
.report-detail-head>.report-detail-number-head>span:nth-child(2){grid-column:auto!important;text-align:center!important}

/* Fit full Expert names plus five maxed skill icons without truncating identity copy. */
@media(min-width:761px){
  .report-expert-identity{flex:0 0 118px!important}
  .report-expert-identity>img{width:60px!important;height:60px!important}
  .report-expert-identity span{min-width:50px!important}
  .report-expert-identity b{overflow:visible!important;text-overflow:clip!important}
  .report-expert-skills{flex:1 1 auto!important;gap:4px!important}
  .report-expert-skill{width:40px!important;height:40px!important}
}

/* Post-PROMPT-A report refinement: expert icons stay readable and level labels no longer cover artwork. */
.report-expert-skill{width:52px!important;height:auto!important;min-height:66px!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;overflow:visible!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important}
.report-expert-skill img{width:52px!important;height:52px!important;object-fit:cover!important;display:block!important;border:2px solid #b99a75!important;border-radius:9px!important;background:#d6bd98!important;box-shadow:0 2px 5px rgba(82,53,31,.14)!important}
.report-expert-skill.passive img{border-color:#b98b3e!important;box-shadow:0 0 0 1px rgba(217,168,75,.25),0 2px 5px rgba(82,53,31,.14)!important}
.report-expert-skill small{position:static!important;display:block!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:1px 4px!important;border-radius:5px!important;background:#77583e!important;color:#fff9ec!important;font-size:.43rem!important;font-weight:950!important;line-height:1.25!important;white-space:nowrap!important;text-align:center!important}
.report-tip-value{color:#c36a13!important;font-weight:950!important}
.report-expert-tooltip-copy,.report-skill-tooltip-copy{margin-bottom:9px;color:#44576c}
.report-expert-tooltip-level,.report-skill-tooltip-meta{margin:8px 0;color:#6f6259;font-size:.78rem;font-weight:800}
.report-expert-effect-list,.report-gear-tooltip-lines{display:grid;gap:0;margin-top:9px;border:1px solid rgba(154,125,95,.28);border-radius:10px;overflow:hidden;background:#fff8ed}
.report-expert-effect-list>div,.report-gear-tooltip-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border-top:1px solid rgba(154,125,95,.18)}
.report-expert-effect-list>div:first-child,.report-gear-tooltip-lines>div:first-child{border-top:0}
.report-expert-effect-list span,.report-gear-tooltip-lines span{font-weight:800;color:#685646}
.report-expert-effect-list strong,.report-gear-tooltip-lines strong{white-space:nowrap;color:#c36a13!important;font-weight:950}
.report-expert-effect-off{margin-top:8px;color:#907b67;font-style:italic}
.report-charm-mini{pointer-events:none}

@media (min-width:761px) and (max-width:1000px){
  .report-expert-identity{flex-basis:104px!important}
  .report-expert-skill{width:42px!important;min-height:56px!important}
  .report-expert-skill img{width:42px!important;height:42px!important}
  .report-expert-skill small{font-size:.39rem!important;padding:1px 3px!important}
}
@media(max-width:760px){
  .report-expert-skill{width:40px!important;min-height:53px!important}
  .report-expert-skill img{width:40px!important;height:40px!important}
  .report-expert-skill small{font-size:.37rem!important;padding:1px 2px!important}
}
@media(max-width:430px){
  .report-expert-skill{width:34px!important;min-height:46px!important}
  .report-expert-skill img{width:34px!important;height:34px!important}
  .report-expert-skill small{font-size:.34rem!important;padding:1px 2px!important}
}

/* ===== Post-report precision refinements ===== */
/* Public battle utilities are intentionally normal-user controls; the old admin diagnostic
   swap remains available separately but is not required to access this workflow. */
.battle-utility-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-left:auto;min-width:0}
.battle-utility-btn{min-height:36px;padding:7px 11px;border:1px solid rgba(110,188,208,.28);border-radius:10px;background:linear-gradient(180deg,rgba(16,50,65,.82),rgba(8,32,45,.84));color:#dff6fa;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.68rem;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.battle-utility-btn:hover{transform:translateY(-1px);border-color:rgba(115,218,238,.55);background:linear-gradient(180deg,rgba(22,67,84,.92),rgba(11,42,56,.92))}.battle-utility-btn:disabled{opacity:.55;cursor:wait;transform:none}
.battle-utility-btn.swap span{font-size:1rem;color:#92dfef}.battle-utility-btn.reader span{font-size:.95rem;color:#f2cc70}
.battle-reader-status{flex-basis:100%;max-width:360px;margin-left:auto;text-align:right;color:#84a8b4;font-size:.58rem;line-height:1.3;min-height:.75rem}.battle-reader-status[data-tone="ok"]{color:#7dd8af}.battle-reader-status[data-tone="warn"]{color:#e5bd69}.battle-reader-status[data-tone="error"]{color:#ef8b8e}
body.light-theme .battle-utility-btn{background:#fff!important;border-color:#c3dbe2!important;color:#2c5664!important;box-shadow:0 3px 10px rgba(37,85,102,.06)!important}body.light-theme .battle-utility-btn:hover{background:#f6fbfc!important;border-color:#8ec8d6!important}body.light-theme .battle-reader-status{color:#607e89}

/* The historical/staging snowflake is six loose leaves around a transparent center. Generic
   button sizing must never turn the individual leaves into rectangular cards. */
.hero-card .snowflake{position:relative!important;display:block!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;flex:0 0 48px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.hero-card .snowflake-leaf{position:absolute!important;left:50%!important;top:50%!important;width:13px!important;min-width:13px!important;max-width:13px!important;height:19px!important;min-height:19px!important;max-height:19px!important;margin:-9.5px 0 0 -6.5px!important;padding:0!important;border:0!important;border-radius:60% 60% 48% 48%!important;transform-origin:50% 9.5px!important;box-sizing:border-box!important;line-height:0!important}
.hero-card .snowflake-leaf:nth-child(1){transform:rotate(0deg) translateY(-13px)!important}.hero-card .snowflake-leaf:nth-child(2){transform:rotate(-60deg) translateY(-13px)!important}.hero-card .snowflake-leaf:nth-child(3){transform:rotate(-120deg) translateY(-13px)!important}.hero-card .snowflake-leaf:nth-child(4){transform:rotate(-180deg) translateY(-13px)!important}.hero-card .snowflake-leaf:nth-child(5){transform:rotate(-240deg) translateY(-13px)!important}.hero-card .snowflake-leaf:nth-child(6){transform:rotate(-300deg) translateY(-13px)!important}
@media(max-width:850px){.hero-card .snowflake-row{gap:7px!important;transform:none!important;min-height:48px!important}.hero-card .hero-progression:hover .snowflake-row{transform:none!important}}
@media(max-width:650px){.hero-card .hero-progress-main{grid-column:1/-1!important;grid-row:2!important}.hero-card .snowflake-row{justify-content:center!important}.hero-card .hero-widget-corner{grid-row:3!important}}

/* Formation handles are values, not panel resizers. Use an ordinary pointer everywhere. */
.ratio-slider,.ratio-slider:hover,.ratio-slider:active,.ratio-slider::-webkit-slider-thumb,.ratio-slider::-webkit-slider-thumb:hover,.ratio-slider::-webkit-slider-thumb:active,.ratio-slider::-moz-range-thumb,.ratio-slider::-moz-range-thumb:hover,.ratio-slider::-moz-range-thumb:active{cursor:pointer!important}

/* Light theme must cover the full side configuration surface, not only the inner troop cards. */
body.light-theme .army-panel .hero-card,body.light-theme .army-panel .joiner-card{background:#f8fcfd!important;border-color:#bfd9e1!important;color:#183f4e!important;box-shadow:0 7px 20px rgba(44,91,106,.07)!important}
body.light-theme .army-panel .hero-card .skill-box{background:#fff!important;border-color:#d4e4e9!important;color:#173d4c!important}
body.light-theme .army-panel .hero-card .skill-desc,body.light-theme .army-panel .joiner-card .joiner-skill-name,body.light-theme .army-panel .joiner-card label{color:#577985!important}
body.light-theme .army-panel .joiner-photo-select{background:#f7fbfc!important;border-color:#c9dfe5!important;color:#183f4e!important}
body.light-theme .army-panel .joiner-card select,body.light-theme .army-panel .hero-card select{background:#fff!important;color:#254d5b!important;border-color:#c4dae1!important}
body.light-theme .army-panel .stat-mode-wrap,body.light-theme .army-panel .formation-mode-toggle{background:#e8f3f6!important;border-color:#bdd9e1!important;box-shadow:none!important}
body.light-theme .army-panel .stat-mode-btn,body.light-theme .army-panel .formation-mode-toggle button{background:#fff!important;color:#587684!important;border-color:#c6dce3!important;box-shadow:none!important}
body.light-theme .army-panel .stat-mode-btn.active,body.light-theme .army-panel .formation-mode-toggle button.active{background:linear-gradient(180deg,#45bdd2,#2396b1)!important;color:#fff!important;border-color:#258da6!important}
body.light-theme .army-panel .ratio-wrap{background:#f8fcfd!important;border-color:#bfdbe3!important;color:#244e5d!important}
body.light-theme .army-panel .army-total-field input{background:#fff!important;color:#244e5d!important;border-color:#bed7df!important}

/* Meta label remains optically centered regardless of crown/progress/recalculate state. */
.global-meta-row .rail-meta-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important}
.global-meta-row #exploreMetaBtn{position:relative!important;overflow:hidden!important}
.global-meta-row #exploreMetaBtn .meta-button-content{position:absolute!important;inset:0!important;display:block!important;width:auto!important;height:auto!important;min-height:0!important}
.global-meta-row #metaButtonLabel{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:max-content!important;max-width:70%!important;text-align:center!important;white-space:nowrap!important}
.global-meta-row .meta-crown{position:absolute!important;left:10px!important;top:50%!important;transform:translateY(-50%)!important}.global-meta-row .meta-button-pct{position:absolute!important;right:11px!important;top:50%!important;transform:translateY(-50%)!important}.global-meta-row .meta-btn-spark{position:absolute!important;right:42px!important;top:50%!important;transform:translateY(-50%)!important}
.rail-meta-recalculate{min-height:48px;padding:0 10px;border:1px solid rgba(214,178,88,.38);border-radius:10px;background:linear-gradient(180deg,rgba(73,55,30,.88),rgba(44,35,22,.90));color:#f2d990;font-size:.64rem;font-weight:950;letter-spacing:.01em;cursor:pointer;white-space:nowrap}.rail-meta-recalculate:hover{filter:brightness(1.12)}.rail-meta-recalculate[hidden]{display:none!important}
body.light-theme .rail-meta-recalculate{background:#fff8df!important;color:#765419!important;border-color:#d8bf76!important}

/* A visibly stronger premium flame: layered tongues travel upward behind the Meta label. */
.global-meta-row #exploreMetaBtn::before{content:""!important;display:block!important;position:absolute!important;z-index:0!important;left:3%!important;right:3%!important;bottom:-27px!important;height:77px!important;background:radial-gradient(ellipse at 12% 100%,rgba(255,235,127,.92) 0 10%,rgba(255,161,35,.74) 18%,transparent 43%),radial-gradient(ellipse at 35% 105%,rgba(255,219,93,.98) 0 12%,rgba(255,118,21,.74) 23%,transparent 48%),radial-gradient(ellipse at 58% 100%,rgba(255,243,151,.96) 0 10%,rgba(255,156,24,.82) 22%,transparent 47%),radial-gradient(ellipse at 83% 106%,rgba(255,213,78,.94) 0 12%,rgba(247,106,18,.72) 24%,transparent 48%)!important;filter:blur(1.5px) saturate(1.25)!important;opacity:.93!important;transform-origin:50% 100%!important;animation:meta-flame-rise 1.35s ease-in-out infinite alternate!important;pointer-events:none!important}
.global-meta-row #exploreMetaBtn::after{content:""!important;position:absolute!important;z-index:1!important;left:-25%!important;top:-40%!important;width:150%!important;height:180%!important;background:linear-gradient(112deg,transparent 36%,rgba(255,240,173,.04) 43%,rgba(255,232,136,.42) 50%,rgba(255,241,180,.05) 57%,transparent 64%)!important;animation:meta-gold-sweep 2.1s linear infinite!important;pointer-events:none!important}
.global-meta-row #exploreMetaBtn>*{z-index:2!important}
@keyframes meta-flame-rise{0%{transform:translateY(9px) scaleX(.93) scaleY(.82);filter:blur(2px) saturate(1.1);opacity:.72}48%{transform:translateY(-2px) scaleX(1.04) scaleY(1.08);filter:blur(1px) saturate(1.35);opacity:1}100%{transform:translateY(-7px) scaleX(.98) scaleY(1.18);filter:blur(1.5px) saturate(1.42);opacity:.92}}
@keyframes meta-gold-sweep{from{transform:translateX(-40%)}to{transform:translateX(40%)}}
@media(prefers-reduced-motion:reduce){.global-meta-row #exploreMetaBtn::before,.global-meta-row #exploreMetaBtn::after{animation:none!important}}

/* Empty recommendation surfaces are neutral parchment/glass cards, never red/blue arrow wings. */
.optimizer-column-results.command-suggestions-empty{display:block!important;position:relative!important;clip-path:none!important;border:1px solid rgba(126,174,188,.17)!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(12,35,47,.44),rgba(8,27,38,.38))!important;overflow:hidden!important;min-height:94px!important}
.optimizer-column-results.command-suggestions-empty::before,.optimizer-column-results.command-suggestions-empty::after{display:none!important;content:none!important;animation:none!important;background:none!important}
.optimizer-column .command-suggestions-empty .suggestion-empty.premium-empty{min-height:92px!important;padding:14px 15px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;color:#8fa9b3!important}
.optimizer-column .command-suggestions-empty .suggestion-empty-eyebrow{color:#7195a1!important}.optimizer-column .command-suggestions-empty .suggestion-empty-copy b{color:#dcecf0!important}.optimizer-column .command-suggestions-empty .suggestion-empty-copy small{color:#8aa5ae!important}
body.light-theme .optimizer-column-results.command-suggestions-empty{background:linear-gradient(180deg,#fff,#f5fafb)!important;border-color:#c9dde3!important}body.light-theme .optimizer-column .command-suggestions-empty .suggestion-empty-copy b{color:#294c58!important}body.light-theme .optimizer-column .command-suggestions-empty .suggestion-empty-copy small{color:#607b85!important}

/* Recommendation footer stays fully inside the clickable card at every width. */
.optimizer-recommend-card{height:auto!important;min-height:170px!important;padding-bottom:9px!important;overflow:visible!important}.optimizer-recommend-card .optimizer-apply-hint{position:static!important;display:block!important;min-height:13px!important;margin-top:5px!important;padding:1px 0 0!important;line-height:1.15!important;white-space:nowrap!important;overflow:visible!important}

/* Local game troop portraits replace generic Unicode troop glyphs. */
.troop-type-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:8px!important;overflow:hidden!important;background:transparent!important;border:1px solid rgba(128,181,197,.25)!important}.troop-type-icon img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.troop-type-icon::before,.troop-type-icon::after{display:none!important;content:none!important}

@media(max-width:900px){.battle-mode-line{gap:8px!important}.battle-utility-actions{width:100%;justify-content:flex-start;margin-left:0}.battle-reader-status{max-width:none;text-align:left;margin-left:0}.global-meta-row .rail-meta-wrap{grid-template-columns:minmax(0,1fr)!important}.rail-meta-recalculate{width:100%;min-height:38px}.global-meta-row #metaButtonLabel{max-width:66%!important}}

/* 2026-09-13 public Battle utilities share the context line without squeezing its label. */
.battle-mode-line{flex-wrap:wrap!important}
.battle-mode-copy{flex:1 1 260px!important;min-width:220px!important}
.battle-utility-actions{display:flex;align-items:center;gap:6px;flex:0 1 auto;margin-left:auto}
.battle-utility-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid rgba(105,202,230,.25);border-radius:9px;background:linear-gradient(180deg,rgba(15,48,62,.92),rgba(7,31,43,.94));color:#dff6fb;font-size:.66rem;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);white-space:nowrap}
.battle-utility-btn:hover{border-color:rgba(105,202,230,.5);filter:brightness(1.08)}
.battle-utility-btn.reader{border-color:rgba(224,182,80,.34);color:#f7dfa0;background:linear-gradient(180deg,rgba(76,58,28,.92),rgba(45,36,22,.94))}
.battle-reader-status{font-size:.61rem;color:#8eabb5;max-width:220px;line-height:1.25}
.battle-reader-status[data-tone="ok"]{color:#8dd7ad}.battle-reader-status[data-tone="warn"]{color:#e8c87a}.battle-reader-status[data-tone="error"]{color:#ef9b9f}
body.light-theme .battle-utility-btn{background:#fff!important;color:#365c69!important;border-color:#bfd9e1!important}body.light-theme .battle-utility-btn.reader{background:#fff9e9!important;color:#765419!important;border-color:#dbc47d!important}body.light-theme .battle-reader-status{color:#607f8a!important}

/* Final ownership guard: all optimizer empty hosts inside the Battle command surface are quiet cards. */
.battle-command-main .command-suggestions-empty::before,
.battle-command-main .command-suggestions-empty::after{display:none!important;content:none!important;animation:none!important;background:none!important}

/* Mid-desktop optimizer cards need enough vertical room once the three compact
   recommendations narrow around the simulation console. Keep the load action
   inside the clickable card instead of letting it spill past the grid track. */
@media (min-width:981px) and (max-width:1100px){
  .optimizer-column .command-suggestions.optimizer-recs{height:214px!important;min-height:214px!important;max-height:214px!important;overflow:visible!important}
  .optimizer-column .optimizer-recommend-card{height:auto!important;min-height:196px!important;align-self:stretch!important}
}

/* Phone optimizer results are a vertical stack. The legacy three-column rail
   rules were loaded later than the original mobile override, leaving 70px-wide
   cards on small screens and pushing the load footer outside the button. */
@media (max-width:720px){
  .optimizer-column .command-suggestions.optimizer-recs{display:grid!important;grid-template-columns:1fr!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;gap:7px!important}
  .optimizer-column .optimizer-recommend-card{width:100%!important;height:auto!important;min-height:0!important;padding:9px 10px!important;overflow:hidden!important}
  .optimizer-column .optimizer-recommend-card .optimizer-apply-hint{white-space:normal!important}
}

/* ===== Post-freeze Battle refinement: command utilities / stars / Meta ===== */
.simulation-utility-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;align-items:stretch!important;margin:7px 0 2px!important}
.simulation-utility-row .simulation-gen-control,.simulation-utility-row .battle-sim-utility{min-width:0!important;margin:0!important}
.simulation-utility-row .simulation-gen-control{display:grid!important;grid-template-columns:auto minmax(72px,1fr)!important;align-items:center!important;gap:7px!important;max-width:none!important;padding:7px 9px!important;border:1px solid rgba(196,163,86,.22)!important;border-radius:10px!important;background:rgba(18,28,43,.72)!important}
.simulation-utility-row .simulation-gen-control>span{font-family:var(--book-font)!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.06em!important;color:#e9d28e!important;text-transform:none!important}
.simulation-utility-row .simulation-gen-control select{width:100%!important;min-height:34px!important;border-radius:8px!important;text-align:center!important;font-weight:900!important}
.simulation-utility-row .battle-utility-btn.swap{width:100%!important;min-height:100%!important;margin:0!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(31,47,65,.90),rgba(19,31,47,.94))!important;border:1px solid rgba(132,178,201,.28)!important;color:#dfeff5!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
.simulation-utility-row .battle-utility-btn.swap:hover{filter:brightness(1.1)!important;border-color:rgba(128,206,231,.48)!important}
body.light-theme .simulation-utility-row .simulation-gen-control{background:#f7fbfd!important;border-color:#c9dde5!important}
body.light-theme .simulation-utility-row .simulation-gen-control>span{color:#6d5521!important}
body.light-theme .simulation-utility-row .battle-utility-btn.swap{background:#f5fafc!important;color:#24485a!important;border-color:#c7dde6!important}

.battle-reader-launch{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"copy button" "status status"!important;gap:7px 10px!important;align-items:center!important;margin-top:10px!important;padding:10px 11px!important;border-radius:13px!important;border:1px solid rgba(73,199,231,.42)!important;background:linear-gradient(135deg,rgba(14,69,88,.42),rgba(17,39,58,.64))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 22px rgba(3,19,30,.12)!important}
.battle-reader-launch::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 22%,rgba(140,236,255,.08) 47%,transparent 68%)}
.battle-reader-launch-copy{grid-area:copy;min-width:0;position:relative;z-index:1}.battle-reader-launch-copy strong{display:block;font-family:var(--book-font);font-size:.72rem;color:#d9f8ff}.battle-reader-launch-copy small{display:block;margin-top:2px;font-size:.55rem;line-height:1.35;color:#95b9c7}
.battle-reader-launch .battle-utility-btn.reader{grid-area:button;position:relative;z-index:1;min-height:42px!important;padding:7px 12px!important;border-radius:10px!important;background:linear-gradient(180deg,#1d8fae,#12647f)!important;border:1px solid rgba(151,235,255,.48)!important;color:white!important;font-family:var(--book-font)!important;font-size:.64rem!important;box-shadow:0 6px 16px rgba(8,99,128,.20),inset 0 1px 0 rgba(255,255,255,.15)!important}
.battle-reader-launch .battle-reader-status{grid-area:status!important;max-width:none!important;margin:0!important;text-align:left!important;position:relative;z-index:1}
body.light-theme .battle-reader-launch{background:linear-gradient(135deg,#eefaff,#f7fcff)!important;border-color:#83d4e8!important}.light-theme .battle-reader-launch-copy strong{color:#13586e}.light-theme .battle-reader-launch-copy small{color:#5d8290}

/* Reassert the exact historical main-simulator snowflake geometry and paint.
   Explicit paint/appearance resets prevent generic button themes from making leaves
   look like rectangular cards. */
.hero-card .snowflake{appearance:none!important;-webkit-appearance:none!important;position:relative!important;display:block!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;flex:0 0 48px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.hero-card .snowflake-leaf{appearance:none!important;-webkit-appearance:none!important;position:absolute!important;left:50%!important;top:50%!important;width:13px!important;min-width:13px!important;max-width:13px!important;height:19px!important;min-height:19px!important;max-height:19px!important;margin:-9.5px 0 0 -6.5px!important;padding:0!important;border:0!important;border-radius:60% 60% 48% 48%!important;background:#26364f!important;box-shadow:inset 0 0 0 1px rgba(148,163,184,.22)!important;transform-origin:50% 9.5px!important;box-sizing:border-box!important;line-height:0!important;overflow:visible!important}
.hero-card .snowflake-leaf::after{content:""!important;position:absolute!important;inset:3px 3px 6px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;pointer-events:none!important}
.hero-card .snowflake-leaf.active{background:linear-gradient(180deg,#67f8ff,#2dd4e8)!important;box-shadow:0 0 9px rgba(34,211,238,.62),inset 0 0 0 1px rgba(6,78,96,.72)!important}
body.light-theme .hero-card .snowflake-leaf{background:#cbd5e1!important;box-shadow:inset 0 0 0 1px #94a3b8!important}
body.light-theme .hero-card .snowflake-leaf.active{background:linear-gradient(180deg,#5eead4,#22d3ee)!important;box-shadow:0 0 8px rgba(8,145,178,.28),inset 0 0 0 1px #0e7490!important}

/* Global Meta: stronger premium flame/sheen, while the rerun action remains quiet. */
.global-meta-row .rail-meta-wrap{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;align-items:center!important}
.global-meta-row #exploreMetaBtn{box-shadow:0 0 0 1px rgba(255,224,137,.14),0 0 24px rgba(255,190,59,.28),0 0 54px rgba(255,126,24,.14),0 13px 28px rgba(41,25,8,.32),inset 0 1px 0 rgba(255,245,201,.25)!important;animation:meta-shell-radiance 1.55s ease-in-out infinite alternate!important}
.global-meta-row #exploreMetaBtn::before{left:0!important;right:0!important;bottom:-35px!important;height:96px!important;opacity:1!important;filter:blur(.8px) saturate(1.45)!important;background:radial-gradient(ellipse at 8% 100%,rgba(255,247,171,.98) 0 8%,rgba(255,179,42,.92) 16%,rgba(247,81,13,.58) 33%,transparent 52%),radial-gradient(ellipse at 27% 102%,rgba(255,225,100,.98) 0 11%,rgba(255,129,20,.92) 22%,rgba(238,68,8,.50) 38%,transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(255,250,184,.98) 0 8%,rgba(255,167,31,.95) 18%,rgba(243,84,11,.56) 36%,transparent 54%),radial-gradient(ellipse at 72% 104%,rgba(255,224,91,.98) 0 10%,rgba(255,121,18,.90) 22%,rgba(234,63,8,.46) 40%,transparent 57%),radial-gradient(ellipse at 92% 100%,rgba(255,244,160,.96) 0 8%,rgba(255,171,34,.90) 18%,rgba(241,81,10,.52) 35%,transparent 53%)!important;animation:meta-flame-rise .88s ease-in-out infinite alternate!important}
.global-meta-row #exploreMetaBtn::after{left:-35%!important;top:-55%!important;width:175%!important;height:210%!important;background:linear-gradient(112deg,transparent 34%,rgba(255,249,204,.02) 40%,rgba(255,238,145,.62) 49%,rgba(255,250,205,.08) 57%,transparent 64%)!important;animation:meta-gold-sweep 1.45s linear infinite!important}
.global-meta-row #exploreMetaBtn .meta-button-content{text-shadow:0 0 8px rgba(255,232,149,.45),0 1px 1px rgba(48,27,3,.8)!important}
@keyframes meta-shell-radiance{from{filter:saturate(1.05) brightness(1)}to{filter:saturate(1.22) brightness(1.09)}}

.rail-meta-recalculate{justify-self:center!important;width:auto!important;min-height:30px!important;padding:4px 11px!important;border-radius:999px!important;border:1px solid rgba(191,164,103,.26)!important;background:rgba(50,41,28,.42)!important;color:#cfba83!important;font-size:.56rem!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:none!important;opacity:.82!important}
.rail-meta-recalculate:hover{filter:none!important;opacity:1!important;background:rgba(66,52,31,.58)!important;border-color:rgba(211,181,108,.38)!important}
body.light-theme .rail-meta-recalculate{background:rgba(255,250,235,.84)!important;color:#7b6537!important;border-color:#dbc993!important}
/* The Meta explainer belongs to the Meta button only. Hovering/focusing the small
   rerun control must not open the large Meta tooltip. */
.rail-meta-wrap:hover .rail-meta-tooltip,.rail-meta-wrap:focus-within .rail-meta-tooltip{opacity:0!important;visibility:hidden!important}
#exploreMetaBtn:hover ~ .rail-meta-tooltip,#exploreMetaBtn:focus-visible ~ .rail-meta-tooltip{opacity:1!important;visibility:visible!important}

@media(max-width:900px){
  .simulation-utility-row{grid-template-columns:1fr!important}
  .battle-reader-launch{grid-template-columns:1fr!important;grid-template-areas:"copy" "button" "status"!important}
  .battle-reader-launch .battle-utility-btn.reader{width:100%!important}
}
/* Tooltip ownership must switch immediately when the pointer leaves Global Meta.  The
   base stylesheet animated visibility itself, which left the explainer visibly hanging
   over Recalculate for ~120ms.  Fade opacity only; visibility is now immediate. */
.global-meta-row .rail-meta-tooltip{transition:opacity .12s ease!important}

/* Narrow battle-report comparison cells must never let hero gear cross into the opposite army. */
@media(max-width:430px){
  .report-side-cell{flex-direction:column;justify-content:flex-start!important;text-align:center!important;gap:5px;overflow:hidden}
  .report-side-cell.def .report-hero-portrait{order:-1}
  .report-side-cell>div{width:100%;min-width:0}
  .report-gear-strip{max-width:100%;justify-content:center;flex-wrap:wrap}
}

/* Focused Dynamic/My Stats readability cleanup. Keeps the existing State-A layout. */
.battle-dynamic-disclosure[hidden]{display:none!important}
.dynamic-loadout,.profile-stats-panel{border-radius:14px;overflow:hidden}
.dynamic-toolbar,.dynamic-tabs,.dynamic-content,.profile-stats-panel,.v60-special-section,.v60-panel-head{font-family:var(--book-font,system-ui,sans-serif)}
.dynamic-toolbar{padding:13px 15px!important;gap:12px!important}.dynamic-toolbar>b{font-size:1rem;font-weight:900;letter-spacing:0;text-transform:none}
.dynamic-toolbar-actions{gap:8px!important}.dynamic-tool-btn{padding:8px 12px!important;font:800 .78rem/1.1 var(--book-font,system-ui,sans-serif)!important;letter-spacing:0!important;text-transform:none!important}
.dynamic-tabs{padding:11px 14px!important;gap:8px!important}.dynamic-tab{padding:9px 13px!important;font:800 .78rem/1.15 var(--book-font,system-ui,sans-serif)!important;letter-spacing:0!important;text-transform:none!important}
.dynamic-content{padding:16px!important}.v60-panel-head{padding:1px 2px}.v60-panel-head h3,.v60-special-section h3,.profile-editable-card h4{font-family:var(--book-font,system-ui,sans-serif)!important;letter-spacing:0!important;text-transform:none!important}.v60-panel-head p,.v60-special-section>p{line-height:1.5}
.v60-panel-actions .dynamic-tool-btn,.v60-modal-actions .dynamic-tool-btn{text-transform:none!important;letter-spacing:0!important}.v60-special-modal{padding:2px}.v60-special-section{padding:16px!important}
.profile-stats-panel{padding:0;background:rgba(5,28,39,.36);border:1px solid rgba(93,190,216,.16)}.profile-stats-panel[hidden]{display:none!important}.profile-stat-note{margin:12px 14px!important;padding:12px 14px!important;line-height:1.55!important}.profile-editable-wrap{margin:12px 14px 16px!important;padding:15px!important}.profile-editable-fields span{text-transform:none!important;letter-spacing:0!important;font-family:var(--book-font,system-ui,sans-serif)!important}.profile-base-reference{display:block;margin-top:2px;color:#89a8b4;font-size:.58rem;font-weight:700;line-height:1.2}.profile-specials-block{padding:0 14px 16px}.profile-specials-title{padding:0 2px 10px}
body.light-theme .profile-stats-panel{background:#f7fbfc;border-color:#c1dde4}


/* My Stats uses the shared troop-stat grid; show the saved player Base Stat inline without duplicating a second editor. */
.profile-base-reference-inline{display:block;margin-top:2px;color:#8fa8b4;font-size:.52rem;font-weight:750;line-height:1.15;text-transform:none;letter-spacing:0}.light-theme .profile-base-reference-inline{color:#6b858f}
/* Specials: keep long pet names/effects and level selectors in separate grid rows so they never collide. */
.pet-grid .v60-special-card{grid-template-columns:64px minmax(0,1fr) 76px!important;grid-template-areas:"pet-icon pet-copy pet-value" "pet-icon pet-select pet-value"!important;align-items:center!important;column-gap:12px!important;row-gap:8px!important;min-height:112px!important;padding:12px!important}.pet-grid .v60-special-card>.v60-special-icon{grid-area:pet-icon;width:64px!important;height:64px!important}.pet-grid .v60-special-card>div{grid-area:pet-copy;min-width:0;padding-right:4px}.pet-grid .v60-special-card>div b{overflow-wrap:anywhere;hyphens:auto;line-height:1.2!important}.pet-grid .v60-special-card>div small{margin-top:3px;overflow-wrap:anywhere;line-height:1.28!important}.pet-grid .v60-special-card>select{grid-area:pet-select;width:min(100%,240px)!important;min-width:150px!important;max-width:240px!important;justify-self:start}.pet-grid .v60-special-card>strong{grid-area:pet-value;justify-self:end;align-self:center;text-align:right;white-space:nowrap!important}
@media(max-width:980px){.pet-grid .v60-special-card{grid-template-columns:58px minmax(0,1fr)!important;grid-template-areas:"pet-icon pet-copy" "pet-icon pet-select" "pet-icon pet-value"!important}.pet-grid .v60-special-card>select{min-width:0!important;width:100%!important;max-width:none!important}.pet-grid .v60-special-card>strong{justify-self:start!important;text-align:left!important}}

/* 2026-09-21 continuation: hero assets, larger army controls, live timers, vertical joiner browsing */
.joiner-gen-row{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:10px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:2px 2px 8px!important;
}
.joiner-gen-row .joiner-picker-choice{
  flex:initial!important;
  width:auto!important;
  min-width:0!important;
}
.loadout-dialog .hero-picker-grid,
.loadout-dialog .joiner-gen-list,
.loadout-dialog .joiner-gen-section{max-width:100%!important;overflow-x:hidden!important}

body.frozen-battle-page input[type=number]::-webkit-outer-spin-button,
body.frozen-battle-page input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}
body.frozen-battle-page input[type=number]{-moz-appearance:textfield!important}

body.frozen-battle-page .troop-card .field label,
body.frozen-battle-page .ratio-wrap .ratio-label,
body.frozen-battle-page .troop-head-name span:last-child{
  font-size:.94rem!important;
  font-weight:900!important;
}
body.frozen-battle-page .troop-card .field input,
body.frozen-battle-page .troop-card .field select,
body.frozen-battle-page .troop-card .field .tier-decimal-input,
body.frozen-battle-page .ratio-wrap input,
body.frozen-battle-page .ratio-wrap select{
  min-height:46px!important;
  font-size:1.08rem!important;
  font-weight:900!important;
}
body.frozen-battle-page .troop-card .stats-grid{
  gap:12px!important;
}
body.frozen-battle-page .troop-card .row{
  gap:14px!important;
}
body.frozen-battle-page .troop-card .field label{margin-bottom:6px!important}
body.frozen-battle-page .tier-decimal-input{text-align:center!important}

.optimizer-settings .optimizer-settings-body.omnisim-army-settings-body{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.optimizer-settings .omnisim-army-settings-grid{
  border-right:0!important;
  padding-right:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.optimizer-settings .omnisim-army-settings-grid .rail-global-field,
.optimizer-settings .omnisim-army-settings-grid .command-army-control,
.optimizer-settings .omnisim-army-settings-grid .rail-global-btn,
.optimizer-settings .omnisim-army-settings-grid .command-army-joiners{
  min-width:0!important;
  width:100%!important;
}
.optimizer-settings .omnisim-army-settings-grid label span,
.optimizer-settings .omnisim-army-settings-grid .command-army-control span{
  font-size:.86rem!important;
  font-weight:900!important;
}
.optimizer-settings .omnisim-army-settings-grid select,
.optimizer-settings .omnisim-army-settings-grid input,
.optimizer-settings .omnisim-army-settings-grid button{
  min-height:46px!important;
  font-size:.98rem!important;
  font-weight:900!important;
}
.optimizer-settings .omnisim-army-settings-grid .rail-global-btn.max{
  background:linear-gradient(135deg,#4d3a16,#6d5420)!important;
  color:#ffe5a3!important;
}
.optimizer-settings .omnisim-army-settings-grid .rail-global-btn.reset{
  background:linear-gradient(135deg,#15384b,#1e5a77)!important;
  color:#dff6ff!important;
}

.omnisim-optimizer-elapsed,
.omnisim-meta-elapsed{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(150,225,255,.26);
  background:rgba(4,15,24,.62);
  color:#dff8ff;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
  backdrop-filter:blur(6px);
}
.omnisim-optimizer-elapsed{
  align-self:flex-start;
  margin:2px 0 8px;
}
.omnisim-meta-action{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.omnisim-meta-action .omnisim-meta-elapsed{margin-left:auto}

.premium-tooltip-portal .omnisim-report-tip{display:grid;gap:8px;max-width:280px}
.premium-tooltip-portal .omnisim-report-tip b{display:block;font-size:.93rem}
.premium-tooltip-portal .omnisim-report-tip span{display:block;line-height:1.4}
.premium-tooltip-portal .omnisim-report-tip img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.16)}
.omnisim-optimizer-elapsed[hidden],.omnisim-meta-elapsed[hidden]{display:none!important}
body.frozen-battle-page .omnisim-optimizer-action.optimizer-cancel-state .omnisim-optimizer-elapsed{
  position:relative!important;z-index:8!important;align-self:flex-end!important;margin-top:auto!important;margin-bottom:4px!important;
  background:rgba(2,10,18,.84)!important;border-color:rgba(210,241,255,.48)!important;
}
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-field,
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-action{
  min-height:74px!important;border:1px solid rgba(84,184,235,.24)!important;border-radius:12px!important;
  background:rgba(7,32,49,.72)!important;padding:10px 12px!important;
}
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-field{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:7px!important}
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-action{display:flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important}

/* Keep the live optimizer stopwatch visible above the running/cancel overlay. */
body.frozen-battle-page .omnisim-optimizer-action{position:relative!important}
body.frozen-battle-page .omnisim-optimizer-elapsed{
  position:absolute!important;
  right:16px!important;
  bottom:14px!important;
  z-index:9!important;
  margin:0!important;
  pointer-events:none!important;
  box-shadow:0 0 14px rgba(92,205,255,.16)!important;
}

/* Battle-report upload help: rich example tooltip without runtime inline geometry. */
.battle-reader-launch{position:relative!important;overflow:visible!important}
.battle-reader-rich-tip{
  position:absolute;z-index:1600;left:50%;top:calc(100% + 12px);width:min(420px,calc(100vw - 28px));
  transform:translate(-50%,-4px);opacity:0;visibility:hidden;pointer-events:none;
  padding:12px;border:1px solid rgba(117,202,244,.40);border-radius:14px;
  background:rgba(4,19,32,.98);color:#eaf8ff;box-shadow:0 18px 50px rgba(0,0,0,.42);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.battle-reader-launch.reader-tip-open .battle-reader-rich-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.battle-reader-rich-tip .omnisim-report-tip{display:grid;gap:8px}
.battle-reader-rich-tip .omnisim-report-tip b{font-size:.92rem}
.battle-reader-rich-tip .omnisim-report-tip span{font-size:.76rem;line-height:1.42;color:#c7deea}
.battle-reader-rich-tip .omnisim-report-tip img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:10px;border:1px solid rgba(255,255,255,.15)}
body.light-theme .battle-reader-rich-tip{background:rgba(248,252,255,.99);color:#183247;border-color:#9bc7dd;box-shadow:0 18px 42px rgba(34,65,87,.22)}
body.light-theme .battle-reader-rich-tip .omnisim-report-tip span{color:#4d6678}

/* 2026-09-21 OCR/UI follow-up: compact army controls + top-layer report help. */
body.frozen-battle-page .troop-card .field label,
body.frozen-battle-page .ratio-wrap .ratio-label,
body.frozen-battle-page .troop-head-name span:last-child{
  font-size:.82rem!important;
}
body.frozen-battle-page .troop-card .field input,
body.frozen-battle-page .troop-card .field select,
body.frozen-battle-page .ratio-wrap input,
body.frozen-battle-page .ratio-wrap select{
  min-height:42px!important;
  font-size:.94rem!important;
}
body.frozen-battle-page .troop-card .row{gap:11px!important}
body.frozen-battle-page .troop-card .stats-grid{gap:9px!important}

.optimizer-settings .omnisim-army-settings-grid label span,
.optimizer-settings .omnisim-army-settings-grid .command-army-control span{
  font-size:.74rem!important;
}
.optimizer-settings .omnisim-army-settings-grid select,
.optimizer-settings .omnisim-army-settings-grid input,
.optimizer-settings .omnisim-army-settings-grid button{
  min-height:40px!important;
  font-size:.85rem!important;
}
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-field{
  min-height:62px!important;
  padding:8px 10px!important;
}
.optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-action{
  justify-self:center!important;
  align-self:center!important;
  width:min(160px,100%)!important;
  min-height:42px!important;
  height:auto!important;
  padding:8px 12px!important;
  font-size:.82rem!important;
}

/* Two short selectors replace the typed-only decimal tier field.  The hidden input
   keeps the existing protected-engine contract while these controls own presentation. */
.tier-smart-picker{
  display:grid!important;
  grid-template-columns:minmax(62px,1fr) minmax(52px,.72fr)!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.tier-smart-picker select{
  width:100%!important;
  min-width:0!important;
  text-align:center!important;
  text-align-last:center!important;
  font-weight:900!important;
}
.tier-smart-picker .tier-smart-fraction:disabled{opacity:.48!important;cursor:default!important}

/* The report example is a manual Popover.  Chromium renders open popovers in the
   browser top layer, so optimizer/run/settings buttons can never cover it. */
.battle-reader-rich-tip[popover]{
  position:fixed!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:2147483000!important;
  margin:0!important;
  max-height:min(80vh,720px)!important;
  overflow:auto!important;
}
.battle-reader-rich-tip[popover]:popover-open{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.battle-reader-rich-tip[popover]::backdrop{background:rgba(0,7,14,.16)!important}
/* Fallback for browsers without Popover support. */
.omnisim-simulation-console:has(.battle-reader-launch.reader-tip-open){overflow:visible!important;z-index:80!important}
.omnisim-reader-host:has(.battle-reader-launch.reader-tip-open){z-index:90!important}

/* 2026-09-21 final polish: pull the last oversized troop/Quick Army controls back
   one step while keeping them comfortably larger than the original compact UI. */
html body.frozen-battle-page .troop-card .field label,
html body.frozen-battle-page .ratio-wrap .ratio-label,
html body.frozen-battle-page .troop-head-name span:last-child{
  font-size:13px!important;
}
html body.frozen-battle-page .troop-card .field input,
html body.frozen-battle-page .troop-card .field select,
html body.frozen-battle-page .troop-card .tier-smart-picker select,
html body.frozen-battle-page .ratio-wrap input,
html body.frozen-battle-page .ratio-wrap select{
  min-height:38px!important;
  font-size:15px!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid label span,
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid .command-army-control span{
  font-size:12px!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid select,
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid input{
  min-height:36px!important;
  font-size:13px!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-field{
  min-height:56px!important;
  padding:7px 9px!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-army-settings-grid>.omnisim-quick-army-action{
  width:min(132px,100%)!important;
  min-height:36px!important;
  height:36px!important;
  padding:6px 10px!important;
  font-size:12px!important;
}

/* 2026-09-21 post-local-test polish: stable reader help + centered Quick Army actions. */
.battle-reader-rich-tip[popover],
.battle-reader-rich-tip[popover]:popover-open{
  pointer-events:none!important;
}
.battle-reader-rich-tip[popover]::backdrop{
  pointer-events:none!important;
}

.optimizer-settings .omnisim-army-settings-body{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.optimizer-settings .omnisim-quick-army-explainer{
  margin:0!important;
  padding:2px 4px 0!important;
  color:#9fc4d6!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.45!important;
  text-align:center!important;
}
body.light-theme .optimizer-settings .omnisim-quick-army-explainer{color:#527184!important}
.optimizer-settings .omnisim-quick-army-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  padding-top:2px!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:132px!important;
  min-width:0!important;
  height:36px!important;
  min-height:36px!important;
  padding:6px 10px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:900!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-quick-army-actions>.rail-global-btn.max{
  background:linear-gradient(135deg,#4d3a16,#6d5420)!important;
  color:#ffe5a3!important;
  border-color:rgba(226,183,83,.42)!important;
}
html body.frozen-battle-page .optimizer-settings .omnisim-quick-army-actions>.rail-global-btn.reset{
  background:linear-gradient(135deg,#15384b,#1e5a77)!important;
  color:#dff6ff!important;
  border-color:rgba(96,194,238,.34)!important;
}
@media(max-width:520px){
  .optimizer-settings .omnisim-quick-army-actions{gap:10px!important}
  html body.frozen-battle-page .optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action{width:min(124px,46%)!important}
}

/* Quick Army action help is intentionally owned here rather than by the browser's
   native title tooltip. Keep it local, styled, and readable above the disclosure. */
.optimizer-settings[open]{overflow:visible!important}
.omnisim-simulation-console:has(.optimizer-settings[open]){overflow:visible!important}
.optimizer-settings .omnisim-quick-army-action[data-tip]{position:relative!important;overflow:visible!important}
.optimizer-settings .omnisim-quick-army-action[data-tip]::after{
  content:attr(data-tip)!important;
  position:absolute!important;
  left:50%!important;
  bottom:calc(100% + 10px)!important;
  transform:translate(-50%,4px)!important;
  width:min(300px,72vw)!important;
  padding:10px 12px!important;
  border:1px solid rgba(137,210,244,.34)!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,rgba(6,18,31,.99),rgba(10,31,48,.99))!important;
  color:#eaf8ff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.4!important;
  text-align:left!important;
  white-space:normal!important;
  box-shadow:0 16px 34px rgba(0,0,0,.38)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:120!important;
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;
}
.optimizer-settings .omnisim-quick-army-action[data-tip]:hover::after,
.optimizer-settings .omnisim-quick-army-action[data-tip]:focus-visible::after{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,0)!important;
}
body.light-theme .optimizer-settings .omnisim-quick-army-action[data-tip]::after{
  background:linear-gradient(180deg,#ffffff,#eef7fc)!important;
  color:#1c3c50!important;
  border-color:#9fcadd!important;
  box-shadow:0 14px 30px rgba(32,66,88,.18)!important;
}

/* 2026-09-22: keep the split Tier selector contained inside its own field.
   The previous equal thirds could make the .X selector visually collide with FC. */
html body.frozen-battle-page .troop-card .row{
  grid-template-columns:minmax(128px,1.18fr) minmax(88px,.82fr) minmax(112px,1fr)!important;
  gap:12px!important;
}
html body.frozen-battle-page .troop-card .row>.field{min-width:0!important;overflow:visible!important}
html body.frozen-battle-page .troop-card .row>.field:first-child{min-width:128px!important}
html body.frozen-battle-page .troop-card .tier-smart-picker{
  grid-template-columns:minmax(68px,1.15fr) minmax(50px,.75fr)!important;
  gap:7px!important;
  max-width:100%!important;
}
html body.frozen-battle-page .troop-card .tier-smart-picker select{box-sizing:border-box!important;padding-left:5px!important;padding-right:5px!important}
@media(max-width:1280px){
  html body.frozen-battle-page .army-panel #att_troops,
  html body.frozen-battle-page .army-panel #def_troops{grid-template-columns:1fr!important}
  html body.frozen-battle-page .troop-card .row{grid-template-columns:minmax(132px,1fr) minmax(100px,.8fr) minmax(130px,1fr)!important}
}

/* Containment correction after desktop browser gate: keep the Tier pair readable without
   imposing fixed minimums that can widen the three-card army grid past the viewport. */
html body.frozen-battle-page .troop-card .row{
  grid-template-columns:minmax(0,1.34fr) minmax(0,.82fr) minmax(0,1.24fr)!important;
  gap:8px!important;
}
html body.frozen-battle-page .troop-card .row>.field:first-child{min-width:0!important}
html body.frozen-battle-page .troop-card .tier-smart-picker{
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:4px!important;
  min-width:0!important;
  overflow:hidden!important;
}
html body.frozen-battle-page .troop-card .tier-smart-picker .tier-smart-base,
html body.frozen-battle-page .troop-card .tier-smart-picker .tier-smart-fraction{
  min-width:0!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
@media(max-width:1280px){
  html body.frozen-battle-page .army-panel #att_troops,
  html body.frozen-battle-page .army-panel #def_troops{grid-template-columns:1fr!important}
  html body.frozen-battle-page .troop-card .row{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1.2fr)!important}
}

/* 2026-09-22 final containment pass for decimal Tier / FC / Count rows. */
html body.frozen-battle-page .troop-card .row{
  grid-template-columns:minmax(0,1.22fr) minmax(0,.82fr) minmax(0,1.08fr)!important;
  gap:6px!important;
}
html body.frozen-battle-page .troop-card .row>.field{
  min-width:0!important;
  overflow:hidden!important;
  position:relative!important;
}
html body.frozen-battle-page .troop-card .tier-smart-picker{
  grid-template-columns:minmax(0,1fr) 40px!important;
  gap:3px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
html body.frozen-battle-page .troop-card .tier-smart-picker .tier-smart-base,
html body.frozen-battle-page .troop-card .tier-smart-picker .tier-smart-fraction{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding-left:2px!important;
  padding-right:2px!important;
  box-sizing:border-box!important;
}
@media(max-width:1280px){
  html body.frozen-battle-page .troop-card .row{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) minmax(0,1.08fr)!important}
}

/* Quick Army Settings can exceed the aligned closed-state command-card height.
   When opened on desktop, let the center card grow so its controls stay above
   the following optimizer toggle strip instead of overflowing underneath it. */
@media(min-width:1121px){
  body.frozen-battle-page .omnisim-simulation-console:has(.optimizer-settings[open]){
    height:auto!important;
    max-height:none!important;
  }
}

/* Keep the Battle Context tooltips completely out of intrinsic layout while hidden.
   Chromium otherwise includes the invisible 520px pseudo-elements in scrollWidth at
   intermediate desktop widths. They still render as the same floating tooltips on
   hover/focus, with the edge modes anchored inside the shared context shell. */
body.frozen-battle-page .command-context .battle-context-btn.context-image-mode[data-tip]::after{
  display:none!important;
}
body.frozen-battle-page .command-context .battle-context-btn.context-image-mode[data-tip]:hover::after,
body.frozen-battle-page .command-context .battle-context-btn.context-image-mode[data-tip]:focus-visible::after{
  display:block!important;
}
body.frozen-battle-page .command-context #battleModeRally.context-image-mode[data-tip]::after{
  left:0!important;
  transform:translateY(-5px)!important;
}
body.frozen-battle-page .command-context #battleModeRally.context-image-mode[data-tip]:hover::after,
body.frozen-battle-page .command-context #battleModeRally.context-image-mode[data-tip]:focus-visible::after{
  transform:translateY(0)!important;
}
body.frozen-battle-page .command-context #battleModeCity.context-image-mode[data-tip]::after{
  left:auto!important;
  right:0!important;
  transform:translateY(-5px)!important;
}
body.frozen-battle-page .command-context #battleModeCity.context-image-mode[data-tip]:hover::after,
body.frozen-battle-page .command-context #battleModeCity.context-image-mode[data-tip]:focus-visible::after{
  transform:translateY(0)!important;
}

/* Hidden Quick Army help must not enlarge the document's intrinsic width on
   narrow screens. Keep the same styled tooltip, but create its box only while
   the action is actually hovered/focused and anchor the two edge actions inward. */
.optimizer-settings .omnisim-quick-army-action[data-tip]::after{
  display:none!important;
}
.optimizer-settings .omnisim-quick-army-action[data-tip]:hover::after,
.optimizer-settings .omnisim-quick-army-action[data-tip]:focus-visible::after{
  display:block!important;
}
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:first-child[data-tip]::after{
  left:0!important;
  transform:translateY(4px)!important;
}
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:first-child[data-tip]:hover::after,
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:first-child[data-tip]:focus-visible::after{
  transform:translateY(0)!important;
}
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:last-child[data-tip]::after{
  left:auto!important;
  right:0!important;
  transform:translateY(4px)!important;
}
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:last-child[data-tip]:hover::after,
.optimizer-settings .omnisim-quick-army-actions>.omnisim-quick-army-action:last-child[data-tip]:focus-visible::after{
  transform:translateY(0)!important;
}


/* 2026-10-04 Meta scope controls: explicit mirrors of the existing battle setup inputs. */
.omnisim-meta-scope{grid-column:1/-1;width:100%;padding:8px 10px 10px;border:1px solid rgba(123,174,219,.20);border-radius:12px;background:linear-gradient(180deg,rgba(8,30,48,.56),rgba(5,20,34,.78));box-sizing:border-box}
.omnisim-meta-scope-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px;color:#dcefff}.omnisim-meta-scope-head b{font-size:.68rem;letter-spacing:.025em}.omnisim-meta-scope-head small{font-size:.55rem;color:#8eabc2}
.omnisim-meta-scope-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.omnisim-meta-scope-fields label{display:grid;gap:4px}.omnisim-meta-scope-fields label>span{font-size:.54rem;text-transform:uppercase;letter-spacing:.055em;color:#9eb8ce;font-weight:800}.omnisim-meta-scope-fields select{width:100%;min-height:36px;border:1px solid rgba(93,174,224,.35);border-radius:9px;background:rgba(4,22,36,.88);color:#ecf7ff;padding:0 30px 0 10px;font:800 .66rem var(--med-body,inherit);outline:none}.omnisim-meta-scope-fields select:focus{border-color:#73d6ff;box-shadow:0 0 0 2px rgba(80,190,238,.14)}
body.light-theme .omnisim-meta-scope{background:rgba(245,252,255,.92);border-color:rgba(56,115,154,.20)}body.light-theme .omnisim-meta-scope-head{color:#173f5a}body.light-theme .omnisim-meta-scope-head small,body.light-theme .omnisim-meta-scope-fields label>span{color:#526f82}body.light-theme .omnisim-meta-scope-fields select{background:#fff;color:#173f5a;border-color:#b8cfdd}
@media(max-width:720px){.omnisim-meta-scope-head{display:block}.omnisim-meta-scope-head small{display:block;margin-top:2px}.omnisim-meta-scope-fields{grid-template-columns:1fr}.omnisim-meta-scope-fields select{min-height:40px}}
