/* Game menu built from native controls; the approved scene remains untouched. */
#catalog-filter{--gold:#967044;--cream:#403b35;position:fixed;inset:7vh auto auto 50%;transform:translateX(-50%);margin:0;width:min(580px,calc(100vw - 24px));max-height:86vh;box-sizing:border-box;padding:24px;color:var(--cream);background:linear-gradient(145deg,#f2efe8,#dad6cd);border:1px solid #b8b1a5;border-radius:18px;box-shadow:inset 0 2px 1px #fff,0 7px 0 #aaa298,0 9px 0 #827b72,0 20px 60px #332d2855;z-index:100;overflow:hidden;color-scheme:light}
#catalog-filter[open]{display:flex;flex-direction:column}
#catalog-filter::before{content:'';position:absolute;inset:8px;border:1px solid #ffffff90;border-radius:12px;pointer-events:none}
#catalog-filter header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
#catalog-filter header small{font:9px/1.5 system-ui,sans-serif;letter-spacing:.25em;color:var(--gold)}
#catalog-filter h2{font:600 28px/1.4 'Songti SC',STSong,serif;letter-spacing:.05em;color:var(--cream);margin:5px 0 0}
.filter-rule{font:12px/1.6 system-ui,sans-serif;color:#777167;margin:12px 0 16px;flex-shrink:0}
#catalog-filter button{display:inline-flex;position:relative;align-items:center;justify-content:center;gap:6px;border:1px solid #beb7ab;background:linear-gradient(110deg,#fffef9,#ede9df);color:#514b44;border-radius:5px;padding:8px 10px;font:13px/1.3 system-ui,sans-serif;min-height:36px;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff,inset 0 -2px 0 #d9d2c6,0 2px 0 #b3aa9c,0 3px 2px #51463730;transform:translateY(-1px);transition:transform 90ms,box-shadow 90ms,background 120ms}
#catalog-filter button:hover{background:linear-gradient(110deg,#fffefa,#f7f1e3)}
#catalog-filter button:focus-visible,#catalog-filter button.filter-cursor{outline:2px solid #a9783b;outline-offset:4px}
#catalog-filter button[aria-pressed=true]{background:linear-gradient(110deg,#f8e6be,#eed5a3);border-color:#bea371;color:#594325}
#catalog-filter button:is(:active,.key-held){transform:translateY(1px);box-shadow:inset 0 1px 2px #a99d8940,0 1px 0 #aaa08e}
#catalog-filter svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.choice-icon{color:#8a7b66;flex-shrink:0}#catalog-filter [aria-pressed=true] .choice-icon{color:#8e6225}
.choice-check{width:6px;height:6px;border-radius:50%;font-size:0;background:#d0c9bd;box-shadow:inset 0 1px 2px #63574740;flex-shrink:0}#catalog-filter [aria-pressed=true] .choice-check{background:#e4a443;box-shadow:0 0 5px #efb655,inset 0 1px #fff0bd}
#filter-options{min-height:0;overflow:auto;padding:8px 6px 12px;scrollbar-width:thin;scrollbar-color:#b9b0a1 #e2dcd2;overscroll-behavior:contain}
#catalog-filter fieldset{min-width:0;margin:0 0 20px;padding:12px 0 0;border:0;border-top:1px solid #c8c1b3}
#catalog-filter fieldset:last-child{margin-bottom:0}
#catalog-filter legend{padding:0 14px 0 0;color:#686052;font:600 13px/1.5 system-ui,sans-serif;letter-spacing:.08em}
.group-number{color:#9c8058;font:11px/1.5 Georgia,serif;letter-spacing:.1em;margin-right:10px}
#catalog-filter legend small{font:10px/1.5 system-ui,sans-serif;letter-spacing:0;margin-left:10px;color:#888075}
#catalog-filter fieldset>div{display:flex;flex-wrap:wrap;gap:9px 8px}
#catalog-filter fieldset[data-group=series]>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#catalog-filter button[data-group=series]{min-height:40px;flex-direction:row;gap:7px;border-radius:5px;text-align:center;padding:8px}
#catalog-filter button[data-group=series] .choice-icon{display:grid;place-items:center;width:17px;height:17px}
#catalog-filter button[data-group=series] svg{width:17px;height:17px}
.choice-label small{display:none;margin-top:5px;font:10px/1.4 system-ui,sans-serif;letter-spacing:.1em;opacity:.68}
#catalog-filter button[data-group=series] .choice-check{position:static}
#catalog-filter footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px;padding:18px 0 0;margin-top:12px;border-top:1px solid #c0b8aa;flex-shrink:0;background:transparent}
#filter-count{margin-right:auto;font:12px/1.5 system-ui,sans-serif;color:#73695a}
#catalog-filter footer button{white-space:nowrap}
#catalog-filter #filter-apply{background:linear-gradient(110deg,#edc483,#deb16b);border-color:#bc965f;color:#513c22;font-weight:600;box-shadow:inset 0 1px 0 #ffe7b9,inset 0 -2px 0 #c69958,0 2px 0 #a87b40,0 3px 2px #51463730}
#catalog-filter #filter-apply:is(:active,.key-held){transform:translateY(1px);box-shadow:inset 0 -3px 0 #c69958,0 1px 0 #896335}
#catalog-filter #filter-clear,#catalog-filter #filter-cancel{background:linear-gradient(110deg,#e2ded7,#d2cdc4);color:#625a50}
.pad-symbol{font-size:18px;line-height:1;color:inherit}
.filter-help{display:flex;justify-content:flex-end;gap:15px;font:10px/1.6 system-ui,sans-serif;color:#807668;margin:16px 0 0;flex-shrink:0}
.filter-empty{color:#807668;font:12px/1.6 system-ui,sans-serif}
@media(max-width:600px){#catalog-filter{top:5vh;max-height:90vh;max-height:90dvh;padding:20px 14px;border-radius:14px}#catalog-filter h2{font-size:22px;letter-spacing:0}#catalog-filter header{gap:6px}#catalog-filter header small{font-size:8px}#catalog-filter button{font-size:12px;padding:8px;gap:5px;min-height:36px}#catalog-filter fieldset[data-group=series]>div{gap:7px}#catalog-filter button[data-group=series] .choice-icon{display:none}#catalog-filter button[data-group=series]{min-height:38px;font-size:12px;padding:8px 4px}.choice-label small{font-size:9px;letter-spacing:0}.choice-check{width:6px}#filter-options{padding:8px 4px 12px}#catalog-filter footer{gap:8px;padding-top:14px}#filter-count{font-size:11px;white-space:nowrap}.filter-help{justify-content:center;gap:13px;margin-top:13px}.filter-rule{font-size:11px;margin:10px 0 13px}#catalog-filter fieldset{margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){#catalog-filter button{transition:none}}
