:root{--bg:#f5f6fb;--surface:#fff;--border:#e3e6f0;--text:#1c1f2e;--text-muted:#6b7086;--primary:#5b5bf0;--primary-hover:#4949d9;--accent:#22c58b;--danger:#e5484d;--warning:#f5a524;--radius:14px;--shadow:0 1px 2px #14142b0a, 0 8px 24px #14142b0f;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4{margin:0 0 4px;line-height:1.25}p{margin:0 0 8px}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit;font-size:15px}.muted{color:var(--text-muted)}.small{font-size:13px}.center-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.auth-card{width:100%;max-width:420px}.brand{align-items:center;gap:10px;margin-bottom:4px;display:flex}.brand-mark{color:var(--primary);font-size:26px}.brand-name{letter-spacing:-.02em;font-size:22px;font-weight:700}.subtitle{color:var(--text-muted);margin-bottom:20px}.tabbar{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:600;display:flex}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #14142b1a}.badge{background:var(--primary);color:#fff;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.form{flex-direction:column;gap:14px;display:flex}.form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.inline-label{align-items:center;font-size:13px;display:flex;flex-direction:row!important;gap:8px!important}.inline-label input{width:80px}input[type=text],input[type=number],input:not([type]),textarea{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:15px;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--primary)}.code-input{text-transform:uppercase;letter-spacing:.15em;text-align:center;font-weight:700}button.primary{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:600;transition:background .15s}button.primary:hover{background:var(--primary-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 16px;font-size:14px;font-weight:600}button.secondary:hover{background:#ebedf7}.link-btn{color:var(--primary);text-align:left;background:0 0;border:none;padding:4px 0;font-size:14px;font-weight:600}.icon-btn{color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:14px}.icon-btn:hover{background:var(--bg);color:var(--danger)}.error-text{color:var(--danger);margin-top:8px;font-size:14px}.room-shell{max-width:720px;margin:0 auto;padding:24px 16px 80px}.room-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.code-pill{background:var(--surface);border:1px solid var(--border);letter-spacing:.08em;color:var(--primary);border-radius:6px;padding:1px 8px;font-weight:700;display:inline-block}.participant-count{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.room-tabbar{margin-bottom:18px}.room-main,.panel{flex-direction:column;gap:16px;display:flex}.panel-toolbar{justify-content:flex-end;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.poll-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.status-pill{text-transform:uppercase;letter-spacing:.05em;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.status-open{color:#16915f;background:#22c58b1f;border-color:#0000}.status-closed{color:var(--danger);background:#e5484d1a;border-color:#0000}.status-draft{color:#b3760f;background:#f5a52424;border-color:#0000}.vote-options{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.vote-option{border:1.5px solid var(--border);background:var(--surface);text-align:left;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:500}.vote-option:hover{border-color:var(--primary)}.vote-option.selected{border-color:var(--primary);background:#5b5bf014;font-weight:700}.poll-results{flex-direction:column;gap:10px;display:flex}.poll-bar-row{flex-direction:column;gap:4px;display:flex}.poll-bar-label{justify-content:space-between;font-size:14px;font-weight:600;display:flex}.you-tag{color:var(--primary);margin-left:6px;font-size:11px;font-weight:700}.poll-bar-track{background:var(--bg);border-radius:999px;height:10px;overflow:hidden}.poll-bar-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .4s}.options-editor{flex-direction:column;gap:8px;display:flex}.option-row{align-items:center;gap:8px;display:flex}.card-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.kind-picker{flex-wrap:wrap;gap:6px;display:flex}.kind-option{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.kind-option.selected{border-color:var(--primary);color:var(--primary);background:#5b5bf014}.poll-kind-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.star-picker{gap:4px;margin-bottom:12px;display:flex}.star-btn{color:var(--border);background:0 0;border:none;padding:2px;font-size:30px;line-height:1}.star-btn.filled,.star-btn:not(:disabled):hover{color:var(--warning)}.rating-summary{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.rating-average{color:var(--primary);font-size:28px;font-weight:800}.text-answer-form{flex-direction:row;gap:10px;margin-bottom:14px}.text-answer-form input{flex:1}.text-response-list{flex-direction:column;gap:8px;display:flex}.text-response-card{background:var(--bg);border-radius:10px;padding:10px 14px;font-size:14px}.idea-form{flex-direction:row;gap:10px;margin-bottom:14px}.idea-form input{flex:1}.idea-card{background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.rank-order-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.rank-order-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex}.rank-order-text{flex:1;font-weight:600}.rank-order-controls{gap:4px;display:flex}.rank-order-controls button{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text);border-radius:6px;font-size:13px}.rank-order-controls button:disabled{opacity:.35}.wordcloud-submit-row{flex-direction:row;align-items:center;gap:10px}.wordcloud-submit-row input{flex:1}.word-chips{flex-wrap:wrap;gap:8px;display:flex}.word-chip{border:1px solid var(--border);color:var(--primary);background:#5b5bf014;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600;display:inline-flex}.word-chip button{color:var(--primary);background:0 0;border:none;border-radius:50%;padding:4px;font-size:13px;line-height:1}.word-chip button:hover{background:#5b5bf02e}.wordcloud-canvas{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;min-height:160px;padding:24px 16px;display:flex}.wordcloud-tag{background:0 0;border:none;border-radius:6px;padding:2px 4px;font-weight:700;line-height:1.2;transition:font-size .35s cubic-bezier(.34,1.56,.64,1),color .2s}button.wordcloud-tag{cursor:pointer}button.wordcloud-tag:hover{background:#e5484d1a;text-decoration:line-through;color:var(--danger)!important}.wordcloud-tag:nth-of-type(5n+1){color:var(--primary)}.wordcloud-tag:nth-of-type(5n+2){color:var(--accent)}.wordcloud-tag:nth-of-type(5n+3){color:var(--warning)}.wordcloud-tag:nth-of-type(5n+4){color:#08b6ce}.wordcloud-tag:nth-of-type(5n+5){color:var(--danger)}.qa-form{flex-direction:row;align-items:flex-start;gap:10px}.qa-form textarea{resize:vertical;flex:1}.toggle-row{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.qa-card.answered{opacity:.6}.qa-text{margin-bottom:10px;font-size:15px}.qa-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.qa-actions{align-items:center;gap:12px;display:flex}.upvote-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.upvote-btn.selected{border-color:var(--primary);color:var(--primary);background:#5b5bf014}.question-block{padding:16px}.question-block-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.game-status-card{padding:16px 20px}.timer-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.timer-ring{flex-shrink:0;width:56px;height:56px;position:relative}.timer-ring svg{width:56px;height:56px;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke-width:5px}.timer-ring .track{stroke:var(--bg)}.timer-ring .progress{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .2s}.timer-ring.urgent .progress{stroke:var(--danger)}.timer-ring-label{color:var(--text);justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;position:absolute;inset:0}.game-options{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.game-option{border:1.5px solid var(--border);background:var(--surface);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:15px;font-weight:500;display:flex}.game-option:not(:disabled):hover{border-color:var(--primary)}.game-option.picked{border-color:var(--primary);background:#5b5bf014;font-weight:700}.game-option.correct{border-color:var(--accent);background:#22c58b1f;font-weight:700}.game-option.incorrect{border-color:var(--danger);background:#e5484d1a}.game-option:disabled{cursor:default}.result-text{font-size:15px;font-weight:700}.result-text.correct{color:#16915f}.result-text.incorrect{color:var(--danger)}.leaderboard-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.leaderboard-row.me{outline:1.5px solid var(--primary);background:#5b5bf01a}.leaderboard-row.rank-1 .rank{color:var(--warning)}.rank{color:var(--text-muted);width:28px;font-weight:700}.lb-avatar{font-size:20px;line-height:1}.lb-name{flex:1;font-weight:600}.lb-score{color:var(--primary);font-weight:800}.rank-delta{text-align:right;min-width:28px;font-size:11px;font-weight:700}.rank-delta.up{color:var(--accent)}.rank-delta.down{color:var(--danger)}.rank-delta.same{color:var(--text-muted)}.scoring-toggle{flex-direction:column;gap:6px;display:flex}.scoring-option{text-transform:none;cursor:pointer;align-items:center;color:var(--text)!important;flex-direction:row!important;gap:8px!important;font-size:14px!important;font-weight:500!important;display:flex!important}.scoring-option input{width:auto}.podium{justify-content:center;align-items:flex-end;gap:10px;padding:12px 8px 0;display:flex}.podium-place{flex-direction:column;align-items:center;gap:6px;width:30%;display:flex}.podium-avatar{font-size:34px;line-height:1}.podium-medal{font-size:20px;line-height:1}.podium-name{text-align:center;overflow-wrap:anywhere;font-size:14px;font-weight:700}.podium-score{color:var(--primary);font-size:13px;font-weight:800}.podium-block{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-muted);border-bottom:none;border-radius:10px 10px 0 0;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex}.podium-place.gold{order:2}.podium-place.gold .podium-block{color:#b3760f;background:#f5a52429;height:92px}.podium-place.silver{order:1}.podium-place.silver .podium-block{height:66px}.podium-place.bronze{order:3}.podium-place.bronze .podium-block{height:48px}.slide-add-toolbar{flex-wrap:wrap;gap:8px;display:flex}.slide-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slide-list-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex}.slide-list-index{color:var(--text-muted);flex-shrink:0;width:22px;font-weight:700}.slide-list-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);flex-shrink:0;width:78px;font-size:11px;font-weight:700}.slide-list-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.slide-list-controls{gap:4px;display:flex}.presenter-stage{padding:24px 8px}.presenter-slide-counter{text-align:center;margin-bottom:10px}.presenter-nav{justify-content:center;align-items:center;gap:16px;margin-top:18px;display:flex}.presenter-nav button.primary{min-width:110px}.slide-heading{margin-bottom:10px;font-size:26px}.slide-body{color:var(--text-muted);white-space:pre-wrap}.presentation-overlay{z-index:80;background:var(--bg);justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.presentation-overlay-inner{width:100%;max-width:560px}.presentation-slide-kicker{text-align:center;margin-bottom:14px}.people-table{border-collapse:collapse;width:100%;font-size:14px}.people-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}.people-table td{border-bottom:1px solid var(--border);padding:8px}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.online{background:var(--accent)}.status-dot.offline{background:var(--border)}.confetti-layer{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:8px;height:14px;position:absolute;top:-12px}[x-cloak]{display:none!important}@media (width<=480px){.room-header{flex-direction:column}}
