/* Site53 non-footer presentation retained; only its body scope changes. */
body.legacy-ui { --dock-gold: #d7bd7d; --dock-line: rgba(191, 169, 111, .45); --dock-muted: #9bb6aa; --dock-surface: #0a211e; --dock-height: 206px; --tactical-top: 60px; --tactical-objective: 29px; }
body.legacy-ui .hud { height: var(--tactical-top); padding: 7px 18px; gap: 18px; background: linear-gradient(110deg, rgba(7, 28, 26, 0.99), rgba(10, 38, 33, 0.98) 65%, rgba(7, 26, 24, 0.99)); border-bottom: 1px solid var(--dock-line); box-shadow: rgba(0, 0, 0, 0.333) 0px 3px 18px; }
body.legacy-ui .brand { gap: 9px; }
body.legacy-ui .brand .sigil { font-size: 33px; line-height: 1; }
body.legacy-ui .brand b { font-size: 20px; letter-spacing: 2px; }
body.legacy-ui .brand small { font-size: 8px; letter-spacing: 1px; margin-top: 4px; }
body.legacy-ui .resources { gap: clamp(12px, 2vw, 26px); min-width: 0px; }
body.legacy-ui .crystals { gap: 7px; }
body.legacy-ui .crystals strong { font-size: 23px; }
body.legacy-ui .crystals > span { font-size: 24px; filter: drop-shadow(rgba(112, 233, 202, 0.27) 0px 0px 5px); }
body.legacy-ui .crystals small { font-size: 10px; }
body.legacy-ui .amethyst-hud { min-height: 42px; padding: 2px 10px; border-width: 0px 0px 0px 1px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor rgba(98, 142, 124, 0.267); border-image: none; border-radius: 0px; background: transparent; }
body.legacy-ui .amethyst-hud strong { font-size: 20px; }
body.legacy-ui .amethyst-hud small { font-size: 9px; }
body.legacy-ui .armor { width: clamp(155px, 20vw, 260px); min-width: 0px; }
body.legacy-ui .armor > div:first-child { font-size: 11px; margin-bottom: 5px; gap: 8px; }
body.legacy-ui .armor span { display: inline; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body.legacy-ui .armor b { white-space: nowrap; }
body.legacy-ui .meter { height: 7px; border: 1px solid rgba(183, 196, 164, 0.3); }
body.legacy-ui .meter i { background: linear-gradient(90deg, rgb(71, 198, 161), rgb(181, 230, 161)); }
body.legacy-ui .repair-feedback { position: absolute; top: 100%; margin-top: 2px; font-size: 9px; }
body.legacy-ui .toolbar { gap: 6px; }
body.legacy-ui .toolbar button,  body.legacy-ui .toolbar #speedButton { width: 42px; height: 42px; min-height: 42px; border-radius: 7px; background: rgb(10, 40, 34); border-color: rgba(168, 170, 115, 0.36); }
body.legacy-ui #timer { font-size: 13px; }
body.legacy-ui .mission { top: var(--tactical-top); min-height: var(--tactical-objective); padding: 6px 18px; gap: 10px; font-size: 10px; letter-spacing: 0px; background: linear-gradient(90deg, rgba(9, 32, 30, 0.95), rgba(9, 32, 30, 0.72) 65%, transparent); }
body.legacy-ui .mission .objective-counter { margin-left: 7px; }
body.legacy-ui .right-tools { top: calc(var(--tactical-top) + var(--tactical-objective) + 12px); right: 14px; gap: 7px; }
body.legacy-ui .tool-button { width: 49px; height: 53px; min-height: 44px; border-radius: 8px; border-color: var(--dock-line); background: rgba(10, 37, 32, 0.937); }
body.legacy-ui .tool-button span { font-size: 22px; line-height: 23px; }
body.legacy-ui .tool-button b { font-size: 10px; margin-top: 2px; }
body.legacy-ui .toast { bottom: calc(var(--dock-height) + 20px); left: 50%; max-width: min(620px, 85vw); }
body.legacy-ui .paused-label { font-size: 19px; letter-spacing: 2px; padding: 12px 20px; border-color: var(--dock-line); background: rgba(8, 34, 30, 0.918); }
body.legacy-ui .paused-label small { margin-top: 5px; font-size: 10px; }
@media (max-width: 1100px), (max-height: 600px) {
body.legacy-ui { --dock-height: 170px; --tactical-top: 54px; --tactical-objective: 27px; }
body.legacy-ui .hud { padding: 5px 12px; gap: 10px; }
body.legacy-ui .brand b { font-size: 16px; letter-spacing: 0.7px; }
body.legacy-ui .brand .sigil { display: block; font-size: 27px; }
body.legacy-ui .brand small { display: none; }
body.legacy-ui .resources { gap: 12px; }
body.legacy-ui .crystals strong { font-size: 20px; }
body.legacy-ui .crystals small { display: none; }
body.legacy-ui .amethyst-hud { min-width: 65px; padding: 2px 6px; }
body.legacy-ui .amethyst-hud strong { font-size: 17px; }
body.legacy-ui .amethyst-hud small { font-size: 8px; }
body.legacy-ui .armor { width: clamp(130px, 20vw, 210px); }
body.legacy-ui .armor > div:first-child { font-size: 10px; }
body.legacy-ui .toolbar button,  body.legacy-ui .toolbar #speedButton { display: block; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
body.legacy-ui .toolbar { gap: 4px; }
body.legacy-ui .mission { padding: 5px 12px; gap: 7px; font-size: 9px; white-space: nowrap; overflow: hidden; }
body.legacy-ui .mission #phaseLabel,  body.legacy-ui .mission #sectionLabel { display: inline; }
body.legacy-ui .mission .objective-counter { overflow: hidden; text-overflow: ellipsis; }
body.legacy-ui .right-tools { display: grid; grid-template-columns: repeat(2, 44px); gap: 5px; top: calc(var(--tactical-top) + var(--tactical-objective) + 7px); right: 8px; }
body.legacy-ui .right-tools .tool-button { width: 44px; height: 46px; min-height: 44px; padding: 3px; border-radius: 7px; }
body.legacy-ui .right-tools .zoom-control { display: none; }
}
@media (max-height: 500px) and (min-width: 601px) {
body.legacy-ui { --dock-height: 146px; --tactical-top: 51px; --tactical-objective: 25px; }
body.legacy-ui .hud { padding-top: 3px; padding-bottom: 3px; }
body.legacy-ui #timer { display: none; }
body.legacy-ui .brand { gap: 5px; }
}
@media (max-width: 600px) {
body.legacy-ui { --dock-height: 220px; --tactical-top: 98px; --tactical-objective: 27px; }
body.legacy-ui .hud { display: grid; grid-template-columns: minmax(0px, 1fr) auto; grid-template-rows: 44px 36px; gap: 3px 7px; padding: 6px 9px 8px; }
body.legacy-ui .brand { grid-area: 1 / 1; gap: 5px; min-width: 0px; }
body.legacy-ui .brand b { font-size: 15px; letter-spacing: 0px; }
body.legacy-ui .brand .sigil { font-size: 23px; }
body.legacy-ui .toolbar { grid-area: 1 / 2; gap: 2px; }
body.legacy-ui .resources { grid-area: 2 / 1 / auto / -1; justify-content: space-between; gap: 10px; width: 100%; }
body.legacy-ui .crystals { gap: 4px; }
body.legacy-ui .crystals strong { font-size: 19px; }
body.legacy-ui .crystals > span { font-size: 18px; }
body.legacy-ui .amethyst-hud { min-height: 34px; padding: 0px 5px; min-width: 72px; }
body.legacy-ui .amethyst-hud > span { font-size: 22px; }
body.legacy-ui .armor { flex: 1 1 0%; width: auto; max-width: 175px; }
body.legacy-ui .armor > div:first-child { font-size: 9px; margin-bottom: 4px; }
body.legacy-ui .armor span { max-width: 72px; }
body.legacy-ui #timer { display: none; }
body.legacy-ui .mission { padding: 5px 9px; gap: 6px; justify-content: flex-start; }
body.legacy-ui .mission #phaseLabel,  body.legacy-ui .mission .mission-separator { display: none; }
body.legacy-ui .mission #sectionLabel { font-size: 9px; white-space: nowrap; }
body.legacy-ui .mission .threat-badge { font-size: 9px; }
body.legacy-ui .mission .objective-counter { font-size: 9px; margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
 body.legacy-ui .hud * { transition: none; }
}
body.legacy-ui .toolbar #soundButton { display: block; }
body.legacy-ui { --garrison-top: calc(var(--tactical-top) + var(--tactical-objective) + 6px); --garrison-bottom: calc(var(--dock-height) + 12px); }
body.legacy-ui #bunkerPanel { top: var(--garrison-top); max-height: calc(100dvh - var(--garrison-top) - var(--garrison-bottom)); overflow: hidden auto; overscroll-behavior: contain; touch-action: pan-y; scrollbar-width: thin; }
body.legacy-ui #bunkerPanel .button-pair:empty { display: none; }
@media (max-width: 1100px), (max-height: 600px) {
body.legacy-ui #bunkerPanel .exit-button,  body.legacy-ui #bunkerPanel .row-select { min-height: 44px; }
body.legacy-ui #bunkerPanel .exit-button { height: 44px; }
body.legacy-ui #bunkerPanel .close { min-width: 44px; min-height: 44px; height: 44px; }
}
@media (max-height: 500px) {
body.legacy-ui #bunkerPanel { padding: 8px 12px; }
body.legacy-ui #bunkerPanel .panel-heading { margin-bottom: 4px; }
body.legacy-ui #bunkerPanel .panel-heading small { display: none; }
body.legacy-ui #bunkerPanel .bunker-meta { padding-bottom: 5px; margin-top: 0px; }
}
@media (max-width: 600px) {
body.legacy-ui.tutorial-active { --garrison-top: 245px; }
}
@media (max-width: 1100px), (max-height: 600px) {
body.legacy-ui #bunkerPanel .wide,  body.legacy-ui #bunkerPanel .button-pair button,  body.legacy-ui #bunkerPanel .vehicle-branches button { min-height: 44px; }
}
@media (max-height: 500px) and (min-width: 601px) {
body.legacy-ui { --dock-height: 154px; }
}
body.legacy-ui { --float-edge: 12px; --float-map-bottom: max(10px, env(safe-area-inset-bottom)); --dock-height: 0px !important; --garrison-bottom: 12px !important; }
body.legacy-ui .paused-label { top: calc(var(--tactical-top) + var(--tactical-objective) + 12px); transform: translateX(-50%); font-size: 17px; padding: 8px 18px; }
body.legacy-ui .toast { bottom: auto; top: calc(var(--tactical-top) + var(--tactical-objective) + 88px); }
@media (max-width: 1100px), (max-height: 600px) {
body.legacy-ui { --float-edge: 8px; --float-map-bottom: max(8px, env(safe-area-inset-bottom)); }
}

/* Legacy footer restoration. The original style.css is authoritative for card,
   icon, colour and panel appearance. This file only fits additional live content. */
body.legacy-ui .bottom-hud,
body.legacy-ui .bottom-hud > div,
body.legacy-ui .abilities,
body.legacy-ui #sirenSkillActions { pointer-events: none; }
body.legacy-ui .bottom-hud button,
body.legacy-ui .bottom-hud .vehicle-info,
body.legacy-ui .siren-passive { pointer-events: auto; }
body.legacy-ui [data-legacy-page-hidden="true"] { display: none !important; }
body.legacy-ui .roster { flex-wrap: wrap; max-width: 302px; overflow: visible; }
body.legacy-ui .abilities { flex-wrap: wrap; justify-content: flex-end; max-width: min(850px,calc(100vw - 410px)); min-width: 0; }
body.legacy-ui #sirenSkillActions { flex-wrap: wrap; justify-content: flex-end; width: 100%; max-width: none; padding-bottom: 0; overflow: visible; touch-action: manipulation; }
body.legacy-ui .siren-learned { width: 90px; max-width: 90px; }
body.legacy-ui .siren-skill-auto { min-height: 44px; }
body.legacy-ui .siren-passive { width: 90px; min-height: 124px; }
body.legacy-ui #charmedRoster { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; overflow: visible; }
body.legacy-ui #charmedRoster button { min-width: 0; min-height: 48px; white-space: normal; }
body.legacy-ui #legacySkillPager { position: absolute; right: 0; bottom: calc(100% + 6px); display: flex; align-items: center; gap: 8px; min-height: 44px; pointer-events: none; }
body.legacy-ui #legacySkillPager button { width: 44px; height: 44px; pointer-events: auto; }
body.legacy-ui #legacySkillPager span { font-size: 11px; color: #d4ccac; text-shadow: 0 1px 3px #000; }
@media (max-width:900px) {
 body.legacy-ui .abilities { max-width: 62vw; }
 body.legacy-ui .roster { max-width: 218px; }
 body.legacy-ui .bottom-hud button,
 body.legacy-ui .panel button { min-height: 44px; }
 body.legacy-ui .siren-learned { width: 74px; max-width: 74px; }
 body.legacy-ui .siren-learned .ability { min-width: 74px; }
 body.legacy-ui .siren-passive { width: 74px; min-height: 108px; }
}
@media (max-width:600px) {
 body.legacy-ui .roster { max-width: 171px; }
 body.legacy-ui .abilities { max-width: 49vw; }
 /* Three columns for the additional learned skills, without changing old buttons. */
 body.legacy-ui .bottom-hud[data-dense-skills="true"] #sirenSkillActions { gap: 5px; }
 body.legacy-ui .bottom-hud[data-dense-skills="true"] .siren-learned,
 body.legacy-ui .bottom-hud[data-dense-skills="true"] .siren-passive { width: 60px; max-width: 60px; }
 body.legacy-ui .bottom-hud[data-dense-skills="true"] .siren-learned .ability { min-width: 60px; }
 body.legacy-ui .bottom-hud[data-context="hero"][data-dense-skills="true"] > div:first-child { max-width: calc(51vw - 23px); }
 body.legacy-ui .bottom-hud[data-context="hero"][data-dense-skills="true"] #heroInfo { width: 100%; min-width: 0; }

}
@media (max-height:500px) and (min-width:601px) {
 body.legacy-ui #sirenSkillActions { display: contents; }
 body.legacy-ui #legacySkillPager { position: fixed; right: 12px; bottom: 96px; }
 body.legacy-ui .bottom-hud:has(#sirenSkillActions:not([hidden]) > :not([hidden]):not([data-legacy-page-hidden="true"])) #legacySkillPager { bottom: 140px; }
}

/* One requested action beside the original selection label; no Dock restoration. */
body.legacy-ui #footerSelectionRow { display:flex; align-items:center; gap:8px; max-width:302px; margin-bottom:8px; pointer-events:none; }
body.legacy-ui #footerSelectionRow .selection-label { margin:0; min-width:0; flex:1 1 auto; overflow-wrap:anywhere; line-height:1.4; }
body.legacy-ui #footerSelectAll { flex:0 0 auto; min-height:28px; padding:3px 9px; font-size:10px; border-radius:6px; pointer-events:auto; }
@media (max-width:900px) {
 body.legacy-ui #footerSelectionRow { max-width:218px; gap:6px; margin-bottom:5px; }
 body.legacy-ui #footerSelectAll { min-height:44px; padding:4px 7px; }
}
@media (max-width:600px) {
 body.legacy-ui #footerSelectionRow { max-width:171px; }
}

/* Keep the transient upgrade action outside the skill hit area. Both tracks
   reserve geometry: gaining a new skill cannot move it into the old click point. */
.bottom-hud .footer-actions {
 --upgrade-row-height:80px; --skill-area-height:169px;
 display:grid; grid-template-rows:var(--upgrade-row-height) var(--skill-area-height);
 gap:9px; width:min(850px,calc(100vw - 410px)); min-width:0; flex:0 0 auto;
 pointer-events:none;
}
.bottom-hud .soldier-upgrade-row {
 height:var(--upgrade-row-height); min-height:var(--upgrade-row-height);
 display:flex; justify-content:flex-end; align-items:flex-start; pointer-events:none;
}
.bottom-hud .soldier-upgrade-row .ability { width:90px; flex:0 0 90px; }
.bottom-hud .soldier-upgrade-row .ability[hidden] { display:none!important; pointer-events:none!important; }
body.legacy-ui .footer-actions .abilities {
 width:100%; max-width:100%; height:var(--skill-area-height); min-height:0;
 align-content:safe flex-end; align-items:flex-end; overflow:auto; overscroll-behavior:contain;
 scrollbar-width:thin; touch-action:pan-y; pointer-events:auto;
}
@media (max-width:900px) {
 .bottom-hud .footer-actions { --upgrade-row-height:64px; --skill-area-height:134px; width:62vw; gap:6px; }
}
@media (max-width:600px) {
 .bottom-hud .footer-actions { width:49vw; }
}
@media (max-height:500px) and (min-width:601px) {
 .bottom-hud .footer-actions { --skill-area-height:111px; }
 body.legacy-ui #legacySkillPager,
 body.legacy-ui .bottom-hud:has(#sirenSkillActions:not([hidden]) > :not([hidden]):not([data-legacy-page-hidden="true"])) #legacySkillPager {
  position:absolute; right:0; bottom:calc(100% + 6px);
 }
}

/* Inline skill mode controls: sibling buttons, never a button nested in a button. */
body.legacy-ui .skill-action-card { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end; gap:3px; width:min-content; flex:0 0 auto; min-width:0; pointer-events:none; }
/* Main buttons retain style.css widths (69/52/43; weapon 76/62) and heights (80/64). */
body.legacy-ui .skill-action-card > .ability { flex:0 0 auto; }
body.legacy-ui #sirenSkillActions { align-items:flex-end; }
body.legacy-ui .skill-auto-toggle { position:static; width:100%; min-width:0; height:28px; min-height:28px; padding:3px 5px; border-radius:6px; font-size:10px; line-height:1.2; pointer-events:auto; flex-shrink:0; background:#122d28; color:#b7c8bd; border:1px solid #688477; }
body.legacy-ui .skill-auto-toggle > span, body.legacy-ui .skill-auto-toggle > small { display:none; }
body.legacy-ui .skill-auto-toggle b { display:block; margin:0; font-size:10px; letter-spacing:0; font-weight:500; }
body.legacy-ui .skill-auto-toggle.running { color:#f4ddb0; border-color:#bda365; background:#344331; }
body.legacy-ui .skill-auto-toggle[aria-pressed="mixed"] { color:#e7d1a8; border-style:dashed; }
body.legacy-ui .skill-auto-toggle:focus-visible { outline:2px solid #f2d896; outline-offset:2px; }
body.legacy-ui .skill-auto-toggle:disabled { opacity:.55; }
@media(max-width:900px) {
 body.legacy-ui .skill-auto-toggle { height:44px; min-height:44px; }
}
@media(max-width:600px) {
 body.legacy-ui .skill-auto-toggle b { font-size:9px; }
}

/* Narrow short screens: keep the equipment entry out of the reserved upgrade
   hit area without moving the upgrade/skill rows when selection changes. */
@media (max-height:500px) and (max-width:600px) {
 body.legacy-ui .right-tools { right:108px; }
}

/* Individual learned passives are informational, never skill-bar slots or run relics. */
.selected-passives{position:fixed;z-index:21;left:12px;top:calc(var(--tactical-top,60px) + var(--tactical-objective,29px) + 8px);width:min(280px,calc(100vw - 124px));max-height:160px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;background:#112b26e8;border:1px solid #738b76;border-radius:7px;padding:7px 9px;color:#d2dfcc;font-size:11px;pointer-events:auto}
.selected-passives h2{font-size:10px;font-weight:500;color:#99b8a4;margin:0 0 5px}.selected-passive-owner+.selected-passive-owner{margin-top:6px;border-top:1px solid #77978040;padding-top:5px}.selected-passive-name{display:block;font-size:10px;font-weight:500;margin-bottom:4px}.selected-passive-items{display:flex;flex-wrap:wrap;gap:4px}.selected-passive{display:inline-block;background:#20372f;border:1px solid #73866c;border-radius:4px;padding:3px 6px;line-height:1.3;font-size:11px;cursor:help}.selected-passive:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
body:not(.legacy-ui) .selected-passives,body.escape-run .selected-passives{display:none!important}
@media(max-width:600px){.selected-passives{left:9px;padding:5px 6px;width:min(230px,calc(100vw - 120px))}.selected-passive{font-size:10px}.selected-passives h2,.selected-passive-name{font-size:9px}}

@media(max-height:500px){.selected-passives{padding:2px 5px;white-space:nowrap;overflow:auto;max-height:32px}.selected-passives h2{display:none}.selected-passive-owner{display:inline-flex;align-items:center;gap:4px}.selected-passive-owner+.selected-passive-owner{border:0;margin:0 0 0 8px;padding:0}.selected-passive-name{display:inline;margin:0;font-size:9px}.selected-passive-items{flex-wrap:nowrap;display:inline-flex}.selected-passive{padding:2px 4px;font-size:10px}}

/* Generated passive icons; scoped away from the bottom ability row. */
.selected-passives{width:max-content;max-width:calc(100vw - 124px);padding:6px 8px}
.selected-passive-owner{display:flex;align-items:center;gap:7px}.selected-passive-name{flex:0 0 24px;margin:0;white-space:nowrap}.selected-passive-items{gap:5px;flex-wrap:nowrap}
.selected-passive{display:block;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #849975;border-radius:6px;overflow:hidden;cursor:pointer;background:#162622;touch-action:manipulation}.selected-passive img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.selected-passive[aria-expanded=true]{border-color:#e5ca7c;box-shadow:0 0 0 1px #e5ca7c}.selected-passive:focus-visible{outline:2px solid #f0d28a;outline-offset:1px}
.passive-detail{position:fixed;z-index:110;width:min(280px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box;padding:12px;border:1px solid #b5a66c;border-radius:8px;background:#10241bf7;color:#e4eadc;box-shadow:0 8px 28px #0009;pointer-events:auto;font-size:13px;line-height:1.5}.passive-detail>b{display:block;color:#f1d58d;font-size:15px}.passive-detail small{display:block;color:#a7c1ae;font-size:11px}.passive-detail p{margin:8px 0;overflow-wrap:anywhere}.passive-detail[hidden]{display:none!important}
@media(max-width:600px){.selected-passives{width:max-content;max-width:calc(100vw - 120px);padding:5px}.selected-passive-owner{gap:4px}.selected-passive{width:34px;height:34px;flex-basis:34px}.selected-passive-items{gap:3px}}
@media(max-height:500px){.selected-passives{padding:2px 5px;max-height:40px}.selected-passive-owner{display:inline-flex}.selected-passive-name{flex-basis:auto}.selected-passive{width:32px;height:32px;flex-basis:32px}.selected-passive-items{gap:3px}}

/* One unwrapped active skill track; inherited button sizes are unchanged. */
body.legacy-ui .footer-actions{position:relative}
body.legacy-ui .footer-actions .abilities{display:flex;flex-wrap:nowrap;justify-content:safe flex-end;align-items:flex-end;align-content:normal;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#a9986a #18312b;scroll-padding-inline:4px}
body.legacy-ui .footer-actions .abilities>.ability{flex:0 0 auto}
body.legacy-ui .footer-actions #sirenSkillActions:not([hidden]){display:contents}
body.legacy-ui .footer-actions #sirenSkillActions[hidden]{display:none!important}
body.legacy-ui .footer-actions .siren-learned{flex-shrink:0}
body.legacy-ui .footer-actions .abilities:focus-visible{outline:1px solid #c7b477;outline-offset:2px}
body.legacy-ui .skill-scroll-hint{position:absolute;right:0;bottom:calc(var(--skill-area-height) - 12px);font-size:9px;line-height:12px;color:#ddcf9e;background:#102821d9;border-radius:3px;padding:0 4px;pointer-events:none;white-space:nowrap}
body.legacy-ui .skill-scroll-hint[hidden]{display:none!important}
