/* 0.33 main menu, screen transition, weapon/armour labels. */
.main-menu{position:fixed;inset:0;z-index:60;background:#05060c;overflow:hidden}
.main-menu[hidden]{display:none}
body.menu-open{overflow:hidden}
.menu-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none}
.menu-panel{position:absolute;left:clamp(16px,4vw,64px);top:clamp(16px,6vh,72px);width:min(380px,calc(100% - 32px));max-height:calc(100% - 96px);overflow:auto;padding:20px 22px;border:1px solid #d6ad5f66;border-radius:14px;background:linear-gradient(160deg,#0b0d1cd9,#140b1ccc);box-shadow:0 14px 48px #000c,inset 0 0 0 1px #ffffff0d;backdrop-filter:blur(6px)}
.menu-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.menu-brand strong{font-size:24px;letter-spacing:.5px;color:#f2d38a;text-shadow:0 2px 8px #000}
.menu-page h2{margin:4px 0 10px;font-size:20px;color:#f2d38a}
.menu-page p{color:#d8d2e4;line-height:1.45}
.menu-button{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:8px 0;padding:12px 16px;font-size:17px;text-align:left;background:#1d2236e6;border-color:#5b5f86;transition:background .15s,border-color .15s,transform .15s}
.menu-button:hover:not(:disabled),.menu-button:focus-visible{background:#2d3352;border-color:#d6ad5f;transform:translateX(3px)}
.menu-button.primary{background:#5a3a14e6;border-color:#d6ad5f}
.menu-button.primary:hover{background:#74501d}
.menu-button.danger{background:#5c1f26;border-color:#e0707e}
.menu-button small{font-size:12px;font-weight:500;color:#e9dcc0;margin-top:3px}
.menu-warning{border-left:3px solid #e0a35b;padding:6px 10px;background:#3a2a1466;border-radius:4px}
.menu-error{color:#ffb4b4;background:#4a1a2066;border-radius:6px;padding:6px 10px}
.menu-page label{display:block;margin:6px 0 4px;font-weight:650}
.menu-page label small{display:block;font-weight:400;color:var(--muted)}
.seed-row{display:flex;gap:8px}
.seed-row input{flex:1;min-width:0}
#settings-audio-host .music-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px}
#settings-audio-host .music-controls input[type=range]{width:100%}
.prototype-note{margin-top:14px;padding:10px 12px;border:1px solid #6f6a8a;border-radius:10px;background:#1a1730aa}
.prototype-note h3{margin:0 0 4px;font-size:14px;color:#f2d38a}
.prototype-note p{margin:0;font-size:13px}
.patch-notes{display:flex;flex-direction:column;gap:6px}
.patch-note{border:1px solid #3d4366;border-radius:8px;padding:6px 10px;background:#11142699}
.patch-note summary{cursor:pointer}
.patch-note ul{margin:6px 0 2px;padding-left:18px;color:#d8d2e4;font-size:13px;line-height:1.45}
.menu-version{position:absolute;right:16px;bottom:12px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#f2e6c9;text-shadow:0 1px 4px #000,0 0 10px #000;font-weight:700}
.menu-version small{font-weight:500;font-size:11px;color:#d9cfb8}
.screen-fade{position:fixed;inset:0;z-index:200;background:#000;opacity:0;pointer-events:none;transition:opacity .6s ease}
.screen-fade.on{opacity:1;pointer-events:auto}
@media (max-width:640px){.menu-panel{top:auto;bottom:56px;max-height:calc(100% - 80px)}.menu-version{left:16px;right:16px;align-items:center;text-align:center}}
@media (prefers-reduced-motion:reduce){.screen-fade{transition-duration:.15s}.menu-button{transition:none}}
/* Equipment labels */
.grade{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.4px;margin-left:5px;padding:1px 5px;border-radius:6px;vertical-align:middle;border:1px solid currentColor;opacity:.9}
.grade-light{color:#9fe0c0}.grade-medium{color:#b9c8e6}.grade-heavy{color:#e6b98f}.grade-one{color:#d7d0f2}.grade-two{color:#f2c46b}
.weapon-behavior{margin:6px 0;padding:6px 9px;border-left:3px solid #f2c46b;background:#2a231255;border-radius:4px;font-size:13px}
.attack-line{margin:4px 0 8px;font-size:12px;color:var(--muted)}
.attack-line b{color:var(--text)}
.blocked-slot{opacity:.7}
#settings-audio-host .music-controls>*{margin:0}
/* 0.34 Battle Summary · Nexus page */
.combo-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:14px;padding:12px 16px;border:1px solid #d6ad5f88;border-radius:12px;background:linear-gradient(90deg,#3a2410cc,#1b1426cc)}
.combo-banner strong{font-size:34px;line-height:1;color:#ffd95e;text-shadow:0 2px 8px #000}
.combo-banner.empty p{margin:0;color:var(--muted)}
.combo-chain{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:22px}
.combo-chain i{font-style:normal;font-size:13px;color:#b9a77a}
.combo-banner small{flex-basis:100%;color:#e9dcc0}
.nexus-totals small{font-weight:500;color:var(--muted)}
.nexus-summary{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.nexus-row>summary{display:grid;grid-template-columns:30px minmax(120px,1.4fr) repeat(5,minmax(70px,1fr));align-items:center;gap:8px}
.nexus-glyph{font-size:22px;text-align:center}
.nexus-name{display:flex;flex-direction:column;font-weight:700}.nexus-name small{font-weight:400;color:var(--muted)}
.nexus-stat{display:flex;flex-direction:column;align-items:flex-end}.nexus-stat small{font-size:10px;color:var(--muted);letter-spacing:.3px}.nexus-stat em{font-style:normal;font-size:11px;color:#ffd95e}
.nexus-socket{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--line)}.nexus-socket:first-child{border-top:0}
.nexus-socket>span:first-child{display:flex;align-items:center;gap:6px}.nexus-socket .portrait,.nexus-socket svg{width:22px;height:22px}
@media (max-width:700px){.nexus-row>summary{grid-template-columns:24px 1fr repeat(3,auto)}.nexus-row .nexus-stat:nth-of-type(n+5){display:none}}
