:root{--gold: #ffd166;--bg-glass: rgba(20, 22, 30, .55);--border-glass: rgba(255, 255, 255, .1);--text: #f4f4f6;--muted: #a8adb8;--danger: #e14b4b;--warn: #ffb020;--ok: #2fbf71;--yellow: #f5c518;--cat-higherlower: #c74d7a;--cat-musik: #ffb300;--cat-pixel: #25c85a;--cat-sort: #ff5722;--cat-schaetz: #1fa2ff;--cat-werbinich: #8e44ad;--cat-zitate: #d35400;--cat-gemeinsam: #16a085;--cat-emoji: #e91e63;--cat-imposter: #607d8b;--cat-duell: #8e44ad}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#0a0b10;overflow-x:hidden;min-height:100vh}button{font-family:inherit;cursor:pointer}#bg{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/assets/bg.jpg) center/cover no-repeat;z-index:-2}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#00000059,#000c);z-index:-1}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border-glass);border-radius:16px;box-shadow:0 20px 60px #00000080}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;z-index:50}.start-card{padding:48px 56px;max-width:720px;width:100%;text-align:center}.logo{font-size:56px;letter-spacing:2px;margin:0 0 8px;text-transform:uppercase;font-weight:900}.logo span{color:var(--gold);margin-left:12px}.subtitle{color:var(--muted);font-size:20px;margin:0 0 32px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.role-btn{padding:20px 12px;font-size:18px;font-weight:700;background:#ffffff14;color:var(--text);border:1px solid var(--border-glass);border-radius:14px;transition:transform .15s,background .15s}.role-btn:hover{transform:translateY(-2px);background:#ffffff29}.role-btn.host{background:linear-gradient(135deg,var(--gold),#d99e2b);color:#1a1500}.cfg-warning{margin-top:24px;color:var(--warn);font-size:14px;background:#ffb0201a;padding:12px;border-radius:10px}.app{min-height:100vh;padding:16px 24px 220px;display:flex;flex-direction:column;gap:20px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px}.brand{font-size:22px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.brand span{color:var(--gold)}.view-info{display:flex;align-items:center;gap:12px}#view-label{color:var(--muted);font-size:14px;margin-right:8px}.btn{padding:8px 14px;border-radius:10px;border:1px solid var(--border-glass);background:#ffffff14;color:var(--text);font-size:14px;transition:background .15s}.btn:hover{background:#ffffff29}.btn.ghost{background:#ffffff0d}.btn.gold{background:linear-gradient(135deg,var(--gold),#d99e2b);color:#1a1500;font-weight:700;border:none}.btn.danger{background:#e14b4b26;border-color:#e14b4b66;color:#ffb0b0}.btn.ok{background:#2fbf7126;border-color:#2fbf7166;color:#b0f5cf}.btn:disabled{opacity:.4;cursor:not-allowed}.scoreboard{--sb-count: 5;display:grid;grid-template-columns:repeat(min(var(--sb-count),5),1fr);gap:14px}.scoreboard.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.avatar-fallback,.av-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#2a2d3a,#1a1c24);color:var(--gold);font-weight:900;font-size:20px}.av-fallback{font-size:14px}.player-card{padding:16px 12px;text-align:center;position:relative;transition:transform .2s}.player-card.me{outline:2px solid var(--gold)}.player-card .avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 8px;background:#1a1c24;border:3px solid rgba(255,255,255,.15);overflow:hidden;display:grid;place-items:center}.player-card .avatar img{width:100%;height:100%}.player-card .pname{font-size:15px;font-weight:700;margin-bottom:6px;min-height:40px;display:flex;align-items:center;justify-content:center}.player-card .score{font-size:34px;color:var(--gold);font-weight:900;text-shadow:0 0 20px rgba(255,209,102,.4)}.player-card .jokers{display:flex;gap:6px;margin-top:10px;justify-content:center}.joker-btn{flex:1;padding:6px 4px;font-size:11px;font-weight:700;background:#ffffff14;color:var(--text);border:1px solid var(--border-glass);border-radius:8px;transition:background .15s}.joker-btn:hover:not(:disabled){background:#fff3}.joker-btn.used{opacity:.25;text-decoration:line-through}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:8px}.cat-header{text-align:center;font-weight:700;padding:12px 8px;background:#ffffff0f;border-radius:10px;font-size:16px}.tile{padding:22px 8px;text-align:center;font-size:28px;font-weight:900;border-radius:12px;border:none;color:#fff;box-shadow:0 6px 20px #0000004d;transition:transform .15s,box-shadow .15s,filter .3s;text-shadow:0 2px 4px rgba(0,0,0,.4)}.tile:hover:not(:disabled){transform:translateY(-3px) scale(1.03);box-shadow:0 10px 30px #00000080}.tile:disabled{filter:grayscale(1) brightness(.35);cursor:default}.cat-higherlower{background:var(--cat-higherlower)}.cat-musik{background:var(--cat-musik)}.cat-pixel{background:var(--cat-pixel)}.cat-sort{background:var(--cat-sort)}.cat-schaetz{background:var(--cat-schaetz)}.cat-werbinich{background:var(--cat-werbinich)}.cat-zitate{background:var(--cat-zitate)}.cat-gemeinsam{background:var(--cat-gemeinsam)}.cat-emoji{background:var(--cat-emoji)}.cat-imposter{background:var(--cat-imposter)}.name-editor{padding:16px 20px}.name-editor h3{margin:0 0 12px;text-align:center}.name-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.name-inputs .ne{display:flex;flex-direction:column;align-items:center;gap:6px}.name-inputs .ne .av{width:40px;height:40px;border-radius:50%;overflow:hidden}.name-inputs .ne .av img{width:100%;height:100%}.name-inputs input{padding:8px;border-radius:8px;border:1px solid var(--border-glass);background:#00000059;color:#fff;text-align:center;width:100%}.buzzer-wrap{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:200}.buzzer-wrap.hidden{display:none!important}.buzzer{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe066,var(--yellow) 60%,#b48f00);border:6px solid rgba(255,255,255,.2);color:#2a1e00;font-size:28px;font-weight:900;letter-spacing:2px;box-shadow:0 15px 40px #0009,inset 0 -8px 15px #0000004d;transition:transform .1s,background .2s;animation:pulse 2s infinite}.buzzer:hover{transform:scale(1.05)}.buzzer:active{transform:scale(.95)}.buzzer.buzzed{background:radial-gradient(circle at 35% 30%,#7ce495,var(--ok) 60%,#1a7a45);color:#002a12;animation:none}.buzzer.skip{background:radial-gradient(circle at 35% 30%,#ff9090,var(--danger) 60%,#8a2020);color:#2a0000;cursor:not-allowed;animation:none}@keyframes pulse{0%,to{box-shadow:0 15px 40px #0009,inset 0 -8px 15px #0000004d,0 0 #f5c51880}50%{box-shadow:0 15px 40px #0009,inset 0 -8px 15px #0000004d,0 0 0 20px #f5c51800}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px}.modal-inner{width:95vw;max-width:1400px;height:85vh;max-height:900px;padding:32px;position:relative;overflow:hidden}.modal-inner.small{height:auto;max-height:80vh;width:auto;min-width:400px;padding:24px}.modal-close{position:absolute;top:12px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid var(--border-glass);color:#fff;font-size:26px;line-height:1}.modal-content{height:100%;display:flex;flex-direction:column}.qmodal{display:grid;grid-template-columns:1fr 340px;gap:24px;height:100%}.qmodal .qleft{display:flex;flex-direction:column;overflow:auto}.qmodal .qright{display:flex;flex-direction:column;gap:14px;overflow:auto;padding-left:20px;border-left:1px solid var(--border-glass)}.qmodal .qprompt{font-size:32px;font-weight:700;margin-bottom:20px;text-align:center}.qmodal .qmedia{flex:1;display:grid;place-items:center}.qmodal .qmedia img{max-width:100%;max-height:100%;border-radius:12px;transition:filter .4s}.qmodal .qanswer{margin-top:20px;padding:16px;background:#2fbf7126;border-radius:10px;border:1px solid rgba(47,191,113,.35);font-size:20px;text-align:center}.qmodal .qanswer.hidden-answer{background:#ffffff0d;color:var(--muted);border-color:var(--border-glass)}.qmodal .cat-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;align-self:flex-start}.buzz-list{display:flex;flex-direction:column;gap:6px}.buzz-item{padding:10px 12px;border-radius:8px;background:#ffffff0f;display:flex;justify-content:space-between;align-items:center;font-size:14px}.buzz-item.active{background:var(--yellow);color:#2a1e00;font-weight:700}.buzz-item .rt{color:var(--muted);font-size:12px}.buzz-item.active .rt{color:#4a3600}.score-actions{display:flex;gap:8px}.score-actions .btn{flex:1}.sort-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.sort-list li{padding:12px 16px;background:#ffffff14;border-radius:8px;border:1px solid var(--border-glass);cursor:grab;-webkit-user-select:none;user-select:none}.sort-list li.dragging{opacity:.5}.sort-list li.locked{cursor:default;opacity:.8}.sort-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sort-columns h4{margin:0 0 10px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:1px}.audio-box{padding:20px;background:#0006;border-radius:12px;text-align:center}.audio-box audio{width:100%;margin:16px 0}.duel-box{padding:20px;text-align:center}.duel-input{width:100%;padding:14px;font-size:20px;border-radius:10px;border:1px solid var(--border-glass);background:#00000059;color:#fff;text-align:center;margin:12px 0}.duel-answers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.duel-answers .da{padding:20px;background:#ffffff0f;border-radius:12px}.duel-answers .da h4{margin:0 0 8px;color:var(--gold)}.duel-answers .da .val{font-size:28px;font-weight:700}.pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:16px}.pick-btn{padding:14px;border-radius:10px;border:1px solid var(--border-glass);background:#ffffff14;color:#fff;font-weight:700}.pick-btn:hover{background:#fff3}.editor-grid{display:grid;grid-template-columns:200px 1fr;gap:20px;height:100%;overflow:hidden}.editor-side{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.editor-side button{text-align:left;padding:10px 12px;background:#ffffff0d;border:1px solid var(--border-glass);border-radius:8px;color:#fff}.editor-side button.active{background:var(--gold);color:#1a1500}.editor-main{overflow-y:auto;padding-right:12px}.editor-main h3{margin-top:0}.editor-form label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted)}.editor-form input,.editor-form textarea,.editor-form select{width:100%;padding:10px;border-radius:8px;border:1px solid var(--border-glass);background:#00000059;color:#fff;font-family:inherit;font-size:14px}.editor-form textarea{min-height:80px;resize:vertical}.editor-actions{margin-top:20px;display:flex;gap:10px}body.role-none .app,body.role-none #modal,body.role-none #editor,body.role-none #picker,body.role-player .host-only{display:none!important}body:not(.role-host) .host-only{display:none!important}body:not(.role-player) .player-only{display:none!important}@media (max-width: 1100px){.scoreboard,.board,.name-inputs{grid-template-columns:repeat(3,1fr)}.qmodal{grid-template-columns:1fr}.qmodal .qright{border-left:none;border-top:1px solid var(--border-glass);padding-left:0;padding-top:20px}}@media (max-width: 700px){.scoreboard,.board,.name-inputs,.role-grid{grid-template-columns:repeat(2,1fr)}.buzzer{width:140px;height:140px;font-size:22px}}#modal[hidden],#editor[hidden],#picker[hidden],.modal[hidden],[hidden]{display:none!important}.estimate-player{display:flex;flex-direction:column;gap:10px;margin-top:12px}.estimate-player.submitted .est-val{font-size:32px;font-weight:900;color:var(--gold);text-align:center;padding:20px;background:#0000004d;border-radius:12px}.estimate-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.estimate-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffff0d;border:1px solid var(--border-glass)}.estimate-row.submitted{background:#2fbf711f;border-color:#2fbf7159}.estimate-row.pending .pv{color:var(--muted);font-style:italic;font-size:13px}.estimate-row .pn{font-weight:700}.estimate-row .pv{font-size:18px;font-weight:900;color:var(--gold)}.imposter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.imposter-item{padding:24px 16px;text-align:center;font-size:22px;font-weight:700;background:#ffffff14;border:1px solid var(--border-glass);border-radius:12px}.media-missing{padding:20px;background:#e14b4b1f;border:1px solid rgba(225,75,75,.35);color:#ffb0b0;border-radius:10px;text-align:center;font-size:13px}.media-missing code{font-size:12px;color:#ffdada}#player-count-select{background:#14161d;color:var(--text);border:1px solid var(--border-glass);border-radius:10px;padding:6px 10px;font-size:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}#player-count-select:hover{background:#1c1f28}#player-count-select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #ffd16640}#player-count-select option{background:#14161d;color:var(--text)}.hl-base{margin-top:12px;padding:12px 16px;background:#ffffff0f;border:1px solid var(--border-glass);border-radius:10px;text-align:center;font-size:18px;font-weight:700}.hl-player{display:flex;flex-direction:column;gap:10px;margin-top:14px}.hl-player .hl-my{font-size:32px;font-weight:900;color:var(--gold);text-align:center;padding:20px;background:#0000004d;border-radius:12px}.hl-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hl-btn{padding:22px 12px;border-radius:12px;border:1px solid var(--border-glass);background:linear-gradient(135deg,#1fa2ff33,#1fa2ff14);color:var(--text);font-size:22px;font-weight:900;letter-spacing:1px;transition:transform .1s,background .15s,border-color .15s}.hl-btn:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#1fa2ff59,#1fa2ff26);border-color:#1fa2ff80}.hl-btn:disabled{opacity:.45;cursor:not-allowed}.hl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.hl-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffff0d;border:1px solid var(--border-glass)}.hl-row.pending .pv{color:var(--muted);font-style:italic;font-size:13px}.hl-row.correct{background:#2fbf7126;border-color:#2fbf7166}.hl-row.correct .pv{color:#b0f5cf;font-weight:900}.hl-row.wrong{background:#e14b4b26;border-color:#e14b4b66}.hl-row.wrong .pv{color:#ffb0b0;font-weight:900}.hl-row .pn{font-weight:700}.joker-btn.active{background:linear-gradient(135deg,#ffc40059,#ffc40026);border-color:#ffc40099;color:#ffe08a;font-weight:900}.avatar{position:relative}.shield-indicator{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#fc3,#f90);color:#1a1a1a;font-size:14px;line-height:1;padding:4px 6px;border-radius:999px;box-shadow:0 2px 6px #0006;border:2px solid rgba(0,0,0,.35);z-index:2}.qmodal .qleft{align-items:center;text-align:center}.qmodal .qleft>*{max-width:100%}.qmodal .qprompt{text-align:center;margin-left:auto;margin-right:auto;max-width:900px;line-height:1.3}.qmodal .qmedia{justify-content:center;margin:0 auto}.qmodal .imposter-grid,.qmodal .hl-choices,.qmodal .hl-player,.qmodal .estimate-player,.qmodal .audio-box,.qmodal .duel-box{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.qmodal .hl-base{max-width:640px;margin-left:auto;margin-right:auto}.qmodal .qprompt{font-size:34px}.qmodal .estimate-list,.qmodal .hl-list,.qmodal .sort-list{text-align:left;max-width:720px;margin:12px auto 0}.qmodal .sort-columns{max-width:900px;margin:0 auto;text-align:left}.estimate-row.winner-sel{background:#2fbf7138;border-color:#2fbf7199;box-shadow:0 0 0 2px #2fbf7159 inset}.pick-btn.selected{background:#2fbf7159!important;border-color:#2fbf7199!important}.skip-banner{background:#ffb43c24;border:1px solid rgba(255,180,60,.45);color:#ffd58a;padding:10px 14px;border-radius:10px;margin:8px auto 4px;text-align:center;font-weight:600;max-width:560px}.skip-banner.me{background:#e15a5a2e;border-color:#e15a5a8c;color:#ffbcbc}.hl-row.skipped,.estimate-row.skipped{opacity:.75;background:#ffb43c14;border-color:#ffb43c59}.whoami-tips{max-width:640px;margin:12px auto 0;display:flex;flex-direction:column;gap:10px;text-align:left}.whoami-tips .tip{background:#ffffff0d;border:1px solid var(--border-glass);border-radius:12px;padding:12px 16px;animation:whoami-fade .35s ease-out}.whoami-tips .tip-num{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.whoami-tips .tip-text{font-size:20px;line-height:1.35}.whoami-tips .tip.tip-new{border-color:#d4af378c;box-shadow:0 0 0 2px #d4af3740 inset}#btn-reveal-tip{align-self:center}@keyframes whoami-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.qsubprompt{margin-top:8px;text-align:center;color:var(--muted);font-size:16px;font-style:italic;max-width:900px;margin-left:auto;margin-right:auto;line-height:1.4;word-break:break-word}.scoreboard{display:flex!important;flex-direction:column;gap:14px;grid-template-columns:none!important}.scoreboard-row{display:flex;flex-wrap:nowrap;justify-content:center;gap:14px;width:100%}.scoreboard-row>.player-card{flex:1 1 0;min-width:0;max-width:220px}.scoreboard.compact,.scoreboard.compact .scoreboard-row{gap:10px}.scoreboard.compact .scoreboard-row>.player-card{max-width:190px}.scoreboard.compact .player-card{padding:10px 8px}.scoreboard.compact .player-card .avatar{width:56px;height:56px}.scoreboard.compact .player-card .pname{font-size:13px;min-height:30px}.scoreboard.compact .player-card .score{font-size:24px}.scoreboard.compact .joker-btn{font-size:10px;padding:4px 2px}@media (max-width: 900px){.scoreboard-two-rows .scoreboard-row{flex-wrap:wrap}.scoreboard-two-rows .scoreboard-row>.player-card{flex:1 1 140px;max-width:100%}.scoreboard-one-row .scoreboard-row{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scoreboard-one-row .scoreboard-row>.player-card{flex:0 0 auto;width:160px;max-width:none}}@media (max-width: 520px){.scoreboard-two-rows .scoreboard-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.scoreboard-two-rows .scoreboard-row>.player-card{flex:0 0 46%;min-width:150px}}.qmodal .qleft{justify-content:center;gap:12px}.qmodal .qleft>*{flex-shrink:0}.qmodal .qmedia{width:100%;max-width:420px;height:clamp(220px,38vh,300px)!important;max-height:none!important;margin:0 auto;display:flex;align-items:center;justify-content:center}.qmodal .qmedia img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:12px}@media (max-width: 700px){.qmodal .qmedia{max-width:100%;height:clamp(180px,32vh,260px)!important}}.qmodal .hl-choices{justify-content:center;max-width:520px;margin-left:auto;margin-right:auto}.qmodal .hl-btn{min-height:72px}.qmodal .hl-base{margin-left:auto;margin-right:auto}.qmodal .qprompt{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-left:auto;margin-right:auto}.qmodal .imposter-grid{justify-content:center;max-width:720px;margin-left:auto;margin-right:auto}.qmodal .whoami-tips{align-items:stretch}#btn-reveal-tip{margin:12px auto 0;display:block}.qmodal .estimate-player .btn,.qmodal .duel-box .btn{min-height:46px}.qmodal .estimate-player,.qmodal .duel-box{align-items:stretch;text-align:center}.qmodal .audio-box{text-align:center}.qmodal .qanswer,.qmodal .qsubprompt{max-width:780px;margin-left:auto;margin-right:auto}.qmodal .qprompt.emoji-prompt{font-size:clamp(64px,10vw,112px);line-height:1.15;letter-spacing:.15em;text-align:center;word-spacing:.2em;margin:12px auto 24px}@media (max-width: 720px){.qmodal .qprompt.emoji-prompt{font-size:clamp(48px,12vw,80px);letter-spacing:.08em}}.category-introduction{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 28px;max-width:680px;margin:0 auto;text-align:center;min-height:320px}.category-introduction .cat-badge{align-self:center;padding:6px 14px;border-radius:999px;font-weight:700;color:#0a0b10;font-size:14px;letter-spacing:1px;text-transform:uppercase}.category-introduction-title{margin:4px 0 0;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:1px;color:var(--gold)}.category-introduction-text{margin:0;font-size:clamp(16px,2vw,20px);line-height:1.55;color:var(--text);max-width:560px}.category-introduction-host-button{margin-top:12px;padding:14px 32px;font-size:17px;font-weight:700;border-radius:12px;border:none}.category-introduction-waiting{margin-top:8px;padding:10px 16px;font-size:15px;color:var(--muted);border:1px dashed var(--border-glass);border-radius:10px}@media (max-width: 600px){.category-introduction{padding:24px 16px;gap:16px;min-height:260px}}.duel-modal{text-align:center;overflow:auto}.duel-title{margin:0 0 6px;color:var(--gold);font-size:22px;letter-spacing:1px;text-transform:uppercase}.duel-header{margin-bottom:18px}.duel-vs{display:flex;align-items:center;justify-content:center;gap:14px;font-size:22px;font-weight:900}.duel-vs-sep{color:var(--muted);font-size:15px;font-weight:700;padding:4px 10px;border:1px solid var(--border-glass);border-radius:999px}.duel-name{color:var(--gold)}.duel-sub{margin:6px 0 0;color:var(--muted);font-size:14px}.duel-prompt{font-size:26px;line-height:1.35;max-width:780px;margin:12px auto 20px}.duel-input-wrap{display:flex;flex-direction:column;gap:10px;max-width:460px;margin:12px auto 0}.duel-info{color:var(--muted);margin-top:12px}.duel-spectator{display:inline-block;margin-top:12px;padding:10px 18px;background:#ffffff0f;border:1px dashed var(--border-glass);border-radius:10px;color:var(--muted);font-size:15px}.duel-solution{margin-top:14px;color:var(--gold);font-size:18px}.duel-host-actions{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}#results-modal{z-index:300}.results-inner{max-width:900px;height:auto;max-height:92vh;padding:32px;overflow:hidden;position:relative}.results-panel{display:flex;flex-direction:column;align-items:stretch;gap:16px;max-height:100%;overflow:auto}.results-title{margin:0;text-align:center;font-size:clamp(28px,4vw,38px);color:var(--gold);letter-spacing:1px}.results-title.big{font-size:clamp(36px,5vw,52px);text-shadow:0 0 30px rgba(255,209,102,.35)}.results-subtitle{margin:0;text-align:center;color:var(--muted);font-size:16px}.results-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:10px}.results-row{display:grid;grid-template-columns:40px 48px 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-radius:12px;background:#ffffff0d;border:1px solid var(--border-glass)}.results-list.podium .results-row{grid-template-columns:48px 40px 48px 1fr auto}.results-medal{font-size:26px;text-align:center}.results-rank{font-weight:900;color:var(--muted);text-align:right}.results-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#1a1c24}.results-avatar img{width:100%;height:100%;object-fit:cover}.results-name{font-weight:700;text-align:left}.results-score{font-weight:900;color:var(--gold);font-size:24px}.results-row.top-1,.results-row.rank-1{background:linear-gradient(135deg,#ffd16638,#ffd16614);border-color:#ffd1668c}.results-row.top-2,.results-row.rank-2{background:linear-gradient(135deg,#c8d2dc2e,#c8d2dc0d);border-color:#c8d2dc66}.results-row.top-3,.results-row.rank-3{background:linear-gradient(135deg,#cd7f3233,#cd7f320f);border-color:#cd7f3266}.results-actions{display:flex;gap:10px;justify-content:center;margin-top:8px}.results-wait{text-align:center;color:var(--muted);font-style:italic;margin:4px 0 0}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:10px;height:14px;opacity:.9;border-radius:2px;animation:confetti-fall linear infinite}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0)}to{transform:translateY(105vh) rotate(720deg)}}@media (prefers-reduced-motion: reduce){.confetti-piece{display:none!important}}
