/* Consistent block symbols and independent room/voice controls. */
.title-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--muted);vertical-align:middle}.title-icon svg{width:16px;height:16px}.section-heading h2,.players-heading h2,.player-title h3,.catalog-heading h1{display:flex;align-items:center;gap:8px}.player-title h3{gap:5px}.player-title h3 .title-icon svg{width:12px;height:12px}.players-heading h2 .title-icon svg{width:15px;height:15px}.catalog-heading h1 .title-icon svg{width:23px;height:23px}.catalog-body h2{display:flex;gap:8px;align-items:flex-start}.catalog-body h2>svg{width:18px;height:18px;margin-top:4px;color:var(--muted)}
.session-info summary>.summary-title{display:flex;align-items:center;gap:8px;margin:0 auto 0 0;font-size:12px;color:#c1cec7}.session-info summary>.summary-title+.summary-title{margin:0}.section-heading{gap:8px}.section-heading h2{min-width:0}.section-heading .small-tag{margin-left:auto}.room-exit{display:grid;place-items:center;width:30px;height:30px;min-width:30px;padding:5px;margin-left:auto;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:6px}.room-exit svg{width:17px;height:17px}.room-exit:hover:not(:disabled){color:#ffc09c;border-color:#775442;background:#382c25}
.cartridge-catalog{width:100%;margin:14px 0 0;padding:12px 0 0!important;border-top:1px solid var(--line)!important;border-radius:0;background:transparent!important}.cartridge-catalog>span:first-child{font-size:10px;margin-bottom:7px}.catalog-shortcut-link{display:flex!important;align-items:center;gap:7px;color:var(--mint)}.catalog-shortcut-link .title-icon{color:var(--mint)}.catalog-shortcut-link .title-icon svg{width:14px;height:14px}.cartridge-catalog:hover .catalog-shortcut-link{color:var(--orange)}
.voice-panel{margin:0;padding:16px;border:1px solid var(--line);border-radius:10px}.voice-state{display:flex;gap:5px;align-items:center;flex-shrink:0;font-size:9px;color:var(--muted)}.voice-state .voice-indicator{width:5px;height:5px}.voice-panel .voice-status{min-height:0;margin:11px 0 12px;font-size:11px;line-height:1.6}.voice-panel .voice-actions{display:flex;align-items:center;gap:8px}.voice-panel .voice-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:37px;padding:8px 11px;font-size:11px}.voice-panel .voice-actions svg{width:17px;height:17px}#voice-connect{width:auto;flex:1}#voice-connect.joined{color:#c0cac2;background:#202a27;border-color:#495d50}#voice-connect.joined:hover{color:#ffba9e;border-color:#82614e;background:#392d26}#voice-mute{flex:0 0 38px;width:38px;padding:8px;color:var(--mint);background:#26392d;border-color:#46614d}#voice-mute:disabled{background:transparent;color:var(--muted);border-color:var(--line)}#voice-mute.muted{background:#382b26;border-color:#845d4e;color:#f7b398}.voice-panel .friend-volume{display:grid;grid-template-columns:18px minmax(40px,1fr) 30px;gap:8px;margin-top:13px}.voice-panel .friend-volume input{height:26px}.voice-panel .friend-volume output{font-size:10px;color:var(--muted)}.voice-panel .voice-note{margin:4px 0 0;font-size:9px}.voice-panel .voice-invitation{font-size:11px;padding:9px;margin:12px 0}.voice-panel .voice-play{padding:8px;font-size:10px}
/* Six-button Mega Drive silhouette, circular directional disc and two button arcs. */
.players .controller-map svg{width:100%;height:194px;max-height:none;margin-top:0;overflow:visible}.md-shell{stroke:#747c86;stroke-width:1.4;filter:drop-shadow(0 4px 3px #0007)}.md-shell-shine{fill:none;stroke:#a0a7af;stroke-width:1.6;opacity:.5}.md-seam{fill:none;stroke:#7a828b;stroke-width:1.2;opacity:.5}.md-cable{fill:none;stroke:#343b44;stroke-width:7;stroke-linecap:round}.md-cable-shine{fill:none;stroke:#959da6;stroke-width:1.3;opacity:.45}.md-cable-sleeve{fill:#353c44;stroke:#78818a;stroke-width:.8}.md-sleeve-line{stroke:#6d7680;stroke-width:1.4}.md-well{fill:#1d232b;stroke:#68717c;stroke-width:1.5}.md-disc{stroke:#747e8a;stroke-width:2}.md-cross{fill:#343c46;stroke:#1d242d;stroke-width:1.5;stroke-linejoin:round}.md-direction-hit{fill:transparent}.md-arrow{fill:none;stroke:#151d26;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.md-pivot{fill:#252d36;stroke:#111a25;stroke-width:2}.md-brand{fill:#d2d6dc;font-style:italic;font-size:24px;font-weight:850;letter-spacing:.2px}.md-button-ring{fill:#111923;stroke:#666f7b;stroke-width:1.2}.md-face-button{stroke:#7c8491;stroke-width:1.2}.md-letter{fill:#d5d9df;font-size:18px;font-weight:650}.md-small-letter{font-size:15px}.md-assignment{fill:#f4c096;font-size:14px;font-weight:600}.md-small-assignment{font-size:12px}.md-direction-key{font-size:15px;fill:#f4d0b2}.md-start{fill:#7d74d7;stroke:#373353;stroke-width:2}.md-start-title{fill:#c9cdd3;font-size:12px;font-weight:650;letter-spacing:.7px}.md-mode-title{fill:#8c9c99;font-size:10px;letter-spacing:1.8px}.md-mode .md-assignment{font-size:12px}.md-control.on .md-face-button{fill:#75573c;stroke:#ffd1a0;stroke-width:2}.md-control.on .md-direction-hit{fill:#f2ad6659;stroke:#edb57b;stroke-width:1}.md-control.on .md-assignment{fill:#fff1cd}.md-control.on .md-start{fill:#c19eeb;stroke:#f5d0a1}
/* One deliberate focus ring instead of the native select plus its parent label. */
.genre-picker{position:relative;flex-shrink:0}.genre-trigger{display:flex;align-items:center;gap:9px;min-height:44px;width:220px;padding:10px 12px;font-size:12px;background:var(--panel);border:1px solid #43504b;text-align:left}.genre-trigger #genre-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.genre-trigger .genre-chevron{margin-left:auto}.genre-trigger:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.genre-trigger[aria-expanded=true]{border-color:#89a28f;background:#202c27}.genre-trigger[aria-expanded=true] .genre-chevron{transform:rotate(180deg)}.genre-options{position:absolute;z-index:8;right:0;top:calc(100% + 8px);width:268px;max-width:calc(100vw - 32px);max-height:min(360px,55vh);overflow:auto;padding:6px;border:1px solid #53665a;border-radius:9px;background:#1a2322;box-shadow:0 12px 35px #0009;scroll-padding:6px}.genre-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:35px;padding:8px 10px;border-radius:5px;font-size:12px;color:#c5d1c9;cursor:pointer;outline:none}.genre-option svg{width:14px;height:14px;opacity:0;flex-shrink:0}.genre-option:hover{background:#26382d}.genre-option[aria-selected=true]{background:#304a39;color:#d6ecd7}.genre-option[aria-selected=true] svg{opacity:1}.genre-option:focus-visible{outline:1px solid #a7d1b9;outline-offset:-1px;background:#2b3c32}.genre-multiplayer{margin-bottom:6px;border-bottom:1px solid #415148;border-radius:5px 5px 0 0;padding-bottom:12px}.catalog-grid:focus{outline:none}
.catalog-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;max-width:1200px;margin:23px 0}.catalog-pagination>span{font-size:11px;color:var(--muted)}.catalog-pages{display:flex;align-items:center;gap:5px}.catalog-pages button{display:grid;place-items:center;min-width:35px;height:35px;padding:6px;font-size:12px;border-color:#3e5045;background:#19241f}.catalog-pages button[aria-current=page]{background:#a7d1b91d;border-color:#a7d1b9;color:#cde3cf}.catalog-pages button:focus-visible{outline-color:var(--mint)}.catalog-pages svg{width:15px;height:15px}.page-gap{color:var(--muted);padding:0 4px;font-size:12px}
@media(max-width:1000px){.players .controller-map svg{height:190px}.genre-trigger{width:200px}}
@media(max-width:760px){.voice-panel{padding:14px}.players .controller-map svg{height:184px}.genre-trigger{width:185px}.catalog-pagination{justify-content:center}.catalog-pagination>span{width:100%;text-align:center}}
@media(max-width:480px){.genre-trigger{width:168px;padding:10px 9px;font-size:11px;gap:7px}.genre-trigger>.title-icon:first-child{display:none}.genre-options{width:255px}.players .controller-map svg{height:200px}.players-heading>span{font-size:8px}.catalog-pages{gap:3px}.catalog-pages button{min-width:30px;height:34px}.page-gap{padding:0 2px}.catalog-body h2>svg{width:16px;height:16px}.cartridge-catalog>span:first-child{margin-bottom:6px}}
