.stage-picker,.loadout,.sound-lab{width:100%;max-width:450px}.stage-picker{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:10px}.stage-picker label{white-space:nowrap;color:#627765}.stage-picker select{min-width:0;flex:1;border:1px solid #c5d0bf;background:#f8faf0;padding:9px;border-radius:8px;font:inherit;color:#244a45}.stage-picker>span{font-size:15px;letter-spacing:1px;color:#778944}.loadout{display:flex;gap:6px;margin-bottom:10px}.loadout button{flex:1;background:#edf1e5;border:1px solid #bfcdb7;padding:8px 3px;color:#55705a;border-radius:8px;font-size:10px;font-weight:700}.loadout button[aria-pressed=true]{background:#254b48;color:#ecf4d5;border-color:#254b48}.loadout button:disabled{cursor:default;opacity:.65}.loadout small{display:block;margin-top:4px;font-size:8px;font-weight:400;opacity:.8}.equipment{position:absolute;top:91px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#b1c6c0;pointer-events:none}.equipment.active{color:#9ae8ff}.equipment strong{font-size:13px;margin-left:5px}.combat{position:absolute;top:143px;left:23px;right:23px;background:#16303ccf;border-radius:7px;padding:9px;pointer-events:none}.combat[hidden]{display:none}.combat>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#ffe2cb;font-size:9px}.combat #matchup{font-size:8px;color:#dfead3}.enemy-track{height:5px;background:#091e28;margin-top:6px;border-radius:4px;overflow:hidden}#enemy-health{height:100%;background:#ef9c84;width:100%;transition:width .1s linear}.toast{top:112px;font-size:16px}.overlay{inset:112px 0 55px}.overlay-card{max-height:100%;overflow-y:auto}.overlay-card h2{font-size:27px;letter-spacing:0;line-height:1.3;margin:12px 0}.overlay-card>p{font-size:11px}.objectives{display:flex;flex-direction:column;gap:5px;text-align:left;background:#e9eddf;border-radius:7px;padding:10px;font-size:10px;color:#7f8c7b}.objectives[hidden]{display:none}.objectives .achieved{color:#487246}.retry-button{border:0;background:transparent;color:#5d7754;font-size:10px;margin-top:14px}.retry-button[hidden]{display:none}.bottom-hint{font-size:9px;letter-spacing:1px;bottom:20px}.sound-lab{margin-top:12px;border-top:1px solid #c2cdbc;font-size:11px;color:#4b6958}.sound-lab summary{padding:12px 0;cursor:pointer}.sound-lab summary>span{float:right}.sound-controls{display:flex;gap:14px;align-items:center}.sound-controls label{display:flex;flex-direction:column;gap:6px;flex:1;font-size:10px}.sound-controls select{min-width:0;width:100%;font:inherit;padding:7px;border:1px solid #bac8af;border-radius:5px;background:#f3f6e9;color:#3a5d4f}.sound-controls input{width:100%;accent-color:#466b51}.sound-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:12px}.sound-buttons button{padding:9px 2px;font-size:9px;color:#355c4e;background:#f0f4e6;border:1px solid #c3ceb9;border-radius:6px}.sound-lab p{font-size:9px;line-height:1.7}select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b4c777;outline-offset:2px}@media(min-width:1000px) and (min-height:850px){.stage-picker,.loadout,.sound-lab{max-width:490px}}@media(max-width:800px){.play-area{padding:20px}.stage-picker{gap:5px}.stage-picker label{font-size:8px}.stage-picker select{font-size:9px}.overlay-card{width:calc(100% - 34px);padding:16px}.overlay-card h2{font-size:24px}.overlay-card .best{font-size:8px}.primary-button{padding:12px 15px;margin-top:10px}.overlay-card>p{font-size:10px}.sound-controls{flex-wrap:wrap}}@media(max-width:600px){.play-area{padding:10px 13px 20px;justify-content:flex-start}.game-frame{max-width:450px;min-height:430px;max-height:650px;aspect-ratio:450/670;width:100%}.equipment{top:80px;left:17px;right:17px}.toast{top:103px;font-size:14px}.combat{top:128px}.overlay{inset:102px 0 46px}.overlay-card{width:calc(100% - 45px);padding:22px}.overlay-card h2{font-size:26px}.overlay-card>p{font-size:12px}.stage-picker label{font-size:10px}.stage-picker select{font-size:11px}.loadout button{font-size:11px}.loadout small{font-size:9px}.sound-controls{flex-wrap:nowrap}.game-topline{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.primary-button,.toast,#enemy-health,#progress{transition:none}}

/* Original weapon silhouettes remain readable without relying on labels or color. */
.loadout button{position:relative;min-width:0;padding:7px 5px 9px;font-size:11px;border-radius:10px}
.weapon-art{display:block;width:100%;height:auto;overflow:visible}
.loadout .weapon-art{height:51px;width:100%;max-width:140px;margin:0 auto 5px;background:#dfe8dc;border-radius:6px}
.loadout button[aria-pressed=true]{border-color:var(--weapon-color);box-shadow:inset 0 -3px var(--weapon-color)}
.loadout button[aria-pressed=true] .weapon-art{background:#426664}
.loadout button[aria-pressed=true]::after{content:'✓';position:absolute;top:6px;right:6px;width:15px;height:15px;border-radius:50%;background:var(--weapon-color);color:#193c41;font-size:10px;line-height:15px}
.loadout button:disabled{opacity:1}
.loadout button:disabled:not([aria-pressed=true]){opacity:.6}
.loadout button:focus-visible{outline:3px solid #638d6b;outline-offset:3px}
.equipment{align-items:center;gap:6px;top:87px;letter-spacing:.4px}
.weapon-readout{display:flex;align-items:center;gap:6px;padding:3px 7px 3px 3px;border:1px solid #6b939366;border-left:3px solid var(--weapon-color,#9bdeed);border-radius:7px;background:#102e38ed}
#weapon-icon{display:block;width:66px;flex:none}
.weapon-caption{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.weapon-caption small{font-size:7px;color:#a8c2c4;letter-spacing:1px}
#weapon-name{font-size:10px;font-weight:700}
.shield-readout{white-space:nowrap;background:#102e38dd;padding:6px;border-radius:6px}
.toast{top:136px}
.combat{top:166px}
.overlay{top:135px}
@media(max-width:600px){
  .loadout .weapon-art{height:45px}
  .equipment{top:78px;left:14px;right:14px}
  #weapon-icon{width:58px}
  #weapon-name{font-size:9px}
  .toast{top:124px}
  .combat{top:153px}
  .overlay{top:125px}
}

.loadout-level{display:block;margin-top:6px;font-size:9px;font-weight:700;letter-spacing:.2px}
.progression-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:450px;margin:0 0 9px;color:#45634c;font-size:10px}
.progression-bar strong{margin-left:5px;color:#355b39;font-size:13px;white-space:nowrap}
.progression-bar>span:last-child{font-size:8px;text-align:right;line-height:1.5}
.save-status{max-width:450px;color:#953f2c;font-size:11px}
.upgrade-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;background:#e2e9d8;border:1px solid #b9c9a9;border-radius:8px;padding:9px;margin:10px 0;text-align:left}
.upgrade-panel[hidden],.run-reward[hidden]{display:none}
.upgrade-panel>div{display:flex;flex-direction:column;gap:4px}
.upgrade-panel strong{font-size:11px;color:#254a3e}
.upgrade-panel span{font-size:10px;color:#54714e}
.upgrade-panel button{padding:9px 10px;border:0;border-radius:6px;background:#315c43;color:#f1f8db;font-size:11px;font-weight:700;cursor:pointer}
.upgrade-panel button:disabled{background:#d0dac7;color:#64725e;cursor:default}
.upgrade-panel button:focus-visible{outline:3px solid #8ca65b;outline-offset:2px}
#upgrade-message{width:100%;margin:0;font-size:10px;line-height:1.5;color:#35633c}
#upgrade-message:empty{display:none}
.overlay-card .run-reward{font-size:11px;font-weight:700;color:#3c683c;background:#e5edcd;padding:7px;border-radius:6px;line-height:1.5;margin:9px 0}
.overlay-card .objectives{margin-top:12px}
.overlay-card .best{margin-bottom:0}
#weapon-level{letter-spacing:0;font-size:8px;color:#d8e7b2}
.overlay{bottom:24px}
.overlay-card{display:flex;flex-direction:column;overflow:hidden;padding:17px}
.card-body{min-height:0;overflow:auto;scrollbar-width:thin}
.card-body>p{font-size:11px;color:#6d7e71;line-height:1.7}
.overlay-card h2{font-size:24px;margin:8px 0}
.overlay-card .primary-button{flex-shrink:0;padding:10px 15px;margin-top:10px}
.overlay-card .best{flex-shrink:0;font-size:8px;margin-top:10px}
.game-frame{min-height:520px}
@media(min-width:1000px) and (min-height:850px){.progression-bar{max-width:490px}}
@media(max-width:600px){.loadout-level{font-size:8px}.overlay-card{padding:17px}.overlay-card h2{font-size:24px;margin:8px 0}.overlay-card>p{font-size:11px}.upgrade-panel{padding:8px;gap:6px}.progression-bar{font-size:9px}.upgrade-panel button{font-size:10px;padding:8px}.weapon-readout{gap:4px}#weapon-icon{width:53px}}
