:root{--lime:#d8ff72;--violet:#b8a8ff;--ink:#f8f6ff;--muted:#b2b0c8;--glass:rgba(17,17,27,.9);--line:rgba(220,218,255,.2)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:transparent;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.overlay-page{background:transparent}.overlay-shell{position:absolute;left:48px;bottom:46px;width:min(620px,calc(100vw - 96px));filter:drop-shadow(0 12px 28px rgba(0,0,0,.26));animation:pop .28s ease-out}.overlay-shell.top-right{left:auto;right:48px;top:46px;bottom:auto}.overlay-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;padding:0 4px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.15em;text-shadow:0 2px 8px #000}.overlay-brand{display:flex;align-items:center;gap:8px}.overlay-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--lime);border-radius:8px;color:var(--lime);font-size:14px}.overlay-live{display:flex;align-items:center;gap:7px;color:#ff9ac2}.overlay-live i{display:block;width:6px;height:6px;border-radius:50%;background:#ff7aaf;box-shadow:0 0 10px #ff7aaf}.overlay-card{border:1px solid var(--line);border-radius:18px;padding:20px 22px;background:linear-gradient(145deg,rgba(34,33,53,.95),var(--glass));backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.overlay-kicker{display:flex;justify-content:space-between;gap:12px;color:var(--violet);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.overlay-question{font-size:clamp(24px,2.3vw,35px);font-weight:850;letter-spacing:-.045em;line-height:1.08;margin:13px 0 15px;overflow-wrap:anywhere}.overlay-question em{font-style:normal;color:var(--lime)}.overlay-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:13px;margin-top:15px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.overlay-foot strong{color:var(--lime);font-weight:800}.overlay-answers{display:grid;gap:7px}.overlay-answer{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:10px 11px;border:1px solid rgba(221,217,255,.14);background:rgba(255,255,255,.055);border-radius:10px;font-size:12px;line-height:1.4}.overlay-answer.win{border-color:rgba(216,255,114,.6);background:rgba(216,255,114,.1)}.overlay-letter{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(184,168,255,.17);color:var(--violet);font-size:10px;font-weight:800}.overlay-answer-text{overflow-wrap:anywhere}.overlay-author{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.overlay-votes{color:var(--lime);font-size:10px;font-weight:800;white-space:nowrap}.overlay-story{padding-left:13px;border-left:2px solid rgba(184,168,255,.55);color:#d8d6eb;font-size:11px;line-height:1.55;margin-top:13px}.overlay-story strong{display:block;color:var(--violet);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}.overlay-story-line{margin-top:4px}.overlay-room-code{font-size:27px;letter-spacing:.2em;color:var(--lime);font-weight:850}.overlay-lobby{display:flex;align-items:center;justify-content:space-between;gap:18px}.overlay-lobby h2{font-size:24px;letter-spacing:-.04em;margin:0 0 5px}.overlay-lobby p{font-size:11px;line-height:1.55;color:var(--muted);margin:0}.overlay-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.overlay-score{padding:8px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);min-width:0}.overlay-score strong{display:block;color:var(--lime);font-size:12px;margin-bottom:3px}.overlay-score span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:9px}.overlay-debug{position:fixed;top:12px;left:12px;color:#a4a1bd;background:rgba(17,17,27,.84);padding:7px 9px;border:1px solid rgba(220,218,255,.18);border-radius:7px;font:9px ui-monospace,monospace;letter-spacing:.12em}.overlay-debug:empty{display:none}.overlay-error{max-width:460px;border:1px solid rgba(255,122,175,.4);background:rgba(22,18,29,.9);border-radius:14px;padding:17px 19px;color:#ffdce9;font-size:12px;line-height:1.6}.overlay-error strong{display:block;margin-bottom:5px}.overlay-error code{color:var(--lime)}.only-demo{font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Cabinet-specific visuals for the transparent OBS source */
.overlay-feature{text-align:center;padding:12px 4px 16px}.overlay-word{font:800 clamp(32px,5vw,56px) ui-monospace,monospace;letter-spacing:.14em;color:var(--lime);overflow-wrap:anywhere}.overlay-number{font:800 clamp(32px,5vw,56px) ui-monospace,monospace;color:var(--lime)}.overlay-feature p{font:800 10px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:9px 0 0}.overlay-options{display:grid;gap:8px;margin-top:14px}.overlay-option{display:flex;align-items:center;gap:12px;border:1px solid rgba(221,217,255,.14);background:rgba(255,255,255,.055);border-radius:11px;padding:10px 12px;font-size:12px}.overlay-option b{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:7px;background:rgba(184,168,255,.17);color:var(--violet);font:800 11px ui-monospace,monospace}.overlay-option.win{border-color:rgba(216,255,114,.65);background:rgba(216,255,114,.1)}.overlay-option.win b{background:var(--lime);color:#171822}.overlay-explainer{font-size:11px;line-height:1.6;color:var(--muted);margin:11px 0}.overlay-pattern{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:16px 0}.overlay-pattern b{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(221,217,255,.22);border-radius:10px;background:rgba(255,255,255,.08);font-size:24px}.overlay-pattern .overlay-missing{border-style:dashed;color:var(--lime)}.overlay-answer-key{margin-top:12px;color:var(--lime);font:800 12px ui-monospace,monospace;line-height:1.7;text-align:center}.overlay-results{display:grid;gap:7px;margin:14px 0}.overlay-result{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.055);border:1px solid rgba(221,217,255,.14);border-radius:11px;padding:10px 11px}.overlay-result.win{border-color:rgba(216,255,114,.6);background:rgba(216,255,114,.1)}.overlay-result-rank{font:800 11px ui-monospace,monospace;color:var(--lime)}.overlay-result>div{flex:1;min-width:0}.overlay-result b{font-size:12px;line-height:1.4;overflow-wrap:anywhere;display:block}.overlay-result small{color:var(--muted);font-size:9px;line-height:1.5;display:block;margin-top:4px}.overlay-result>strong{color:var(--lime);font:800 11px ui-monospace,monospace;white-space:nowrap}.overlay-waiting{font:800 10px ui-monospace,monospace;letter-spacing:.08em;color:var(--muted);padding:15px 0 4px;text-align:center}.overlay-matchups{display:grid;gap:7px;margin:12px 0}.overlay-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px;border:1px solid rgba(221,217,255,.14);border-radius:11px;background:rgba(255,255,255,.055);font-size:10px}.overlay-matchup>span{line-height:1.5;overflow-wrap:anywhere}.overlay-matchup>span:last-of-type{text-align:right}.overlay-matchup b{color:var(--lime)}.overlay-matchup i{font:800 9px ui-monospace,monospace;color:var(--muted)}.overlay-matchup strong{grid-column:1/-1;font:800 10px ui-monospace,monospace;text-align:center;color:var(--lime)}
@media(max-width:700px){.overlay-pattern b{width:39px;height:39px;font-size:20px}}

/* Emoji Memory plugin overlay styles */
.emoji-memory-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,430px);margin:15px auto;padding:10px;border:1px solid rgba(184,168,255,.35);border-radius:16px;background:linear-gradient(145deg,rgba(184,168,255,.13),rgba(128,228,233,.06))}
.emoji-memory-board-flashing{animation:emoji-memory-board-out var(--memory-flash,0ms) linear forwards}
.emoji-memory-board-static{animation:none}
.emoji-memory-tile{position:relative;display:grid;place-items:center;min-height:66px;border:1px solid #41415b;border-radius:11px;background:rgba(255,255,255,.045);font-size:clamp(26px,4vw,38px);line-height:1.1}
.emoji-memory-tile small{position:absolute;top:4px;right:6px;color:var(--muted);font:8px 'DM Mono',monospace}
.emoji-memory-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.emoji-memory-options-delayed{animation:emoji-memory-options-in var(--memory-flash,0ms) linear forwards}
.emoji-memory-options-ready{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.emoji-memory-option{display:flex;align-items:center;gap:8px;border:1px solid #38384c;border-radius:10px;padding:9px 10px;background:#222232;font-size:11px}
.emoji-memory-option-letter{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:#39394f;color:var(--muted);font:9px 'DM Mono',monospace}
.emoji-memory-option-emoji{font-size:25px}
.emoji-memory-correct{border-color:var(--lime);background:#2a3126}
.emoji-memory-slot{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px auto;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.12em}
.emoji-memory-slot strong{color:var(--lime);font-size:13px}
.emoji-memory-after-flash{display:flex;align-items:center;justify-content:center;gap:9px;min-height:64px;margin:15px auto;padding:16px;border:1px dashed #38384c;border-radius:12px;color:var(--muted);text-align:center;font-size:11px}
.emoji-memory-lock{font-size:21px}
@keyframes emoji-memory-board-out{0%,99.9%{opacity:1;visibility:visible;transform:scale(1)}100%{opacity:0;visibility:hidden;transform:scale(.985);max-height:0;margin-block:0;padding-block:0;overflow:hidden}}
@keyframes emoji-memory-options-in{0%,99.9%{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px)}100%{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}
