/* IDS Generals & High-Ranking Officers comparison */
.commander-tool-page{background:radial-gradient(circle at 83% 4%,rgba(78,104,129,.17),transparent 28%),radial-gradient(circle at 7% 35%,rgba(124,70,57,.09),transparent 25%),#050609}
.commander-hero{max-width:var(--max);margin:auto;padding:70px 20px 38px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:30px;align-items:end}.commander-hero h1{margin:8px 0 0;max-width:1000px;font:900 clamp(3.8rem,7.4vw,7.3rem)/.85 "Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.045em}.commander-dek{max-width:860px;margin:24px 0 0;color:#b9c4cc;font-size:1.03rem;line-height:1.72}.commander-hero aside{padding:24px;border:1px solid var(--line);background:#0a1016}.commander-hero aside strong{display:block;margin:14px 0 8px;font:900 1.7rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-hero aside p:last-child{margin:0;color:#91a0ab;font-size:.84rem;line-height:1.58}.commander-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.commander-hero-actions a{min-height:43px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid #33414e;background:#0b1118;color:#e2e8ec;text-decoration:none;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.commander-hero-actions a:first-child{background:#d8dee2;color:#070a0d}
.commander-stat-strip{max-width:var(--max);margin:auto;padding:0 20px 58px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.commander-stat-strip div{padding:18px;border:1px solid var(--line);background:#090e14}.commander-stat-strip strong{display:block;font:900 1.55rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-stat-strip span{display:block;margin-top:7px;color:#778692;font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.commander-presets,.commander-tool,.commander-method{max-width:var(--max);margin:auto;padding:56px 20px}.commander-section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-bottom:22px}.commander-section-head h2,.commander-method h2{margin:7px 0 0;font:900 clamp(2.5rem,4.8vw,4.7rem)/.9 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-section-head>p{margin:0;color:#93a0aa;line-height:1.6}
.commander-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.commander-preset-grid button{min-height:170px;padding:18px;border:1px solid var(--line);background:#090f15;color:#e7ecef;text-align:left;cursor:pointer}.commander-preset-grid button:hover,.commander-preset-grid button:focus-visible{border-color:#778c9c;background:#111a23}.commander-preset-grid span{display:block;color:#788995;font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.commander-preset-grid strong{display:block;margin-top:27px;font:900 1.23rem/1.08 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-preset-grid small{display:block;margin-top:9px;color:#8b99a4;font-size:.72rem;line-height:1.45}
.commander-tool{border-top:1px solid var(--line)}.commander-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin-bottom:20px}.commander-controls label{display:grid;gap:7px}.commander-controls label span{color:#8595a1;font-size:.61rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.commander-controls select{width:100%;min-height:48px;padding:0 13px;border:1px solid #35434f;background:#090e14;color:#e8edf0;font-weight:800}.commander-swap{min-height:48px;padding:0 15px;border:1px solid #445564;background:#111820;color:#dce4e9;font-weight:900;text-transform:uppercase}
.commander-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.commander-profile{min-height:270px;display:grid;grid-template-columns:170px minmax(0,1fr);border:1px solid var(--line);background:#090e14;overflow:hidden}.commander-portrait{min-height:270px;background:linear-gradient(145deg,#17212b,#090d12);display:grid;place-items:center}.commander-portrait img{width:100%;height:100%;object-fit:cover}.commander-initials{font:900 3.4rem/1 "Arial Narrow",Impact,sans-serif;color:#82939f}.commander-profile-copy{padding:22px}.commander-profile-copy>span{color:#7d8d99;font-size:.6rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.commander-profile-copy h3{margin:9px 0 7px;font:900 2rem/.96 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-profile-copy .rank{margin:0;color:#d9e0e5;font-weight:800}.commander-profile-copy .summary{margin:15px 0 0;color:#92a0aa;font-size:.82rem;line-height:1.55}.commander-profile-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.commander-profile-links a{padding:7px 9px;border:1px solid #34434f;color:#c8d2d9;text-decoration:none;font-size:.65rem;font-weight:800}
.commander-table{margin-top:12px;border:1px solid var(--line);background:#080d12}.commander-row{display:grid;grid-template-columns:170px 1fr 1fr;border-bottom:1px solid var(--line)}.commander-row:last-child{border-bottom:0}.commander-label{padding:15px;background:#0d141c;color:#8a9aa6;font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.commander-cell{padding:15px;color:#b7c2ca;font-size:.82rem;line-height:1.55}.commander-cell strong{display:block;margin-bottom:4px;color:#edf1f3;font-size:.72rem}
.commander-synthesis{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.commander-synthesis article{padding:22px;border:1px solid var(--line);background:#0a1016}.commander-synthesis h3{margin:7px 0 10px;font:900 1.45rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.commander-synthesis p{margin:0;color:#95a3ad;font-size:.84rem;line-height:1.62}
.commander-method{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;border-top:1px solid var(--line);padding-bottom:90px}.commander-method>div:first-child>p:last-child{color:#9cabb5;line-height:1.68}.commander-method-links{display:flex;flex-direction:column;border:1px solid var(--line);background:#090e14}.commander-method-links a{padding:15px 17px;border-bottom:1px solid var(--line);color:#d2dae0;text-decoration:none;font-size:.78rem;font-weight:900}.commander-method-links a:last-child{border-bottom:0}
@media(max-width:1050px){.commander-hero{grid-template-columns:1fr}.commander-preset-grid{grid-template-columns:repeat(2,1fr)}.commander-profile{grid-template-columns:130px minmax(0,1fr)}.commander-row{grid-template-columns:145px 1fr 1fr}}
@media(max-width:760px){.commander-hero,.commander-stat-strip,.commander-presets,.commander-tool,.commander-method{padding-left:12px;padding-right:12px}.commander-stat-strip{grid-template-columns:1fr 1fr}.commander-section-head,.commander-method{grid-template-columns:1fr;gap:16px}.commander-preset-grid,.commander-profile-grid,.commander-synthesis{grid-template-columns:1fr}.commander-controls{grid-template-columns:1fr}.commander-swap{width:100%}.commander-profile{grid-template-columns:110px minmax(0,1fr)}.commander-row{grid-template-columns:1fr}.commander-label{border-bottom:1px solid var(--line)}}
@media(max-width:520px){.commander-profile{grid-template-columns:1fr}.commander-portrait{min-height:220px;max-height:260px}.commander-portrait img{height:240px}.commander-hero h1{font-size:clamp(3.1rem,16vw,5rem)}}

/* IDS commander visual dashboard v2 */
[data-commander-output]{transition:opacity .22s ease,transform .22s ease}
[data-commander-output].is-rendered{animation:dossierReveal .34s ease both}
@keyframes dossierReveal{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}

.matchup-stage{display:grid;grid-template-columns:1fr 150px 1fr;gap:10px;align-items:stretch;margin:24px 0 14px}
.matchup-side{--accent:#8495a2;position:relative;min-height:360px;border:1px solid var(--line);background:#080d12;overflow:hidden;display:grid;grid-template-columns:minmax(180px,42%) 1fr;align-items:end}
.matchup-side:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--accent)}
.matchup-side>div:last-child{padding:25px;position:relative;z-index:2}
.matchup-side span{display:block;color:var(--accent);font-size:.6rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.matchup-side h3{margin:9px 0 8px;font:900 clamp(2rem,3.5vw,3.7rem)/.88 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.matchup-side p{margin:0;color:#cbd4da;font-size:.83rem;font-weight:800;line-height:1.45}
.matchup-image{height:100%;min-height:360px;overflow:hidden;background:#0d141b}
.matchup-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.matchup-vs{display:grid;place-items:center;align-content:center;gap:8px;border:1px solid var(--line);background:linear-gradient(180deg,#0c131a,#070b10);text-align:center;padding:15px}
.matchup-vs small,.matchup-vs span{color:#7d8c97;font-size:.55rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.matchup-vs strong{font:900 3.2rem/.85 "Arial Narrow",Impact,sans-serif;letter-spacing:-.05em}

.theme-rebel,.theme-resistance{--accent:#e9a34a}
.theme-republic{--accent:#6fa9d6}
.theme-imperial{--accent:#d85f5f}
.theme-first-order{--accent:#df4a4a}
.theme-separatist{--accent:#77a3b7}
.theme-neutral{--accent:#8798a4}

.visual-command-grid,.timeline-compare,.theatre-compare,.chain-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.command-profile-card,.visual-module,.commander-timeline,.theatre-card,.chain-compare>div{--accent:#8495a2;border:1px solid var(--line);background:#080d12;padding:22px;position:relative;overflow:hidden}
.command-profile-card:before,.visual-module:before,.commander-timeline:before,.theatre-card:before,.chain-compare>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.command-profile-card.theme-rebel,.command-profile-card.theme-resistance{--accent:#e9a34a}
.command-profile-card.theme-republic{--accent:#6fa9d6}
.command-profile-card.theme-imperial{--accent:#d85f5f}
.command-profile-card.theme-first-order{--accent:#df4a4a}
.command-profile-card.theme-separatist{--accent:#77a3b7}

.visual-module-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.visual-module-head h4,.theatre-card h4{margin:5px 0 0;font:900 1.55rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.visual-module-head>a,.visual-module-head>span{color:#8b9aa5;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}

.command-profile-bars{display:grid;gap:14px;margin-top:22px}
.command-profile-bar>div:first-child{display:flex;justify-content:space-between;gap:14px;margin-bottom:6px}
.command-profile-bar span{color:#aab6be;font-size:.67rem;font-weight:800}
.command-profile-bar strong{color:#d8e0e5;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase}
.command-meter{height:8px;background:#121b23;border:1px solid #26343f;overflow:hidden}
.command-meter i{display:block;height:100%;width:calc(var(--level) * 20%);background:linear-gradient(90deg,var(--accent),#dce3e7);opacity:.9}

.chain-diagram{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center}
.chain-node{width:min(100%,430px);padding:13px 15px;border:1px solid #2c3a45;background:#0d141b}
.chain-node small{display:block;color:#748590;font-size:.54rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.chain-node strong{display:block;margin-top:4px;font:900 1.05rem/1.05 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.chain-node em{display:block;margin-top:5px;color:#9daab3;font-size:.68rem;font-style:normal}
.chain-focus{border-color:#657988;background:#121b23}
.chain-line{height:24px;width:1px;background:#465866;position:relative}
.chain-line:after{content:"";position:absolute;bottom:-1px;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #465866}

.icon-chip-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.icon-chip-grid span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #2c3b47;background:#0d151c;color:#cad3d9;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.icon-chip-grid b{color:var(--accent,#9cabb5);font-size:.9rem}
.visual-module>p{margin:18px 0 0;color:#97a5ae;font-size:.8rem;line-height:1.58}

.commander-timeline ol{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}
.commander-timeline li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;position:relative;padding-bottom:17px}
.commander-timeline li:not(:last-child):before{content:"";position:absolute;left:20px;top:26px;bottom:0;width:1px;background:#33434f}
.commander-timeline li>span{width:42px;height:27px;display:grid;place-items:center;border:1px solid #3a4a56;background:#101820;color:#aebbc4;font-size:.55rem;font-weight:900}
.commander-timeline li p{margin:3px 0 0;color:#c1cbd1;font-size:.78rem;line-height:1.45}

.theatre-card>p:last-child{color:#8e9ba5;font-size:.8rem;line-height:1.55}
.theatre-map{position:relative;margin-top:18px;min-height:140px;padding:15px;display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:9px;border:1px solid #273640;background:
 radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 1px,transparent 1.5px),
 radial-gradient(circle at 70% 55%,rgba(255,255,255,.07) 0 1px,transparent 1.5px),
 linear-gradient(135deg,#0a1117,#0d151c);background-size:33px 33px,47px 47px,auto}
.theatre-map a{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #33434f;background:rgba(5,9,13,.86);color:#d1d9df;text-decoration:none;font-size:.65rem;font-weight:900}
.theatre-map a span{width:7px;height:7px;border-radius:50%;background:#b7c4cc;box-shadow:0 0 0 3px rgba(183,196,204,.09)}

.key-differences{margin-top:12px;padding:25px;border:1px solid var(--line);background:#090f15}
.commander-section-head.compact{margin-bottom:18px}
.commander-section-head.compact h3{margin:6px 0 0;font:900 clamp(1.9rem,3.2vw,3.2rem)/.92 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.difference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.difference-grid article{min-height:170px;padding:17px;border:1px solid #293844;background:#0c131a}
.difference-grid span{color:#73848f;font-size:.58rem;font-weight:900}
.difference-grid h4{margin:22px 0 8px;font:900 1.2rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.difference-grid p{margin:0;color:#93a1aa;font-size:.75rem;line-height:1.5}

.compact-profiles{margin-top:12px}
.compact-profiles .commander-profile{min-height:220px}
.compact-profiles .commander-portrait{min-height:220px}

.commander-details{margin-top:12px;border:1px solid var(--line);background:#080d12}
.commander-details summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center}
.commander-details summary::-webkit-details-marker{display:none}
.commander-details summary span{font:900 1.25rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.commander-details summary small{color:#81909a;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.commander-details[open] summary{border-bottom:1px solid var(--line)}
.commander-details .commander-table{margin:0;border:0}

.commander-preset-grid button.preset-art{position:relative;overflow:hidden;isolation:isolate;min-height:220px}
.commander-preset-grid button.preset-art:before,.commander-preset-grid button.preset-art:after{content:"";position:absolute;z-index:-2;top:0;bottom:0;width:56%;background-position:center;background-size:cover;filter:saturate(.65) brightness(.42)}
.commander-preset-grid button.preset-art:before{left:0;background-image:var(--preset-a);clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}
.commander-preset-grid button.preset-art:after{right:0;background-image:var(--preset-b);clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}
.commander-preset-grid button.preset-art strong,.commander-preset-grid button.preset-art span,.commander-preset-grid button.preset-art small{position:relative;text-shadow:0 2px 12px #000}
.commander-preset-grid button.preset-art strong{margin-top:58px}

@media(max-width:1050px){
  .matchup-stage{grid-template-columns:1fr 100px 1fr}
  .matchup-side{grid-template-columns:145px 1fr;min-height:300px}.matchup-image{min-height:300px}
  .difference-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .matchup-stage{grid-template-columns:1fr}.matchup-vs{min-height:85px}
  .matchup-side{grid-template-columns:120px 1fr;min-height:240px}.matchup-image{min-height:240px}
  .visual-command-grid,.timeline-compare,.theatre-compare,.chain-compare{grid-template-columns:1fr}
  .difference-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .matchup-side{grid-template-columns:1fr}.matchup-image{height:230px;min-height:230px}
  .difference-grid{grid-template-columns:1fr}
  .commander-details summary{align-items:flex-start;flex-direction:column}
}
