:root{--team1:#1c6796;--team2:#a23226}[data-theme=dark]{--team1:#4a9fd4;--team2:#cf5a4b}.main-layout{gap:12px;display:flex}.stats-panel{flex-shrink:0;width:clamp(180px,16vw,240px)}.center-panel{flex:1;min-width:0}.right-panel{flex-shrink:0;width:clamp(280px,22vw,360px)}.config-panel{gap:16px;margin-bottom:16px;display:flex}.team-config{background:var(--bg-warm);border:1px solid var(--border);border-radius:10px;flex:1;min-height:120px;padding:14px}.team-config h3{font-family:var(--font-display);font-size:var(--fs-md);align-items:center;gap:7px;margin-bottom:10px;display:flex}.team-config h3:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-config.team1 h3:before{background:var(--team1)}.team-config.team2 h3:before{background:var(--team2)}.selection-badge{background:0 0;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;display:flex}.selection-badge img{object-fit:cover;border-radius:50%;width:2rem;height:2rem}.selection-badge img.sprite{object-fit:contain;box-sizing:border-box;background:0 0;border-radius:0;padding:1px}.selection-badge .badge-text{min-width:0;font-weight:600;font-size:var(--fs-sm);overflow-wrap:anywhere;flex:auto;line-height:1.2}.selection-badge .change-btn{color:var(--gold);font-size:var(--fs-xs);cursor:pointer;flex:none;margin-left:auto;text-decoration:underline}.selection-badge .change-btn:hover{color:var(--gold-light)}.unit-opts{background:0 0;border-radius:6px;margin-bottom:8px;padding:6px 10px 8px}.unit-opts .opt-label{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.unit-opts .opt-effect{color:var(--gold);font-weight:600}.opt-pills{gap:4px;display:flex}.opt-pill{text-align:center;border:1px solid var(--border);background:var(--bg);min-width:1.6rem;font-size:var(--fs-xs);cursor:pointer;user-select:none;border-radius:4px;flex:1;padding:3px 0}.opt-pill:hover{border-color:var(--gold)}.opt-pill.active{background:var(--gold);border-color:var(--gold);color:var(--text-on-gold);font-weight:600}.civ-grid{grid-template-columns:repeat(auto-fill,minmax(4.375rem,1fr));gap:6px;display:grid}.civ-card{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:transform .25s cubic-bezier(.22,.61,.36,1),border-color .25s,background .25s,box-shadow .25s;display:flex}.civ-card:hover{border-color:var(--gold-dark);background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:none}.civ-card:hover img{transform:none}.civ-card:hover span{color:var(--text)}.civ-card img{object-fit:cover;border-radius:50%;width:2.25rem;height:2.25rem;transition:transform .25s}.civ-card span{font-size:var(--fs-xs);text-align:center;color:var(--text-muted);letter-spacing:.02em;transition:color .25s}.age-toggle{gap:6px;margin-bottom:8px}.age-btn{text-align:center;flex:1}.unit-grid{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(4.375rem,1fr));gap:0;display:grid;overflow:hidden}.unit-pick{background:var(--bg-warm);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;border-radius:0;flex-direction:column;align-items:center;gap:2px;width:auto;min-width:0;padding:6px 2px;transition:all .2s;display:flex}.unit-pick:hover{border-color:var(--gold-dark);background:var(--bg-hover)}.unit-pick img{border:2px solid var(--border-light);object-fit:cover;background:var(--bg);border-radius:50%;width:2.25rem;height:2.25rem}.unit-pick img.sprite{object-fit:contain;box-sizing:border-box;background:0 0;border:none;border-radius:0;width:2.25rem;height:2.25rem;padding:0}.unit-pick span{width:100%;font-size:var(--fs-xs);text-align:center;color:var(--text-muted);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.army-config{background:var(--bg-warm);border:1px solid var(--border);text-align:center;border-radius:8px;margin-bottom:12px;padding:12px}.mode-toggle{justify-content:center;gap:20px;margin-bottom:8px;display:flex}.mode-option{cursor:pointer;font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.mode-option input{accent-color:var(--gold)}.side-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.side-input-grid label{min-width:0;color:var(--text-muted);font-size:var(--fs-xs);text-align:left;gap:5px;font-weight:600;display:grid}.side-input-grid input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:right;border-radius:4px;padding:6px}.count-limit{color:var(--text-dim);font-size:var(--fs-xs);text-align:center;grid-column:1/-1}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:flex}.controls button{font-size:var(--fs-sm);font-family:var(--font-display);cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:8px 24px;font-weight:600;transition:all .2s}#startBtn{background:var(--gold-cta);color:var(--text-on-gold);border-color:var(--gold-cta)}#pauseBtn,#resetBtn{background:var(--bg-warm);color:var(--text);border-color:var(--border)}#resetBtn:hover:not(:disabled){color:var(--poor);border-color:var(--poor)}.controls button:disabled{opacity:.4;cursor:not-allowed}.controls button:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:none}.speed-control{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}#speedSlider{width:80px;accent-color:var(--gold)}.sim-howto{background:var(--bg-warm);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;margin:0 0 16px;padding:14px 16px;list-style:none;display:flex}.sim-howto li{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-base);align-items:flex-start;gap:10px;display:flex}.sim-howto li strong{color:var(--text);font-weight:700}.sim-howto li em{color:var(--gold);font-style:normal}.howto-num{background:var(--gold-tint);height:22px;color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;display:flex}.start-row{flex-direction:column;align-items:center;gap:6px;margin-bottom:12px;display:flex}.start-row #startBtn{font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);background:var(--gold-cta);min-height:48px;color:var(--text-on-gold);border:1px solid var(--gold-cta);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:8px;padding:12px 40px;transition:transform .15s,box-shadow .2s,opacity .2s}.start-row #startBtn:hover:not(:disabled){box-shadow:var(--shadow-card);transform:none}.start-row #startBtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.start-hint{font-size:var(--fs-xs);color:var(--text-dim);margin:0}.sim-options{border:1px solid var(--border);background:var(--bg-warm);border-radius:8px;margin-bottom:16px;overflow:hidden}.sim-options>summary{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);color:var(--text-muted);user-select:none;justify-content:center;align-items:center;gap:8px;padding:10px 14px;list-style:none;display:flex}.sim-options>summary::-webkit-details-marker{display:none}.sim-options>summary:before{content:"▸";color:var(--gold);transition:transform .2s}.sim-options[open]>summary:before{transform:rotate(90deg)}.sim-options[open]>summary{border-bottom:1px solid var(--border)}.sim-options>summary:hover{color:var(--text)}.sim-options-current{color:var(--gold);font-weight:700}.sim-options .army-config{margin:0}.sim-section{scroll-margin-top:calc(var(--nav-h,56px) + 8px)}#battleCanvas{border:1px solid color-mix(in srgb, var(--gold-dark) 70%, var(--border));aspect-ratio:3/2;width:100%;height:auto;box-shadow:var(--shadow-card);background:#111a15;border-radius:10px;display:block}.buffer-option{color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;justify-content:center;align-items:center;gap:7px;margin-top:10px;display:flex}.v3-map-status{z-index:3;color:#e7e1d0;pointer-events:none;backdrop-filter:blur(8px);background:#0c120fd1;border:1px solid #ffffff1f;border-radius:6px;max-width:calc(100% - 20px);padding:7px 10px;font-size:.72rem;position:absolute;top:10px;left:10px;box-shadow:0 5px 20px #0000003d}.v3-map-status.is-error{color:#ffb5a8}.battle-progress{flex-direction:column;gap:8px;display:flex}.progress-card{background:var(--bg-warm);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.progress-card.team1{border-left:2px solid color-mix(in srgb, var(--team1) 55%, var(--border))}.progress-card.team2{border-left:2px solid color-mix(in srgb, var(--team2) 55%, var(--border))}.progress-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.progress-header img{object-fit:cover;border-radius:50%;width:1.75rem;height:1.75rem}.progress-header img.sprite{object-fit:contain;background:0 0;border-radius:0;width:2.5rem;height:2.5rem}.progress-header .prog-name{min-width:0;font-family:var(--font-display);font-size:var(--fs-sm);overflow-wrap:anywhere;font-weight:600;line-height:1.2}.progress-header.team1 .prog-name{color:var(--team1)}.progress-header.team2 .prog-name{color:var(--team2)}.progress-row{font-size:var(--fs-xs);justify-content:space-between;margin-bottom:2px;display:flex}.progress-row .prog-label{color:var(--text-muted)}.progress-row .prog-value{font-weight:600}.progress-vitals{font-family:var(--font-body);font-size:var(--fs-xs);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-top:2px;display:grid}.progress-vitals .prog-label{color:var(--text-muted)}.progress-vitals .prog-value{min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:normal;font-size:.72rem;font-weight:700}.progress-hp-inline{color:var(--text-muted);white-space:nowrap;font-weight:600;display:inline-block}.progress-health-track{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--bg) 80%, black);border-radius:999px;height:8px;margin:7px 0 6px;position:relative;overflow:hidden}.progress-health-fill{border-radius:inherit;width:100%;transition:width .12s linear;position:absolute;inset:0 auto 0 0}.progress-card.team1 .progress-health-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--team1) 70%, #183349), color-mix(in srgb, var(--team1) 88%, white))}.progress-card.team2 .progress-health-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--team2) 82%, #5b1919), color-mix(in srgb, var(--team2) 88%, white))}.progress-economy{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.62rem;display:flex}.progress-economy strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:2px}.progress-economy>span{white-space:nowrap}.matchup-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px;display:grid}.matchup-metric{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:color-mix(in srgb, var(--bg) 72%, transparent);text-align:center;border-radius:6px;min-width:0;min-height:54px;padding:7px 4px 6px}.matchup-metric>span{min-height:2.5em;color:var(--text-muted);overflow-wrap:normal;text-wrap:balance;white-space:normal;justify-content:center;align-items:center;gap:3px;font-size:.6rem;line-height:1.15;display:flex}.matchup-metric>strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:3px;font-size:.76rem;display:block}.matchup-ttk{cursor:help}.matchup-ttk:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.metric-info{border:1px solid;border-radius:50%;flex:0 0 .75rem;place-items:center;width:.75rem;height:.75rem;font-size:.5rem;font-weight:700;line-height:1;display:inline-grid}.matchup-callouts{flex-wrap:wrap;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.matchup-callouts[hidden]{display:none}.matchup-callouts li{border:1px solid color-mix(in srgb, var(--gold) 28%, var(--border));background:color-mix(in srgb, var(--gold-tint) 45%, transparent);max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;border-radius:999px;padding:3px 6px;font-size:.58rem;line-height:1.25}.battle-timer{text-align:center;font-family:var(--font-display);font-size:var(--fs-md);color:var(--gold);background:var(--bg-warm);border:1px solid var(--border);border-radius:8px;padding:6px}.debug-panel{background:var(--bg-warm);border:1px solid var(--border);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;border-radius:8px;max-height:calc(100vh - 120px);padding:12px;overflow-y:auto}.debug-panel h3{font-family:var(--font-display);color:var(--gold);font-size:var(--fs-md);margin-bottom:10px}.debug-section{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:10px}.debug-section:last-child{border-bottom:none}.debug-section h4{font-family:var(--font-display);font-size:var(--fs-sm);margin-bottom:6px}.debug-section.team1 h4{color:var(--team1)}.debug-section.team2 h4{color:var(--team2)}.formula-section{margin-bottom:8px}.formula-label{color:var(--text-muted);font-size:var(--fs-xs);margin-bottom:2px}.formula-value{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.formula-value .attack-val{color:var(--weak);font-size:var(--fs-md);font-family:var(--font-mono);font-weight:700}.formula-value .armor-val{color:var(--text);font-size:var(--fs-md);font-family:var(--font-mono);font-weight:700}.formula-note{color:var(--text-muted);font-size:var(--fs-xs)}.bonus-item{color:var(--strong);align-items:center;gap:3px;font-weight:600;display:inline-flex}.class-tag{background:var(--strong-tint);color:var(--strong);font-size:var(--fs-xs);border-radius:3px;padding:1px 5px;font-weight:400}.formula-result{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.formula-total{color:var(--gold);font-size:var(--fs-lg);font-family:var(--font-mono);font-weight:700}@media (width<=1024px){.main-layout{flex-direction:column}.stats-panel,.right-panel{width:100%}.debug-panel{max-height:none}.battle-progress{flex-flow:wrap}.battle-timer{flex-basis:100%}.progress-card{flex:240px}}@media (width<=768px){.config-panel{flex-direction:column}.civ-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.civ-card,.unit-pick{min-height:44px}.count-inputs input,.resource-input input{min-height:44px;padding:8px}.controls button{min-height:44px}}@media (width<=480px){.battle-progress{flex-direction:column}.progress-card{flex:auto}.mode-toggle{flex-direction:column;align-items:stretch;gap:8px}.mode-option{border:1px solid var(--border);background:var(--bg);border-radius:6px;justify-content:center;min-height:44px;padding:6px 10px}.side-input-grid{gap:8px}.count-inputs input,.resource-input input{width:100%}.controls{flex-direction:column;align-items:stretch;gap:8px}.controls button{width:100%}.start-row{align-items:stretch}.start-row #startBtn{width:100%}.start-hint{text-align:center}.speed-control{justify-content:center}#speedSlider{flex:1;width:auto;max-width:200px}}.arena-toolbar{z-index:20;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;margin-bottom:8px;display:flex;position:relative}.arena-toolbar .sim-options{background:0 0;border:0;flex:0 auto;min-width:0;margin:0;position:relative;overflow:visible}.arena-toolbar .sim-options>summary{border:1px solid var(--border);background:var(--bg-warm);border-radius:7px;justify-content:flex-start;gap:6px;min-height:40px;padding:7px 10px}.arena-toolbar .sim-options>summary:before{content:none}.arena-toolbar .sim-options[open]>summary{border-bottom:1px solid var(--gold-dark);border-color:var(--gold-dark)}.options-menu-icon{color:var(--gold);font-family:sans-serif;font-size:1rem;line-height:1}.arena-toolbar .sim-options-current{font-family:var(--font-body);font-size:var(--fs-xs);white-space:nowrap}.arena-toolbar .army-config{z-index:80;border-color:var(--border-light);width:min(360px,100vw - 48px);box-shadow:var(--shadow-card);margin:0;padding:14px;position:absolute;top:calc(100% + 7px);left:0}.arena-toolbar .formula-note{color:var(--text-muted);font-size:var(--fs-xs);text-align:center;margin-bottom:10px}.arena-toolbar .formula-note strong{color:var(--gold)}.arena-toolbar .start-hint{text-align:right;flex:auto;margin-left:4px}.arena-toolbar .start-hint[hidden]{display:none}.arena-player{justify-content:center;align-items:center;width:100%;min-height:54px;margin-top:7px;padding:3px 0;display:flex}.player-controls{grid-template-columns:minmax(76px,1fr) auto minmax(76px,1fr);align-items:center;width:min(100%,420px);min-height:52px;display:grid}.player-button{cursor:pointer;border:1px solid var(--border);background:var(--bg-warm);width:50px;height:50px;color:var(--text);border-radius:50%;place-items:center;padding:0;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-grid}.player-button.primary{background:var(--gold-cta);border-color:var(--gold-cta);color:var(--text-on-gold)}.player-button:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:none}.player-button:disabled{opacity:.42;cursor:not-allowed}.player-button.loading{cursor:wait}.player-control-side{align-items:center;min-width:0;display:flex}.player-time-slot{justify-content:flex-end;padding-right:18px}.player-balance-slot{padding-left:18px}.transport-controls{justify-content:center;align-items:center;gap:12px;display:flex}.media-state-icon,.media-glyph{fill:currentColor;width:22px;height:22px;display:block}.media-state-icon{display:none}.player-button[data-state=play] .media-play,.player-button[data-state=pause] .media-pause,.player-button[data-state=replay] .media-replay,.player-button[data-state=loading] .media-loading{display:block}.media-loading{border:2px solid color-mix(in srgb, currentColor 35%, transparent);border-top-color:currentColor;border-radius:50%;width:19px;height:19px;animation:.8s linear infinite media-spin}@keyframes media-spin{to{transform:rotate(360deg)}}.speed-button{color:var(--gold);position:relative}.restart-button{color:var(--gold)}.restart-button .media-glyph,.speed-button .media-glyph{width:20px;height:20px}.speed-value{border:1px solid var(--border);background:var(--surface-elevated);width:3.2ch;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;padding:1px 2px;font-size:.58rem;line-height:1.15;position:absolute;bottom:-4px;right:-8px}.arena-player .battle-timer{width:7ch;color:var(--text-muted);font-size:var(--fs-xs);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:0}.battle-timer[hidden]{display:none}.dmg-toggle{font-size:var(--fs-xs);font-family:var(--font-display);cursor:pointer;border:1px solid var(--border);background:var(--bg-warm);color:var(--text-muted);border-radius:6px;padding:8px 14px;font-weight:600;transition:all .2s}.dmg-toggle[hidden]{display:none}.dmg-toggle[aria-expanded=true]{color:var(--gold);border-color:var(--gold-light)}.sim-stage{scroll-margin-top:calc(var(--nav-h,56px) + 8px);align-items:flex-start;gap:12px;display:flex}.team-rail{background:var(--bg-warm);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:0 0 clamp(260px,28vw,380px);min-width:0;padding:10px;transition:flex-basis .4s cubic-bezier(.22,.61,.36,1);display:flex}.rail-head{align-items:center;gap:7px;margin-bottom:8px;display:flex}.rail-title{font-family:var(--font-display);font-size:var(--fs-sm);align-items:center;gap:7px;font-weight:700;display:flex}.rail-title:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-rail.team1 .rail-title:before{background:var(--team1)}.team-rail.team2 .rail-title:before{background:var(--team2)}.rail-search{margin-bottom:8px;position:relative}.rail-search-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-size:var(--fs-sm);border-radius:6px;padding:8px 10px}.rail-search-input:focus{border-color:var(--gold);outline:none}.rail-search-results{z-index:30;background:var(--surface-elevated);border:1px solid var(--border-light);max-height:320px;box-shadow:var(--shadow-card);overscroll-behavior:contain;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.rail-search-results[hidden]{display:none}.search-result{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 10px;display:flex}.search-result:last-child{border-bottom:none}.search-result:hover,.search-result.active{background:var(--gold-tint)}.search-result img{object-fit:contain;flex-shrink:0;width:1.75rem;height:1.75rem}.search-result img.emblem{object-fit:cover;border-radius:50%}.search-result .sr-name{font-size:var(--fs-sm);color:var(--text);font-weight:600}.search-result .sr-sub{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto}.search-empty{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;padding:10px}.rail-picker{overscroll-behavior:contain;flex:0 auto;min-height:0;max-height:58vh;overflow-y:auto}.rail-live{min-width:0;min-height:0;margin-top:10px}.rail-live[hidden]{display:none}.arena{min-width:0;scroll-margin-top:calc(var(--nav-h,56px) + 8px);flex-direction:column;flex:auto;align-items:stretch;display:flex;position:relative}.arena-canvas-wrap{width:100%;position:relative}.sim-stage.battle-active .team-rail{flex-basis:clamp(250px,21vw,340px)}.sim-stage.battle-active .rail-search{display:none}.sim-stage.battle-active .rail-live{display:block}#debugPanel{margin-top:12px}#debugPanel[hidden]{display:none}@media (width>=1025px) and (height>=560px){.page-header{display:none}.sim-page{padding-block:8px}.sim-stage{height:calc(100svh - var(--nav-h,56px) - 16px);align-items:stretch}.team-rail{scrollbar-width:thin;height:100%;overflow:hidden auto}.rail-picker{max-height:calc(100% - 82px)}.arena{height:100%}.arena-toolbar,.arena-player{flex:none}.arena-canvas-wrap{flex:auto;min-height:0}#battleCanvas{aspect-ratio:auto;width:100%;height:100%}.sim-stage.battle-active .team-rail{padding:15px}.sim-stage.battle-active .rail-title{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1rem}.sim-stage.battle-active .selection-badge{gap:11px;min-height:54px;margin-bottom:9px;padding:9px 11px}.sim-stage.battle-active .selection-badge img,.sim-stage.battle-active .selection-badge img.sprite{flex:0 0 2.65rem;width:2.65rem;height:2.65rem}.sim-stage.battle-active .selection-badge .badge-text{min-width:0;font-family:var(--font-body);font-size:.98rem;font-weight:700;line-height:1.25}.sim-stage.battle-active .rail-picker{flex-shrink:0;overflow-y:visible}.sim-stage.battle-active .rail-live{margin-top:6px}.sim-stage.battle-active .progress-card{padding:13px 14px}.sim-stage.battle-active .progress-header{border-bottom:1px solid var(--border);gap:10px;margin-bottom:8px;padding-bottom:10px}.sim-stage.battle-active .progress-header img.sprite{flex:0 0 3.6rem;width:3.6rem;height:3.6rem}.sim-stage.battle-active .progress-header .prog-name{font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1.4}.sim-stage.battle-active .progress-row{border-bottom:1px solid color-mix(in srgb, var(--border) 68%, transparent);font-family:var(--font-body);align-items:baseline;margin:0;padding:5px 0;font-size:.9rem}.sim-stage.battle-active .progress-row:last-child{border-bottom:0}.sim-stage.battle-active .progress-row .prog-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:10px;font-size:.82rem}}@media (width<=1024px){.sim-stage{flex-direction:column}.team-rail{flex:auto;width:100%}.rail-picker{max-height:42vh}.arena #battleCanvas{max-width:100%}.sim-stage.battle-active .team-rail{flex-basis:auto}}@media (width<=768px){#team1Rail{order:1}#team2Rail{order:2}.arena{order:3}.rail-picker{max-height:34vh}.rail-picker>.civ-grid{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;max-height:91px;overflow-y:auto}.rail-picker>.civ-grid .civ-card{border-radius:5px;gap:1px;min-width:0;min-height:44px;padding:3px 1px}.rail-picker>.civ-grid .civ-card img{width:1.45rem;height:1.45rem}.rail-picker>.civ-grid .civ-card span{width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;line-height:1.05;display:block;overflow:hidden}.rail-picker>.unit-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.rail-picker>.unit-grid .unit-pick{gap:1px;min-width:0;min-height:50px;padding:3px 1px}.rail-picker>.unit-grid .unit-pick img,.rail-picker>.unit-grid .unit-pick img.sprite{width:1.68rem;height:1.68rem;padding:0}.rail-picker>.unit-grid .unit-pick span{font-size:.52rem;line-height:1.05}.rail-search-input{min-height:44px}.arena-toolbar{flex-wrap:wrap;min-height:44px}.arena-toolbar .sim-options>summary{min-height:42px;padding-inline:9px}.arena-toolbar .sim-options-toggle{display:none}.arena-toolbar .start-hint{text-align:center;flex:1 0 100%;margin:0}.arena-toolbar .army-config{width:min(340px,100vw - 48px)}.arena-player{min-height:56px;margin-top:6px}.player-controls{grid-template-columns:minmax(62px,1fr) auto minmax(62px,1fr);width:min(100%,360px)}#battleCanvas{aspect-ratio:3/4}}.home-about{border-top:1px solid var(--border);padding:32px var(--gutter) 8px;margin-top:32px}.home-about-inner{max-width:var(--container-max);margin:0 auto}.home-about h2{font-family:var(--font-display);color:var(--text);font-size:var(--fs-lg);letter-spacing:0;margin:0 0 12px}.home-about p{color:var(--text-muted);font-size:var(--fs-base);line-height:var(--lh-base);max-width:820px;margin:0 0 20px}.home-about p a{color:var(--gold);white-space:nowrap}@media (width<=1024px){html[data-simulator-prefilled] .rail-live[hidden]{visibility:hidden;display:block}html[data-simulator-prefilled] .rail-picker{min-height:108px}html[data-simulator-prefilled] .progress-header{min-height:48px}}.home-about-tools{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.home-about-tools a{border:1px solid var(--border);background:var(--bg-warm);color:var(--text);border-radius:10px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:block}.home-about-tools a:hover{border-color:var(--gold);background:var(--bg-hover)}.home-about-tools strong{color:var(--gold);font-size:var(--fs-md);margin-bottom:2px;display:block}.home-about-tools span{color:var(--text-muted);font-size:var(--fs-sm)}
