:root{--battle-side-a:var(--ff-action);--battle-side-b:var(--ff-urgency);--battle-grid:color-mix(in srgb, var(--ff-border) 55%, transparent);--battle-run-bar-clearance:6.5rem}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-height:100vh;color:var(--ff-text);background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--ff-action) 13%,transparent),transparent 28rem),radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--ff-urgency) 11%,transparent),transparent 30rem),var(--body-bg);font-family:var(--ff-font-ui);margin:0}button,input,select{font:inherit}a,button,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}[hidden]{display:none!important}.battle-visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.is-locked{overflow:hidden}.battle-skip-link{z-index:calc(2 + var(--z-modal));top:.5rem;border-radius:var(--radius-control);color:var(--ff-on-accent);background:var(--ff-action);transition:transform var(--ff-t-tap);padding:.7rem 1rem;font-weight:800;position:fixed;inset-inline-start:.5rem;transform:translateY(-150%)}.battle-skip-link:focus-visible{transform:translateY(0)}.battle-app-shell{width:min(100%,1680px);padding:max(12px,var(--ff-safe-top)) max(12px,var(--ff-content-gutter)) max(1rem + var(--battle-run-bar-clearance),var(--ff-safe-bottom));margin:0 auto}.battle-topbar{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-card);background:var(--ff-panel-translucent-strong);min-height:72px;box-shadow:var(--ff-shadow-low);-webkit-backdrop-filter:blur(var(--ff-blur-raised));backdrop-filter:blur(var(--ff-blur-raised));justify-content:space-between;gap:1rem;padding:.75rem 1rem;position:relative}.battle-brand,.battle-brand-copy,.battle-form-actions,.battle-phase-chips,.battle-result-actions,.battle-title-row,.battle-topbar,.battle-topbar-actions{align-items:center;display:flex}.battle-brand{min-width:0;min-height:var(--ff-tap-min);color:inherit;gap:.8rem;text-decoration:none}.battle-brand img{-o-object-fit:contain;object-fit:contain;width:48px;height:48px;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--ff-action) 34%,transparent))}.battle-brand-copy{flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0}.battle-brand-copy strong{letter-spacing:.02em;font-size:.95rem}.battle-brand-copy small{color:var(--ff-text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.battle-topbar-actions{align-items:flex-end;gap:.5rem}.battle-language-field{gap:.15rem;min-width:8.5rem;display:grid}.battle-language-field>span{color:var(--ff-text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:800}.battle-language-field select{height:var(--ff-tap-min);min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);background:var(--ff-control);outline:none;padding-block:.4rem;padding-inline:.65rem 2rem;font-size:.72rem;font-weight:800}.battle-topbar-actions .battle-back-link,.battle-topbar-actions .battle-icon-button{height:var(--ff-tap-min)}.battle-language-field select:focus-visible{box-shadow:var(--ff-focus-ring)}.battle-back-link,.battle-export-button,.battle-file-button,.battle-icon-button,.battle-primary-button,.battle-secondary-button{min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);transition:transform var(--ff-t-tap),border-color var(--ff-t-hover),background-color var(--ff-t-hover),box-shadow var(--ff-t-hover);justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.battle-back-link,.battle-export-button,.battle-file-button,.battle-icon-button,.battle-secondary-button{color:var(--ff-text);background:var(--ff-control)}.battle-icon-button{width:var(--ff-tap-min);padding:0}.battle-back-link svg,.battle-icon-button svg,.battle-primary-button svg{width:1.1rem;height:1.1rem}.battle-back-link,.battle-export-button,.battle-file-button,.battle-secondary-button{gap:.45rem;padding:.55rem .8rem}.battle-back-link:hover,.battle-export-button:hover,.battle-file-button:hover,.battle-icon-button:hover,.battle-secondary-button:hover,.battle-side-action-button:hover{border-color:var(--ff-border-hover);background:var(--ff-control-hover)}.battle-back-link:active,.battle-export-button:active,.battle-file-button:active,.battle-icon-button:active,.battle-primary-button:active,.battle-secondary-button:active{transform:scale(.98)}.battle-main{gap:var(--ff-section-gap);padding-block:calc(clamp(1.5rem,3vw,2.5rem));display:grid}.battle-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 2rem;display:grid}.battle-eyebrow,.battle-section-kicker,.battle-side-kicker,.pin-gate-field span,.pin-gate-kicker{color:var(--ff-text-dim);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.battle-title-row{flex-wrap:wrap;gap:.7rem;margin-top:.35rem}.battle-title-row h1{letter-spacing:-.045em;margin:0;font-size:calc(clamp(2rem,5vw,4rem));line-height:.98}.battle-beta-badge,.battle-inactive-chip,.battle-outcome-label,.battle-row-state,.battle-status-chip{border-radius:var(--ff-radius-pill);align-items:center;width:-moz-fit-content;width:fit-content;font-weight:800;display:inline-flex}.battle-beta-badge{border:1px solid color-mix(in srgb,var(--ff-urgency) 52%,transparent);color:var(--ff-urgency);background:color-mix(in srgb,var(--ff-urgency) 12%,transparent);letter-spacing:.1em;padding:.35rem .62rem;font-size:.68rem}.battle-hero-copy{max-width:62rem;color:var(--ff-text-supporting);margin:.8rem 0 0;line-height:1.65}.battle-phase-chips{flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.battle-status-chip{border:1px solid var(--ff-border-subtle);min-height:2rem;color:var(--ff-text-dim);background:var(--ff-surface-soft);padding:.35rem .65rem;font-size:.72rem}.battle-foundation-note{border:1px solid color-mix(in srgb,var(--ff-warning) 32%,var(--ff-border));border-radius:var(--ff-radius-card);background:linear-gradient(90deg,color-mix(in srgb,var(--ff-warning) 9%,transparent),transparent 62%),var(--ff-panel-translucent);grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:1rem;display:grid}.battle-foundation-note svg{width:1.35rem;height:1.35rem;color:var(--ff-warning)}.battle-foundation-note p,.battle-foundation-note strong{margin:0}.battle-foundation-note p{color:var(--ff-text-dim);margin-top:.25rem;font-size:.84rem;line-height:1.55}.battle-results,.battle-simulator-form{gap:var(--ff-panel-gap);display:grid}.battle-results-panel,.battle-run-panel,.battle-setup-toolbar,.battle-side-panel{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sheet);background:var(--ff-panel);box-shadow:var(--ff-shadow-card);-webkit-backdrop-filter:blur(var(--ff-blur-surface));backdrop-filter:blur(var(--ff-blur-surface))}.battle-run-panel{grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(10rem,.55fr))}.battle-run-panel,.battle-setup-toolbar{padding:var(--ff-card-padding);align-items:end;gap:1rem;display:grid}.battle-setup-toolbar{grid-template-columns:minmax(0,1fr) auto}.battle-preset-controls,.battle-setup-actions{align-items:end;gap:.55rem;display:flex}.battle-setup-actions{flex-wrap:wrap;justify-content:flex-end}.battle-side-action-button{border-color:color-mix(in srgb,var(--ff-action) 35%,var(--ff-border))}.battle-file-button{cursor:pointer;position:relative}.battle-file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.battle-file-button:has(input:focus-visible){box-shadow:var(--ff-focus-ring)}.battle-paste-setup,.battle-preset-controls,.battle-setup-hint{grid-column:1/-1}.battle-preset-controls{grid-template-columns:minmax(10rem,1fr) auto minmax(11rem,1fr) auto auto;grid-template-areas:"name save select load delete";display:grid}.battle-preset-name-field{grid-area:name}[data-preset-save]{grid-area:save}.battle-preset-select-field{grid-area:select}[data-preset-load]{grid-area:load}[data-preset-delete]{grid-area:delete}.battle-setup-hint{color:var(--ff-text-tertiary);margin:-.35rem 0 0;font-size:.68rem;line-height:1.5}.battle-paste-setup{border-top:1px solid var(--ff-border-subtle)}.battle-paste-setup>summary{width:-moz-fit-content;width:fit-content;color:var(--ff-text-dim);cursor:pointer;padding-top:.8rem;font-size:.75rem;font-weight:800}.battle-paste-setup-body{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;padding-top:.7rem;display:grid}.battle-mode-fieldset,.battle-run-count{border:0;min-width:0;margin:0;padding:0}.battle-mode-fieldset>legend,.battle-run-count>legend{color:var(--ff-text-dim);letter-spacing:.04em;margin-bottom:.4rem;font-size:.7rem;font-weight:800}.battle-run-options{grid-template-columns:repeat(5,minmax(3.2rem,1fr));gap:.35rem;display:grid}.battle-run-option{position:relative}.battle-run-option input{opacity:0;width:1px;height:1px;position:absolute}.battle-run-option span{min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text-supporting);background:var(--ff-control);font-family:var(--ff-font-data);cursor:pointer;place-items:center;padding:.35rem;font-size:.82rem;font-weight:800;display:grid}.battle-run-option small{color:var(--ff-text-tertiary);font-family:var(--ff-font-ui);letter-spacing:.03em;text-transform:uppercase;font-size:.55rem}.battle-run-option input:checked+span{border-color:color-mix(in srgb,var(--ff-action) 48%,var(--ff-border));color:var(--ff-action);background:color-mix(in srgb,var(--ff-action) 12%,var(--ff-control))}.battle-run-option input:focus-visible+span{box-shadow:var(--ff-focus-ring)}.battle-run-advanced{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.battle-input-suffix{display:block;position:relative}.battle-input-suffix input{padding-inline-end:2rem}.battle-input-suffix>span{top:50%;color:var(--ff-text-tertiary);font-family:var(--ff-font-data);pointer-events:none;font-size:.72rem;position:absolute;inset-inline-end:.75rem;transform:translateY(-50%)}.battle-panel-heading h2,.battle-panel-heading h3,.battle-results-heading h2,.battle-side-heading h2{letter-spacing:-.025em;margin:.2rem 0 0}.battle-panel-heading p,.battle-results-heading p,.battle-side-heading p{color:var(--ff-text-dim);margin:.35rem 0 0;font-size:.8rem;line-height:1.5}.battle-field{gap:.4rem;min-width:0;display:grid}.battle-field-label,.battle-field>span{color:var(--ff-text-dim);letter-spacing:.04em;font-size:.7rem;font-weight:800}.battle-field input,.battle-field select,.battle-field textarea,.battle-stat-input{width:100%;min-width:0;min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);background:var(--ff-control);font-family:var(--ff-font-data);outline:none;font-size:.82rem;font-weight:700}.battle-field input,.battle-field select,.battle-field textarea{padding:.65rem .75rem}.battle-field textarea{resize:vertical;min-height:8rem;line-height:1.5}.battle-field input:focus-visible,.battle-field select:focus-visible,.battle-field textarea:focus-visible,.battle-stat-input:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{box-shadow:var(--ff-focus-ring)}.battle-simulator-form :is(input,select,textarea)[aria-invalid=true],.battle-simulator-form.is-validated :is(input,select,textarea):invalid{border-color:var(--ff-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ff-danger) 18%,transparent)}.battle-field-hint{color:var(--ff-text-tertiary);font-size:.68rem;line-height:1.4}.battle-field input:disabled,.battle-field select:disabled,.battle-profile-panel .battle-primary-button:disabled,.battle-secondary-button:disabled,.battle-text-button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.battle-profile-panel{padding:var(--ff-card-padding);border:1px solid color-mix(in srgb,var(--ff-action) 22%,var(--ff-border));border-radius:var(--ff-radius-sheet);background:linear-gradient(135deg,color-mix(in srgb,var(--ff-action) 8%,transparent),transparent 45%),var(--ff-panel);box-shadow:var(--ff-shadow-card);gap:1rem;display:grid}.battle-profile-heading,.battle-profile-save-actions,.battle-profile-state,.battle-profile-storage-warning{align-items:center;display:flex}.battle-profile-heading{justify-content:space-between;gap:1rem}.battle-profile-state{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;gap:.3rem;font-size:.7rem;font-weight:900}.battle-profile-state.is-ready{color:var(--ff-success)}.battle-profile-state.is-missing{color:var(--ff-warning)}.battle-profile-state svg,.battle-profile-storage-warning svg{flex:none;width:1rem;height:1rem}.battle-profile-save-actions{flex-wrap:wrap;gap:.5rem}.battle-profile-storage-warning{border:1px solid color-mix(in srgb,var(--ff-danger) 35%,var(--ff-border));border-radius:var(--ff-radius-control);color:var(--ff-danger);background:color-mix(in srgb,var(--ff-danger) 8%,transparent);gap:.55rem;margin:0;padding:.7rem .8rem;font-size:.76rem;font-weight:750}@media(max-width:700px){.battle-profile-heading{flex-direction:column;align-items:flex-start}.battle-profile-save-actions,.battle-profile-save-actions>*{width:100%}}.battle-profile-readiness{align-items:center;gap:.45rem;display:flex;overflow-x:auto}.battle-profile-readiness>span{min-height:var(--ff-tap-min);white-space:nowrap;align-items:center;gap:.35rem;padding-inline:.55rem;display:inline-flex}.battle-profile-drafts{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;display:grid}.battle-profile-draft,.battle-profile-source-editor{border:1px solid var(--ff-border);border-radius:var(--ff-radius-card);background:var(--ff-control);gap:.7rem;min-width:0;padding:.8rem;display:grid}.battle-profile-apply,.battle-profile-draft-heading,.battle-profile-mini-actions,.battle-profile-source-heading{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.battle-profile-source-toggles{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:0;padding:0;display:grid}.battle-profile-source-toggles .battle-profile-state,.battle-profile-source-toggles legend{grid-column:1/-1}.battle-profile-source-toggles label{min-height:var(--ff-tap-min);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.15rem .4rem;padding:.4rem;display:grid}.battle-profile-editor,.battle-profile-source-toggles label{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control)}.battle-profile-editor{min-width:0;overflow:hidden}.battle-profile-editor>summary{min-height:var(--ff-tap-min);align-items:center;padding:.65rem .8rem;display:flex}.battle-profile-editor-body,.battle-profile-research-list{gap:.5rem;display:grid}.battle-profile-editor-body{border-top:1px solid var(--ff-border-subtle);padding:.7rem}.battle-profile-research-list{max-height:18rem;overflow:auto}.battle-profile-equipment-controls,.battle-profile-research-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.5rem;display:grid}.battle-profile-research-row>span{grid-column:span 2;min-width:0;display:grid}.battle-profile-equipment-controls :is(input,select),.battle-profile-research-row input{width:100%;min-height:var(--ff-tap-min)}@media(max-width:900px){.battle-profile-drafts{grid-template-columns:1fr}}@media(max-width:700px){.battle-profile-apply,.battle-profile-draft-heading,.battle-profile-readiness,.battle-profile-source-heading{flex-direction:column;align-items:stretch}.battle-profile-equipment-controls,.battle-profile-source-toggles{grid-template-columns:1fr}}.battle-formations{gap:var(--ff-panel-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.battle-side-panel{min-width:0;position:relative;overflow:hidden}.battle-side-panel:before{background:var(--side-color);content:"";height:3px;position:absolute;inset:0 0 auto}.battle-side-panel[data-side=A]{--side-color:var(--battle-side-a)}.battle-side-panel[data-side=B]{--side-color:var(--battle-side-b)}.battle-side-header{padding:var(--ff-card-padding);border-bottom:1px solid var(--ff-border-subtle);background:linear-gradient(135deg,color-mix(in srgb,var(--side-color) 8%,transparent),transparent 55%);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem;display:grid}.battle-legion-sources{margin:var(--ff-card-padding) var(--ff-card-padding) 0;border:1px solid color-mix(in srgb,var(--side-color) 26%,var(--ff-border-subtle));border-radius:var(--ff-radius-card);background:color-mix(in srgb,var(--side-color) 4%,var(--ff-panel-translucent));gap:.7rem;padding:.8rem;display:grid}.battle-source-card-heading,.battle-source-card-metrics,.battle-source-section-heading,.battle-source-toggle,.battle-stat-source-heading,.battle-stat-source-row{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.battle-source-card-heading h4,.battle-source-section-heading h3,.battle-stat-node-group>h4{margin:0}.battle-source-section-heading>p{max-width:21rem;color:var(--ff-text-tertiary);text-align:end;margin:0;font-size:.65rem;line-height:1.45}.battle-legion-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.battle-source-card{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);background:var(--ff-surface-soft);gap:.65rem;min-width:0;padding:.7rem;display:grid}.battle-source-card-heading{grid-template-columns:minmax(0,1fr);place-items:flex-start start;min-width:0;display:grid}.battle-source-card-heading>div{width:100%;min-width:0;max-width:100%}.battle-source-card-heading h4{margin-top:.12rem;font-size:.82rem}.battle-source-overline{color:var(--ff-text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:.55rem;font-weight:800}.battle-run-partial-status,.battle-source-status{border:1px solid var(--ff-border-subtle);border-radius:var(--radius-pill);color:var(--ff-text-tertiary);background:var(--ff-control);letter-spacing:.025em;flex:none;padding:.22rem .42rem;font-size:.55rem;font-weight:800}.battle-source-status{overflow-wrap:anywhere;white-space:normal;text-align:start;justify-self:start;width:-moz-fit-content;width:fit-content;min-width:0;max-width:100%;line-height:1.35;display:block}.battle-source-status.is-active{border-color:color-mix(in srgb,var(--ff-success) 36%,var(--ff-border));color:var(--ff-success)}.battle-run-partial-status,.battle-source-status.is-partial{border-color:color-mix(in srgb,var(--ff-warning) 42%,var(--ff-border));color:var(--ff-warning)}.battle-source-toggle{min-height:var(--ff-tap-min);color:var(--ff-text-supporting);touch-action:manipulation;justify-content:flex-start;align-items:center;font-size:.68rem;font-weight:800}.battle-source-toggle input{width:1rem;height:1rem;accent-color:var(--side-color)}.battle-source-toggle input:focus-visible{box-shadow:var(--ff-focus-ring)}.battle-source-card-metrics{color:var(--ff-text-dim);align-items:baseline;font-size:.62rem}.battle-source-card-metrics strong{color:var(--ff-text-supporting);font-size:.68rem}.battle-inline-warning,.battle-source-help{color:var(--ff-text-tertiary);margin:0;font-size:.62rem;line-height:1.45}.battle-inline-warning{border-inline-start:2px solid var(--ff-warning);color:var(--ff-warning);padding-inline-start:.55rem}.battle-equipment-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.battle-equipment-controls>.battle-field:first-child,.battle-stat-secondary-list>details[open]{grid-column:1/-1}.battle-equipment-controls .battle-field>span{font-size:.58rem}.battle-equipment-controls :is(input,select){min-height:2.15rem;padding-block:.35rem;font-size:.68rem}.battle-input-prefix{display:block;position:relative}.battle-input-prefix>span{z-index:1;top:50%;color:var(--ff-text-tertiary);pointer-events:none;position:absolute;inset-inline-start:.55rem;transform:translateY(-50%)}.battle-input-prefix input{padding-inline-start:1.35rem}.battle-compact-button{justify-self:start;min-height:2.15rem;padding:.35rem .6rem;font-size:.64rem}.battle-side-setup{margin:var(--ff-card-padding) var(--ff-card-padding) 0;border:1px solid color-mix(in srgb,var(--side-color) 24%,var(--ff-border-subtle));border-radius:var(--ff-radius-card);background:color-mix(in srgb,var(--side-color) 4%,var(--ff-surface-soft));overflow:clip}.battle-side-setup>summary{min-height:var(--ff-tap-min);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .8rem;list-style:none;display:grid}.battle-side-setup>summary::-webkit-details-marker{display:none}.battle-side-setup>summary small,.battle-side-setup>summary strong{display:block}.battle-side-setup>summary strong{font-size:.8rem}.battle-side-setup>summary small{color:var(--ff-text-dim);font-family:var(--ff-font-data);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.65rem;overflow:hidden}.battle-side-setup[open] .battle-summary-chevron,.battle-squad-card[open] .battle-summary-chevron,.battle-stat-node[open]>summary .battle-summary-chevron{transform:rotate(180deg)}.battle-side-setup-body{border-top:1px solid var(--ff-border-subtle);gap:.8rem;padding:0 .8rem .8rem;display:grid}.battle-row-footer,.battle-side-setup-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.battle-side-setup-footer p{color:var(--ff-text-tertiary);margin:0;font-size:.68rem;line-height:1.5}.battle-side-kicker{color:var(--side-color)}.battle-mode-group{border:1px solid var(--ff-border);border-radius:calc(2px + var(--ff-radius-control));background:var(--ff-surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));padding:.2rem;display:grid}.battle-mode-fieldset,.battle-mode-group{min-width:min(100%,17rem)}.battle-mode-option{position:relative}.battle-mode-option input{opacity:0;width:1px;height:1px;position:absolute}.battle-mode-option span{border-radius:var(--ff-radius-control);min-height:2.25rem;color:var(--ff-text-dim);text-align:center;cursor:pointer;place-items:center;padding:.35rem .55rem;font-size:.7rem;font-weight:800;display:grid}.battle-mode-option input:checked+span{color:var(--ff-text);background:color-mix(in srgb,var(--side-color) 15%,var(--ff-control));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--side-color) 30%,transparent)}.battle-mode-option input:focus-visible+span{box-shadow:var(--ff-focus-ring)}.battle-squad-list{padding:var(--ff-card-padding);gap:.65rem;display:grid}.battle-squad-card{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-card);background:var(--ff-panel-translucent);min-width:0;overflow:clip}.battle-squad-card[open]{border-color:color-mix(in srgb,var(--side-color) 34%,var(--ff-border));box-shadow:0 10px 24px color-mix(in srgb,var(--side-color) 7%,transparent)}.battle-squad-summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.5rem;padding:.65rem .75rem;list-style:none;display:grid}.battle-squad-summary::-webkit-details-marker{display:none}.battle-row-marker{width:2rem;height:2rem;color:var(--ff-on-accent);background:var(--side-color);font-family:var(--ff-font-data);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.battle-squad-summary-copy{min-width:0}.battle-squad-summary-copy span,.battle-squad-summary-copy strong{display:block}.battle-squad-summary-copy .battle-row-heading{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.battle-squad-summary-copy .battle-row-state{color:var(--side-color);background:color-mix(in srgb,var(--side-color) 12%,transparent);font-family:var(--ff-font-ui);letter-spacing:.04em;text-transform:uppercase;padding:.16rem .38rem;font-size:.52rem;display:inline-flex}.battle-row-state[hidden],.battle-text-button[hidden]{display:none}.battle-text-button{min-height:var(--ff-tap-min);color:var(--side-color,var(--ff-action));text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:.35rem .2rem;font-size:.7rem;font-weight:800;text-decoration:underline}.battle-danger-text-button{color:var(--ff-danger)}.battle-squad-summary-copy strong{font-size:.86rem}.battle-squad-summary-copy span{color:var(--ff-text-dim);font-family:var(--ff-font-data);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.67rem;overflow:hidden}.battle-summary-chevron{width:1rem;height:1rem;color:var(--ff-text-dim);transition:transform var(--ff-t-expand)}.battle-squad-body{border-top:1px solid var(--ff-border-subtle);gap:.8rem;padding:0 .75rem .8rem;display:grid}.battle-squad-controls{grid-template-columns:minmax(0,1fr) minmax(5.5rem,.55fr) minmax(7rem,.75fr);gap:.6rem;padding-top:.8rem;display:grid}.battle-stat-node-groups{gap:.8rem;min-width:0;display:grid}.battle-stat-node-group,.battle-stat-node-list{gap:.45rem;min-width:0;display:grid}.battle-stat-node-group>h4{color:var(--ff-text-tertiary);letter-spacing:.055em;text-transform:uppercase;font-size:.61rem}.battle-stat-secondary-list{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-stat-node{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);background:var(--ff-surface-soft);min-width:0;overflow:clip}.battle-stat-node[open]{border-color:color-mix(in srgb,var(--side-color) 34%,var(--ff-border));background:color-mix(in srgb,var(--side-color) 4%,var(--ff-surface-soft))}.battle-stat-node>summary{min-height:var(--ff-tap-min);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.52rem .65rem;list-style:none;display:grid}.battle-stat-node>summary::-webkit-details-marker{display:none}.battle-stat-node>summary>span:first-child{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.battle-stat-node>summary small,.battle-stat-node>summary strong{display:block}.battle-stat-node>summary strong{color:var(--ff-text-supporting);font-size:.72rem}.battle-stat-node>summary small:not(.battle-inactive-chip){color:var(--ff-text-tertiary);font-size:.57rem}.battle-stat-equation-result output,.battle-stat-node>summary output,.battle-stat-source-row output{color:var(--side-color);font-family:var(--ff-font-data);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:800}.battle-stat-node-body{border-top:1px solid var(--ff-border-subtle);gap:.65rem;padding:.65rem;display:grid}.battle-stat-equation{direction:ltr;grid-template-columns:minmax(7rem,1fr) auto minmax(7rem,1fr) auto minmax(8rem,1fr);align-items:stretch;gap:.45rem;display:grid}.battle-stat-equation-result,.battle-stat-equation-term{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);background:var(--ff-control);direction:ltr;align-content:start;gap:.28rem;min-width:0;padding:.55rem;display:grid}:is(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .battle-stat-equation-term,:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .battle-stat-equation-result){direction:rtl}.battle-stat-equation-result>span:first-child,.battle-stat-equation-term>span:first-child{color:var(--ff-text-dim);font-size:.59rem;font-weight:800;line-height:1.35}.battle-stat-equation-result small,.battle-stat-equation-term small{color:var(--ff-text-tertiary);font-size:.55rem;line-height:1.35}.battle-stat-equation-result{border-color:color-mix(in srgb,var(--side-color) 31%,var(--ff-border));background:color-mix(in srgb,var(--side-color) 7%,var(--ff-control))}.battle-stat-equation-result output{align-self:center;font-size:1rem}.battle-equation-operator{color:var(--ff-text-tertiary);font-family:var(--ff-font-data);place-items:center;font-size:.9rem;font-weight:900;display:grid}.battle-stat-source-breakdown{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);background:var(--ff-panel-translucent);overflow:hidden}.battle-stat-source-heading{border-bottom:1px solid var(--ff-border-subtle);color:var(--ff-text-dim);padding:.42rem .55rem;font-size:.58rem}.battle-stat-source-heading span{color:var(--ff-text-tertiary)}.battle-stat-source-breakdown ul{margin:0;padding:0;list-style:none;display:grid}.battle-stat-source-row{border-bottom:1px solid var(--battle-grid);min-height:2.5rem;padding:.38rem .55rem}.battle-stat-source-row:last-child{border-bottom:0}.battle-stat-source-row>span{min-width:0}.battle-stat-source-row small,.battle-stat-source-row strong{display:block}.battle-stat-source-row strong{color:var(--ff-text-supporting);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.battle-stat-source-row small{color:var(--ff-text-tertiary);margin-top:.08rem;font-size:.53rem}.battle-stat-source-row.is-baseline output,.battle-stat-source-row.is-override output{color:var(--ff-text-dim)}.battle-stat-source-row.is-excluded{opacity:.62}.battle-stat-source-row.is-excluded output{color:var(--ff-text-tertiary);text-decoration:line-through}.battle-secondary-stat-input{max-width:12rem}.battle-stat-inactive-note{color:var(--ff-text-tertiary);margin:0;font-size:.62rem;line-height:1.45}.battle-stat-table-wrap{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);min-width:0;overflow-x:auto}.battle-stat-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:29rem;font-size:.72rem}.battle-stat-table td,.battle-stat-table th{border-bottom:1px solid var(--battle-grid);text-align:right;vertical-align:middle;height:2.65rem;padding:.35rem .45rem}.battle-stat-table tr:last-child td,.battle-stat-table tr:last-child th{border-bottom:0}.battle-stat-table thead th{height:2rem;color:var(--ff-text-tertiary);background:var(--ff-surface-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem}.battle-stat-table td:first-child,.battle-stat-table th:first-child{text-align:left;width:35%}.battle-stat-label{color:var(--ff-text-supporting);align-items:center;gap:.3rem;font-weight:700;display:flex}.battle-inactive-chip{color:var(--ff-text-tertiary);background:var(--ff-surface-soft);letter-spacing:.04em;text-transform:uppercase;padding:.15rem .3rem;font-size:.52rem}.battle-base-value,.battle-final-value,.battle-run-bar-summary{font-family:var(--ff-font-data);font-variant-numeric:tabular-nums}.battle-base-value{color:var(--ff-text-dim)}.battle-final-value{color:var(--side-color);font-weight:800}.battle-stat-input{text-align:right;min-height:2rem;padding:.28rem .4rem}.battle-base-input{border-color:color-mix(in srgb,var(--side-color) 24%,var(--ff-border));color:var(--ff-text-supporting);background:color-mix(in srgb,var(--side-color) 5%,var(--ff-control))}.battle-stat-unit{color:var(--ff-text-tertiary);font-size:.6rem}.battle-tactical-note{color:var(--ff-text-tertiary);margin:0;font-size:.68rem;line-height:1.5}.battle-validation-summary{border:1px solid color-mix(in srgb,var(--ff-danger) 42%,var(--ff-border));border-radius:var(--ff-radius-card);color:var(--ff-danger);background:color-mix(in srgb,var(--ff-danger) 9%,var(--ff-panel));padding:.8rem 1rem;font-size:.82rem;font-weight:700}.battle-form-actions{z-index:var(--z-sticky);inset-inline-start:50%;bottom:max(.75rem,var(--ff-safe-bottom));width:min(100% - 24px,1680px - var(--ff-content-gutter) - var(--ff-content-gutter));border:1px solid var(--ff-border);border-radius:var(--ff-radius-card);background:var(--ff-panel-translucent-strong);box-shadow:var(--ff-shadow-lift);-webkit-backdrop-filter:blur(var(--ff-blur-raised));backdrop-filter:blur(var(--ff-blur-raised));grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.75rem;display:grid;position:fixed;transform:translate(-50%)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .battle-form-actions{transform:translate(50%)}.battle-primary-button{border-color:color-mix(in srgb,var(--ff-action) 60%,transparent);min-width:min(100%,15rem);color:var(--ff-on-accent);background:var(--ff-gradient-primary);box-shadow:0 10px 26px color-mix(in srgb,var(--ff-action) 20%,transparent);gap:.5rem;padding:.7rem 1rem}.battle-primary-button:disabled{opacity:var(--disabled-opacity);cursor:wait}.battle-run-status{min-width:0;color:var(--ff-text-dim);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.74rem;line-height:1.4;display:flex}.battle-run-bar-summary{font-size:.82rem}.battle-run-invalid-button{min-height:var(--ff-tap-min);border:1px solid color-mix(in srgb,var(--ff-danger) 42%,var(--ff-border));border-radius:var(--ff-radius-control);color:var(--ff-danger);background:color-mix(in srgb,var(--ff-danger) 9%,var(--ff-control));text-align:start;gap:.12rem;padding:.45rem .7rem;display:grid}.battle-run-invalid-button strong{font-size:.72rem}.battle-run-invalid-button span{color:var(--ff-text-tertiary);font-size:.62rem}.battle-results-panel{padding:var(--ff-card-padding);gap:1rem;display:grid}.battle-results-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.battle-result-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.battle-export-button{min-height:2.35rem;padding:.4rem .65rem;font-size:.68rem}.battle-verdict-banner{--verdict-color:var(--ff-text-dim);border:1px solid color-mix(in srgb,var(--verdict-color) 42%,var(--ff-border));border-inline-start:4px solid var(--verdict-color);border-radius:var(--ff-radius-card);color:var(--verdict-color);background:color-mix(in srgb,var(--verdict-color) 9%,var(--ff-panel));gap:.25rem;padding:calc(clamp(.9rem,2vw,1.25rem));display:grid}.battle-verdict-banner.is-success{--verdict-color:var(--ff-success)}.battle-verdict-banner.is-danger{--verdict-color:var(--ff-danger)}.battle-verdict-banner.is-neutral{--verdict-color:var(--ff-text-dim)}.battle-results-partial{border:1px solid color-mix(in srgb,var(--ff-warning) 38%,var(--ff-border));border-radius:var(--ff-radius-control);color:var(--ff-warning);background:color-mix(in srgb,var(--ff-warning) 8%,var(--ff-panel));align-items:baseline;gap:.65rem;padding:.65rem .8rem;font-size:.7rem;line-height:1.45;display:flex}.battle-results-partial span{color:var(--ff-text-dim)}.battle-verdict-banner strong{font-family:var(--ff-font-data);font-size:calc(clamp(1.05rem,2.5vw,1.5rem));line-height:1.25}.battle-verdict-banner span{color:var(--ff-text-supporting);font-size:.76rem}.battle-metric-grid,.battle-outcome-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.battle-metric-card,.battle-outcome-card{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-card);background:var(--ff-surface-soft);min-width:0;padding:.85rem}.battle-outcome-label{color:var(--metric-color,var(--ff-text-dim));background:color-mix(in srgb,var(--metric-color,var(--ff-text-dim)) 10%,transparent);letter-spacing:.05em;text-transform:uppercase;padding:.22rem .42rem;font-size:.62rem}.battle-metric-card strong,.battle-outcome-card strong{font-family:var(--ff-font-data);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin-top:.5rem;font-size:calc(clamp(1.1rem,2.4vw,1.65rem));display:block;overflow:hidden}.battle-metric-card small,.battle-outcome-card small{color:var(--ff-text-tertiary);margin-top:.2rem;font-size:.65rem;display:block}.battle-survival-board{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-card);background:var(--ff-panel-translucent);gap:.7rem;padding:.85rem;display:grid}.battle-survival-row{grid-template-columns:4.5rem minmax(0,1fr) 7rem;align-items:center;gap:.65rem;font-size:.72rem;display:grid}.battle-log-table,.battle-survival-row output,.battle-survival-row strong{font-family:var(--ff-font-data);font-variant-numeric:tabular-nums}.battle-survival-row output{color:var(--ff-text-dim);text-align:right}.battle-survival-track{border-radius:var(--ff-radius-pill);background:var(--ff-surface-raised);height:.65rem;overflow:hidden}.battle-survival-fill{border-radius:inherit;background:var(--bar-color);height:100%;transition:width var(--ff-t-expand);display:block}.battle-log-details{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-card);overflow:clip}.battle-log-details>summary{min-height:var(--ff-tap-min);color:var(--ff-text-supporting);background:var(--ff-surface-soft);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .85rem;font-size:.78rem;font-weight:800;list-style:none;display:flex}.battle-log-details>summary::-webkit-details-marker{display:none}.battle-assumptions-body{color:var(--ff-text-dim);padding:.75rem 1rem .85rem;font-size:.76rem;line-height:1.6}.battle-assumptions-body ul{margin:0;padding-inline-start:1.2rem}.battle-assumptions-body li+li{margin-top:.25rem}.battle-log-table-wrap{max-height:30rem;overflow:auto}.battle-log-table{border-collapse:collapse;width:100%;min-width:54rem;font-size:.67rem}.battle-log-table td,.battle-log-table th{border-bottom:1px solid var(--battle-grid);text-align:left;white-space:nowrap;padding:.55rem .6rem}.battle-log-table th{z-index:1;color:var(--ff-text-dim);background:var(--ff-panel-strong);position:sticky;top:0}.battle-model-note{color:var(--ff-text-tertiary);margin:0;font-size:.68rem;line-height:1.55}.battle-footer{border-top:1px solid var(--ff-border-subtle);color:var(--ff-text-tertiary);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem .25rem 0;font-size:.7rem;display:flex}.battle-footer a{color:var(--ff-text-dim)}.battle-toast-region{z-index:var(--z-toast);inset-inline-end:max(.75rem,var(--ff-safe-right));bottom:max(var(--battle-run-bar-clearance),5.5rem + var(--ff-safe-bottom));pointer-events:none;gap:.5rem;width:calc(min(23rem,100vw - 1.5rem));display:grid;position:fixed}.battle-toast{border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);background:var(--ff-panel-strong);box-shadow:var(--ff-shadow-lift);animation:battle-toast-in var(--ff-duration-expand) var(--ff-ease-expand);padding:.75rem .9rem;font-size:.78rem;font-weight:700}@keyframes battle-toast-in{0%{opacity:0;transform:translateY(.5rem)}}.battle-noscript{text-align:center;align-content:center;place-items:center;gap:.8rem;min-height:100vh;padding:1.5rem;display:grid}.battle-noscript h1,.battle-noscript p{margin:0}.battle-noscript p{max-width:32rem;color:var(--ff-text-dim);line-height:1.6}.battle-noscript a,.battle-noscript button{min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);background:var(--ff-control);padding:.65rem .9rem;font-weight:800;text-decoration:none}.battle-boot-actions{gap:.5rem;display:flex}.pin-gate-overlay{z-index:var(--z-modal);min-height:100svh;padding:max(1rem,var(--ff-safe-top)) max(1rem,var(--ff-safe-right)) max(1rem,var(--ff-safe-bottom)) max(1rem,var(--ff-safe-left));background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--ff-action) 18%,transparent),transparent 24rem),radial-gradient(circle at 55% 68%,color-mix(in srgb,var(--ff-urgency) 12%,transparent),transparent 23rem),color-mix(in srgb,var(--ff-bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;display:grid;position:fixed;inset:0}.pin-gate-dialog{border:1px solid color-mix(in srgb,var(--ff-action) 36%,var(--ff-border));border-radius:var(--ff-radius-sheet);width:min(29rem,100%);color:var(--ff-text);background:linear-gradient(145deg,color-mix(in srgb,var(--ff-action) 9%,transparent),transparent 42%),linear-gradient(315deg,color-mix(in srgb,var(--ff-urgency) 7%,transparent),transparent 38%),var(--ff-panel-strong);box-shadow:var(--ff-shadow-lift);overflow:hidden}.pin-gate-dialog:before{background:var(--ff-gradient-primary);content:"";height:3px;display:block}.pin-gate-form{gap:.9rem;padding:calc(clamp(1.15rem,4vw,1.6rem));display:grid}.pin-gate-dialog h2{color:var(--ff-text);letter-spacing:-.035em;margin:0;font-size:calc(clamp(1.55rem,5vw,2.1rem));line-height:1.05}.pin-gate-copy{color:var(--ff-text-supporting);margin:0;font-size:.9rem;line-height:1.6}.pin-gate-field{gap:.45rem;display:grid}.pin-gate-input{border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);width:100%;min-height:3.2rem;color:var(--ff-text);background:var(--ff-control);font:800 1.15rem/1 var(--ff-font-data);letter-spacing:.1em;outline:none;padding:.75rem .9rem}.pin-gate-input:focus-visible{box-shadow:var(--ff-focus-ring)}.pin-gate-error{color:var(--ff-danger);margin:-.2rem 0 0;font-size:.8rem;font-weight:800}.pin-gate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.pin-gate-btn{min-height:var(--ff-tap-min);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);background:var(--ff-control);font-weight:800}.pin-gate-btn-primary{border-color:color-mix(in srgb,var(--ff-action) 55%,transparent);color:var(--ff-on-accent);background:var(--ff-gradient-primary)}.pin-gate-btn:focus-visible{box-shadow:var(--ff-focus-ring)}@media(max-width:1024px){.battle-run-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-panel-heading{grid-column:1/-1}.battle-run-count{min-width:0}.battle-formations,.battle-setup-toolbar{grid-template-columns:1fr}.battle-setup-actions{justify-content:flex-start}.battle-preset-controls{grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr) auto auto}.battle-side-header{grid-template-columns:minmax(0,1fr) minmax(15rem,.75fr)}.battle-equipment-controls{grid-template-columns:1fr}}@media(max-width:700px){:root{--battle-run-bar-clearance:8.5rem}.battle-app-shell{padding-inline:max(8px,var(--ff-safe-left))}.battle-topbar{min-height:62px;padding:.55rem .65rem}.battle-brand img{width:40px;height:40px}.battle-back-link span,.battle-brand-copy small,.battle-language-field>span{display:none}.battle-language-field{min-width:5.5rem}.battle-back-link{width:var(--ff-tap-min);padding:0}.battle-hero,.battle-results-heading,.battle-run-panel,.battle-setup-toolbar,.battle-side-header{grid-template-columns:1fr}.battle-phase-chips,.battle-result-actions,.battle-setup-actions{justify-content:flex-start}.battle-preset-controls{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name save save""select load delete"}.battle-paste-setup-body{grid-template-columns:1fr}.battle-run-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-panel-heading,.battle-stat-secondary-list>details[open]{grid-column:auto}.battle-mode-group{width:100%}.battle-equipment-controls,.battle-legion-source-grid,.battle-stat-equation,.battle-stat-secondary-list{grid-template-columns:1fr}.battle-equation-operator{min-height:1rem}.battle-source-section-heading{flex-direction:column;align-items:flex-start}.battle-source-section-heading>p{text-align:start}.battle-metric-grid,.battle-outcome-grid,.battle-squad-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-squad-controls .battle-field:last-child{grid-column:1/-1}.battle-form-actions{grid-template-columns:1fr;align-items:stretch;width:calc(100% - 16px);padding:.55rem}.battle-form-actions .battle-result-actions{grid-template-columns:auto minmax(0,1fr);display:grid}.battle-form-actions .battle-primary-button{min-width:0}.battle-footer,.battle-row-footer,.battle-side-setup-footer{flex-direction:column;align-items:flex-start}.battle-primary-button{width:100%}.battle-run-status{text-align:center;justify-content:center}}@media(max-width:430px){.battle-title-row h1{font-size:2.15rem}.battle-results-panel,.battle-run-panel,.battle-setup-toolbar,.battle-side-header,.battle-squad-list{padding:.8rem}.battle-run-options{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-preset-controls,.battle-run-advanced{grid-template-columns:1fr}.battle-preset-controls{grid-template-areas:"name""save""select""load""delete"}.battle-preset-controls>button,.battle-setup-actions,.battle-setup-actions>*{width:100%}.battle-legion-sources,.battle-side-setup{margin:.8rem .8rem 0}.battle-results-partial,.battle-source-card-heading,.battle-source-card-metrics{flex-direction:column;align-items:flex-start}.battle-stat-table-wrap{border:0;overflow:visible}.battle-stat-table{min-width:0;display:block}.battle-stat-table thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.battle-stat-table tbody{gap:.5rem;display:grid}.battle-stat-table tr{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-control);background:var(--ff-surface-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.55rem;display:grid}.battle-stat-table td,.battle-stat-table th{border:0;height:auto;padding:0}.battle-stat-table td:first-child,.battle-stat-table th:first-child{width:auto}.battle-stat-table th:first-child{grid-column:1/-1}.battle-stat-table td{text-align:left;align-content:end;gap:.25rem;display:grid}.battle-stat-table td:before{color:var(--ff-text-tertiary);letter-spacing:.04em;text-transform:uppercase;content:attr(data-mobile-label);font-size:.55rem;font-weight:800}.battle-stat-input{min-height:var(--ff-tap-min);text-align:left}.battle-inactive-chip{display:none}.battle-squad-body,.battle-squad-summary{padding-inline:.6rem}.battle-survival-row{grid-template-columns:3.5rem minmax(0,1fr)}.battle-survival-row output{text-align:left;grid-column:1/-1}.pin-gate-actions{grid-template-columns:1fr}.battle-boot-actions{flex-direction:column;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.battle-scenario-panel{border:1px solid var(--ff-border-subtle);background:var(--ff-surface);border-radius:1rem;gap:1rem;padding:calc(clamp(1rem,2vw,1.5rem));display:grid}.battle-scenario-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.battle-equipment-overrides,.battle-hero-skills{border:1px solid var(--ff-border-subtle);background:var(--ff-surface-soft);border-radius:.8rem;gap:.75rem;padding:.9rem;display:grid}.battle-skill-list{border:0;gap:.5rem;margin:0;padding:0;display:grid}.battle-skill-option{min-height:var(--ff-tap-min);border:1px solid var(--ff-border-subtle);touch-action:manipulation;border-radius:.65rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.65rem;display:grid}.battle-skill-option span{gap:.25rem;min-width:0;display:grid}.battle-skill-option small{overflow-wrap:anywhere;color:var(--ff-text-tertiary)}.battle-equipment-overrides textarea{resize:vertical;text-align:start;direction:ltr;width:100%;min-height:10rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:1024px){.battle-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.battle-scenario-grid{grid-template-columns:1fr}.battle-brand,.battle-profile-towers .specialization-research-node,.battle-profile-towers button{min-width:44px}.battle-compact-button,.battle-profile-towers .specialization-tower-tab,.battle-profile-towers button{min-height:44px}.battle-app summary,body summary{align-items:center;min-height:44px;display:flex}body input[type=checkbox],body input[type=radio]{width:22px;height:22px}:is(body label:has(>input[type=checkbox]),body label:has(>input[type=radio])){align-items:center;min-height:44px}}