/* Shared hover, keyboard and touch menus in every category surface. */
.weapon-choice{position:relative;min-width:0;isolation:isolate}
.weapon-choice.is-open{z-index:12;isolation:auto}
.weapon-trigger{display:block;width:100%;padding:0;text-align:center;line-height:inherit;background:transparent;color:inherit;border:0}
.weapon-picture{display:block}
.category-materials{position:absolute;inset:0 auto auto 50%;width:100%;min-width:144px;min-height:104px;aspect-ratio:auto;transform:translateX(-50%);padding:12px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;background:#262423ed;opacity:0;visibility:hidden;pointer-events:none;z-index:13;box-shadow:0 8px 22px #0003}
.weapon-choice:hover .category-materials,.weapon-choice:focus-within .category-materials{opacity:0;visibility:hidden;pointer-events:none}
.weapon-choice.is-open .category-materials{opacity:1;visibility:visible;pointer-events:auto}
.category-materials>a,.category-materials>button{display:flex;align-items:center;justify-content:center;min-height:35px;flex:0 0 auto;font:0.625rem/1.2 var(--sans);padding:8px;letter-spacing:.2px;border:1px solid #d9d6cc;background:#f4f1e8;color:#2a2827}
.category-materials>.steel{background:#2e2c2b;color:#faf6ed;border-color:#b2b0af}
.category-materials>button:disabled{opacity:.4;cursor:not-allowed}
.category-material-hint{display:block;margin-top:4px;text-align:center;font-size:0.5rem;color:var(--bronze)}
.category-strip{padding-top:2px}
.weapon-section .weapon-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px 12px;width:calc(80% - 20px);margin-inline:auto}
.weapon-section .weapon-choice{flex:0 0 calc((100% - 60px)/6);width:calc((100% - 60px)/6)}
.weapon-section .weapon-link strong{font-size:1rem}
#category-dialog .weapon-grid{align-items:start}
#category-dialog .category-materials{min-width:132px}
.category-trigger-note{color:var(--muted);font-size:0.5625rem;margin-bottom:0}
@media(max-width:1050px){.weapon-section .weapon-grid{width:calc(80% - 12px)}.weapon-section .weapon-choice{flex-basis:calc((100% - 36px)/4);width:calc((100% - 36px)/4)}}
@media(max-width:740px){.weapon-section .weapon-grid{width:calc(80% - 3.2px);gap:18px 8px}.weapon-section .weapon-choice{flex-basis:calc((100% - 16px)/3);width:calc((100% - 16px)/3)}.weapon-section .weapon-link strong{font-size:0.875rem}.category-materials{min-width:150px;min-height:120px;padding:10px;gap:8px;flex-direction:column;position:absolute;inset:0 auto auto 50%;background:#262423f5;opacity:0;visibility:hidden}.category-materials>a,.category-materials>button{font-size:0.6875rem;min-height:44px;flex:0 0 auto}.category-material-hint{display:block;font-size:0.4375rem}.palette-links{gap:7px}.palette-links a{font-size:0.40625rem;letter-spacing:.2px}.proposal{font-size:0.34375rem;letter-spacing:.4px}}
@media(hover:none){.category-materials{position:absolute;inset:0 auto auto 50%;aspect-ratio:auto;opacity:0;visibility:hidden;background:#262423f5;padding:10px;gap:8px;flex-direction:column}.category-material-hint{display:block}.category-materials>a,.category-materials>button{min-height:44px}.weapon-choice.is-open .category-materials{opacity:1;visibility:visible;pointer-events:auto}}
