/* The quartermaster's desk: game screens, ink silhouettes, pinned annotations.
   The frame stays put; only the selected dossier may scroll. */
#menu.game-shell {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;padding:22px 3.5vw 14px;box-sizing:border-box;overflow:hidden;background:linear-gradient(100deg,#243d3bdf,#29463bbd 44%,#182e2eea);color:var(--paper)}
.game-shell button,.small-desk button {font:700 12px var(--label);cursor:pointer;color:var(--ink);border:2px solid var(--ink);border-radius:3px 8px 2px 5px;background:var(--paper);padding:10px 14px;box-shadow:2px 3px 0 #162b2840}
.game-shell button:hover,.small-desk button:hover {background:#fbedca;transform:translateY(-2px)}
.game-shell button:focus-visible,.small-desk button:focus-visible {outline:3px solid #87d7cf;outline-offset:4px}
.shell-header {display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid #d8c79761;padding-bottom:18px}
.shell-brand {display:grid;gap:2px;flex-shrink:0;transform:rotate(-3deg)}
.shell-brand b {font:900 clamp(26px,3vw,40px)/.95 var(--hand);letter-spacing:-2px;text-shadow:2px 3px #132c28}
.shell-brand small {font:800 8px var(--label);letter-spacing:2px;color:#d7bd7b}
.shell-nav {display:flex;align-items:center;gap:8px}
.shell-nav button {background:transparent;color:#f0e1b9;border:0;box-shadow:none;border-radius:0;padding:12px 17px;font-weight:800;letter-spacing:1px}
.shell-nav button.active {background:#e9c873;color:var(--ink);clip-path:polygon(3% 7%,99% 0,97% 94%,0 100%);transform:rotate(-2deg)}
.shell-nav button:hover {color:var(--ink)}
.lobby-topline {display:flex;justify-content:space-between;gap:12px;font:9px var(--label);letter-spacing:1px;padding:15px 0;color:#d1c49b}
#career-summary {font-size:10px;letter-spacing:0;text-align:right}
.lobby-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(295px,380px);gap:4vw;align-items:center;min-height:0;max-width:1350px;width:100%;margin:auto}
.resident-stage {align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;position:relative;text-align:center}
.pencil-note {font:14px var(--hand);color:#debb79;transform:rotate(-5deg);display:block}
.resident-stage h1 {font:700 clamp(30px,4vw,62px)/1.03 var(--hand);margin:10px 0 0;letter-spacing:-2px;text-shadow:3px 3px #132c2855}
.resident-stage h1 em {color:#a6cbb4;font-style:normal}
.resident-podium {position:relative;flex:1;min-height:100px;max-height:360px;width:100%;display:grid;place-items:center}
#lobby-resident {position:relative;height:100%;max-height:330px;width:90%;object-fit:contain;filter:drop-shadow(4px 9px 0 #142b2745);transform:rotate(-3deg);animation:resident-idle 5s ease-in-out infinite;z-index:1}
.stage-orbit {position:absolute;bottom:4%;width:80%;height:18%;border:3px dashed #ded1a13b;border-radius:50%;background:#ccbf9414;transform:rotate(-5deg)}
.stage-stamp {position:absolute;right:2%;top:37%;padding:10px;border:3px double #d8c47d;font:700 14px/1.05 var(--hand);color:#d8c47d;transform:rotate(11deg);z-index:2}
.game-shell .resident-name {background:transparent;color:var(--paper);font:700 27px var(--hand);box-shadow:none;border:0;border-bottom:2px solid #c8b887;padding:8px 16px;margin:0 0 15px}
.resident-name span {display:block;font:8px var(--label);letter-spacing:1.5px;color:#d4bc80;margin-top:4px}
.game-shell .crew-shortcut {background:#254440;color:#c9d9bb;border:1px dashed #a7ba97;padding:12px 22px;box-shadow:none}
.launch-board {background:#f0e2bc;color:var(--ink);padding:22px 25px;box-sizing:border-box;max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#917f55 transparent;box-shadow:7px 8px 0 #10292366;border:2px solid #292c22;border-radius:5px 13px 3px 7px;position:relative;transform:rotate(.35deg)}
.launch-board h2 {font:700 34px/1.05 var(--hand);letter-spacing:-1px;margin:8px 0 15px}
.launch-board .dossier-heading {font-size:8px;margin-bottom:13px}
.launch-board .match-options {display:grid;grid-template-columns:1fr;gap:6px;margin:0}
.launch-board .paper-choice-label {font-size:8px;letter-spacing:1px;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px}
.launch-board .choice-strip {min-height:28px;margin:0;background:transparent;border-width:1px}
.launch-board .choice-strip button {padding:0;min-height:26px;width:24px;font-size:20px;box-shadow:none}
.launch-board .choice-value {font-size:10px;letter-spacing:0}
.launch-board #map-description {font:10px var(--label);margin:9px 0 15px;color:#695e48}
.launch-board .mode-picker {display:grid;grid-template-columns:1fr;gap:6px;margin:0 0 12px}
.launch-board .mode-picker button {display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;text-align:left;gap:1px 10px;padding:8px 12px;min-height:0;border:1px solid #988660;border-radius:2px 6px 3px 5px;box-shadow:none;background:#e4d5ac;transform:none}
.launch-board .mode-picker button.selected {background:#ccdcc2;border:2px solid #355f52;padding:7px 11px;box-shadow:3px 3px 0 #7c9d7633}
.launch-board .mode-art {width:30px;height:34px;grid-row:1/3;margin:0}
.launch-board .mode-picker b {font:700 14px var(--hand);text-transform:uppercase}
.launch-board .mode-picker small {font:9px var(--label);margin:0;color:#665b45}
.launch-board #start {width:100%;font:800 14px var(--label);padding:14px;background:#dbba62;border:2px solid var(--ink);margin:0;transform:rotate(-1deg)}
.launch-board .online-actions {margin:10px 0 0;display:grid;gap:7px}
.launch-board .online-actions button {padding:9px;font-size:10px;background:#2f5149;color:#eee1ba;border-color:#213a34;transform:none}
.launch-board .online-actions small {font:9px/1.4 var(--label);text-align:center}
.launch-board .text-action {border:0;box-shadow:none;background:transparent;font-size:9px;width:100%;padding:10px 0 0;text-decoration:underline}
#menu-error {margin:6px 0 0;font-size:11px;min-height:0}
#menu-error:empty {display:none}
.shell-footer {display:flex;justify-content:space-between;gap:20px;padding:18px 0 0;font:8px var(--label);letter-spacing:1px;color:#b8b793}
.shell-footer i {padding:0 5px}
.small-desk {width:min(570px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:28px;background:#efe0b8;color:var(--ink);border:3px solid #342d29;border-radius:5px 12px 3px 9px;box-shadow:8px 10px #14282455;font:13px/1.5 var(--label)}
.small-desk::backdrop {background:#142d2ce3;backdrop-filter:blur(4px)}
.small-desk header {display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:22px;border-bottom:2px solid #96815b;padding-bottom:15px}
.small-desk header small {font-size:9px;letter-spacing:2px}
.small-desk h2 {font:700 30px/1.1 var(--hand);margin:5px 0}
.small-desk .primary {background:#c3d5b5;width:100%;margin-top:12px}
.small-desk #family-picker {margin:14px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.small-desk #family-picker button {width:100%;padding:8px 4px}
.small-desk #family-picker img {width:100%;height:72px}
.small-desk #family-picker button.selected {background:#b9d3ba;border-color:#3d6f62}
.small-desk #player-name {width:100%;box-sizing:border-box;background:#fff3d1;padding:12px;border:2px solid #756341;font:18px var(--hand);color:var(--ink)}
.small-desk .field-label span {display:none}
.small-desk .join-row {display:flex;gap:8px}
.small-desk .join-row input {min-width:0;flex:1;padding:12px;font:14px var(--label)}
.settings-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px 25px}
.settings-grid label {display:block;font-size:12px}
.settings-grid input[type=range] {display:block;width:100%;accent-color:#476d59;margin-top:10px}
.settings-grid p {font-size:10px;margin:0}
.controls-copy {border-top:1px dashed #938362;padding-top:16px;font-size:11px;line-height:1.8}
.draft-actions {display:flex;gap:10px}.small-desk .draft-actions .primary {margin:0}
/* Full-screen workbench. Header, departments and save action never scroll away. */
#armory {width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;padding:0;border:0;border-radius:0;background:#ede0b8;color:var(--ink);box-shadow:none;overflow:hidden;font:13px var(--label)}
#armory[open] {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
#armory .armory-header {padding:18px 3vw 15px;align-items:center;background:#2b4943;color:#efe1b6;border:0;gap:20px}
#armory .armory-header small {font:8px var(--label);letter-spacing:2px;color:#c9bd90}
#armory .armory-header h2 {font:700 34px/1 var(--hand);margin:8px 0 4px;letter-spacing:-1px}
#armory .armory-header p {font:10px var(--label);margin:0;color:#c9c6a1}
#armory .armory-header button {background:#ddc894;color:var(--ink);align-self:center;padding:10px 15px}
#armory .desk-tabs {display:flex;gap:0;background:#d6c694;padding:0 3vw;border-bottom:2px solid #988560}
#armory .desk-tabs button {background:transparent;border:0;box-shadow:none;border-radius:0;padding:15px 30px;font:800 11px var(--label);letter-spacing:1.5px;transform:none}
#armory .desk-tabs button[aria-selected=true] {background:#ede0b8;box-shadow:inset 0 -4px #426858;color:#294f40}
.desk-pages,.desk-page,#kit-editor,.weapon-workbench,.weapon-bench {min-width:0;min-height:0}
.desk-pages {overflow:hidden}
.desk-page {height:100%;box-sizing:border-box;overflow:auto}
#desk-loadout {display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
#armory [hidden],.game-shell [hidden] {display:none!important}
.loadout-toolbar {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 3vw;border-bottom:1px solid #b8a47c}
#armory #kit-slots {padding:0;gap:6px}
#armory #kit-slots button {font:700 10px var(--label);padding:9px 13px;box-shadow:none;background:#e4d4a7;transform:none;white-space:nowrap}
#armory #kit-slots button.selected {background:#36584a;color:#f5e7c1;border-color:#36584a}
#weapon-kinds {display:flex;gap:5px}
#armory #weapon-kinds button {font:800 10px var(--label);padding:8px 12px;border:0;background:transparent;box-shadow:none;transform:none}
#armory #weapon-kinds button[aria-pressed=true] {border-bottom:3px solid #a86040;color:#8b4a30}
#kit-editor {display:block;padding:0;height:100%}
.weapon-workbench {display:grid;grid-template-columns:200px minmax(0,1fr);height:100%}
#armory .weapon-catalog {display:flex;flex-direction:column;gap:8px;padding:18px;border-right:1px solid #af9970;background:#e1d0a6;overflow-y:auto}
#armory .weapon-card {border:1px solid #a48d64;box-shadow:none;background:#ecdfb9;transform:none;min-height:94px;flex-shrink:0;position:relative;padding:10px 12px;border-radius:4px 7px 3px 5px;text-align:left}
#armory .weapon-card.inspecting {border:2px solid #345e50;background:#f7edcf;padding:9px 11px;box-shadow:3px 3px #8ca78a66}
#armory .weapon-card .weapon-drawing {height:45px}
#armory .weapon-card strong {font:700 12px var(--hand)}
#armory .weapon-card small {font:8px var(--label);letter-spacing:.5px;margin-top:5px;opacity:.8}
.weapon-bench {display:grid;grid-template-rows:minmax(160px,36%) auto minmax(0,1fr);overflow:hidden}
.weapon-hero {display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:center;padding:22px 4%;background:radial-gradient(ellipse at 30% 60%,#faf2d9,transparent 64%),repeating-linear-gradient(0deg,transparent 0 29px,#aa986015 30px 31px);overflow:hidden}
.weapon-hero-art {min-width:0;position:relative;text-align:center}
.weapon-hero-art .pencil-note {font-size:11px;color:#8f7954;margin-bottom:10px;letter-spacing:1px}
.weapon-hero-art .weapon-drawing {height:130px;filter:drop-shadow(4px 6px 0 #8f744c25);transform:rotate(-7deg)}
#armory .weapon-title h3 {font:700 clamp(23px,3vw,40px)/1.05 var(--hand);letter-spacing:-1px;margin:8px 0}
.weapon-title > small {font:9px var(--label);letter-spacing:1px;display:block}
#armory .weapon-title p {font:11px/1.4 var(--label);margin:8px 0 12px;max-width:300px}
#armory .equip-weapon {font:800 10px var(--label);padding:9px 14px;background:#bdd0ad;box-shadow:none;margin-bottom:7px}
#armory .equip-weapon:disabled {opacity:.75;background:#e1d3ac}
#armory .weapon-tabs {display:flex;background:#d9c99f;border-top:1px solid #b5a077;border-bottom:1px solid #b5a077;padding:0 18px;gap:10px}
#armory .weapon-tabs button {font:800 10px var(--label);letter-spacing:.8px;padding:12px 18px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
#armory .weapon-tabs button[aria-selected=true] {box-shadow:inset 0 -3px #9a553c;color:#82442d;background:#f0e3bd}
.weapon-detail {padding:20px 4%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9f8c62 #e2d4ae;outline-offset:-4px}
.weapon-detail h4 {font:800 11px var(--label);letter-spacing:1px;margin:0 0 15px}
#armory .weapon-detail > p {font:11px var(--label);margin:0 0 12px}
.weapon-stat-grid {display:flex;gap:10px;margin:0 0 18px}
.weapon-stat-grid > div {flex:1;border-left:2px solid #a79062;padding-left:12px}
.weapon-stat-grid b {display:block;font:700 27px var(--hand)}
.weapon-stat-grid small {font:8px var(--label);letter-spacing:1px}
#armory .weapon-detail .workshop-slip {margin:10px 0 0;padding:15px 18px;background:#dfd5b3;border:1px dashed #9b8a65;transform:none}
#armory .weapon-detail .workshop-slip p {margin:8px 0;font-size:11px}
#armory .weapon-detail .workshop-slip small {font-size:10px;display:block;margin:5px 0}
.mod-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#armory .mod-card {text-align:left;padding:13px;background:#e5d6af;box-shadow:none;transform:none;border:1px solid #a18d65;display:grid;gap:6px}
#armory .mod-card[aria-pressed=true] {border:2px solid #47705a;background:#d8e0ba;padding:12px}
.mod-card strong {font:700 14px var(--hand)}.mod-card small {font:8px var(--label)}.mod-card span {font:11px/1.4 var(--label)}
#armory .finish-catalog {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
#armory .finish-card {padding:12px;background:#e5d5ad;transform:none;box-shadow:none;border:1px solid #a28c63;min-width:0;opacity:1}
#armory .finish-card:disabled {opacity:.75}
#armory .finish-card.selected {border:2px solid #416a53;background:#dce0b8}
#armory .finish-card .weapon-drawing {height:55px}
#armory .finish-card strong {font:700 13px var(--hand)}
#armory .finish-card span {font-size:10px;line-height:1.4}
#armory .finish-card small {font-size:9px}
#armory .mastery-slip {margin:15px 0 0;background:none;border:0;padding:0;transform:none}
#armory .mastery-route {margin-top:15px}
#armory .mastery-route summary {font-size:11px}
#armory .armory-save {padding:13px 3vw;background:#2c4840;color:#efdfb7;gap:25px;justify-content:space-between;border:0;margin:0}
#kit-dirty {font:800 10px var(--label);letter-spacing:1px;color:#c9d7ac}
#kit-dirty.unsaved {color:#f2bf79}
#armory .armory-save p {font:10px/1.4 var(--label);margin:4px 0 0;color:#d5cba6;max-width:650px}
#armory .armory-save .primary {min-width:180px;padding:13px 18px;font:800 11px var(--label);background:#e4c577;transform:rotate(-1deg);white-space:nowrap}
#armory .career-ribbon {padding:25px 4%;background:#cdd7b2;color:#354a37;border:0;gap:25px}
#armory .unlock-section,#armory .record-section {padding:24px 4%;border:0}
#armory #unlock-road {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
#armory #unlock-road span {padding:20px;background:#e3d1a5;border:1px solid #a58e62;border-radius:2px 6px 2px 8px;font:12px/1.5 var(--label)}
#armory .prestige-section {padding:24px 4%;background:#d6bc7b;border:0}
#prestige-review {margin:20px 4%}
.department-intro {padding:35px 4% 15px;max-width:650px}
.department-intro small {font:9px var(--label);letter-spacing:2px}
#armory .department-intro h3 {font:700 48px/1 var(--hand);margin:15px 0}
#armory .armory-account {padding:25px 4%;display:flex;flex-wrap:wrap}
#armory .armory-account > div {flex:1 1 100%}
#account-fallback {padding:0 4% 30px}
#account-fallback textarea {width:100%;box-sizing:border-box}
@keyframes resident-idle {0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(-1deg)}}
@media(max-width:900px) {
 #menu.game-shell {padding:16px 20px 12px}.shell-header {gap:15px;padding-bottom:13px}.shell-nav {gap:1px}.shell-nav button {padding:10px;font-size:10px;letter-spacing:.5px}
 .lobby-layout {gap:22px;grid-template-columns:minmax(0,1fr) minmax(285px,1fr)}.launch-board {padding:18px}.resident-stage h1 {font-size:34px}.stage-stamp {font-size:10px;right:-4px;padding:6px}.resident-stage .pencil-note {font-size:11px}
 .weapon-workbench {grid-template-columns:155px minmax(0,1fr)}#armory .weapon-catalog {padding:12px;gap:7px}
 .weapon-hero {gap:12px;padding:15px}.weapon-hero-art .weapon-drawing {height:100px}#armory .weapon-title h3 {font-size:26px}
 #armory .weapon-tabs {padding:0 6px;gap:0}#armory .weapon-tabs button {padding:12px 13px;font-size:9px}
 #armory #kit-slots button {padding:8px;font-size:9px}#armory #weapon-kinds button {font-size:9px;padding:8px}
 #armory .finish-catalog {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px) {
 .shell-brand b {font-size:29px}.shell-brand small {font-size:7px;letter-spacing:1px}.lobby-topline {font-size:7px}.lobby-topline #career-summary {font-size:9px}
 .resident-stage h1 {font-size:30px;letter-spacing:-1px}.shell-footer {font-size:7px;letter-spacing:0}.launch-board h2 {font-size:30px}
 .weapon-workbench {grid-template-columns:1fr;grid-template-rows:96px minmax(0,1fr)}
 #armory .weapon-catalog {flex-direction:row;padding:8px 16px;border-right:0;border-bottom:1px solid #b29d73;overflow-y:hidden;overflow-x:auto;gap:7px}
 #armory .weapon-card {flex:1;min-width:100px;min-height:0;padding:6px 8px}#armory .weapon-card.inspecting {padding:5px 7px}
 #armory .weapon-card .weapon-drawing {height:30px}#armory .weapon-card strong {font-size:10px}#armory .weapon-card small {font-size:7px;margin-top:3px}
 .weapon-bench {grid-template-rows:160px auto minmax(0,1fr)}.weapon-hero {grid-template-columns:1fr 1fr;padding:12px 22px}
 #armory .armory-header {padding:14px 20px}#armory .armory-header h2 {font-size:29px}
 #armory .desk-tabs button {padding:12px 24px;font-size:10px}.loadout-toolbar {padding:10px 16px;gap:7px}
 #armory .armory-save {padding:12px 18px;gap:14px}#armory .armory-save .primary {min-width:155px;padding:12px;font-size:10px}
 #armory .armory-save p {font-size:9px}.weapon-detail {padding:15px 22px}.weapon-stat-grid {margin-bottom:10px}.weapon-stat-grid b {font-size:23px}
 #armory .finish-catalog {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:550px) {
 #menu.game-shell {padding:12px}.shell-header {flex-wrap:wrap;gap:12px}.shell-brand {display:flex;align-items:center;gap:12px}.shell-nav {width:100%;justify-content:space-between}.shell-nav button {padding:9px 12px}
 .lobby-topline {padding:10px 0}.lobby-topline > span:first-child {display:none}#career-summary {text-align:left}
 .lobby-layout {grid-template-columns:1fr;gap:10px;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}
 .resident-stage {display:grid;grid-template-columns:70px 1fr auto;gap:7px;flex:none;min-height:70px;text-align:left}.resident-stage>.pencil-note,.resident-stage h1,.stage-stamp,.stage-orbit {display:none}.resident-podium {grid-column:1;grid-row:1;height:70px;min-height:0}.resident-name {grid-column:2;grid-row:1}.game-shell .resident-name {font-size:22px;margin:0;padding:5px;border:0;text-align:left}.resident-name span {font-size:7px;letter-spacing:0}.game-shell .crew-shortcut {grid-column:3;padding:10px;font-size:8px;max-width:100px}
 .launch-board {overflow:visible;max-height:none;transform:none}.launch-board .mode-picker button {grid-template-columns:30px 1fr}.shell-footer span:last-child {display:none}
 .loadout-toolbar {flex-wrap:wrap}#armory #kit-slots {flex:1}#weapon-kinds {margin-left:auto}#armory #kit-slots button {padding:7px;font-size:8px}
 .weapon-bench {grid-template-rows:145px auto minmax(0,1fr)}.weapon-hero {padding:12px;gap:10px}#armory .weapon-title h3 {font-size:21px}#armory .weapon-title p {font-size:10px}.weapon-hero-art .weapon-drawing {height:80px}.weapon-hero-art .pencil-note {font-size:8px}
 #armory .weapon-tabs {justify-content:space-around}#armory .weapon-tabs button {padding:11px 9px;font-size:8px}
 #armory .finish-catalog {grid-template-columns:repeat(2,minmax(0,1fr))}.weapon-detail {padding:12px}.weapon-stat-grid {gap:6px}.weapon-stat-grid > div {padding-left:7px}.weapon-stat-grid b {font-size:21px}.weapon-stat-grid small {font-size:7px}
 #armory .armory-save {gap:10px;padding:10px 12px}#armory .armory-save .primary {min-width:130px;font-size:9px;padding:11px 8px}#armory .armory-save p {max-height:40px;overflow:auto}
 .settings-grid {grid-template-columns:1fr}.small-desk {padding:20px}.small-desk #family-picker img {height:50px}
}
@media(max-height:650px) and (min-width:551px) {
 #menu.game-shell {padding-top:10px}.shell-header {padding-bottom:8px}.lobby-topline {padding:8px 0}.shell-footer {padding-top:10px}
 .launch-board {padding:14px 18px}.launch-board h2 {font-size:25px;margin:6px 0 10px}.launch-board .dossier-heading {display:none}.launch-board .mode-picker button {padding:5px 10px}.launch-board .mode-picker button.selected {padding:4px 9px}.launch-board #start {padding:10px}.launch-board #map-description {margin:6px 0 10px}
 #armory .armory-header {padding:10px 20px}#armory .armory-header h2 {font-size:25px}.weapon-bench {grid-template-rows:125px auto minmax(0,1fr)}.weapon-hero-art .weapon-drawing {height:75px}.weapon-hero-art .pencil-note {display:none}
}
@media(prefers-reduced-motion:reduce) {#lobby-resident {animation:none}.game-shell button:hover,.small-desk button:hover {transform:none}}
body.reduced #lobby-resident {animation:none}
#armory .armory-save {flex-direction:row;align-items:center}
#armory .armory-save .primary {color:#302e22;width:auto;flex-shrink:0}
#armory .armory-save > div {min-width:0}
.finish-swatches {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}
#armory .finish-swatch {font:700 11px var(--hand);padding:9px 6px;background:#e5d2a8;border:1px solid #a38b61;box-shadow:none;transform:none;text-align:center;border-radius:3px 6px 2px 5px}
#armory .finish-swatch[aria-pressed=true] {background:#c8d7b4;border:2px solid #466b51;padding:8px 5px}
.finish-inspector {position:relative;background:#ded1ab;padding:12px 135px 12px 14px;border-left:3px solid #957849;margin-bottom:10px;min-height:42px;display:grid;gap:5px;align-content:center}
.finish-inspector strong {font:700 15px var(--hand)}.finish-inspector small {font:10px/1.4 var(--label)}
#armory .apply-finish {position:absolute;right:10px;top:12px;font:800 9px var(--label);padding:10px;background:#bdd0a6;box-shadow:none}
.weapon-detail>small {font:9px var(--label);color:#726244}
@media(max-width:550px){#armory .finish-swatch {font-size:10px;padding:8px 5px}.finish-inspector {padding-right:110px}#armory .apply-finish {font-size:8px;padding:8px}.finish-swatches {gap:5px}}
@media (max-width:700px) and (min-height:651px) {
 .weapon-workbench {grid-template-rows:84px minmax(0,1fr)}
 .weapon-bench {grid-template-rows:140px auto minmax(0,1fr)}
 .weapon-hero-art .weapon-drawing {height:85px}
 #armory .finish-swatch {padding:7px 6px;font-size:10px}
 #armory .finish-swatch[aria-pressed=true] {padding:6px 5px}
 .finish-swatches {margin-bottom:10px;gap:5px}
 .finish-inspector {padding-top:8px;padding-bottom:8px;min-height:35px;margin-bottom:6px}
 #armory .apply-finish {top:9px}
}
#desk-career {display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
#armory .career-tabs {display:flex;gap:8px;padding:0 4%;background:#dbcb9d;border-bottom:1px solid #af986a}
#armory .career-tabs button {font:800 10px var(--label);padding:13px 18px;background:transparent;border:0;box-shadow:none;border-radius:0;transform:none}
#armory .career-tabs button[aria-selected=true] {background:#ede0b8;box-shadow:inset 0 -3px #8e5037}
.career-pages {overflow:auto;min-height:0}
#armory #settings-open {min-width:40px}
@media(max-width:700px){#armory .career-ribbon {padding:20px;gap:20px}#armory .career-tabs {padding:0 15px;gap:0}#armory .career-tabs button {padding:13px 15px;font-size:9px}}
#armory .career-ribbon {margin:0;grid-template-columns:1fr 1fr}
#armory .career-ribbon b {color:#304e3c;font:700 20px var(--hand)}
#armory #kit-slots {margin:0}
@media(max-width:420px){#armory .career-ribbon {grid-template-columns:1fr;gap:12px}#armory .career-ribbon b {font-size:16px}}
.weapon-hero-art .weapon-drawing {max-width:320px;margin:0 auto;transform:rotate(-3deg)}
.weapon-hero-art .weapon-drawing svg {transform:none}
@media(min-width:701px){.weapon-bench {grid-template-rows:minmax(185px,38%) auto minmax(0,1fr)}.weapon-hero {padding-top:12px;padding-bottom:12px}.weapon-hero-art .weapon-drawing {height:115px}}
.lobby-layout {height:100%;max-height:100%;margin:0 auto}
.resident-podium {flex:1 1 0;height:0}
#lobby-resident {position:absolute;inset:0;margin:auto;max-height:300px}
.launch-board {align-self:center}
@media(max-width:550px){.lobby-layout {height:auto;max-height:none;margin:0}.resident-podium {height:70px;flex:none}}
#menu.game-shell {background:linear-gradient(100deg,#243d3bed,#29463bdd 52%,#182e2ef2);backdrop-filter:blur(2px)}
@media(min-width:551px){
 .launch-board {padding:18px 22px}
 .launch-board h2 {margin-bottom:11px}
 .launch-board .mode-picker button {padding:6px 12px}
 .launch-board .mode-picker button.selected {padding:5px 11px}
 .launch-board #start {padding:12px}
 .launch-board .online-actions {margin-top:8px}
}
#armory #armory-idle-warning {position:absolute;z-index:5;top:5px;right:85px;left:auto;width:min(440px,65vw);margin:0;padding:8px 12px;box-sizing:border-box;font:11px/1.4 var(--label)}
/* Equipment staging: choose a kit, then open one focused weapon workspace. */
#armory .loadout-toolbar {justify-content:flex-start}
#weapon-kinds {margin-left:auto}
#armory #kit-back {margin-left:auto;font:800 10px var(--label);background:transparent;box-shadow:none;border:1px solid #a38b62;padding:8px 12px;transform:none}
.kit-overview {height:100%;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:22px 4%;overflow:auto;background:repeating-linear-gradient(0deg,transparent 0 30px,#85744a0b 31px 32px)}
.kit-intro {display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:20px}
.kit-intro small {font:9px var(--label);letter-spacing:2px;grid-column:1/-1;color:#796447}
#armory .kit-intro h3 {font:700 34px/1.1 var(--hand);margin:6px 0 0;letter-spacing:-1px}
#armory .kit-intro p {font:11px var(--label);margin:0 0 4px;color:#766347}
.equipped-pair {display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:0}
#armory .equipped-card {position:relative;display:grid;grid-template-rows:auto minmax(65px,1fr) auto auto auto auto;gap:5px;min-height:0;text-align:left;padding:18px 24px 20px;border:2px solid #122e29;border-radius:5px 14px 3px 8px;color:#f4e8c3;background:radial-gradient(ellipse at 50% 25%,#56766b,#2d4941 78%);box-shadow:5px 6px #16382c25;overflow:hidden;transition:background .15s,translate .15s;transform:none}
#armory .equipped-card:hover {background:radial-gradient(ellipse at 50% 25%,#668877,#35594a 78%);translate:0 -3px}
#armory .equipped-card:focus-visible {outline:3px solid #b06c39;outline-offset:4px}
#armory .equipped-card:after {content:'ISSUED WITH REGRET';position:absolute;right:17px;top:17px;border:1px dashed #dcc48a80;padding:4px 6px;transform:rotate(5deg);font:7px var(--label);color:#dac792;pointer-events:none}
.equipped-card > small {font:9px var(--label);letter-spacing:1.5px;color:#d3bf86}
.equipped-card .weapon-drawing {height:100%;min-height:0;max-height:150px;width:85%;margin:auto;filter:drop-shadow(5px 8px 0 #102b2740);transform:rotate(-7deg)}
#armory .equipped-card h4 {font:700 clamp(22px,2.6vw,34px)/1.05 var(--hand);letter-spacing:-.7px;margin:0}
.equipped-build {font:10px var(--label);color:#d2d1b3}
#armory .equipped-card progress {width:55%;height:5px;margin:9px 0 0;accent-color:#e6c778}
.equipped-mastery {font:8px var(--label);letter-spacing:1px;color:#d5d7b7}
.card-action {position:absolute;bottom:20px;right:22px;font:800 9px var(--label);border-bottom:2px solid #d2b46f;padding:7px 0;color:#ebd18a}
.next-requisition {display:flex;align-items:center;gap:20px;border-top:2px solid #b59c6d;padding-top:13px;min-height:52px}
.next-requisition .weapon-drawing {width:95px;height:50px;flex-shrink:0;transform:rotate(-8deg)}
.next-requisition > div:not(.weapon-drawing) {flex:1}
.next-requisition small {font:8px var(--label);letter-spacing:1px;color:#896d41}
#armory .next-requisition h4 {font:700 21px var(--hand);margin:3px 0}
.next-requisition span {font:10px var(--label);color:#786244}
#armory .next-requisition button {font:800 10px var(--label);padding:12px 17px;box-shadow:none;background:#dcca98;white-space:nowrap}
#armory .weapon-hero {background:radial-gradient(ellipse at 25% 50%,#557368,#2c4941 75%);color:#f1e5c1;border-bottom:3px solid #1b3830}
#armory .weapon-hero-art .pencil-note {color:#cbb67e}
#armory .weapon-hero-art:before {content:'';position:absolute;inset:-15px 10%;border:1px dashed #e6d5a635;border-radius:50%;transform:rotate(-12deg);pointer-events:none}
#armory .weapon-hero-art .weapon-drawing {filter:drop-shadow(6px 7px #142d2766)}
#armory .weapon-title > small {color:#cfc396}
#armory .weapon-title p {color:#e4d8b6}
#armory .weapon-title h3 {color:#f6e8bf}
#armory .weapon-title .equip-weapon:disabled {background:#435d4a;color:#e7d9b0;opacity:1;border:1px dashed #bcac7e}
.stat-delta {display:block;margin-top:5px;font:800 10px var(--label)}
.stat-delta.better {color:#356449}.stat-delta.tradeoff {color:#9b4f36}.stat-delta.equal {color:#817051}
#armory .comparison-label {font:8px var(--label);letter-spacing:.8px;color:#7e6846}
#settings-dialog {width:min(800px,calc(100vw - 32px));padding:0;overflow:hidden;max-height:calc(100dvh - 32px)}
#settings-dialog[open] {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
#settings-dialog header {margin:0;padding:22px 26px;background:#2e4c43;color:#eee0b7;border:0}
#settings-dialog header small {color:#d9be7b}
.settings-tabs {display:flex;padding:0 20px;background:#d5c493;border-bottom:1px solid #a08b60}
#settings-dialog .settings-tabs button {font:800 10px var(--label);padding:15px;border:0;border-radius:0;box-shadow:none;background:transparent;transform:none}
#settings-dialog .settings-tabs button[aria-selected=true] {background:#efe0b8;box-shadow:inset 0 -3px #446451}
.settings-page {padding:24px 28px;overflow:auto;min-height:260px;box-sizing:border-box}
#settings-dialog [hidden] {display:none!important}
.settings-page h3 {font:700 28px var(--hand);margin:0 0 8px}
.settings-page > p {font:11px/1.5 var(--label);color:#7a6644;margin:8px 0 25px}
.settings-page .settings-grid {gap:24px 30px}
.settings-grid output {float:right;font:800 11px var(--label);color:#42624e}
.settings-footnote {font:9px var(--label);background:#e2d2a7;border-top:1px solid #bda575;padding:14px 28px;color:#776345}
.control-bindings {display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;margin:18px 0 0}
.control-bindings div {display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px dashed #ae956c;padding:7px 0}
.control-bindings dt {font:800 9px var(--label)}.control-bindings dd {font:10px var(--label);margin:0;text-align:right;color:#786044}
@media(max-width:800px){
 .kit-overview {padding:18px 20px;gap:16px}.kit-intro {display:block}#armory .kit-intro h3 {font-size:28px}#armory .kit-intro p {margin-top:6px}
 .equipped-pair {gap:13px}#armory .equipped-card {padding:16px;gap:5px}#armory .equipped-card:after {display:none}
 #armory .equipped-card h4 {font-size:25px}.equipped-build {font-size:9px}.card-action {font-size:8px;right:15px;bottom:15px}
 .next-requisition {gap:12px}.next-requisition .weapon-drawing {width:65px}.next-requisition span {font-size:9px}#armory .next-requisition button {font-size:8px;padding:10px}
}
@media(max-width:550px){
 .kit-overview {gap:12px;padding:15px 12px;grid-template-rows:auto minmax(180px,1fr) auto}
 .kit-intro small {font-size:7px}#armory .kit-intro h3 {font-size:26px}#armory .kit-intro p {font-size:9px}
 .equipped-pair {gap:10px}#armory .equipped-card {padding:12px 10px 35px}#armory .equipped-card h4 {font-size:20px}.equipped-card > small {font-size:7px;letter-spacing:.5px}.equipped-build {font-size:8px}.equipped-card .weapon-drawing {width:100%}
 .card-action {bottom:8px;left:10px;right:auto}.next-requisition .weapon-drawing {display:none}#armory .next-requisition h4 {font-size:18px}.next-requisition small {font-size:7px}.next-requisition span {font-size:8px}
 #armory #kit-back {font-size:8px;padding:7px}.settings-tabs {padding:0 8px}#settings-dialog .settings-tabs button {padding:13px 9px;font-size:8px}
 #settings-dialog header {padding:18px}.settings-page {padding:20px;min-height:260px}.control-bindings {grid-template-columns:1fr}.settings-footnote {padding:12px 20px;font-size:8px}
}
@media(max-height:650px) and (min-width:551px){.kit-overview {gap:10px;padding:12px 3%}.kit-intro h3 {font-size:25px!important}.equipped-pair {min-height:165px}#armory .equipped-card {padding:12px 18px}.equipped-card .weapon-drawing {max-height:65px}.next-requisition {padding-top:8px;min-height:40px}.next-requisition .weapon-drawing {height:35px}}
@media(prefers-reduced-motion:reduce){#armory .equipped-card {transition:none}#armory .equipped-card:hover {translate:none}}
body.reduced #armory .equipped-card {transition:none}body.reduced #armory .equipped-card:hover {translate:none}
