#moduleHangar{margin:20px 0;padding:18px;border:1px solid #345d6d;background:#091b26}#moduleHangar h2{margin:0 0 10px}.equipmentShowcase{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:center}.equipmentShowcase canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.equipmentShowcase p{margin:5px 0;color:#8adbc3;text-align:center}.equipmentSlots>div{display:grid;grid-template-columns:100px 1fr 32px;align-items:center;gap:8px;min-height:35px;font-size:13px}.equipmentSlots span{color:#93adba}.equipmentSlots button{padding:3px;min-height:30px}.progressionStrip{display:flex;gap:4px;overflow:auto;max-width:100%;margin:18px 0;padding:4px 0 8px}.progressionStrip span{flex:0 0 28px;line-height:28px;text-align:center;background:#152a37;color:#8495a0;border:1px solid #284754}.progressionStrip .reached{background:#174d44;color:#bafbe0}.progressionStrip .current{border:2px solid #f7d279}.nextUnlock{color:#f8d98d}.moduleFilters{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 10px}.moduleFilters button{font-size:13px;min-height:40px;padding:7px 10px}.moduleFilters button[aria-pressed=true]{background:#65d9b5;color:#092221}.moduleCatalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.moduleTile{min-width:0;border:1px solid #365365;background:#102531;padding:12px;display:flex;flex-direction:column;align-items:center}.moduleTile.owned{border-color:#458a72}.moduleTile canvas{image-rendering:pixelated;width:96px;height:70px}.moduleTile h3{font-size:21px;margin:8px 0}.moduleTile p{font-size:12px;min-height:34px;text-align:center;color:#aec3cd}.moduleTile small{color:#d9b872}.moduleActions{display:flex;gap:6px;width:100%;margin-top:auto}.moduleActions button{padding:6px;min-height:40px;font-size:12px;flex:1}.moduleActions button:disabled{opacity:.55}.legacyFrames{margin:16px 0}.progressionAward{margin:16px auto;padding:14px;background:#102c32;border:1px solid #4c9b80;max-width:540px}.progressionAward h3{margin:0 0 8px}.progressionAward>strong{display:block;font:28px VT323,monospace;color:#f7d98b}.rewardItems{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.rewardItems>span{display:flex;align-items:center;gap:6px;font-size:13px}.rewardItems canvas{image-rendering:pixelated}.podiumEquipment{width:100%;max-width:200px;height:auto;image-rendering:pixelated}#modulesInMatch p{font-size:13px;margin:8px 0}@media(max-width:650px){#moduleHangar{padding:12px}.equipmentShowcase{grid-template-columns:1fr;gap:10px}.equipmentSlots>div{grid-template-columns:90px 1fr 36px}.moduleCatalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.moduleTile{padding:8px}.moduleTile h3{font-size:18px;text-align:center}.moduleActions{flex-direction:column}.moduleFilters button{min-height:44px}.equipmentSlots button{min-height:36px}}@media(max-width:350px){.moduleCatalog{grid-template-columns:1fr}}
@media(max-width:650px){.equipmentSlots>div{grid-template-columns:90px 1fr 44px;min-height:44px}.equipmentSlots button,.moduleActions button{min-height:44px}}
.equipmentSlots>div{margin-bottom:4px}.equipmentSlots button{background:#142e39;color:#9dcfc3;border:1px solid #31596b}.moduleActions button:first-child{background:#142e39;color:#a4cec4}

.setupCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.setupCards article{min-width:0;text-align:center;background:#102531;border:1px solid #365365;padding:10px}.setupCards h3{margin:4px 0}.setupCards canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.setupCards p{font-size:13px;color:#aec3cd}.setupCards button{min-height:44px;width:100%}.setupCustom{margin:18px 0}.setupCustom>summary{cursor:pointer;min-height:44px;padding:12px;background:#142e39}@media(max-width:650px){.setupCards{grid-template-columns:1fr}.setupCards article{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4px 12px}.setupCards canvas{grid-column:2;grid-row:1/4}.setupCards button{grid-column:1}.setupCards p{margin:4px 0}}

.setupCards{grid-template-columns:repeat(2,minmax(0,1fr))}.setupNumbers{font-size:12px;line-height:1.5}.tuningPanel{margin:20px 0;padding:14px;border:1px solid #365365;background:#102531}.tuningPanel label{display:grid;grid-template-columns:100px minmax(0,1fr) 45px;align-items:center;gap:10px;min-height:48px}.tuningPanel input[type=range]{width:100%;min-width:0;min-height:44px;accent-color:#65d9b5;padding:0}.tuningPanel p{font-size:13px;line-height:1.5;color:#aec3cd}.tuningPanel .tuningStats{color:#f4d585}.tuningPanel button{min-height:44px}.tuningPanel output{font-size:12px}@media(max-width:650px){.setupCards{grid-template-columns:1fr}.setupCards article{grid-template-columns:1fr 1fr}.setupCards .setupNumbers{grid-column:1/-1}.tuningPanel{padding:10px}.tuningPanel label{grid-template-columns:75px minmax(0,1fr) 40px;gap:6px}}

.setupCards button[data-try-setup]{background:#142e39;color:#b5dbce;border:1px solid #456d79;font-size:14px;margin-top:6px}.setupCards button[data-try-setup]:focus-visible{outline:2px solid #ffe59e}

/* Local menu audit: progressive disclosure, stable navigation, same combat rules. */
#hub-hangar .sectionHeading{flex-direction:row;align-items:center;gap:8px}
#hub-hangar h1{font-size:30px;margin:0}
#moduleHangar{margin:12px 0;padding:12px}
.hangarSections{position:sticky;top:-1px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px 0;background:#091b26}
#panel .hangarSections button{min-width:0;min-height:44px;padding:8px 4px;font-size:20px;background:#142e39;color:#b5ccce;border:1px solid #395b68}
#panel .hangarSections button[aria-pressed=true]{background:#65e6b3;color:#071c20;border-color:#9cf6ce}
.hangarSection[hidden]{display:none!important}
#moduleHangar .equipmentShowcase{grid-template-columns:1.25fr 1fr;gap:12px;margin-top:6px}
#moduleHangar .equipmentShowcase canvas{height:135px;object-fit:contain;width:100%}
#moduleHangar .equipmentShowcase p{font-size:17px;margin:2px 0}
#moduleHangar .equipmentSlots>summary{font-size:19px;cursor:pointer}
#moduleHangar .equipmentSlots>div{grid-template-columns:75px minmax(0,1fr) 44px;font-size:16px;min-height:44px}
#moduleHangar .equipmentSlots b{font-weight:400;overflow-wrap:anywhere}
#moduleHangar .nextUnlock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:10px 0 16px;font-size:18px;padding:10px;background:#112b32;border-left:3px solid #e3c27a}
#moduleHangar .nextUnlock b{font-weight:400;white-space:nowrap}
#moduleHangar .nextUnlock progress{grid-column:1/-1;margin:0;height:5px}
#moduleHangar .setupCards article{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;align-items:center}
#moduleHangar .setupCards article.selected{border-color:#65e6b3;background:#13362f}
#moduleHangar .setupCards h3{font-size:23px;grid-column:1;grid-row:1;margin:4px 0}
#moduleHangar .setupCards canvas{grid-column:2;grid-row:1/3;max-height:90px;object-fit:contain}
#moduleHangar .setupCards p{font-size:17px;grid-column:1;grid-row:2;margin:4px 0}
#moduleHangar .setupCards button[data-setup]{grid-column:1;grid-row:3}
#moduleHangar .setupCards button[data-try-setup]{grid-column:2;grid-row:3;margin:0;font-size:19px;background:#142e39;color:#b5dbce;border-color:#456d79}
#moduleHangar .setupCards button[aria-pressed=true]{background:#244b3d;color:#aff2ce;border-color:#4f9a7f}
#moduleHangar .setupStats{grid-column:1/-1}
#moduleHangar .setupStats summary{font-size:17px;cursor:pointer;padding:8px;min-height:44px}
#moduleHangar .setupStats p{font-size:16px;margin:4px 0}
#moduleHangar .setupCustom{margin:0}
#moduleHangar .tuningPanel{margin:10px 0}
#moduleHangar .moduleFilters button{font-size:17px;min-height:44px}
#moduleHangar .moduleActions button{font-size:18px;min-height:44px}
#moduleHangar .moduleTile p{font-size:16px}
#moduleHangar .hangarHelp{border-top:1px solid #294553;margin-top:14px}
#moduleHangar .hangarHelp summary{cursor:pointer;font-size:18px}
#moduleNotice:empty{display:none}
#panel #resetEquipmentPreview{font-size:17px;min-height:44px}
#matchCard.modal .resultActions{position:sticky;bottom:-14px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:10px 0;background:#071820;border-top:1px solid #315465;z-index:2}
#matchCard.modal .resultActions button{min-height:44px;margin:0;padding:8px;font-size:16px}
@media(max-width:650px){
 #moduleHangar{padding:8px}
 #moduleHangar .equipmentShowcase{grid-template-columns:1fr;gap:0}
 #moduleHangar .equipmentShowcase canvas{height:105px}
 #moduleHangar .equipmentSlots>summary{text-align:center;padding:6px;min-height:44px}
 #moduleHangar .nextUnlock{font-size:17px;padding:8px;gap:5px;margin:8px 0 12px}
 #panel .hangarSections button{font-size:18px;letter-spacing:0}
 #hub-hangar .choiceChip{font-size:16px;padding:4px}
 #moduleHangar .moduleCatalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:350px){
 #panel .hangarSections button{font-size:16px}
 #hub-hangar h1{font-size:26px}
 #moduleHangar .equipmentShowcase canvas{height:85px}
 #moduleHangar .moduleCatalog{grid-template-columns:1fr}
}
@media(max-height:500px) and (min-width:600px){
 #moduleHangar .equipmentShowcase{grid-template-columns:1fr 1fr}
 #moduleHangar .equipmentShowcase canvas{height:90px}
 #moduleHangar .setupCards{grid-template-columns:1fr 1fr}
}

@media(min-width:760px){
 #moduleHangar{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:12px 20px;align-items:start}
 #moduleHangar .hangarSections{grid-column:1/-1;grid-row:1}
 #moduleHangar .equipmentShowcase{grid-column:1;grid-row:2;display:block}
 #moduleHangar .nextUnlock{grid-column:1;grid-row:3;margin:0}
 #moduleHangar .hangarSection{grid-column:2;grid-row:2/span 2;min-width:0}
 #moduleHangar .hangarHelp,#moduleNotice{grid-column:1/-1}
 #moduleHangar .hangarSection>h2{margin-top:0}
 #moduleHangar .setupCards{grid-template-columns:1fr}
 #moduleHangar .equipmentShowcase canvas{height:140px}
 #moduleHangar .equipmentSlots>summary{text-align:center}
}
@media(min-width:1050px){#moduleHangar .setupCards{grid-template-columns:1fr 1fr}}

#panel .moduleFilters button{background:#142e39;color:#b9d2ce;border:1px solid #456d79}
#panel .moduleFilters button[aria-pressed=true]{background:#65e6b3;color:#071c20;border-color:#9cf6ce}
#panel .moduleActions button:first-child{background:#142e39;color:#b9d2ce;border:1px solid #456d79}
#panel .mobileModuleFilter{display:none}
@media(max-width:650px){#panel .mobileModuleFilter{display:flex;align-items:center;justify-content:space-between;gap:12px}#panel .mobileModuleFilter select{min-width:0;flex:1;margin:0}#panel .moduleFilters{display:none}}
@media(min-width:760px) and (max-width:1049px){#moduleHangar .moduleCatalog{grid-template-columns:repeat(2,minmax(0,1fr))}#moduleHangar .moduleActions{flex-direction:column}}
#moduleHangar .moduleActions button{min-width:0;overflow-wrap:anywhere}
#equipmentCanvas{scroll-margin-top:64px}

@media(min-width:760px){#moduleHangar .hangarOverview{grid-column:1;grid-row:2;position:sticky;top:62px}#moduleHangar .hangarSection{grid-row:2}#moduleHangar .hangarOverview .nextUnlock{margin-top:12px}}

/* Visual fitting room: one draft across categories, readable at phone size. */
#moduleHangar .equipmentShowcase canvas{height:auto;max-height:none;aspect-ratio:2.2}
#moduleHangar .inspectEquipment{display:block;margin:8px auto;min-height:44px;font-size:19px}
#moduleHangar .setupCards button[data-try-setup]{font-size:17px;line-height:1.1;min-height:48px;white-space:normal}
.equipmentFitting{width:min(720px,calc(100vw - 16px));padding:18px;box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:auto}
.equipmentFitting h2{margin:0;font-size:30px}.equipmentFitting .fittingNote{color:#abc4cc;font-size:17px;margin:8px 0}
.equipmentFitting>canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border:1px solid #345d6d;box-sizing:border-box}
.fittingControls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.fittingControls label{min-width:0;color:#9fe5cd;font-size:19px}.fittingControls select{display:block;width:100%;min-width:0;min-height:46px;background:#15323f;color:#edf5df;border:1px solid #577381;padding:8px 4px;font:18px VT323,monospace}
.fittingItems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fittingItem{display:flex;flex-direction:column;align-items:center;background:#112a35;padding:8px;min-width:0;text-align:center}.fittingItem canvas{width:100%;max-width:112px;height:auto;image-rendering:pixelated}.fittingItem strong{display:block;font-size:19px;font-weight:400}.fittingItem small{display:block;color:#d9be86;font-size:15px;margin-top:4px}
.fittingActions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:-18px;padding:12px 0;background:#0b202e;border-top:1px solid #345d6d;margin-top:14px}.fittingActions button{flex:1;min-height:48px;font:19px VT323,monospace;border:1px solid #558273;background:#71e4b9;color:#092423;padding:8px}.fittingActions .textButton{background:#17323d;color:#d0e5dc}
.fittingControls select:focus-visible,.equipmentFitting button:focus-visible{outline:2px solid #ffe59e;outline-offset:2px}
@media(max-width:500px){.equipmentFitting{padding:12px}.fittingControls{grid-template-columns:1fr;gap:7px}.fittingControls label{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px}.fittingItems{gap:5px}.fittingItem{padding:5px}.fittingItem strong{font-size:16px}.fittingItem small{font-size:13px}.fittingActions{bottom:-12px}.fittingActions button{font-size:18px}}
.progressionAward{text-align:center;border:1px solid #5cae90;border-top:3px solid #8ee3b6;padding:14px;margin:12px 0 18px;max-width:none}
.progressionAward>strong{font:40px/1 VT323,monospace;color:#ffe4a4;font-variant-numeric:tabular-nums}.progressionAward>p{margin:8px 0;font-size:19px}.progressionAward>progress{display:block;width:100%;height:12px;accent-color:#78ebbc;margin:10px 0}
.progressionAward .rewardHeading{color:#ffe4a4;font-size:23px}.rewardItems{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.rewardItem{display:flex;flex-direction:column;align-items:center;padding:10px;background:#122331;border:1px solid #d2b676;min-width:0}.rewardItem canvas{width:128px;max-width:100%;height:auto;image-rendering:pixelated}.rewardItem strong{font:23px VT323,monospace}.rewardItem small{font:17px VT323,monospace;color:#a0e9c3;margin-top:5px}
.progressionAward button{min-height:48px;margin-top:12px;font:20px VT323,monospace}.rewardNext{display:flex;align-items:center;gap:12px;text-align:left;font:18px VT323,monospace;color:#d6ccaa}.rewardNext canvas{width:80px;height:auto;image-rendering:pixelated;flex-shrink:0}.progressionAward.levelEarned{border-color:#f7d279;background:#173c3b}
.rewardRevealing .rewardItem{animation:rewardPop .8s .45s both}.rewardRevealing .rewardItem:nth-child(2){animation-delay:.65s}.rewardRevealing .rewardItem:nth-child(n+3){animation-delay:.85s}
@media(prefers-reduced-motion:reduce){.rewardRevealing .rewardItem{animation:none}}
.fittingStats{font:17px/1.4 VT323,monospace;color:#f4d585;padding:8px;border-left:2px solid #b49f6c;background:#112832}
.equipmentFitting .fittingControls label{margin:3px 0}.equipmentFitting .fittingControls{margin:10px 0}.equipmentFitting .fittingStats{margin:8px 0}
.chooseMode{border:1px solid #345d6d;padding:0 12px;margin:0 0 14px;background:#102531}.chooseMode>summary{min-height:48px!important}.chooseMode .modePicker{margin:4px 0 12px!important}.modeActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.modeActions button{font-size:19px!important;padding:10px 4px!important;white-space:normal}.chooseMode[open]{border-color:#65d6b3}#panel .actions #browseRooms{flex:1}#panel:has(#lobby:not([hidden])) .chooseMode{display:none}
@media(max-height:500px){#panel .hubHeader{order:0}#hubNotice{order:1}#panel .hubScroll{order:2;flex:1;min-height:0}#panel .hubFooter{display:none}#panel .hubNav{order:4;flex-shrink:0;border-top:1px solid #345d6d;padding:2px 12px;background:#0b202d}#panel .hubNav button{min-height:44px}#panel .hubHeader{padding:3px 12px}#moduleHangar .equipmentShowcase canvas{max-height:140px}.equipmentFitting>canvas{max-height:170px;object-fit:contain}.equipmentFitting .fittingItems{display:none}}
#panel .hangarSections{grid-template-columns:repeat(2,minmax(0,1fr))}
#quickAccount{font-size:16px!important;padding:8px!important;min-height:44px;max-width:130px}
#randomQuick{width:100%;margin:0 0 14px;font-size:24px;background:#ffe09a;color:#142a32}
#panel:has(#lobby:not([hidden])) #randomQuick,#panel:has(#lobby:not([hidden])) #createSelectedRoom{display:none}
@media(max-height:500px) and (min-width:650px){#panel .hubScroll{padding:8px 16px}#panel .sectionHeading h1{font-size:27px;margin:0 0 6px}#panel .betaChip{display:none}#panel .hangarSections{padding:4px;gap:4px;margin-bottom:8px}#panel .hangarSections button{min-height:44px;padding:6px}#panel .hubNav{gap:4px;justify-content:space-around}#panel .hubNav button{flex:1;padding:8px!important}#moduleHangar .equipmentShowcase canvas{max-height:120px}}
@media(max-width:760px){#panel .hubHeader{order:0}#hubNotice{order:1}#panel .hubScroll{order:2;flex:1;min-height:0}#panel .hubFooter{display:none}#panel .hubNav{order:4;flex-shrink:0;border-top:2px solid #345d6d;border-bottom:0;padding:5px 8px max(5px,env(safe-area-inset-bottom));background:#0b202d}#panel .hubNav button{min-height:52px;font-size:22px!important}#panel .hubWordmark{width:140px}#panel .betaChip{display:none}#panel .actions{display:grid;grid-template-columns:1fr 1fr}#panel .actions #connect{grid-column:1/-1}#panel .actions button{font-size:19px;padding:10px 6px}#panel .actions #solo{grid-column:1/-1}}
