.app{max-width:1100px}
.pill-label{display:inline-block;border:1px solid #d9a95b;border-radius:999px;padding:5px 12px;color:#ffe0a1;background:#7a572a33;font-size:.78rem;font-weight:800}
.category-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.category-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:13px;padding:11px;background:#142640;font-weight:800;cursor:pointer}
.category-item input{width:19px;height:19px;accent-color:var(--gold)}
.lengths{display:flex;gap:10px;flex-wrap:wrap}.lengths label{flex:1;min-width:100px}
.lengths input{accent-color:var(--gold)}
.play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.play-tile{border:1px solid #7c91ae;border-radius:16px;background:linear-gradient(135deg,#284979,#152b4b);color:var(--gold);font-size:1.5rem;font-weight:900;min-height:100px}
.play-tile small{display:block;color:var(--muted);font-size:.78rem;font-weight:700}
.answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.answer-options button{text-align:right}
.answer-options button.chosen{border-color:var(--gold);background:#493b22}
.flag-options .option{display:grid;place-items:center;min-height:112px;position:relative;overflow:hidden}
.flag-picture{display:block;width:min(100%,148px);height:92px;object-fit:cover;border:1px solid #afbdd0;border-radius:5px;box-shadow:0 5px 15px #0005}
.flag-options .option.eliminated .flag-picture{filter:grayscale(1);opacity:.4}
.flag-options .wrong-mark{position:absolute;inset-inline-start:12px;top:8px;font-size:2rem;text-shadow:0 2px 8px #071426}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.answer-options button.eliminated{border-color:#c46b7a;background:#4a263444;color:#ffcad1;opacity:.85;text-decoration:line-through;text-decoration-color:#ff7084;text-decoration-thickness:2px;cursor:not-allowed}
.answer-options .wrong-mark{display:inline-block;color:#ff7084;font-size:1.15em;font-weight:900;margin-inline-end:9px;text-decoration:none}
.question-text{font-size:clamp(1.35rem,3vw,2rem);font-weight:900;line-height:1.5;margin:20px 0}
.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.button-row>*{flex:1}
.notice{border:1px solid #c59c62;border-radius:14px;background:#6b4b2444;padding:12px 15px;color:#ffe0a1;margin:14px 0}
.timer{font-size:1.35rem;font-weight:900;color:var(--gold)}
.reveal-answer{font-size:clamp(1.4rem,4vw,2.4rem);color:var(--gold);font-weight:900}
.mini-meta{color:var(--muted);font-size:.85rem}
.stage-title{font-size:.85rem;color:var(--gold);font-weight:900}
.charade-secret{background:#0a1527;border:2px solid var(--gold);border-radius:16px;padding:28px;text-align:center;font-size:2rem;font-weight:900;color:var(--gold)}
.rules-short{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rules-short>div{background:#10213a;border:1px solid var(--line);border-radius:12px;padding:12px}
.actor-card .rules-short + .btn{margin-top:18px}
.rules-short strong,.rules-short span{display:block}.rules-short span{font-size:.78rem;color:var(--muted)}
.feature-ribbon{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:22px}
.feature-ribbon>div{display:flex;align-items:center;gap:8px;border:1px solid #576d89;border-radius:14px;background:#10223a;padding:12px;font-size:.82rem}
.feature-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#ffd16d25;color:var(--gold);font-size:1.25rem;flex:none}
.flow-visual{display:grid;gap:12px;margin-top:18px}.flow-visual>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:#10213a}.flow-visual>div>span{grid-row:span 2;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--gold);color:#152132;font-weight:900}.flow-visual strong{font-size:.88rem}.flow-visual small{color:var(--muted)}
.rules-visual h2{margin:4px 0 8px}.point-ladder{display:grid;gap:9px;margin:20px 0}.point-ladder>div{display:flex;align-items:center;gap:12px;border:1px solid #657b99;background:#112541;border-radius:12px;padding:10px 12px}.point-ladder b{font-size:1.25rem;color:var(--gold);min-width:46px}.point-ladder span{font-size:.77rem;color:var(--muted);flex:1}.point-ladder i{font-style:normal;letter-spacing:4px;color:var(--a)}.point-ladder i::first-letter{color:var(--b)}
.mini-instruction{display:grid;gap:5px;border:1px solid #c69a5d;border-radius:13px;background:#66471e45;padding:14px}.mini-instruction strong{color:#ffe1a8}.mini-instruction span{font-size:.78rem;color:var(--muted)}
.category-spotlight{--category:#ffd16d;display:flex;align-items:center;gap:16px;border:2px solid var(--category);border-radius:18px;padding:16px 18px;margin:14px 0 20px;background:color-mix(in srgb,var(--category) 13%,#11223a);box-shadow:0 0 24px color-mix(in srgb,var(--category) 17%,transparent)}
.category-spotlight .category-emblem{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:15px;background:color-mix(in srgb,var(--category) 22%,#11223a);font-size:1.8rem}.category-spotlight div{display:grid;gap:0}.category-spotlight small{font-size:.75rem;color:var(--muted)}.category-spotlight strong{font-size:1.35rem;color:var(--category)}.category-spotlight div>span{font-size:.78rem;color:var(--muted)}
.cat-gulf{--category:#e9c67e}.cat-history{--category:#d4a5ff}.cat-geography{--category:#72d6ff}.cat-science{--category:#7fe2c0}.cat-sports{--category:#ffc07c}.cat-general{--category:#ff9bc0}.cat-charades{--category:#ffbf69}.cat-riddles{--category:#bddc89}
.logo-picture-wrap{display:grid;place-items:center;min-height:185px;margin:12px 0 20px;padding:20px;border:1px solid #6881a2;border-radius:18px;background:#fff}
.logo-picture{display:block;width:min(100%,240px);height:145px;object-fit:contain}
.logo-picture-result{max-width:320px;min-height:125px;margin:12px 0}.logo-picture-result .logo-picture{height:90px}
.charades-warning{display:grid;gap:3px;border:2px solid #ffbf69;border-radius:14px;padding:14px 16px;margin:0 0 18px;background:#6950254b}.charades-warning strong{font-size:1rem;color:#ffda96}.charades-warning span{font-size:.83rem;color:#e1cbac}
@media(max-width:700px){.category-list{grid-template-columns:repeat(2,1fr)}.answer-options{grid-template-columns:1fr}.rules-short{grid-template-columns:1fr}}
@media(max-width:700px){.feature-ribbon{grid-template-columns:1fr}.category-spotlight{padding:12px}.category-spotlight .category-emblem{width:46px;height:46px}}
.order-picked{display:flex;gap:8px;flex-wrap:wrap;min-height:50px;margin:10px 0 16px}
.order-picked span{border:1px solid #9db2d0;border-radius:12px;background:#203b61;padding:9px 13px;font-weight:800}
.turn-banner{--team:var(--a);display:grid;gap:2px;border:2px solid var(--team);border-radius:18px;padding:17px 22px;background:color-mix(in srgb,var(--team) 14%,#10213a);margin:18px 0 10px;text-align:center}
.turn-banner.team-b{--team:var(--b)}
.turn-banner small{color:var(--muted);font-size:.8rem;font-weight:800}
.turn-banner strong{color:var(--team);font-size:clamp(1.55rem,4vw,2.5rem);line-height:1.3}
.board-value{margin:8px 0 14px;text-align:center}
.question-meta{display:inline-block;color:var(--gold);font-size:.83rem;font-weight:800;margin:0 0 12px}
.verdict{display:flex;align-items:center;justify-content:center;gap:18px;padding:19px 22px;margin:10px 0 22px;border:2px solid;border-radius:18px;text-align:right}
.verdict-symbol{display:grid;place-items:center;width:65px;height:65px;flex:none;border:3px solid currentColor;border-radius:50%;font-size:2.5rem;font-weight:900;line-height:1}
.verdict strong{display:block;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.2}
.verdict small{display:block;font-size:1rem;margin-top:3px}
.verdict-right{color:var(--good);border-color:#54d5a0;background:#1b644334}
.verdict-wrong{color:#ff9ca8;border-color:#f0818e;background:#73354644}
.verdict-neutral{color:var(--gold);border-color:#d9a95b;background:#75512233}
.answer-reveal{margin:16px 0 20px}
.answer-reveal small{display:block;color:var(--muted);font-weight:800}
.layout.charade-result-layout{grid-template-columns:minmax(0,1fr)}
.topbar.game-topbar{flex-wrap:nowrap;align-items:center}
.game-topbar .brand{min-width:0;text-decoration:none}
.game-topbar .brand-logo{flex:none}
.game-topbar .brand span{min-width:0}
.game-topbar .top-actions{width:auto;flex:none;flex-wrap:nowrap}
.game-menu{position:relative}
.game-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;white-space:nowrap;min-height:44px}
.game-menu>summary::-webkit-details-marker{display:none}
.game-menu[open]>summary{border-color:var(--gold);color:var(--gold);background:#24364f}
.game-menu-panel{position:absolute;inset-inline-end:0;top:calc(100% + 10px);z-index:30;width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 110px);overflow-y:auto;padding:12px;border:1px solid #526c8c;border-radius:16px;background:#12223a;box-shadow:0 18px 48px #0009}
.game-menu-links,.playtest-tools-content{display:grid;gap:7px}
.game-menu-panel .btn{width:100%;text-align:start;justify-content:flex-start;margin:0;min-height:44px;font-size:.88rem;padding:10px 12px;text-decoration:none}
.playtest-tools{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.playtest-tools>summary{cursor:pointer;padding:8px 4px;min-height:44px;font-size:.86rem;font-weight:700;color:var(--muted)}
.playtest-tools-content{padding-top:8px}
.playtest-tools-content .playtest-tag{padding:4px 12px}
@media(max-width:500px){.game-topbar{margin-bottom:16px;gap:12px}.game-topbar .brand{font-size:.82rem;gap:8px;line-height:1.4}.game-topbar .brand-logo{width:36px;height:36px}.game-topbar .top-actions{width:auto}.game-menu>summary{padding:9px 12px}.game-menu-panel .btn{font-size:.88rem}}
.spoken-decision{border:1px solid #d9a95b;border-radius:16px;background:#6b4b2444;padding:18px;margin:20px 0}
.spoken-decision h2{color:var(--gold)}
.spoken-decision .check-card{margin-top:8px}
.result-summary{margin:18px 0}
.confirm-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#040a16c9;backdrop-filter:blur(5px)}
.confirm-card{width:min(100%,520px);border:2px solid #f1ba76;border-radius:22px;background:#152640;padding:28px;text-align:center;box-shadow:0 25px 65px #0009}
.confirm-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:#ffd16d25;color:var(--gold);font-size:2.4rem}
.confirm-card p{color:var(--muted)}
.finale{position:relative;max-width:850px;margin:20px auto;overflow:hidden;text-align:center;padding:clamp(30px,5vw,60px);background:radial-gradient(circle at 50% 20%,#54432f,#172a47 52%,#111f36)}
.finale .scoreboard{max-width:650px;margin:25px auto}
.finale .score.active{box-shadow:none}
.finale-icon{font-size:4.5rem;line-height:1;margin-bottom:12px;filter:drop-shadow(0 9px 22px #ffd16d77)}
.finale-kicker{color:var(--gold);font-weight:900;letter-spacing:.04em}
.finale h1{color:#fff5d9;text-shadow:0 0 32px #ffd16d44}
.finale .lede{margin:0 auto}
.finale .button-row{max-width:650px;margin:25px auto 0}
.finale-tie{background:radial-gradient(circle at 50% 20%,#324061,#172a47 52%,#111f36)}
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.confetti i{position:absolute;top:-20px;left:50%;width:9px;height:17px;background:#ffd16d;border-radius:2px;opacity:0;transform:rotate(25deg);animation:confetti-fall 4.5s ease-in-out 1 both}
.confetti i:nth-child(3n){background:#43d7c0;animation-delay:.16s}.confetti i:nth-child(4n){background:#ff789c;animation-delay:.3s}
@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px) rotate(25deg)}8%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(520px) rotate(440deg)}}
@media(max-width:700px){.verdict{gap:10px;padding:14px}.verdict-symbol{width:50px;height:50px;font-size:1.8rem}.finale{padding:28px 18px}.confirm-card{padding:22px}.turn-banner{padding:13px}}
@media(prefers-reduced-motion:reduce){.confetti i{animation:none;display:none}}

/* Setup rules and category guidance */
.setup-guide{margin:12px 0 0;padding:10px 13px;border:1px solid #527967;border-radius:11px;background:#18382e;color:#b9ecd0;font-size:.82rem;font-weight:800;line-height:1.6}
.setup-guide.invalid{border-color:#c69a5d;background:#4b3724;color:#ffe0a1}
.rules-visual h2{font-size:clamp(1.55rem,2.7vw,2rem);line-height:1.35;margin:8px 0 14px}
.rules-intro{color:var(--text);line-height:1.7;font-weight:800;margin-bottom:17px}
.rules-steps{display:grid;gap:10px}
.rules-steps>div{display:flex;gap:11px;align-items:flex-start;padding:11px;border:1px solid #526c8c;border-radius:12px;background:#10213a}
.rules-steps b{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:50%;background:var(--gold);color:#152132;font-size:.85rem}
.rules-steps span{font-size:.87rem;line-height:1.6;color:#e5edf8}
.rules-visual .point-ladder{margin:19px 0}
.rules-visual .point-ladder>div{padding:11px 13px}
.rules-visual .point-ladder span{font-size:.84rem}
.steal-heading{text-align:center;margin:8px 0 22px}
.steal-heading h2{font-size:clamp(1.65rem,3vw,2.3rem);margin:6px 0 9px}
.steal-heading .lede{margin:auto}

.simple-actor-card h1{font-size:clamp(1.8rem,5vw,3rem);line-height:1.3;margin-block:16px 12px}.simple-actor-card>p{max-width:42rem;margin-inline:auto}.simple-actor-card .actor-qr{max-width:260px;margin-block:18px}.simple-actor-card .actor-manual{margin-block:12px}
