/* Company stores and operator loadouts use the game's field colors and local art. */
.arsenal-panel,.dossier-panel { --arsenal-ground:#18261f; --arsenal-raised:#23342a; --arsenal-text:#eee6d2; --arsenal-muted:#c1c6b2; --arsenal-line:#56634e; color:var(--arsenal-text); color-scheme:dark; }
.arsenal-panel ::selection,.dossier-panel ::selection { background:#d9b66e; color:#17241e; }
.arsenal-panel,.dossier-panel,.arsenal-panel *,.dossier-panel * { scrollbar-color:#899174 #1b2a21; }
.arsenal-panel button:focus-visible,.dossier-panel button:focus-visible { outline:3px solid #f2ce82; outline-offset:3px; }
.arsenal-panel button,.dossier-panel button { min-height:40px; }
.arsenal-panel .muted,.dossier-panel .muted { color:var(--arsenal-muted); }
.arsenal-panel { padding:0; background:transparent; border:0; }
.arsenal-heading { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:18px; padding:4px 0 12px; }
.arsenal-heading h2 { margin:0; font:600 1.65rem 'Command',sans-serif; }
.arsenal-heading p { margin:3px 0 0; font-size:.82rem; }
.arsenal-heading .actions { flex-wrap:nowrap; }
.arsenal-panel>.panel-scroll { display:flex; flex-direction:column; flex:1; overflow:hidden; padding:0; }
.arsenal-modes,.arsenal-families,.equipment-toolbar,.operator-subtabs { display:flex; align-items:center; flex-shrink:0; gap:4px; }
.arsenal-modes { border-bottom:1px solid var(--arsenal-line); }
.arsenal-modes button,.arsenal-families button,.equipment-toolbar button,.operator-subtabs button { box-shadow:none; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--arsenal-muted); }
.arsenal-modes button { font:600 1.1rem 'Command',sans-serif; padding:9px 22px; }
.arsenal-modes button[aria-pressed=true],.arsenal-families button[aria-pressed=true],.equipment-toolbar button[aria-pressed=true],.operator-subtabs button[aria-pressed=true] { color:#f8d898; border-bottom-color:#e3bd72; background:#c7ae6020; }
.armory-operators { display:flex; flex-shrink:0; gap:8px; overflow-x:auto; padding:12px 0; }
.armory-operators>button { display:flex; flex:0 0 auto; align-items:center; gap:9px; min-width:156px; max-width:240px; padding:5px 12px 5px 5px; text-align:left; background:var(--arsenal-ground); border-color:transparent; box-shadow:none; }
.armory-operators>button[aria-pressed=true] { background:#3e4b34; border-color:#b3a36d; }
.armory-operators .portrait { width:36px; height:46px; flex-basis:36px; object-fit:cover; }
.armory-operators strong { font-size:.88rem; }
.armory-operators p { font-size:.73rem; margin:2px 0 0; color:var(--arsenal-muted); }
.arsenal-families { overflow-x:auto; padding:0 0 8px; }
.arsenal-families button { flex:0 0 auto; padding:5px 13px; font-size:.8rem; text-transform:capitalize; }
.arsenal-layout { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.65fr); gap:24px; flex:1; min-height:0; }
.arsenal-stores { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; }
.arsenal-list-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--arsenal-line); padding:4px 0 10px; }
.arsenal-list-heading h3 { margin:0; font-size:1rem; }
.arsenal-list-heading p { margin:0; font-size:.76rem; }
.arsenal-list { min-height:0; overflow-y:auto; }
.arsenal-list>.arsenal-row { display:flex; align-items:center; width:100%; min-height:61px; gap:12px; border:0; border-bottom:1px solid #73816638; border-radius:0; background:transparent; text-align:left; padding:7px 10px; box-shadow:none; }
.arsenal-row .item-art { width:86px; height:40px; flex:0 0 86px; background:#9caa8a22; border:0; padding:5px; object-fit:contain; }
.arsenal-row>span { min-width:0; }
.arsenal-row strong { display:block; font-size:.9rem; overflow-wrap:anywhere; }
.arsenal-row p { margin:3px 0 0; color:var(--arsenal-muted); font-size:.73rem; }
.arsenal-list>.arsenal-row[aria-pressed=true] { background:#5a67413f; color:#ffe2a4; outline:1px solid #bda66b; outline-offset:-1px; }
.arsenal-list>.arsenal-row:hover:not(:disabled) { background:#52633d55; }
.arsenal-pages { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--arsenal-line); padding:12px 0 0; margin-top:auto; }
.arsenal-pages p { margin:0; color:var(--arsenal-muted); font-size:.78rem; font-variant-numeric:tabular-nums; }
.arsenal-pages button { min-height:34px; padding:5px 10px; font-size:.8rem; background:transparent; border-color:#708065; }
.arsenal-panel button:disabled,.dossier-panel button:disabled { color:#9b9f8d; background:#25362b; border-color:#4e5a46; opacity:1; }
.weapon-inspector.shop-item,.weapon-inspector { min-width:0; overflow-y:auto; display:block; color:var(--arsenal-text); padding:0 20px 20px; border:0; border-radius:0; background:var(--arsenal-raised); box-shadow:none; }
.weapon-stage { display:flex; align-items:center; justify-content:center; min-height:160px; height:clamp(140px,20vh,210px); margin:0 -20px 18px; background:#99a388; }
.weapon-stage .item-art { width:88%; height:88%; max-height:none; flex-basis:auto; object-fit:contain; background:transparent; border:0; padding:18px 0; filter:drop-shadow(0 8px 5px #20302055); }
.weapon-title { display:flex; align-items:baseline; gap:15px; flex-wrap:wrap; }
.weapon-title h3,.weapon-inspector>h3 { margin:0 0 7px; font:600 clamp(1.4rem,2.2vw,2rem)/1.1 'Command',sans-serif; }
.weapon-title p { margin:0; text-transform:capitalize; font-size:.82rem; }
.weapon-stock { color:#d8cda7; font-size:.8rem; margin:6px 0 16px; }
.weapon-role { font-size:1.05rem; color:#f6e4bb; margin:0 0 14px; }
.combat-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:16px 0; padding:14px 0; border-block:1px solid #8d9a7355; font-variant-numeric:tabular-nums; }
.combat-stats>div { min-width:0; }
.combat-stats dt { color:var(--arsenal-muted); font-size:.72rem; }
.combat-stats dd { margin:3px 0 0; font:600 1.2rem 'Command',sans-serif; white-space:nowrap; }
.weapon-tradeoffs { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:18px 0; }
.weapon-tradeoffs h4,.acquisition-path h4 { font-size:.85rem; margin:0 0 7px; color:#d9c188; }
.weapon-tradeoffs ul { padding-left:16px; margin:0; }
.weapon-tradeoffs li { margin:4px 0; font-size:.84rem; line-height:1.4; }
.contract-fit { color:var(--arsenal-muted); font-size:.76rem; line-height:1.45; }
.inspector-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; margin-top:20px; }
.inspector-actions>.action { margin:0; max-width:100%; }
.inspector-actions button[data-action=buy],.inspector-actions button[data-action=equip],.equipment-inspector button[data-action=equip] { color:#17241e; background:#d9b66e; border-color:#e4ca8f; }
.inspector-actions .reason,.acquisition-path .reason,.equipment-inspector .reason { color:#f0c49c; font-size:.8rem; }
.acquisition-path { padding-top:16px; margin-top:16px; border-top:1px solid var(--arsenal-line); }
.acquisition-path p { margin:6px 0; font-size:.85rem; }
.equipment-comparison { padding-block:12px; margin-top:14px; border-top:1px solid var(--arsenal-line); }
.equipment-comparison p { margin:3px 0; font-size:.79rem; color:var(--arsenal-muted); }
.equipment-comparison .comparison-deltas { color:#e7dbb9; }
.equipped-marker { color:#cfdfb2; font-size:.85rem; margin:10px 0; }
/* A personnel sheet opens on the operator and their physical equipment slots. */
.dossier-panel .operator-layout { grid-template-columns:146px minmax(210px,.72fr) minmax(0,1.55fr); gap:20px; overflow:hidden; }
.dossier-panel .operator-rail { padding:0; border:0; background:transparent; }
.dossier-panel .operator-rail h3 { margin:0; padding:8px 4px 12px; font-size:1rem; color:var(--arsenal-muted); }
.dossier-panel .operator-directory>button { padding:9px 4px; align-items:center; gap:8px; box-shadow:none; }
.dossier-panel .operator-directory>button[aria-pressed=true] { background:#65774a38; box-shadow:none; outline:1px solid #bda66b; outline-offset:-1px; }
.dossier-panel .operator-directory .portrait { width:38px; height:51px; flex-basis:38px; }
.dossier-panel .operator-directory .status-tags { display:none; }
.dossier-panel .operator-directory strong { font-size:.83rem; }
.dossier-panel .operator-directory p { font-size:.72rem; }
.dossier-panel .operator-identity { display:flex; flex-direction:column; padding:0; overflow-y:auto; color:var(--arsenal-text); background:var(--arsenal-ground); border:0; box-shadow:none; }
.operator-field-art { display:block; width:100%; height:clamp(240px,38vh,420px); flex-shrink:0; object-fit:contain; object-position:center; background:#9d998b; }
.operator-vitals { padding:15px; }
.dossier-panel .operator-vitals h3 { margin:0 0 5px; font:600 1.35rem 'Command',sans-serif; }
.dossier-panel .operator-vitals p { margin:4px 0; font-size:.78rem; color:var(--arsenal-muted); }
.dossier-panel .operator-vitals .operator-health { color:#e4d3a2; margin:12px 0; font-size:.8rem; }
.operator-attributes { display:grid; grid-template-columns:70px minmax(0,1fr); gap:5px 10px; margin:14px 0 0; }
.operator-attributes dt { text-transform:capitalize; color:var(--arsenal-muted); font-size:.77rem; }
.operator-attributes dd { margin:0; }
.operator-attributes meter { height:10px; accent-color:#c7b476; }
.operator-attributes dd span { font-size:.72rem; color:#e0dfc8; }
.dossier-panel .operator-content>.dossier-heading { background:transparent; padding:0 0 10px; border:0; gap:12px; }
.dossier-panel .operator-content .specialty-label { display:none; }
.dossier-panel .operator-content .dossier-status { font-size:.78rem; color:var(--arsenal-muted); }
.dossier-panel .operator-content>.dossier-heading>.portrait { display:none; }
.dossier-panel .operator-content>.dossier-heading>div { flex:1; }
.dossier-panel .operator-content>.dossier-heading .skills { max-height:42px; margin-top:5px; }
.dossier-panel .operator-content>.dossier-heading .skill-badge { background:transparent; border:0; padding:2px 6px 2px 0; font-size:.72rem; }
.dossier-panel .operator-content>.dossier-tabs { gap:4px; padding:0; border-bottom:1px solid var(--arsenal-line); margin-bottom:15px; }
.dossier-panel .operator-content>.dossier-tabs>button { flex:1; background:transparent; border:0; border-bottom:2px solid transparent; box-shadow:none; padding:9px 10px; font:600 1.03rem 'Command',sans-serif; }
.dossier-panel .operator-content>.dossier-tabs>button[aria-pressed=true] { color:#f7d48e; border-bottom-color:#e3bd72; background:#c7ae6020; }
.dossier-panel .operator-content>.panel-scroll { background:transparent; color:var(--arsenal-text); border:0; padding:0 4px 12px 0; }
.dossier-panel .kit-panel { display:block; padding:0; margin:0; border:0; }
.equipment-toolbar,.operator-subtabs { margin-bottom:16px; }
.equipment-toolbar button,.operator-subtabs button { padding:6px 10px; font-size:.8rem; }
.operator-loadout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#65704f50; }
.operator-loadout .loadout-slot { min-width:0; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:12px 16px; background:#26382b; border:0; border-radius:0; box-shadow:none; text-align:left; min-height:145px; }
.operator-loadout .loadout-slot:hover { background:#3a4b32; }
.loadout-slot-label { color:#c5c8ae; text-transform:uppercase; font-size:.7rem; letter-spacing:.06em; }
.loadout-slot .item-art { flex-basis:auto; align-self:center; width:100%; height:62px; object-fit:contain; margin:9px 0; background:#9aa488; border:0; padding:6px; }
.loadout-slot>.gear-icon { width:50px; height:50px; margin:14px auto; color:#8f9b7c; }
.loadout-slot strong { font-size:.88rem; line-height:1.2; }
.loadout-slot p { margin:5px 0 0; font-size:.74rem; font-weight:400; }
.equipment-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:18px; }
.equipment-footer button { font-size:.8rem; }
.picker-heading { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.picker-heading h3 { margin:0; font-size:1.2rem; }
.picker-heading button { background:transparent; border-color:#647354; padding:5px 10px; font-size:.78rem; }
.loadout-picker { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr); gap:16px; }
.loadout-picker>.arsenal-list { overflow:visible; }
.loadout-picker .arsenal-row { align-items:flex-start; flex-direction:column; gap:4px; padding:10px; }
.loadout-picker .arsenal-row .item-art { flex-basis:auto; width:100%; height:45px; }
.loadout-picker .weapon-inspector { padding:0 14px 16px; overflow:visible; }
.loadout-picker .weapon-stage { margin:0 -14px 14px; min-height:110px; height:140px; }
.loadout-picker .combat-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.loadout-picker .weapon-tradeoffs { grid-template-columns:1fr; gap:14px; }
.dossier-panel .dossier-overview { display:block; }
.dossier-panel .dossier-overview>section+section { margin-top:24px; }
.dossier-panel .dossier-overview .attributes { max-width:400px; }
.dossier-panel .attribute-upgrades>div,.dossier-panel .perk { background:#26382b; border:0; padding:14px; }
.dossier-panel .development-summary { color:#f0ddb6; }
.dossier-panel .development-summary .filter { color:var(--arsenal-muted); }
.dossier-panel input,.dossier-panel select { color:#eee6d2; background:#1d3024; border-color:#738266; caret-color:#eed293; }
@media(min-width:1500px) { .dossier-panel .operator-layout { grid-template-columns:175px minmax(260px,.8fr) minmax(0,1.55fr); gap:26px; }.operator-loadout .loadout-slot { min-height:175px; }.loadout-slot .item-art { height:85px; } }
@media(max-width:1150px) { .dossier-panel .operator-layout { grid-template-columns:80px minmax(190px,.7fr) minmax(0,1.5fr); gap:14px; }.dossier-panel .operator-directory>button { flex-direction:column; align-items:center; text-align:center; }.dossier-panel .operator-directory p { display:none; }.dossier-panel .operator-directory strong { font-size:.7rem; }.arsenal-layout { grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr); gap:16px; }.combat-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }.loadout-picker { grid-template-columns:140px minmax(0,1fr); }.operator-field-art { height:31vh; min-height:220px; } }
@media(max-width:850px) { .dossier-panel .operator-layout { grid-template-columns:minmax(170px,.7fr) minmax(0,1.5fr); grid-template-rows:auto minmax(0,1fr); gap:12px; }.dossier-panel .operator-rail { grid-column:1/-1; }.dossier-panel .operator-rail>h3 { display:none; }.dossier-panel .operator-directory { display:flex; gap:5px; overflow-x:auto; }.dossier-panel .operator-directory>button { flex:0 0 116px; flex-direction:row; min-width:0; padding:5px; }.dossier-panel .operator-directory .portrait { width:28px; height:36px; flex-basis:28px; }.operator-field-art { height:260px; }.dossier-panel .operator-identity { grid-column:1; }.dossier-panel .operator-content { grid-column:2; min-height:0; }.dossier-panel .operator-content>.dossier-tabs>button { padding:8px 4px; font-size:.86rem; }.dossier-panel .operator-content .dossier-status { font-size:.7rem; }.dossier-panel .operator-content>.dossier-heading .skills { display:none; }.weapon-tradeoffs { gap:14px; }.loadout-picker { display:block; }.loadout-picker>.arsenal-list { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:14px; }.loadout-picker .arsenal-row { width:calc(50% - 3px); }.loadout-picker .arsenal-pages { width:100%; }.loadout-picker .weapon-tradeoffs { grid-template-columns:1fr 1fr; }.operator-loadout .loadout-slot { padding:10px; min-height:140px; } }
@media(max-width:600px) {
 .arsenal-heading { align-items:flex-start; gap:8px; padding-bottom:10px; }.arsenal-heading h2 { font-size:1.35rem; }.arsenal-heading .actions { gap:4px; margin:0; }.arsenal-heading .actions button { min-height:38px; padding:5px 8px; font-size:.75rem; }.arsenal-heading p { font-size:.7rem; }
 .arsenal-panel>.panel-scroll { overflow:auto; display:block; }.arsenal-modes button { flex:1; padding:9px 6px; font-size:1rem; }.armory-operators { padding:9px 0; }.armory-operators>button { min-width:140px; }.arsenal-families { gap:0; padding-bottom:9px; }.arsenal-families button { padding:5px 10px; }
 .arsenal-layout { display:flex; flex-direction:column; gap:18px; }.arsenal-stores { min-height:0; overflow:visible; }.arsenal-stores>.arsenal-list { max-height:205px; overflow-y:auto; }.arsenal-list>.arsenal-row { min-height:54px; padding:6px 9px; }.arsenal-row .item-art { height:37px; width:78px; flex-basis:78px; }.arsenal-pages { padding-top:8px; }.weapon-inspector.shop-item { overflow:visible; padding:0 15px 18px; }.weapon-stage { margin:0 -15px 16px; height:155px; }.weapon-title h3 { font-size:1.7rem; }.weapon-tradeoffs { gap:16px; }.combat-stats { gap:12px; }.weapon-combat-detail .muted { font-size:.76rem; }
 .dossier-panel .operator-layout { display:flex; flex-direction:column; overflow-y:auto; gap:12px; }.dossier-panel .operator-rail { flex:0 0 auto; }.dossier-panel .operator-directory>button { flex-basis:118px; }.dossier-panel .operator-identity { display:grid; grid-template-columns:112px minmax(0,1fr); flex:0 0 auto; overflow:visible; gap:0; }.operator-field-art { width:112px; height:190px; min-height:0; object-fit:cover; object-position:50% 15%; }.operator-vitals { padding:10px 12px; }.dossier-panel .operator-vitals h3 { font-size:1.15rem; }.dossier-panel .operator-vitals p { font-size:.7rem; }.dossier-panel .operator-vitals .operator-health { margin:6px 0; font-size:.72rem; }.operator-attributes { grid-template-columns:60px minmax(0,1fr); gap:1px 6px; margin-top:7px; }.operator-attributes dt { font-size:.64rem; }.operator-attributes dd span { font-size:.62rem; }.operator-attributes meter { height:7px; }
 .dossier-panel .operator-content { flex:0 0 auto; min-height:0; }.dossier-panel .operator-content>.dossier-heading { padding:0; margin:0 0 8px; }.dossier-panel .operator-content .dossier-status { display:none; }.dossier-panel .operator-content .identity-name { display:none; }.dossier-panel .operator-content>.dossier-tabs { flex-wrap:nowrap; margin-bottom:10px; overflow-x:auto; }.dossier-panel .operator-content>.dossier-tabs>button { font-size:.98rem; min-height:43px; padding:8px; }.dossier-panel .operator-content>.panel-scroll { overflow:visible; padding-right:0; }.equipment-toolbar { margin-bottom:10px; }.equipment-toolbar button { font-size:.77rem; }.operator-loadout { grid-template-columns:repeat(2,minmax(0,1fr)); }.operator-loadout .loadout-slot { min-height:145px; }.loadout-slot .item-art { height:60px; }.loadout-slot p { font-size:.7rem; }.loadout-slot strong { font-size:.8rem; }.equipment-footer button { font-size:.75rem; }.loadout-picker .arsenal-row { flex-direction:row; align-items:center; width:100%; }.loadout-picker .arsenal-row .item-art { flex:0 0 72px; width:72px; height:34px; }.loadout-picker .arsenal-list { max-height:220px; overflow-y:auto; }.loadout-picker .weapon-stage { height:150px; }.picker-heading h3 { font-size:1.1rem; }.dossier-panel .operator-content>.dossier-heading>div { display:none; }
}
@media(prefers-reduced-motion:reduce) { .arsenal-panel *,.dossier-panel * { scroll-behavior:auto; } }
/* Keep the item decision above its deeper combat notes. */
.mobile-stores-back,.operator-mobile-portrait { display:none; }
.arsenal-panel .weapon-stage { min-height:120px; height:120px; margin-bottom:14px; }
.arsenal-panel .weapon-stock { margin-bottom:9px; }
.inspector-actions { margin:8px 0 15px; gap:8px; }
.inspector-actions>[data-action=compareWeapon] { background:transparent; border-color:#718265; font-size:.78rem; }
.arsenal-panel .acquisition-path { margin-top:10px; padding-top:12px; }
.dossier-panel .operator-content>.dossier-heading .skills,.dossier-panel .operator-content>.dossier-heading .skill-badge { color:#d9e1c9; }
@media(max-width:850px) { .dossier-panel .operator-rail { height:auto; min-height:0; }.dossier-panel .operator-directory { min-height:0; } }
@media(max-width:600px) {
 .arsenal-panel:not(.armory-inspecting) .arsenal-layout>.weapon-inspector { display:none; }
 .arsenal-panel.armory-inspecting .armory-operators,.arsenal-panel.armory-inspecting .arsenal-families,.arsenal-panel.armory-inspecting .arsenal-stores,.arsenal-panel.armory-inspecting>.arsenal-heading { display:none; }
 #workspace:has(.armory-inspecting)>.command-heading { display:none; }
 .arsenal-panel.armory-inspecting>.panel-scroll { display:flex; overflow:hidden; }
 .arsenal-panel.armory-inspecting .mobile-stores-back { display:block; flex:0 0 auto; align-self:flex-start; padding:6px 10px; margin:7px 0; min-height:34px; background:transparent; border-color:#7d8d6a; font-size:.8rem; }
 .arsenal-panel.armory-inspecting .arsenal-layout { display:flex; flex:1; min-height:0; }
 .arsenal-panel.armory-inspecting .arsenal-layout>.weapon-inspector { display:block; overflow-y:auto; flex:1; }
 .arsenal-panel .weapon-stage { min-height:110px; height:110px; }
 .arsenal-panel .weapon-title h3 { font-size:1.5rem; }
 .arsenal-panel .weapon-stock { font-size:.75rem; margin:6px 0 10px; }
 .arsenal-panel .inspector-actions { gap:6px; }
 .arsenal-panel .inspector-actions button { min-height:38px; padding:6px 10px; font-size:.8rem; }
 .arsenal-panel .combat-stats { margin:12px 0; padding:10px 0; }
 #workspace:has(.dossier-panel)>.command-heading p { display:none; }
 .dossier-panel .operator-layout { gap:10px; }
 .dossier-panel .operator-directory>button { min-height:49px; }
 .dossier-panel .operator-identity { grid-template-columns:74px minmax(0,1fr); min-height:96px; }
 .dossier-panel .operator-field-art { display:none; }
 .dossier-panel .operator-mobile-portrait { display:block; width:74px; height:96px; flex-basis:auto; object-fit:cover; border:0; box-shadow:none; transform:none; }
 .dossier-panel[data-page=loadout] .operator-attributes { display:none; }
 .dossier-panel .operator-vitals { padding:12px; }
 .dossier-panel .operator-content>.dossier-heading { margin-bottom:4px; }
 .dossier-panel .operator-content>.dossier-heading>[data-action=back] { min-height:30px; padding:3px 9px; font-size:.74rem; }
 .dossier-panel .operator-content>.dossier-tabs>button { min-height:40px; padding:7px; }
 .operator-loadout .loadout-slot { min-height:132px; }
 .loadout-slot .item-art { height:52px; }
}
.dossier-panel .operator-attributes dt,.dossier-panel .operator-attributes dd { padding:3px 0; border:0; }
/* Native receiver renders need the full stage height to remain legible. */
.arsenal-panel .weapon-stage { height:150px; min-height:150px; margin-bottom:12px; }
.arsenal-panel .weapon-stage .item-art { padding:0; height:90%; width:88%; }
.arsenal-panel .weapon-role { margin:8px 0; font-size:.95rem; }
.arsenal-panel .combat-stats { margin:9px 0; padding:9px 0; }
.arsenal-panel .weapon-tradeoffs { margin:14px 0; }
.inspector-details { border-top:1px solid #71826366; padding:10px 0; font-size:.8rem; }
.inspector-details>summary { color:#d7c69b; cursor:pointer; }
.inspector-details>summary:focus-visible { outline:2px solid #f2ce82; outline-offset:3px; }
.inspector-details .acquisition-path { margin-top:10px; padding-top:0; border:0; }
.inspector-details .equipment-comparison { border:0; margin-top:7px; padding-top:0; }
.inspector-details>.muted,.inspector-details .contract-fit { margin:8px 0; }
@media(max-width:600px) { .arsenal-panel .weapon-stage { height:110px; min-height:110px; }.arsenal-panel .weapon-stage .item-art { height:90%; padding:0; }.arsenal-panel .combat-stats { margin:8px 0; padding:8px 0; } }
/* Continuous equipment trays: every owned copy stays within the same inventory. */
.arsenal-list.inventory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:3px; padding:5px 3px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.inventory-grid>.arsenal-row { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-height:100px; gap:4px; padding:8px; border:1px solid #73816638; text-align:left; }
.inventory-grid .arsenal-row .item-art { width:100%; height:42px; flex-basis:auto; padding:0; background:transparent; }
.inventory-grid .arsenal-row strong { font-size:.77rem; line-height:1.25; }
.inventory-grid .arsenal-row p { font-size:.68rem; line-height:1.35; }
.inventory-grid:focus-visible { outline:2px solid #f2ce82; outline-offset:-2px; }
.arsenal-stores>.inventory-grid { flex:1; }
.loadout-picker>.arsenal-list.inventory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:560px; overflow-y:auto; }
.loadout-picker .inventory-grid>.arsenal-row { width:100%; min-height:108px; }
.loadout-picker .inventory-grid .arsenal-row .item-art { flex-basis:auto; width:100%; height:44px; }
.operator-equipment-context { margin:14px 0; padding:12px 0; border-block:1px solid #8d9a7355; }
.operator-equipment-context h4 { margin:0 0 7px; font-size:.95rem; color:#f2d79d; }
.operator-equipment-context p { margin:5px 0; font-size:.78rem; line-height:1.45; color:#dce0cb; }
.operator-equipment-context .operator-recommendations { color:#ced6ba; }
.operator-carried { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.operator-carried>div { display:flex; align-items:center; gap:7px; min-width:0; font-size:.7rem; color:#cfd6bd; }
.operator-carried .item-art { width:60px; height:35px; object-fit:contain; padding:0; border:0; background:transparent; }
.purchase-control { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.purchase-control [data-action=buyAnother] { color:#e8d49f; background:transparent; border-color:#89916d; font-size:.75rem; }
.purchase-control .reason { flex-basis:100%; }
.purchase-receipt { padding:14px; margin:10px 0 16px; background:#34432c; border:1px solid #b7b37c; color:#f6e7be; }
.purchase-receipt h4 { margin:0 0 7px; font:600 1.15rem 'Command',sans-serif; }
.purchase-receipt p { margin:5px 0; font-size:.85rem; }
.purchase-receipt button { margin-top:8px; background:#d9b66e; border-color:#e4ca8f; color:#17241e; }
.combat-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.combat-stats dt { font-size:.69rem; }
.combat-stats dd { font-size:1.05rem; }
.combat-comparison { width:100%; border-collapse:collapse; margin-top:10px; font-size:.76rem; font-variant-numeric:tabular-nums; }
.combat-comparison th,.combat-comparison td { padding:6px 4px; border-bottom:1px solid #8d9a733b; text-align:right; }
.combat-comparison th:first-child { text-align:left; font-weight:400; }
.combat-comparison thead th { color:#d8d2b6; font-weight:600; }
.combat-comparison .comparison-better { color:#d2e6b2; }
.combat-comparison .comparison-worse { color:#f0bb92; }
.equipment-comparison h4 { margin:0 0 8px; font-size:.95rem; color:#f2d79d; }
.comparison-details>[data-action=compareWeapon] { margin-top:10px; background:transparent; font-size:.78rem; }
@media(min-width:1500px) { .arsenal-layout { grid-template-columns:minmax(330px,1fr) minmax(0,1.65fr); }.arsenal-stores>.inventory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) { .loadout-picker>.arsenal-list.inventory-grid { max-height:260px; }.combat-stats { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:600px) {
 .arsenal-panel:not(.armory-inspecting) .arsenal-stores>.inventory-grid { max-height:none; overflow-y:auto; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .arsenal-panel:not(.armory-inspecting)>.panel-scroll { display:flex; overflow:hidden; }.arsenal-panel:not(.armory-inspecting) .arsenal-layout { flex:1; min-height:0; }.arsenal-panel:not(.armory-inspecting) .arsenal-stores { flex:1; min-height:0; overflow:hidden; }
 .inventory-grid>.arsenal-row { min-height:105px; padding:7px; }.inventory-grid .arsenal-row .item-art { height:37px; width:100%; flex-basis:auto; }.inventory-grid .arsenal-row strong { font-size:.7rem; }.inventory-grid .arsenal-row p { font-size:.65rem; }
 .loadout-picker>.arsenal-list.inventory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:240px; }.loadout-picker .inventory-grid>.arsenal-row { flex-direction:column; align-items:stretch; }.loadout-picker .inventory-grid .arsenal-row .item-art { width:100%; flex-basis:auto; }
 .combat-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }.combat-comparison { font-size:.7rem; }.combat-comparison th,.combat-comparison td { padding:6px 2px; }.operator-carried { grid-template-columns:1fr; }.purchase-control { width:100%; }.purchase-receipt { padding:12px; }.operator-equipment-context { padding:10px 0; }
}
/* Dedicated inventory: operator, physical loadout, stores and comparison share one view. */
#app[data-view=armory] { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; background:#121a17; }
#app[data-view=armory]>header,#app[data-view=armory]>nav,#app[data-view=armory]>footer { display:none; }
#app[data-view=armory]>main { grid-column:1; grid-row:1; padding:12px 24px 16px; gap:0; }
#app[data-view=armory]>#message { grid-column:1; grid-row:2; }
#app[data-view=armory] #workspace>.command-heading,#app[data-view=armory] #workspace>.tutorial { display:none; }
.equipment-screen { --arsenal-raised:#1d2722; --arsenal-ground:#141e19; }
.equipment-screen>.arsenal-heading { padding:0 0 9px; border-bottom:1px solid #64745c66; }
.equipment-screen .arsenal-heading h2 { font-size:1.6rem; text-transform:uppercase; }
.equipment-screen .arsenal-heading>div:first-child { display:flex; gap:20px; align-items:baseline; }
.equipment-screen .arsenal-heading .actions button { font-size:.8rem; background:transparent; border-color:#65735d; min-height:34px; }
.equipment-screen .arsenal-heading .actions [data-action=closeArmory] { color:#f1d79e; border-color:#9e996c; }
.equipment-screen .arsenal-modes { justify-content:flex-end; border-bottom:0; margin-top:5px; }
.equipment-screen .arsenal-modes button { font-size:1rem; padding:5px 18px; min-height:34px; }
.equipment-screen .armory-operators { padding:4px 0 12px; gap:5px; }
.equipment-screen .armory-operators>button { position:relative; min-width:66px; width:66px; height:72px; padding:0; border:1px solid #65735d66; background:#19241d; }
.equipment-screen .armory-operators .portrait { width:64px; height:70px; object-fit:cover; border:0; }
.equipment-screen .armory-operators>button>span { display:none; }
.equipment-screen .armory-operators>button[aria-pressed=true] { border:2px solid #dfc37d; }
.equipment-screen .arsenal-layout { grid-template-columns:minmax(260px,.95fr) minmax(300px,1.1fr) minmax(340px,1.2fr); gap:22px; }
.armory-operator-stage { display:flex; flex-direction:column; min-width:0; min-height:0; overflow-y:auto; }
.armory-operator-identity h3 { font:600 1.65rem 'Command',sans-serif; margin:0 0 4px; text-transform:uppercase; }
.armory-operator-identity p { margin:4px 0; font-size:.8rem; color:#d0d6bf; }
.armory-operator-identity .operator-health { color:#d6c799; font-size:.72rem; }
.armory-loadout-figure { position:relative; flex:1; min-height:355px; max-height:560px; margin:10px 0 0; }
.armory-fullbody { position:absolute; height:100%; width:84%; left:8%; object-fit:contain; object-position:50% 30%; image-rendering:auto; }
.armory-physical-slots { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:80px 80px 1fr 82px; column-gap:calc(100% - 164px); row-gap:9px; }
.physical-slot { display:flex; flex-direction:column; justify-content:space-between; padding:5px!important; min-width:0; border:1px solid #7c896b88; border-radius:0; box-shadow:none; background:#121c16cc; color:#e9e3cc; text-align:left; }
.physical-slot[aria-pressed=true] { border-color:#e7c37e; background:#3a4530dd; }
.physical-slot .item-art { width:100%; height:35px; object-fit:contain; background:transparent; border:0; padding:0; flex-basis:auto; }
.physical-slot>.gear-icon { width:30px; height:30px; align-self:center; color:#9da98c; }
.physical-slot-label { font-size:.59rem; color:#c9ceb8; line-height:1.1; }
.physical-slot strong { font-size:.58rem; line-height:1.15; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.physical-armor { grid-area:1/1; }.physical-environment { grid-area:1/2; }.physical-gadget1 { grid-area:2/1; }.physical-gadget2 { grid-area:2/2; }
.physical-primary,.physical-secondary { grid-row:4; min-width:0; width:calc((100% - 10px)/2); position:absolute; bottom:0; height:82px; }
.physical-primary { left:0; }.physical-secondary { right:0; }
.physical-primary .item-art,.physical-secondary .item-art { height:43px; }
.armory-operator-stage .operator-equipment-context { margin:10px 0 0; padding:10px 0; flex:0 0 auto; }
.armory-operator-stage .operator-equipment-context h4,.armory-operator-stage .operator-carried { display:none; }
.armory-operator-stage .operator-equipment-context p { font-size:.71rem; }
.armory-operator-stage .operator-equipment-context .muted { font-size:.65rem; }
.armory-operator-tools { display:flex; gap:8px; padding-top:8px; }
.armory-operator-tools button { background:transparent; border-color:#728064; font-size:.75rem; min-height:34px; }
.equipment-screen .arsenal-stores>.arsenal-families { flex-wrap:wrap; overflow:visible; gap:0; padding:0 0 8px; }
.equipment-screen .arsenal-families button { padding:4px 8px; min-height:29px; font-size:.72rem; }
.equipment-screen .arsenal-stores>.inventory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(95px,max-content); gap:5px; }
.equipment-screen .inventory-grid>.arsenal-row { min-height:95px; padding:6px; background:#0f181499; border:1px solid #65745a66; }
.equipment-screen .inventory-grid .arsenal-row .item-art { height:42px; }
.equipment-screen .inventory-grid .arsenal-row strong { font-size:.68rem; }
.equipment-screen .inventory-grid .arsenal-row p { font-size:.62rem; }
.equipment-screen .weapon-inspector { background:transparent; padding:0 7px 12px; border-left:1px solid #64745c66; padding-left:20px; }
.equipment-screen .weapon-stage { height:125px; min-height:125px; margin:0 0 12px; background:#8c977a12; border-bottom:1px solid #65745a55; }
.equipment-screen .weapon-title h3 { font-size:1.5rem; }
.equipment-screen .combat-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.equipment-screen .weapon-tradeoffs { display:block; margin:12px 0; }
.equipment-screen .weapon-tradeoffs>section+section { margin-top:12px; }
.equipment-screen .weapon-tradeoffs li { font-size:.75rem; }
.equipment-screen .comparison-details { margin-top:14px; }
@media(min-width:1700px) { .equipment-screen .arsenal-layout { grid-template-columns:minmax(360px,.95fr) minmax(440px,1.1fr) minmax(400px,1.2fr); }.equipment-screen .arsenal-stores>.inventory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.armory-loadout-figure { min-height:430px; } }
@media(max-width:1100px) and (min-width:601px) { #app[data-view=armory]>main { padding:10px 12px; }.equipment-screen .arsenal-layout { grid-template-columns:minmax(210px,.85fr) minmax(240px,1fr) minmax(270px,1.1fr); gap:12px; }.equipment-screen .arsenal-stores>.inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.armory-loadout-figure { min-height:335px; }.equipment-screen .weapon-inspector { padding-left:12px; }.armory-physical-slots { column-gap:calc(100% - 140px); }.equipment-screen .combat-stats dd { font-size:.95rem; } }
@media(max-width:850px) and (min-width:601px) { .equipment-screen .arsenal-layout { grid-template-columns:190px minmax(180px,1fr) minmax(245px,1.2fr); gap:10px; }.physical-slot strong { font-size:.54rem; }.armory-operator-identity h3 { font-size:1.35rem; }.equipment-screen .arsenal-heading .actions { gap:4px; }.equipment-screen .arsenal-heading .actions button { font-size:.7rem; padding:5px 7px; } }
@media(max-width:600px) {
 #app[data-view=armory]>main { padding:8px; }.equipment-screen .arsenal-heading>div:first-child { display:block; }.equipment-screen .arsenal-heading h2 { font-size:1.3rem; }.equipment-screen .arsenal-heading .actions { flex-wrap:wrap; justify-content:flex-end; }.equipment-screen .arsenal-heading .actions button { font-size:.67rem; min-height:32px; padding:4px 6px; }.equipment-screen .arsenal-heading .actions [data-action=weaponWorkshop] { display:none; }
 .equipment-screen .arsenal-modes { justify-content:stretch; }.equipment-screen .arsenal-modes button { padding:5px; font-size:.9rem; }.equipment-screen .armory-operators { padding:5px 0 8px; }.equipment-screen .armory-operators>button { min-width:43px; width:43px; height:51px; }.equipment-screen .armory-operators .portrait { width:41px; height:49px; }
 .equipment-screen:not(.armory-inspecting) .arsenal-layout { display:grid; grid-template-columns:142px minmax(0,1fr); gap:8px; }.equipment-screen .armory-operator-stage { min-height:0; }.armory-operator-identity h3 { font-size:1.05rem; }.armory-operator-identity p { font-size:.65rem; }.armory-operator-identity .operator-health { font-size:.6rem; }.armory-loadout-figure { min-height:280px; flex:0 0 280px; }.armory-fullbody { width:100%; left:0; }.armory-physical-slots { grid-template-rows:60px 60px 1fr 65px; column-gap:30px; gap:5px 30px; }.physical-slot { padding:3px!important; }.physical-slot-label { font-size:.5rem; }.physical-slot strong { font-size:.5rem; }.physical-slot .item-art { height:25px; }.physical-primary,.physical-secondary { height:65px; }.physical-primary .item-art,.physical-secondary .item-art { height:30px; }.armory-operator-stage .operator-equipment-context p { font-size:.62rem; }.armory-operator-stage .operator-equipment-context .muted { display:none; }.armory-operator-tools { flex-wrap:wrap; gap:4px; }.armory-operator-tools button { font-size:.65rem; min-height:30px; padding:4px; }
 .equipment-screen:not(.armory-inspecting) .arsenal-stores>.inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(88px,max-content); gap:3px; }.equipment-screen .inventory-grid>.arsenal-row { min-height:88px; padding:4px; }.equipment-screen .inventory-grid .arsenal-row .item-art { height:34px; }.equipment-screen .inventory-grid .arsenal-row strong { font-size:.61rem; }.equipment-screen .inventory-grid .arsenal-row p { font-size:.58rem; }.equipment-screen .arsenal-list-heading { display:block; padding-bottom:5px; }.equipment-screen .arsenal-list-heading h3 { font-size:.85rem; }.equipment-screen .arsenal-list-heading p { font-size:.65rem; }.equipment-screen .arsenal-stores>.arsenal-families { max-height:100px; overflow-y:auto; }.equipment-screen .arsenal-families button { font-size:.64rem; padding:4px; min-height:28px; }
 .equipment-screen.armory-inspecting .armory-operator-stage { display:none; }.equipment-screen.armory-inspecting .weapon-inspector { border:0; padding:0 10px 14px; }.equipment-screen.armory-inspecting .arsenal-layout { display:flex; }.equipment-screen.armory-inspecting .arsenal-heading { display:none; }
}
.armory-native-preview { position:absolute; inset:0; pointer-events:none; }
.equipment-operator-canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.equipment-rotate { position:absolute; z-index:3; left:50%; bottom:87px; transform:translateX(-50%); pointer-events:auto; min-height:28px; padding:4px 8px; font-size:.65rem; background:#17241de8; border-color:#7b896b; white-space:nowrap; }
.armory-packed-kit { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 0; }
.armory-packed-kit>span { display:flex; align-items:center; gap:4px; font-size:.68rem; color:#d0d6bf; }
.armory-packed-kit .item-art { width:25px; height:28px; object-fit:contain; }
@media(max-width:700px){.equipment-rotate{bottom:70px;font-size:.55rem;padding:3px;}.armory-packed-kit>span{font-size:.6rem;}}
.armory-native-preview[data-equipment-preview=ready]>.armory-fullbody { visibility:hidden; }
.equipment-screen .inspector-actions { margin-top:8px; }
.equipment-screen .operator-equipment-context .operator-match-skills { color:#e5dec3; }
/* Phone inventory keeps the operator at a readable scale before the full-width tray. */
@media(max-width:600px) {
 .equipment-screen:not(.armory-inspecting)>.panel-scroll { display:block; overflow-y:auto; overscroll-behavior:contain; }
 .equipment-screen:not(.armory-inspecting) .arsenal-layout { display:flex; flex-direction:column; gap:18px; overflow:visible; }
 .equipment-screen:not(.armory-inspecting) .armory-operator-stage { flex:0 0 auto; overflow:visible; width:100%; }
 .equipment-screen .armory-operator-identity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:3px 10px; }
 .equipment-screen .armory-operator-identity h3 { font-size:1.3rem; }
 .equipment-screen .armory-operator-identity p { font-size:.75rem; margin:2px 0; }
 .equipment-screen .armory-operator-identity .operator-health { grid-column:1/-1; font-size:.72rem; }
 .equipment-screen .armory-loadout-figure { min-height:290px; height:290px; max-height:290px; flex:0 0 290px; margin-top:8px; }
 .equipment-screen .armory-fullbody { width:78%; left:11%; }
 .equipment-screen .armory-physical-slots { grid-template-columns:88px 88px; grid-template-rows:78px 78px 1fr 80px; justify-content:space-between; gap:8px 0; }
 .equipment-screen .physical-slot { min-height:44px; padding:5px!important; }
 .equipment-screen .physical-slot-label { font-size:.65rem; line-height:1.15; }
 .equipment-screen .physical-slot strong { font-size:.65rem; line-height:1.2; white-space:normal; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
 .equipment-screen .physical-slot .item-art { height:29px; }
 .equipment-screen .physical-primary,.equipment-screen .physical-secondary { height:80px; }
 .equipment-screen .physical-primary .item-art,.equipment-screen .physical-secondary .item-art { height:35px; }
 .equipment-screen .armory-operator-stage .operator-equipment-context { margin-top:8px; padding:8px 0; }
 .equipment-screen .armory-operator-stage .operator-equipment-context p { font-size:.74rem; margin:4px 0; line-height:1.35; }
 .equipment-screen .armory-operator-tools { gap:8px; padding-top:6px; }
 .equipment-screen .armory-operator-tools button { min-height:44px; font-size:.78rem; padding:6px 12px; }
 .equipment-screen:not(.armory-inspecting) .arsenal-stores { flex:0 0 470px; height:470px; min-height:320px; width:100%; overflow:hidden; }
 .equipment-screen .arsenal-list-heading { display:flex; padding:5px 0 9px; }
 .equipment-screen .arsenal-list-heading h3 { font-size:1rem; }.equipment-screen .arsenal-list-heading p { font-size:.75rem; }
 .equipment-screen .arsenal-stores>.arsenal-families { max-height:150px; flex-wrap:wrap; gap:2px; }
 .equipment-screen .arsenal-families button { font-size:.75rem; min-height:44px; padding:6px 9px; }
 .equipment-screen:not(.armory-inspecting) .arsenal-stores>.inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(118px,max-content); gap:5px; }
 .equipment-screen .inventory-grid>.arsenal-row { min-height:118px; padding:8px; }
 .equipment-screen .inventory-grid .arsenal-row .item-art { height:49px; }
 .equipment-screen .inventory-grid .arsenal-row strong { font-size:.8rem; line-height:1.25; }
 .equipment-screen .inventory-grid .arsenal-row p { font-size:.72rem; }
 .equipment-screen .armory-operators>button { min-width:48px; width:48px; height:58px; }
 .equipment-screen .armory-operators .portrait { width:46px; height:56px; }
 .equipment-screen.armory-inspecting>.panel-scroll { display:flex; overflow:hidden; }
 .equipment-screen.armory-inspecting .arsenal-layout { display:flex; flex:1; min-height:0; }
 .equipment-screen.armory-inspecting .mobile-stores-back { min-height:44px; padding:8px 12px; font-size:.85rem; }
}
@media(max-width:600px) {
 .equipment-screen .arsenal-heading .actions button,.equipment-screen .arsenal-modes button { min-height:44px; }
 .equipment-screen .arsenal-heading .actions [data-action=weaponWorkshop] { display:inline-flex; align-items:center; }
}
/* A single file stays in view while previous/next, keys and swipes browse the collection. */
.browse-carousel { min-width:0; touch-action:pan-y; outline-offset:3px; }
.browse-carousel:focus-visible { outline:2px solid #d8b86f; }
.browse-carousel img { -webkit-user-drag:none; user-select:none; }
.browse-carousel .browse-navigation { display:flex; justify-content:center; align-items:center; gap:20px; }
.browse-navigation>button { min-width:48px; min-height:44px; padding:0 12px; font:1.8rem/1 sans-serif; }
.browse-position { font-variant-numeric:tabular-nums; min-width:65px; text-align:center; font-size:.9rem; }
.browse-hint { display:block; text-align:center; font-size:.68rem; opacity:.8; margin:3px 0 10px; }
.recruit-board>.panel-scroll { display:block; padding:4px; }
.recruit-board [data-carousel=recruit] { max-width:820px; margin:0 auto; }
.contract-board.recruit-board .recruit-folder { grid-template-columns:minmax(0,1fr) 160px; padding:18px; gap:12px; }
.contract-board.recruit-board .recruit-photo { grid-row:2/5; }
.contract-board.recruit-board .recruit-photo .portrait { height:190px; }
.contract-board.recruit-board .card-title button { font-size:1.8rem; line-height:1.1; }
.recruit-board .recruit-folder>.skills { grid-column:1; align-self:start; }
.recruit-board .recruit-details { grid-column:1; font-size:.8rem; }
.recruit-details summary { cursor:pointer; min-height:30px; padding:5px 0; }
.recruit-details p+p { margin-top:8px; }
.recruit-board .recruit-folder>.included-kit { margin-top:8px; font-size:.8rem; }
.recruit-board .recruit-folder .included-kit button,.recruit-board .recruit-folder .folder-status button { min-height:44px; padding:8px 12px; font-size:.85rem; }
.carousel-equipment>.panel-scroll { display:block; overflow-y:auto; scrollbar-gutter:stable; }
.carousel-equipment .arsenal-modes { justify-content:flex-start; margin:0 0 6px; }
.carousel-equipment .operator-carousel { display:grid; grid-template-columns:180px minmax(180px,1fr) minmax(160px,.6fr); align-items:center; gap:0 20px; border-bottom:1px solid #64745c66; margin-bottom:12px; padding-bottom:8px; }
.carousel-equipment .operator-carousel>.browse-navigation { grid-column:1; grid-row:1; gap:12px; }
.carousel-equipment .operator-carousel>.browse-hint { grid-column:1; grid-row:2; margin:2px 0 0; }
.carousel-equipment .selected-armory-operator { grid-column:2; grid-row:1/3; display:flex; align-items:center; gap:10px; min-width:0; border:0; background:transparent; padding:0; text-align:left; box-shadow:none; }
.selected-armory-operator .portrait { width:46px; height:58px; flex:0 0 46px; object-fit:cover; }
.selected-armory-operator strong { font-size:1rem; }.selected-armory-operator p { margin:3px 0; font-size:.75rem; color:#c1c6b2; }
.carousel-equipment .operator-carousel>.filter { grid-column:3; grid-row:1/3; }
.carousel-equipment .filter { min-width:0; font-size:.72rem; width:100%; gap:4px; }
.carousel-equipment select { width:100%; min-width:0; min-height:40px; font-size:.85rem; padding:6px; }
.carousel-equipment .arsenal-layout { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.6fr); gap:24px; overflow:visible; align-items:start; }
.carousel-equipment .arsenal-stores { height:auto; overflow:visible; min-height:0; }
.carousel-equipment .equipment-browse-filters { display:grid; grid-template-columns:minmax(120px,.65fr) minmax(0,1.4fr); gap:12px; margin:0 0 10px; }
.carousel-equipment .arsenal-families { display:block; padding:0; overflow:visible; }
.carousel-equipment .weapon-inspector { display:block; padding:0; border:0; overflow:visible; }
.carousel-equipment .weapon-stage { height:145px; min-height:145px; margin:0 0 10px; }
.carousel-equipment .weapon-title { gap:6px 18px; }
.carousel-equipment .weapon-title h3 { font-size:1.6rem; margin:0; }
.carousel-equipment .weapon-stock { margin:6px 0; }
.carousel-equipment .inspector-actions { margin:10px 0; gap:8px 14px; }
.carousel-equipment .inspector-actions button { min-height:44px; font-size:.85rem; }
.carousel-equipment .inspector-actions .equipped-marker { margin:0 0 5px; }
.carousel-equipment .weapon-role { margin:8px 0; font-size:.9rem; }
.equipment-essentials { color:#e8d7aa; font-size:.85rem; margin:7px 0 12px; }
.carousel-equipment .inspector-details { margin:8px 0 0; }
.carousel-equipment .inspector-details>summary,.armory-loadout-details>summary { min-height:40px; padding:10px 0; cursor:pointer; font-size:.8rem; color:#d8c797; }
.carousel-equipment .armory-operator-stage { overflow:visible; }
.carousel-equipment .armory-loadout-figure { min-height:300px; height:300px; max-height:360px; flex:0 0 300px; }
.carousel-equipment .armory-operator-identity h3 { font-size:1.4rem; }
.carousel-equipment .operator-equipment-context { padding:6px 0; }
.carousel-equipment .purchase-receipt { padding:10px; margin:10px 0; }
.carousel-equipment .purchase-receipt h4 { margin:0 0 5px; }
.carousel-equipment .purchase-receipt p { font-size:.75rem; margin:4px 0; }
@media(max-height:760px) and (min-width:851px) {
 .carousel-equipment .weapon-stage { min-height:90px; height:90px; }
 .carousel-equipment .operator-carousel { margin-bottom:7px; padding-bottom:5px; }
 .carousel-equipment .equipment-browse-filters { margin-bottom:5px; }
 .carousel-equipment .armory-loadout-figure { min-height:250px; height:250px; }
 .carousel-equipment .armory-operator-stage .operator-equipment-context { margin-top:4px; }
}
@media(max-width:850px) {
 .carousel-equipment .arsenal-layout { display:flex; flex-direction:column; gap:8px; }
 .carousel-equipment .arsenal-stores { order:0; width:100%; }
 .carousel-equipment .armory-loadout-details { order:1; width:100%; }
 .carousel-equipment .operator-carousel { grid-template-columns:130px minmax(0,1fr); gap:0 8px; }
 .carousel-equipment .operator-carousel>.filter { grid-row:3; grid-column:1/-1; margin-top:6px; flex-direction:row; align-items:center; }
 .carousel-equipment .operator-carousel>.filter select { flex:1; }
 .carousel-equipment .operator-carousel>.browse-navigation { gap:3px; }
 .carousel-equipment .operator-carousel .browse-position { min-width:38px; font-size:.75rem; }
 .carousel-equipment .operator-carousel .browse-navigation>button { min-width:40px; }
}
@media(max-width:600px) {
 .recruit-board>.filters { gap:8px; }.recruit-board>.filters .filter { flex:1; min-width:0; }
 .recruit-board>h2 { font-size:1rem; display:flex; align-items:center; justify-content:space-between; gap:6px; }
 .recruit-board>h2 button { font-size:.68rem; padding:4px 6px; }
 .contract-board.recruit-board .recruit-folder { padding:10px; gap:8px; grid-template-columns:minmax(0,1fr) 98px; }
 .contract-board.recruit-board .recruit-photo .portrait { height:138px; }
 .contract-board.recruit-board .card-title button { font-size:1.35rem; }
 .recruit-board .recruit-folder .skill-badge { font-size:.7rem; padding:3px; }
 .recruit-board .recruit-folder .folder-status { align-items:center; flex-wrap:wrap; gap:8px; }
 .recruit-board .recruit-folder .folder-status .action { width:100%; }
 .recruit-board .recruit-folder .folder-status button { width:100%; }
 .recruit-board .recruit-folder>.included-kit { align-items:center; flex-wrap:wrap; gap:4px; font-size:.72rem; }
 .recruit-board .recruit-folder .included-kit button { min-height:36px; padding:5px; font-size:.72rem; }
 .carousel-equipment>.panel-scroll { display:block; overflow-y:auto; }
 .carousel-equipment .arsenal-heading { gap:8px; align-items:start; }
 .carousel-equipment .arsenal-heading h2 { font-size:1.15rem; }
 .carousel-equipment .arsenal-heading .actions { gap:4px; }
 .carousel-equipment .arsenal-heading .actions button { font-size:.62rem; min-height:36px; padding:5px; }
 .carousel-equipment .arsenal-modes button { min-height:40px; font-size:.85rem; flex:1; }
 .carousel-equipment .operator-carousel { margin-bottom:8px; }
 .carousel-equipment .selected-armory-operator strong { font-size:.9rem; }
 .carousel-equipment .selected-armory-operator p { font-size:.65rem; }
 .carousel-equipment .selected-armory-operator .portrait { width:38px; height:48px; flex-basis:38px; }
 .carousel-equipment .operator-carousel>.filter { font-size:.68rem; }
 .carousel-equipment select { min-height:36px; font-size:.76rem; }
 .carousel-equipment .equipment-browse-filters { gap:8px; grid-template-columns:minmax(100px,.65fr) minmax(0,1fr); margin-bottom:4px; }
 .carousel-equipment .browse-hint { margin-bottom:5px; }
 .carousel-equipment .weapon-stage { height:105px; min-height:105px; }
 .carousel-equipment .weapon-stage .item-art { padding:7px 0; }
 .carousel-equipment .weapon-title h3 { font-size:1.3rem; }
 .carousel-equipment .weapon-title p,.carousel-equipment .weapon-stock { font-size:.73rem; }
 .carousel-equipment .weapon-role,.carousel-equipment .equipment-essentials { font-size:.77rem; }
 .carousel-equipment .inspector-actions { gap:6px; margin:8px 0; }
 .carousel-equipment .inspector-actions .action,.carousel-equipment .purchase-control { width:auto; }
 .carousel-equipment .inspector-actions button { font-size:.77rem; padding:6px 10px; }
}
/* Recruitment has its own heading; reserve the view for the selected dossier. */
#app[data-view=market] #workspace>.command-heading { display:none; }
#app:is([data-view=market],[data-view=armory]) #workspace>.practice-guide { padding:8px 12px; gap:10px; margin:0; min-height:0; }
#app:is([data-view=market],[data-view=armory]) .practice-guide .practice-progress { display:none; }
#app:is([data-view=market],[data-view=armory]) .practice-guide-copy strong { font-size:.68rem; }
#app:is([data-view=market],[data-view=armory]) .practice-guide-copy p { margin:3px 0; font-size:.8rem; }
#app:is([data-view=market],[data-view=armory]) .practice-guide-actions button { min-height:36px; padding:5px 10px; font-size:.8rem; }
@media(max-width:600px) {
 #app:is([data-view=market],[data-view=armory]) #workspace>.practice-guide { display:flex; flex-direction:column; align-items:stretch; gap:5px; padding:7px 10px; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-copy { display:flex; align-items:center; gap:8px; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-copy strong { max-width:115px; font-size:.62rem; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-copy p { margin:0; font-size:.75rem; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-actions { gap:6px; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-actions button { flex:1; }
 .recruit-board .recruit-details { grid-column:1/-1; }
 .contract-board.recruit-board .recruit-photo { grid-row:2/4; }
}
.contract-board.recruit-board .recruit-photo { grid-row:2/4; }
.recruit-board .recruit-folder>.folder-status { grid-row:4; }
.recruit-board .recruit-folder>.included-kit { grid-row:5; }
.recruit-board .recruit-folder>.recruit-details { grid-row:6; grid-column:1/-1; }
.contract-board.recruit-board .recruit-photo .portrait { height:150px; }
.contract-board.recruit-board .recruit-folder { padding:12px; gap:8px; }
@media(max-width:600px) {
 #app:is([data-view=market],[data-view=armory]) #workspace>.practice-guide { flex-wrap:nowrap; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-copy { flex:0 0 auto; width:100%; }
 #app:is([data-view=market],[data-view=armory]) .practice-guide-actions { flex:0 0 auto; width:100%; }
 .contract-board.recruit-board .recruit-photo .portrait { height:125px; }
 .contract-board.recruit-board .recruit-folder { padding:10px; }
 .recruit-board .recruit-folder>.folder-status { margin-top:4px; }
}
.carousel-equipment .purchase-control { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; }
.carousel-equipment .purchase-control [data-action=buy] { margin:0; }
.carousel-equipment .inspector-actions>[data-action=equipPurchased] { background:#d9b66e; color:#17241e; border-color:#e4ca8f; }
