.input-glyph{display:inline-block;width:30px;height:30px;object-fit:contain;vertical-align:middle;flex-shrink:0;pointer-events:none;}
.input-glyph-text{font:inherit;font-size:.85em;display:inline-block;padding:2px 4px;border:1px solid currentColor;border-radius:3px;white-space:nowrap;}
.mb-lbl .input-glyph{width:25px;height:25px;}
.hint .input-glyph{width:27px;height:27px;}
.btn.gold .input-glyph{filter:brightness(0);}
.opening-start .input-glyph{width:38px;height:38px;}
.opening-room-code .input-glyph{width:26px;height:26px;}
.input-style-choice{color:var(--bone,#efe5c8);background:#171513;border:1px solid #62594c;font:inherit;padding:8px 12px;min-width:175px;cursor:pointer;}
.input-style-choice:focus-visible{outline:2px solid var(--yellow,#f1db28);outline-offset:3px;}
.input-legend .cl-row{padding:5px 0;min-height:34px;}
.input-legend .cl-keys{display:flex;gap:20px;align-items:center;}
.input-legend .cl-keys>span{display:inline-flex;align-items:center;justify-content:center;min-width:84px;}
.input-legend .cl-pad{color:inherit;}
.rules-controls .input-glyph{width:25px;height:25px;}

/* Readable labels alongside glyphs: never rely on tiny artwork lettering. */
.input-labelled{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.options-screen .input-legend .cl-row{min-height:50px;padding:4px 0;display:grid;grid-template-columns:minmax(150px,1fr) 410px;}
.options-screen .input-legend .cl-keys{display:grid;grid-template-columns:195px 195px;gap:20px;}
.options-screen .input-legend .cl-keys>span{justify-content:flex-start;}
.input-legend .input-glyph{width:40px;height:40px;}
.input-legend .input-labelled,.input-legend .input-glyph-text{font-size:calc((18px) * var(--text-scale,1));line-height:1.2;}
.input-legend-head{display:grid;grid-template-columns:minmax(150px,1fr) 195px 195px;gap:20px;margin-top:14px;padding-bottom:6px;border-bottom:1px solid #62594c;color:#d8cfbb;font-size:calc((17px) * var(--text-scale,1));}
.options-screen :is(.cl-act,.ol-name){font-size:calc((20px) * var(--text-scale,1));}
.options-screen :is(.ol-sub,.opt-note){font-size:calc((17px) * var(--text-scale,1));line-height:1.35;letter-spacing:0;color:#cec5b3;}
.options-screen .opt-cat{font-size:calc((17px) * var(--text-scale,1));}
.options-screen :is(.back-btn,.opt-reset,.ctrl-hints .hint){font-size:calc((16px) * var(--text-scale,1));}
.options-screen .input-style-choice{font-size:calc((18px) * var(--text-scale,1));}
.options-screen .opt-row{padding:10px 0;}
/* Menus keep the vignette; scanlines over settings labels add no useful detail. */
.options-screen::after{background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.18) 100%);}
.input-legend .cl-keys{color:var(--bone,#efe5c8);}
.options-screen .input-legend .cl-keys>span{flex-wrap:wrap;gap:4px;min-width:0;}
.options-screen .input-legend .cl-row{min-height:48px;}
.options-screen .input-legend-head{margin-top:10px;}
.options-screen .opt-sec:has(.input-legend) .opt-note{margin-top:10px;}
