:root{--bg-primary:#1a1a2e;--bg-secondary:#16213e;--bg-tertiary:#2d2d44;--gradient-primary:linear-gradient(135deg,#1a1a2e,#16213e);--gradient-secondary:linear-gradient(135deg,#2d2d44,#1a1a2e);--accent-primary-start:#667eea;--accent-primary-end:#764ba2;--gradient-accent-primary:linear-gradient(135deg,#667eea,#764ba2);--accent-secondary-start:#f093fb;--accent-secondary-end:#f5576c;--gradient-accent-secondary:linear-gradient(135deg,#f093fb,#f5576c);--card-black:#1a1a1a;--card-white:#fff;--card-border-black:#333;--card-border-white:#ddd;--text-primary:#fff;--text-secondary:#ffffffe6;--text-tertiary:#ffffffb3;--text-dimmed:#ffffff80;--text-dark:#2c3e50;--text-muted:#7f8c8d;--color-success:#4caf50;--color-warning:#fbbf24;--color-error:#ef4444;--color-info:#3b82f6;--gradient-pg13:linear-gradient(135deg,#a8edea,#fed6e3);--gradient-18plus:linear-gradient(135deg,#ff9a9e,#fecfef);--gradient-vote:linear-gradient(135deg,#fbbf24,#f59e0b);--shadow-accent-primary:#667eea66;--shadow-accent-primary-strong:#667eea99;--shadow-accent-secondary:#f5576c66;--shadow-dark:#0003;--shadow-light:#ffffff1a;--glass-bg:#ffffff1a;--glass-bg-strong:#ffffff26;--glass-border:#fff3;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:30px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}body{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;color:var(--text-primary);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.join-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.join-card{background:var(--card-white);border-radius:var(--radius-lg);box-shadow:0 25px 70px #00000040;max-width:500px;padding:60px 40px;text-align:center;width:100%}.app-title{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;margin-bottom:10px}.app-subtitle{color:#64748b;font-size:1.2rem;margin-bottom:40px}.join-form{display:flex;flex-direction:column;gap:20px}.name-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:1.1rem;outline:none;padding:18px 24px;transition:all .3s ease}.name-input:focus{background:#fff;border-color:#5e6ec2;box-shadow:0 0 0 4px #5e6ec21a}.join-button{background:var(--gradient-accent-primary);border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px var(--shadow-accent-primary);color:var(--text-primary);cursor:pointer;font-size:1.2rem;font-weight:600;padding:18px 24px;transition:var(--transition-fast)}.join-button:hover:not(:disabled){box-shadow:0 8px 20px #5e6ec266;transform:translateY(-2px)}.join-button:disabled{cursor:not-allowed;opacity:.5}.error-message{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;font-weight:600;padding:12px}.home-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border:2px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;left:20px;padding:12px 24px;position:fixed;top:20px;transition:var(--transition-fast);z-index:1000}.home-button:hover{background:#ffffff4d;transform:scale(1.05)}.confirm-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.confirm-modal{background:var(--card-white);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;text-align:center}.confirm-modal h2{color:#1e293b;font-size:1.8rem;margin-bottom:15px}.confirm-modal p{color:#64748b;font-size:1.1rem;margin-bottom:30px}.confirm-buttons{display:flex;gap:15px;justify-content:center}.confirm-no,.confirm-yes{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all .2s ease}.confirm-yes{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.confirm-yes:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:scale(1.05)}.confirm-no{background:#e2e8f0;color:#475569}.confirm-no:hover{background:#cbd5e1;transform:scale(1.05)}.swap-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border:2px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;left:140px;padding:12px 24px;position:fixed;top:20px;transition:var(--transition-fast);z-index:1000}.swap-button:hover{background:#ffffff4d;transform:scale(1.05)}.mode-button.hidden{background:linear-gradient(135deg,#667eea,#764ba2)}.mode-button.hidden .mode-title{color:#fff}.mode-button.hidden .mode-desc{color:#e2e8f0}.mode-button.known{background:linear-gradient(135deg,#f093fb,#f5576c)}.mode-button.known .mode-desc,.mode-button.known .mode-title{color:#fff}.ready-to-start{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:20px}.ready-content{max-width:600px;text-align:center;width:100%}.ready-content h1{color:#333;font-size:2rem;margin-bottom:30px;margin-left:0;margin-right:0;text-align:center;width:100%}.ready-card{background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000001a;padding:40px}.ready-card h2{color:#2c3e50;font-size:2.5rem;margin-bottom:20px}.ready-message{color:#666;font-size:1.2rem;line-height:1.6;margin-bottom:30px}.admin-instruction{color:#7f8c8d;font-size:1rem;margin-bottom:20px}.start-round-button{background:var(--gradient-accent-primary);border:none;border-radius:50px;box-shadow:0 5px 15px #667eea66;color:var(--text-primary);cursor:pointer;font-size:1.3rem;font-weight:700;padding:18px 50px;transition:all .3s ease}.start-round-button:hover{box-shadow:0 8px 20px #667eea99;transform:translateY(-2px)}.start-round-button:active{transform:translateY(0)}.waiting-message{color:#95a5a6}.character-reveal{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.reveal-content{max-width:600px;text-align:center}.reveal-content h1{font-size:2.5rem;margin-bottom:40px;opacity:.9}.character-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:2px solid #ffffff40;border-radius:20px;box-shadow:0 20px 60px #00000040;margin-bottom:30px;padding:50px 40px}.character-card h2{font-size:1.5rem;margin-bottom:30px;opacity:.9}.character-name{font-size:3.5rem;font-weight:800;margin-bottom:20px;text-shadow:0 4px 20px #0000004d}.character-hint{font-size:1.1rem;line-height:1.5;opacity:.8}.countdown{font-size:1.5rem;font-weight:600;opacity:.9}.discussion{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.discussion-content{max-width:700px;padding-top:60px;text-align:center}.discussion-content h1{font-size:3rem;margin-bottom:50px}.timer-display{margin-bottom:40px}.timer-circle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:2px solid #ffffff40;border-radius:50%;box-shadow:0 20px 60px #00000040;display:flex;height:250px;justify-content:center;margin:0 auto;width:250px}.timer-text{font-family:Courier New,monospace;font-size:4rem;font-weight:800}.instructions{margin-bottom:40px}.instructions p{font-size:1.3rem;margin-bottom:12px;opacity:.9}.vote-now-button{background:var(--gradient-vote);border:none;border-radius:12px;box-shadow:0 8px 24px #fbbf2466;color:var(--text-primary);cursor:pointer;font-size:1.3rem;font-weight:700;padding:18px 40px;transition:all .2s ease}.vote-now-button:hover{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 12px 32px #fbbf2480;transform:translateY(-2px)}.character-reminder{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border:1px solid #fff3;border-radius:16px;box-shadow:0 10px 30px #0003;margin-bottom:40px;padding:25px 30px}.toggle-character-button{background:var(--gradient-accent-primary);border:none;border-radius:10px;box-shadow:0 4px 15px #5e6ec24d;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:15px;padding:12px 24px;transition:all .2s ease}.toggle-character-button:hover{background:linear-gradient(135deg,#505fb0,#6b5fb8);box-shadow:0 6px 20px #5e6ec266;transform:translateY(-1px)}.toggle-character-button:active{transform:translateY(0)}.character-display{align-items:center;display:flex;justify-content:center;min-height:50px}.character-text{color:var(--text-primary);font-size:2rem;font-weight:700;text-shadow:0 2px 10px #0000004d}.character-hidden{color:#ffffff4d;font-size:2rem;letter-spacing:8px;-webkit-user-select:none;user-select:none}.voting{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.voting-content{max-width:700px;text-align:center}.voting-content h1{font-size:2.5rem;margin-bottom:30px}.extratime-notice{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);border:1px solid #fbbf2466;border-radius:16px;margin-bottom:30px;padding:20px}.extratime-notice p{font-size:1.2rem;margin-bottom:10px}.extratime-timer{font-family:Courier New,monospace;font-size:2rem;font-weight:800}.vote-status{font-size:1.3rem;margin-bottom:30px;opacity:.9}.players-vote-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.vote-player-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:2px solid #fff3;border-radius:16px;cursor:pointer;display:flex;justify-content:space-between;padding:20px 25px;transition:all .2s ease}.vote-player-card:hover{background:#ffffff40;border-color:#ffffff4d;transform:scale(1.02)}.vote-player-card.selected{background:#10b98140;border-color:#10b981;box-shadow:0 4px 16px #10b9814d}.vote-player-name{font-size:1.4rem;font-weight:600}.vote-radio{align-items:center;border:3px solid #fff;border-radius:50%;display:flex;font-size:1.2rem;height:30px;justify-content:center;width:30px}.submit-vote-button{background:var(--color-success);border:none;border-radius:12px;box-shadow:0 6px 20px #10b9814d;color:var(--text-primary);cursor:pointer;font-size:1.3rem;font-weight:700;padding:18px 50px;transition:all .2s ease}.submit-vote-button:hover:not(:disabled){background:var(--color-success);box-shadow:0 10px 30px #10b98166;transform:translateY(-2px)}.submit-vote-button:disabled{cursor:not-allowed;opacity:.5}.voted-confirmation{color:#10b981;font-size:1.5rem;font-weight:600;margin-bottom:20px}.voted-players-list{align-items:center;display:flex;flex-direction:column;gap:10px}.voted-player{font-size:1.1rem;opacity:.8}.round-results{justify-content:center}.results-content{max-width:800px;text-align:center;width:100%}.reveal-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;margin-bottom:30px;opacity:0;padding:40px;transform:scale(.9) translateY(20px);transition:all .8s ease}.reveal-box.revealed{opacity:1;transform:scale(1) translateY(0)}.reveal-text{font-size:1.8rem;margin-bottom:20px}.reveal-name{font-size:3.5rem}.reveal-name.voted-name{color:gold;text-shadow:0 0 20px #ffd70080}.reveal-name .emoji{font-size:3rem}.character-reveal-boxes{display:flex;gap:20px;justify-content:center;margin-bottom:30px;opacity:0;transform:translateY(20px);transition:all .8s ease}.character-reveal-boxes.revealed{opacity:1;transform:translateY(0)}.character-reveal-boxes.single-box{justify-content:center}.character-reveal-boxes.single-box .character-box{min-width:300px}.character-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-md);box-shadow:0 10px 30px var(--shadow-dark);min-width:200px;padding:25px 35px;text-align:center}.character-box.players-character{border:2px solid #64c8ff99}.character-box.imposter-character{border:2px solid #ff6b6b99}.character-label{font-size:1rem;font-weight:600;margin-bottom:10px;opacity:.8}.character-name{font-size:1.8rem;font-weight:700}.character-box.players-character .character-name{color:#64c8ff;text-shadow:0 0 15px #64c8ff66}.character-box.imposter-character .character-name{color:#ff6b6b;text-shadow:0 0 15px #ff6b6b66}.round-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg);margin-bottom:30px;opacity:0;padding:30px;transform:translateY(30px);transition:all .8s ease}.round-leaderboard.revealed{opacity:1;transform:translateY(0)}.round-leaderboard h2{font-size:1.8rem;margin-bottom:25px}.leaderboard-list{gap:12px}.leaderboard-item{background:#fff3;border-radius:12px;justify-content:space-between;padding:18px 25px}.leaderboard-item.current-player{background:#ffd7004d;border:2px solid #ffd700e6}.leaderboard-item .rank{font-size:1.5rem;font-weight:700;min-width:60px}.leaderboard-item .player-name{flex:1 1;font-size:1.3rem;font-weight:600;text-align:left}.leaderboard-item .score{font-size:1.5rem;font-weight:700;min-width:100px;text-align:right}.next-round-button{background:var(--color-success);border-radius:var(--radius-md);transition:var(--transition-fast)}.next-round-button:hover{background:#45a049;box-shadow:0 10px 30px #0000004d}.waiting-admin{font-size:1.2rem;font-style:italic;opacity:.8}@media (max-width:768px){.round-results{padding:20px 15px}.reveal-box{margin-bottom:20px;padding:30px 20px}.reveal-text{font-size:1.3rem;margin-bottom:15px}.reveal-name{font-size:2.5rem}.reveal-name .emoji{font-size:2rem}.character-reveal-boxes{flex-direction:column;gap:15px;margin-bottom:20px}.character-box{min-width:auto;padding:20px 25px}.character-label{font-size:.9rem;margin-bottom:8px}.character-name{font-size:1.5rem}.round-leaderboard{padding:20px 15px}.round-leaderboard h2{font-size:1.4rem;margin-bottom:20px}.leaderboard-item{padding:12px 15px}.leaderboard-item .rank{font-size:1.2rem;min-width:45px}.leaderboard-item .player-name{font-size:1.1rem}.leaderboard-item .score{font-size:1.2rem;min-width:80px}.next-round-button{font-size:1.1rem;padding:15px 40px}.waiting-admin{font-size:1rem}}@media (max-width:400px){.reveal-box{padding:25px 15px}.reveal-text{font-size:1.1rem}.reveal-name{font-size:2rem}.reveal-name .emoji{font-size:1.5rem}.character-box{padding:15px 20px}.character-label{font-size:.85rem;margin-bottom:6px}.character-name{font-size:1.3rem}.round-leaderboard h2{font-size:1.2rem}.leaderboard-item{padding:10px 12px}.leaderboard-item .rank{font-size:1rem;min-width:40px}.leaderboard-item .player-name{font-size:1rem}.leaderboard-item .score{font-size:1rem;min-width:70px}.next-round-button{font-size:1rem;padding:12px 30px}.waiting-admin{font-size:.9rem}}.waiting-final-results{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.waiting-content{max-width:600px;text-align:center;width:100%}.result-announcement{animation:fadeIn .5s ease-in;border-radius:15px;margin-bottom:40px;padding:30px}.result-announcement h1{animation:bounceIn .6s ease-out;font-size:3rem;margin:0 0 20px}.imposter-won{background:linear-gradient(135deg,#ff416c,#ff4b2b);color:var(--text-primary)}.players-won{background:linear-gradient(135deg,#4facfe,#00f2fe);color:var(--text-primary)}.imposter-reveal{font-size:1.5rem;margin:0;opacity:.95}.game-complete-message{background:var(--glass-bg);border:2px solid #fff3;border-radius:12px;margin:30px 0;padding:25px}.game-complete-message h2{color:#fff;font-size:2rem;margin:0 0 10px}.game-complete-message p{color:#ffffffe6;font-size:1.2rem;margin:0}.show-final-results-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:var(--text-primary);cursor:pointer;font-size:1.4rem;font-weight:700;margin-top:30px;padding:18px 45px;transition:all .3s ease}.show-final-results-button:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.show-final-results-button:active{transform:translateY(0)}.waiting-admin{animation:pulse 2s ease-in-out infinite;color:#fffc;margin-top:30px;padding:15px}.podium-place.current-player{border:3px solid #fbbf24;box-shadow:0 0 30px #fbbf2466}.other-player-item.current-player{background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);border:2px solid #fbbf24;box-shadow:0 0 20px #fbbf244d}.imposter-game{color:var(--text-primary);min-height:100vh}.game-view{display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.game-header{background:var(--gradient-accent-primary);border-radius:var(--radius-md);color:var(--text-primary);flex-shrink:0;margin-bottom:.75rem;padding:1rem}.game-info h2{font-size:1.75rem;margin:0 0 .2rem}.round-info{font-size:.9rem}.game-content{flex:1 1;gap:.75rem;min-height:0;overflow:hidden}.phase-indicator{background:var(--glass-bg);font-size:1.3rem;padding:.75rem}.phase-indicator,.timer-display{border-radius:var(--radius-md);flex-shrink:0}.timer-display{background:var(--gradient-accent-secondary);color:var(--text-primary);padding:1rem}.timer-display.extratime{background:var(--gradient-vote)}.timer-label{font-size:1rem;margin-bottom:.25rem}.timer-value{font-size:1.75rem}.scoreboard{background:#ffffff0d;border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:1rem 1.25rem}.scoreboard h3{flex-shrink:0;margin:0 0 .75rem}.scores-list{flex:1 1;gap:.5rem;justify-content:flex-start;overflow:visible}.score-item{grid-gap:.75rem;border-radius:var(--radius-sm);flex-shrink:1;font-size:1rem;gap:.75rem;grid-template-columns:50px 1fr auto;min-height:0;padding:.6rem 1rem;transition:var(--transition-normal)}.score-item.rank-1{background:var(--gradient-vote);font-size:1.1rem}.score-rank{text-align:center}.score-name{font-weight:500}.results-banner{align-items:center;background:var(--glass-bg);border-radius:var(--radius-md);display:flex;flex:0 0 auto;justify-content:center;min-height:0;overflow:hidden;padding:1rem}.reveal-section{opacity:0;transform:scale(.9) translateY(20px);transition:all .8s ease;width:100%}.reveal-section.revealed{opacity:1;transform:scale(1) translateY(0)}.reveal-text{font-size:1.2rem;font-weight:600;margin-bottom:.75rem;opacity:.9}.reveal-name{animation:pulse .6s ease;font-size:2rem;font-weight:800}.reveal-name.voted-name{color:#fbbf24;text-shadow:0 0 20px #fbbf2499}.reveal-name.imposter-name{color:#ff6b6b;text-shadow:0 0 20px #ff6b6b80}.reveal-name .emoji{animation:bounceIn .5s ease .3s both;display:inline-block;font-size:2rem}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.vote-result{font-size:1rem;margin-bottom:.5rem}.vote-result strong{color:#fbbf24;font-size:1.2rem}.imposter-reveal{font-size:1rem}.imposter-reveal strong{color:#f5576c;font-size:1.2rem}.podium-place{border:2px solid var(--glass-border)}.place-rank{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.other-players{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.other-player-item{background:var(--glass-bg);border-radius:var(--radius-md);transition:var(--transition-normal)}.drawing-canvas-container{align-items:center;display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:20px}.drawing-header{align-items:center;display:flex;justify-content:space-between;max-width:400px;text-align:center;width:100%}.drawing-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.word-prompt{color:gold;font-weight:700}.timer-badge{background:var(--glass-bg-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.2rem;font-weight:700;padding:8px 16px}.canvas-wrapper{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:10px}.drawing-canvas{border:2px solid #ddd;border-radius:8px;cursor:crosshair;display:block;height:auto;max-width:100%;touch-action:none}.drawing-controls{display:flex;gap:15px;max-width:400px;width:100%}.drawing-controls button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:15px 20px;transition:all .3s ease}.btn-primary{background:var(--gradient-accent-primary);color:var(--text-primary)}.btn-primary:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.btn-primary:not(:disabled):hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:var(--glass-bg-strong);border:2px solid #ffffff4d;color:var(--text-primary)}.btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}@media (max-width:480px){.drawing-canvas{width:100%}.drawing-controls,.drawing-header{flex-direction:column}.drawing-header{gap:10px}}.guessing-phase{gap:20px;min-height:100vh;padding:20px}.guessing-header,.guessing-phase{align-items:center;display:flex;flex-direction:column}.guessing-header{gap:10px;margin-bottom:20px;text-align:center}.guessing-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.guessing-header .timer-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.2rem;font-weight:700;padding:8px 20px}.artist-name{color:gold;font-weight:700}.artist-message{color:#fffc;font-size:1rem;margin:10px 0 0}.guess-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);max-width:600px;width:100%}.guess-option{background:#fff;border:3px solid #0000;border-radius:12px;cursor:pointer;padding:10px;position:relative;transition:all .3s ease}.guess-option:not(.disabled):hover{box-shadow:0 8px 24px #0000004d;transform:translateY(-4px)}.guess-option.selected{border-color:#667eea;box-shadow:0 0 20px #667eea80}.guess-option.disabled{cursor:not-allowed;opacity:.7}.guess-option img{border-radius:8px;display:block;filter:blur(.8px);height:auto;image-rendering:auto;width:100%}.option-number{background:#000000b3;font-size:1rem;height:30px;left:15px;width:30px}.option-number,.selected-badge{align-items:center;border-radius:50%;color:var(--text-primary);display:flex;font-weight:700;justify-content:center;position:absolute;top:15px}.selected-badge{background:#667eea;font-size:1.5rem;height:35px;right:15px;width:35px}.submit-guess-btn{background:var(--gradient-accent-primary);border:none;border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:10px;padding:15px 40px;transition:all .3s ease}.submit-guess-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.submit-guess-btn:not(:disabled):hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.waiting-message{align-items:center;display:flex;flex-direction:column;gap:15px;margin-top:20px}.waiting-message p{color:var(--text-primary);font-size:1.1rem;margin:0}.spinner{border:3px solid #ffffff4d;height:40px;width:40px}@media (max-width:600px){.guess-options{grid-template-columns:1fr;max-width:400px}.guessing-header h2{font-size:1.2rem}}.waiting-for-players{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;min-height:100vh;padding:20px}.spinner-large{border:5px solid #ffffff4d;border-top-color:#fff;height:60px;width:60px}.waiting-text{color:#fff;font-size:1.3rem;margin:0;text-align:center}.all-drawings-review{align-items:center;background:var(--gradient-accent-primary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;padding:20px}.all-drawings-review h2{font-size:2rem;margin-bottom:20px;text-align:center;text-shadow:2px 2px 4px #0000004d}.drawings-scroll-container{margin-bottom:20px;max-width:600px;overflow-y:auto;padding:10px;width:100%}.drawing-review-item{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;padding:15px;position:relative}.drawing-header{margin-bottom:10px;position:relative}.drawing-header h3{color:#333;font-size:1.3rem;font-weight:600;margin:0}.correct-guessers{background:#4caf50e6;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0003;color:var(--text-primary);font-size:.9rem;font-weight:600;max-width:200px;padding:8px 15px;position:absolute;right:10px;text-align:center;top:10px;z-index:10}.drawing-image-container{align-items:center;background:#f5f5f5;border-radius:10px;display:flex;justify-content:center;min-height:200px;overflow:visible;position:relative;width:100%}.drawing-image{border-radius:10px;display:block;filter:blur(.8px);height:auto;image-rendering:auto;max-width:100%}.no-drawing{color:#999;font-style:italic;padding:40px}.continue-btn{background:var(--gradient-accent-secondary);border:none;border-radius:var(--radius-xl);box-shadow:0 4px 15px #0003;color:var(--text-primary);cursor:pointer;font-size:1.2rem;font-weight:700;margin-top:10px;padding:15px 40px;transition:transform .2s,box-shadow .2s}.continue-btn:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.continue-btn:active{transform:translateY(0)}.waiting-message{color:var(--text-primary);margin-top:10px;opacity:.9}.round-results{align-items:center;display:flex;flex-direction:column;gap:30px;min-height:100vh;padding:40px 20px}.results-title{color:var(--text-primary);font-size:2.5rem;margin:0;text-align:center;text-shadow:0 2px 10px #0000004d}.scoreboard{max-width:500px;width:100%}.scoreboard h3{color:var(--text-primary)}.score-item{background:#ffffff1a;padding:15px 20px;transition:all .3s ease}.score-item:hover{background:#ffffff26;transform:translateX(5px)}.next-round-btn{background:var(--gradient-accent-primary);border:none;border-radius:var(--radius-md);box-shadow:0 4px 15px var(--shadow-dark);color:var(--text-primary);cursor:pointer;font-size:1.2rem;font-weight:700;padding:18px 50px;transition:var(--transition-normal)}.next-round-btn:hover{box-shadow:0 6px 20px var(--shadow-accent-primary);transform:translateY(-3px)}.waiting-message{text-align:center}@media (max-width:600px){.results-title{font-size:2rem}.scoreboard{padding:20px}.score-item{padding:12px 15px}}.final-results{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.final-results-content{max-width:1000px;text-align:center}.game-over{font-size:4rem;font-weight:800;margin-bottom:60px;text-shadow:0 4px 30px #0000004d}.podium{margin-bottom:50px;min-height:400px}.podium-place{background:#ffffff2e;border:2px solid #fff3;box-shadow:0 20px 60px #00000040;justify-content:flex-start;transition:all .8s ease;width:250px}.podium-place.first{background:linear-gradient(135deg,#fbbf2459,#f59e0b59);border-color:#fbbf2480;height:350px}.podium-place.second{background:linear-gradient(135deg,#e2e8f059,#cbd5e159);border-color:#e2e8f080;height:280px}.podium-place.third{background:linear-gradient(135deg,#fb923c59,#f9731659);border-color:#fb923c80;height:220px}.place-medal{font-size:4rem}.place-name{word-break:break-word}.place-score{font-size:2rem;font-weight:800}.place-rank{font-size:1.2rem;font-weight:600;opacity:.9}.other-players{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #fff3;border-radius:20px;margin:0 auto;max-width:600px;padding:30px}.other-players h3{font-size:1.5rem;margin-bottom:20px}.other-player-item{background:#ffffff1a;justify-content:space-between;margin-bottom:10px;padding:15px 20px;transition:all .3s ease}.other-rank{min-width:50px}.other-name{font-weight:600;text-align:left}@media (max-width:768px){.final-results{padding:20px 15px}.game-over{font-size:2.5rem;margin-bottom:30px}.podium{gap:10px;min-height:300px;padding:0 5px}.podium-place{padding:15px 10px;width:110px}.podium-place.first{height:280px}.podium-place.second{height:230px}.podium-place.third{height:190px}.place-medal{font-size:2.5rem;margin-bottom:10px}.place-name{font-size:1rem;margin-bottom:8px}.place-score{font-size:1.2rem;margin-bottom:8px}.place-rank{word-wrap:break-word;font-size:.85rem;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}}@media (max-width:400px){.game-over{font-size:2rem;margin-bottom:20px}.podium{gap:8px;min-height:250px}.podium-place{padding:12px 8px;width:95px}.podium-place.first{height:240px}.podium-place.second{height:200px}.podium-place.third{height:170px}.place-medal{font-size:2rem;margin-bottom:8px}.place-name{font-size:.9rem;margin-bottom:6px}.place-score{font-size:1rem;margin-bottom:6px}.place-rank{word-wrap:break-word;font-size:.75rem;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}}.artist-game{background:var(--gradient-primary);min-height:100vh;position:relative}.artist-game *{box-sizing:border-box}.game-view{background:var(--gradient-primary);color:var(--text-primary);min-height:100vh;padding:40px}.game-header{margin-bottom:40px}.game-info h2{margin:0 0 10px}.round-info{font-size:1.3rem}.game-content{align-items:center;gap:30px}.phase-indicator{border-radius:var(--radius-lg);font-size:1.5rem;padding:15px 30px}.timer-display{padding:20px 40px}.timer-label{font-size:1.1rem;margin-bottom:8px}.timer-value{font-size:3rem;font-weight:700}.scoreboard{background:var(--glass-bg);min-width:400px;padding:30px}.scoreboard h3{font-size:1.5rem;margin:0 0 20px}.scores-list{gap:12px}.score-item{border-radius:var(--radius-md);display:flex;gap:15px;padding:12px 20px}.score-item.rank-1{background:linear-gradient(135deg,gold,#ffed4e);color:var(--text-dark);font-weight:700}.score-item.rank-2{background:linear-gradient(135deg,silver,#e8e8e8);color:var(--text-dark)}.score-item.rank-3{background:linear-gradient(135deg,#cd7f32,#e6a65d);color:var(--text-dark)}.score-rank{font-size:1.2rem;font-weight:700;min-width:40px}.score-name{flex:1 1;font-size:1.1rem}.score-points{font-size:1.2rem}.guessing-display{align-items:center;display:flex;flex-direction:column;gap:30px;max-width:1200px;width:100%}.guessing-title{font-size:2rem;margin:0;text-align:center}.artist-name-display{color:gold;font-size:2.5rem;margin:0;text-shadow:0 2px 10px #0000004d}.timer-display-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.8rem;font-weight:700;padding:10px 30px}.guess-options-display{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr);width:100%}.guess-option-display{background:#fff;border-radius:15px;box-shadow:0 8px 32px #0000004d;padding:15px;position:relative}.guess-option-display img{border-radius:10px;display:block;filter:blur(.8px);height:auto;image-rendering:auto;width:100%}.option-number-display{align-items:center;background:#000c;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;left:25px;position:absolute;top:25px;width:50px}.guessing-prompt{animation:pulse 2s ease-in-out infinite;font-size:1.5rem;opacity:.9;text-align:center}.final-results-display{align-items:center;background:var(--gradient-primary);color:var(--text-primary);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.final-results-content{max-width:1200px;width:100%}.game-over-display{animation:fadeInDown .8s ease;font-size:4rem;margin:0 0 60px;text-align:center;text-shadow:0 4px 20px #00000080}.podium-display{margin-bottom:50px}.podium-place{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;flex-direction:column;min-width:250px;opacity:0;padding:30px 25px;transform:translateY(50px);transition:all .8s cubic-bezier(.68,-.55,.265,1.55)}.podium-place.revealed{opacity:1;transform:translateY(0)}.podium-place.first{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 10px 40px #ffd70066;color:var(--text-dark);min-height:320px;order:2}.podium-place.second{background:linear-gradient(135deg,silver,#e8e8e8);box-shadow:0 8px 30px #c0c0c04d;color:var(--text-dark);min-height:270px;order:1}.podium-place.third{background:linear-gradient(135deg,#cd7f32,#e6a65d);box-shadow:0 8px 30px #cd7f324d;color:var(--text-dark);min-height:240px;order:3}.place-medal{font-size:5rem;margin-bottom:20px}.place-name{font-size:1.8rem;margin-bottom:15px;text-align:center}.place-score{font-size:2.5rem;margin-bottom:10px}.place-rank{font-size:1.3rem;opacity:.8}.other-players-display{animation:fadeIn 1s ease 5.5s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);padding:30px}.other-players-display h3{font-size:1.8rem;margin:0 0 25px;text-align:center}.other-player-item{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;font-size:1.2rem;gap:20px;margin-bottom:12px;padding:15px 25px}.other-rank{min-width:60px;opacity:.8}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.review-drawings-display{align-items:center;display:flex;flex-direction:column;width:100%}.review-title{font-size:2.5rem;margin-bottom:30px;text-align:center;text-shadow:2px 2px 4px #0000004d}.drawings-grid-display{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px;max-width:1200px;width:100%}.drawing-display-item{align-items:center;background:#fffffff2;border-radius:15px;box-shadow:0 4px 15px #0003;display:flex;flex-direction:column;padding:20px}.drawing-display-title{color:var(--text-dark);font-size:1.3rem;font-weight:600;margin:0 0 15px;text-align:center}.drawing-display-image{background:#f5f5f5;border-radius:10px;filter:blur(.8px);height:auto;image-rendering:auto;max-width:100%}.no-drawing-display{color:#999;font-style:italic;padding:40px;text-align:center}.review-prompt{animation:pulse 2s ease-in-out infinite;font-size:1.5rem;opacity:.9;text-align:center}.select-rating{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.rating-content{max-width:700px;text-align:center;width:100%}.rating-content h1{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);-webkit-background-clip:text;background-clip:text;font-size:3rem;margin-bottom:10px}.rating-buttons{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:30px}.rating-button{background:var(--card-white);border:none;border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);cursor:pointer;padding:40px;transition:var(--transition-normal);width:250px}.rating-button:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-10px)}.rating-button:active{transform:translateY(-5px)}.rating-button.pg13{background:var(--gradient-pg13)}.rating-button.adult{background:var(--gradient-18plus)}.rating-icon{font-size:4rem;margin-bottom:15px}.rating-title{color:var(--text-dark);font-size:2rem;font-weight:700;margin-bottom:10px}.rating-desc{color:var(--text-muted);font-size:1.1rem}@media (max-width:768px){.rating-content h1{font-size:2.5rem}.subtitle{font-size:1.1rem;margin-bottom:40px}.rating-buttons{gap:20px}.rating-button{padding:30px;width:200px}.rating-icon{font-size:3rem}.rating-title{font-size:1.7rem}.rating-desc{font-size:1rem}}@media (max-width:480px){.rating-content h1{font-size:2rem}.subtitle{font-size:1rem}.rating-button{padding:25px;width:150px}.rating-icon{font-size:2.5rem}.rating-title{font-size:1.5rem}.rating-desc{font-size:.9rem}}.playing-phase{min-height:100vh;padding:160px 20px 20px}.playing-content{display:flex;flex-direction:column;gap:45px;margin:0 auto;max-width:800px}.black-card-container{margin-bottom:35px;margin-top:25px}.black-card-container .black-card{max-width:500px;min-height:180px;width:100%}.judge-waiting{padding:40px 20px;text-align:center}.judge-badge{margin-bottom:30px}.judge-message{color:var(--text-secondary);font-size:1.3rem;margin-bottom:20px}.submission-count{color:var(--text-tertiary);font-size:1.1rem;font-weight:700}.submitted-message{padding:40px 20px;text-align:center}.checkmark{animation:checkmarkPop .5s ease;color:var(--color-success);font-size:5rem;margin-bottom:20px}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.submitted-message p{color:var(--text-secondary);font-size:1.3rem;margin-bottom:15px}.hand-section{display:flex;flex-direction:column;gap:15px}.hand-label{color:var(--text-secondary);font-size:1.2rem;font-weight:700;text-align:center}.card-deck{-webkit-overflow-scrolling:touch;display:flex;gap:15px;overflow-x:auto;padding:10px 5px;scroll-behavior:smooth}.card-deck::-webkit-scrollbar{height:8px}.card-deck::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.card-deck::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.card-deck::-webkit-scrollbar-thumb:hover{background:#ffffff80}.card-deck .white-card{flex-shrink:0;min-width:200px}.scroll-hint{color:var(--text-dimmed);font-size:.9rem;font-style:italic;margin-top:-5px;text-align:center}.submit-section{display:flex;justify-content:center;margin-top:10px}.submit-button{border-radius:50px;box-shadow:0 5px 15px var(--shadow-accent-primary);font-size:1.3rem;padding:18px 50px}.submit-button:hover:not(:disabled){box-shadow:0 8px 20px var(--shadow-accent-primary-strong);transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}@media (max-width:768px){.playing-phase{padding:135px 15px 15px}.playing-content{gap:35px}.black-card-container .black-card{min-height:150px}.judge-badge{font-size:1.2rem;padding:12px 25px}.judge-message,.submitted-message p{font-size:1.1rem}.card-deck .white-card{min-width:170px}}.score-badge-container{position:fixed;right:20px;top:20px;z-index:100}.score-badge{cursor:pointer;transition:transform .2s ease}.score-badge:hover{transform:scale(1.05)}.marketplace-menu{animation:slideDown .3s ease;background:var(--gradient-secondary);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;min-width:250px;padding:15px;position:absolute;right:0;top:60px}.marketplace-header{border-bottom:2px solid #fff3;color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:12px;padding-bottom:8px;text-align:center}.marketplace-option{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;justify-content:space-between;margin-bottom:8px;padding:12px 15px;transition:all .2s ease;width:100%}.marketplace-option:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateX(-3px)}.marketplace-option:disabled{cursor:not-allowed;opacity:.4}.option-cost{font-size:1.1rem}.option-name{font-size:.95rem}.replace-card-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:200}.replace-card-modal{animation:modalSlideUp .3s ease;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 10px 40px #00000080;max-height:90vh;max-width:90%;overflow-y:auto;padding:30px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.replace-card-modal h2{color:#fff;font-size:1.5rem;margin-bottom:20px;text-align:center}.replace-card-deck{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:25px;max-height:60vh;overflow-y:auto;padding:10px}.replace-card-deck .white-card{min-height:120px}.replace-card-actions{display:flex;gap:15px;justify-content:center}.cancel-replace-button,.confirm-replace-button{border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.confirm-replace-button{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 12px #4caf5066;color:#fff}.confirm-replace-button:hover:not(:disabled){box-shadow:0 6px 16px #4caf5099;transform:translateY(-2px)}.confirm-replace-button:disabled{cursor:not-allowed;opacity:.5}.cancel-replace-button{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 12px #f4433666;color:#fff}.cancel-replace-button:hover{box-shadow:0 6px 16px #f4433699;transform:translateY(-2px)}.custom-card-modal{max-width:600px}.custom-card-hint{color:#aaa;font-size:.95rem;margin-bottom:20px;text-align:center}.custom-card-input{background:#1a1a2e;border:2px solid #444;border-radius:10px;color:#fff;font-family:inherit;font-size:1rem;margin-bottom:10px;min-height:120px;padding:15px;resize:vertical;transition:border-color .3s ease;width:100%}.custom-card-input:focus{border-color:#4caf50;box-shadow:0 0 10px #4caf504d;outline:none}.custom-card-input::placeholder{color:#666}.character-count{color:#888;font-size:.9rem;margin-bottom:20px;text-align:right}@media (max-width:768px){.marketplace-menu{min-width:220px}.replace-card-modal{padding:20px}.replace-card-modal h2{font-size:1.3rem}.replace-card-deck{gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.replace-card-actions{flex-direction:column}.cancel-replace-button,.confirm-replace-button{width:100%}}@media (max-width:480px){.playing-phase{padding:125px 10px 10px}.black-card-container .black-card{min-height:120px}.judge-badge{font-size:1rem;padding:10px 20px}.card-deck .white-card{min-width:150px}.submit-button{font-size:1.1rem;padding:15px 40px}.marketplace-menu{min-width:200px;right:-10px}.marketplace-option{font-size:.9rem;padding:10px 12px}.replace-card-deck{grid-template-columns:1fr}}.judging-phase{padding:160px 20px 20px}.judging-content{gap:45px;margin:0 auto;max-width:800px}.judge-badge{background:var(--gradient-accent-secondary);border-radius:var(--radius-xl);box-shadow:0 5px 15px var(--shadow-accent-secondary);font-size:1.5rem;padding:15px 30px;text-align:center}.judge-instruction{margin:10px 0 20px}.submitted-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:10px 0}.submitted-cards .white-card{min-height:150px}.confirm-section{margin-top:10px}.confirm-button{border-radius:50px;box-shadow:0 5px 15px var(--shadow-accent-primary);font-size:1.3rem;padding:18px 50px}.confirm-button:hover:not(:disabled){box-shadow:0 8px 20px var(--shadow-accent-primary-strong);transform:translateY(-2px)}.confirm-button:active:not(:disabled){transform:translateY(0)}.judge-name{font-size:1.5rem;font-weight:700}.waiting-message{color:var(--text-secondary);font-size:1.3rem}@media (max-width:768px){.judging-phase{padding:135px 15px 15px}.judge-badge{font-size:1.2rem;padding:12px 25px}.judge-instruction{font-size:1.1rem}.submitted-cards{gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.submitted-cards .white-card{min-height:130px}}@media (max-width:480px){.judging-phase{padding:125px 10px 10px}.judge-badge{font-size:1rem;padding:10px 20px}.submitted-cards{gap:12px;grid-template-columns:1fr}.confirm-button{font-size:1.1rem;padding:15px 40px}}.winner-title{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);-webkit-background-clip:text;background-clip:text;margin-bottom:15px}.winner-name{color:var(--text-dark);font-weight:700;margin-bottom:25px}.winner-score{font-size:1.5rem;gap:15px}.next-round-button{background:var(--gradient-accent-primary);border:none;border-radius:50px;box-shadow:0 5px 15px #667eea66;color:var(--text-primary);cursor:pointer;font-size:1.3rem;font-weight:700;padding:18px 50px;transition:all .3s ease}.next-round-button:hover{box-shadow:0 8px 20px #667eea99;transform:translateY(-2px)}.next-round-button:active{transform:translateY(0)}.waiting-message{animation:pulse 2s infinite}.mini-leaderboard{padding:25px}.standing-item{border-radius:10px;color:#fff;gap:15px}.rank{font-size:1.2rem}.player-score{font-size:1.1rem}@media (max-width:768px){.winner-popup{padding:40px 30px}.trophy-icon{font-size:4rem}.winner-title{font-size:2rem}.winner-name{font-size:1.7rem}.winner-score{font-size:1.3rem}.next-round-button{font-size:1.1rem;padding:15px 40px}}@media (max-width:480px){.winner-popup{padding:30px 20px}.trophy-icon{font-size:3.5rem}.winner-title{font-size:1.7rem}.winner-name{font-size:1.5rem}.winner-score{flex-direction:column;font-size:1.1rem;gap:5px}.mini-leaderboard{padding:20px 15px}.standing-item{padding:10px 15px}.rank{min-width:35px}.player-name,.player-score,.rank{font-size:1rem}}.game-end-content{max-width:700px}.champion-section{animation:champPop .7s ease;padding:50px 40px}@keyframes champPop{0%{opacity:0;transform:scale(.8) rotate(-5deg)}50%{transform:scale(1.05) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.crown-icon{animation:crownFloat 3s ease-in-out infinite}.champion-title{-webkit-text-fill-color:#0000;background:var(--gradient-accent-secondary);-webkit-background-clip:text;background-clip:text;font-size:2.8rem}.champion-name{color:var(--text-dark)}.champion-score{margin-top:20px}.final-score{color:var(--accent-primary-start);font-size:1.8rem;font-weight:700}.final-leaderboard{padding:30px}.podium-place{animation:podiumRise .5s ease forwards;background:var(--glass-bg-strong);border-radius:var(--radius-md);transition:var(--transition-normal)}.podium-place.place-1{animation-delay:.2s;flex:1 1;max-width:200px;order:2;padding:30px 20px}.podium-place.place-2{animation-delay:.4s;flex:1 1;max-width:180px;order:1}.podium-place.place-3{animation-delay:.6s;flex:1 1;max-width:180px;order:3}.place-medal{margin-bottom:10px}.place-name{color:#fff;font-size:1.2rem;margin-bottom:8px}.place-score{color:#ffffffe6;font-weight:700}.other-players{margin-top:20px}.other-player{background:#ffffff1a;border-radius:10px;color:#fff;gap:15px}.other-rank,.other-score{font-size:1.1rem}.other-score{font-weight:700}.home-button-large{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 8px 25px #667eea66;color:#fff;font-size:1.4rem;padding:20px 60px;transition:all .3s ease}.home-button-large:hover{box-shadow:0 12px 35px #667eea99;transform:translateY(-3px)}.home-button-large:active{transform:translateY(0)}@media (max-width:768px){.champion-section{padding:40px 30px}.crown-icon{font-size:5rem}.champion-title{font-size:2.3rem}.champion-name{font-size:2rem}.final-score{font-size:1.5rem}.podium{flex-wrap:wrap;gap:15px}.podium-place.place-1,.podium-place.place-2,.podium-place.place-3{max-width:150px}.place-medal{font-size:2.5rem}.place-name{font-size:1.1rem}}@media (max-width:480px){.game-end-content{gap:30px}.champion-section{padding:30px 20px}.crown-icon{font-size:4rem}.champion-title{font-size:2rem}.champion-name{font-size:1.7rem}.final-score{font-size:1.3rem}.podium{align-items:center;flex-direction:column}.podium-place{max-width:100%!important;width:100%}.podium-place.place-1{order:1}.podium-place.place-2{order:2}.podium-place.place-3{order:3}.home-button-large{font-size:1.2rem;padding:18px 50px}}.cards-for-humanity-game{background:var(--gradient-primary);color:var(--text-primary);min-height:100vh;position:relative}.cards-game-container{box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;padding:20px}.card{cursor:pointer}.white-card.submitted{cursor:not-allowed;opacity:.6}.score-badge{align-items:center;background:var(--gradient-accent-primary);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-primary);color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:700;gap:8px;padding:12px 20px}.score-badge .icon{font-size:1.3rem}.round-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1rem;font-weight:700;left:20px;padding:10px 18px;position:fixed;top:20px;z-index:100}.round-indicator.with-home-button{top:75px}@media (max-width:768px){.black-card{font-size:1.1rem;min-height:120px;padding:20px}.white-card{font-size:1rem;min-height:100px;padding:15px}.score-badge{font-size:1rem;padding:10px 16px;right:15px;top:20px}.round-indicator{font-size:.9rem;left:15px;padding:8px 14px;top:20px}.round-indicator.with-home-button{top:70px}}@media (max-width:480px){.black-card{font-size:1rem;min-height:100px;padding:15px}.white-card{font-size:.9rem;min-height:90px;padding:12px}.cards-game-container{padding:15px}}.cards-for-humanity-display{background:var(--gradient-primary);box-sizing:border-box;color:var(--text-primary);min-height:100vh;padding:40px}.display-select-rating{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:90vh;text-align:center}.rating-options-display{align-items:center;display:flex;gap:60px}.rating-option-display{border-radius:var(--radius-xl);min-width:250px;padding:50px}.rating-option-display.pg13{background:var(--gradient-pg13)}.rating-option-display.adult{background:var(--gradient-18plus)}.rating-icon-display{font-size:6rem;margin-bottom:20px}.rating-name-display{color:var(--text-dark);font-size:3rem;font-weight:700}.rating-or{color:var(--text-dimmed);font-size:2.5rem;font-weight:700}.display-judging,.display-playing{display:flex;flex-direction:column;gap:40px}.display-black-card.small{font-size:1.8rem;max-width:600px;min-height:180px;padding:30px}.submission-progress{margin:0 auto;max-width:600px}.progress-bar{border-radius:20px;height:40px}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2)}.progress-text{color:#ffffffe6;font-weight:700}.display-submitted-cards{text-align:center}.judging-text{color:#ffffffe6;font-size:2rem;margin-bottom:30px}.display-cards-grid{grid-gap:30px;gap:30px;margin:0 auto;max-width:1200px}.display-white-card{background:#fff;border:3px solid #ddd;border-radius:15px;box-shadow:0 5px 20px #0000004d;color:#000;font-size:1.8rem;min-height:200px;padding:40px}.display-white-card.winning{animation:winningGlow 2s infinite;border-color:#667eea;border-width:5px;box-shadow:0 0 30px #667eea99}@keyframes winningGlow{0%,to{box-shadow:0 0 30px #667eea99}50%{box-shadow:0 0 50px #667eeae6}}.display-winner-section{animation:fadeInScale .8s ease;text-align:center}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.display-trophy{animation:bounce 1s infinite;font-size:8rem;margin-bottom:20px}.display-winner-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:4rem;margin-bottom:20px}.display-winner-name{font-size:5rem;font-weight:700;margin-bottom:40px}.display-winning-card-section{margin-top:40px}.winning-card-label{color:#ffffffe6;font-size:2rem;margin-bottom:20px}.display-winning-combo{align-items:center;display:flex;flex-wrap:wrap;gap:40px;justify-content:center}.arrow{color:#667eea;font-size:4rem}.display-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:30px;padding:40px}.display-leaderboard h3{font-size:3rem;margin-bottom:30px;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:800px}.leaderboard-item{align-items:center;background:#ffffff1a;border-radius:15px;display:flex;font-size:1.8rem;gap:30px;padding:20px 40px;transition:all .3s ease}.leaderboard-item.winner-highlight{background:linear-gradient(135deg,#667eea4d,#764ba24d);border:3px solid #667eea;transform:scale(1.02)}.leaderboard-rank{font-size:2rem;font-weight:700;min-width:60px}.leaderboard-name{flex:1 1;font-size:2rem}.leaderboard-score{font-size:2rem;font-weight:700}.display-game-end{gap:60px}.display-champion{animation:championAppear 1s ease;text-align:center}@keyframes championAppear{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.display-crown{animation:crownFloat 3s ease-in-out infinite;font-size:10rem;margin-bottom:20px}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-25px) rotate(5deg)}}.display-champion-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;background-clip:text;font-size:5rem;margin-bottom:30px}.display-champion-name{font-size:6rem;font-weight:700;margin-bottom:20px}.display-final-score{color:#667eea;font-size:3rem;font-weight:700}.display-final-standings{max-width:1200px;width:100%}.display-final-standings h3{font-size:4rem;margin-bottom:50px;text-align:center}.final-podium{align-items:flex-end;display:flex;gap:40px;justify-content:center}.podium-spot{animation:podiumRise .8s ease forwards;background:#fff3;border-radius:20px;padding:40px}.podium-spot.spot-1{animation-delay:.3s;order:2;padding:60px 50px}.podium-spot.spot-2{animation-delay:.5s;order:1;padding:50px 45px}.podium-spot.spot-3{animation-delay:.7s;order:3;padding:40px}@keyframes podiumRise{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.podium-medal{font-size:5rem;margin-bottom:20px}.podium-name{font-size:2.5rem;margin-bottom:15px}.podium-score{color:#ffffffe6;font-size:2rem}.display-loading{align-items:center;color:#fffc;display:flex;font-size:3rem;justify-content:center;min-height:90vh}@media (max-width:1200px){.display-title h1{font-size:4rem}.display-black-card{font-size:2rem;padding:40px}.display-cards-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.cards-for-humanity-display{padding:20px}.display-title h1{font-size:3rem}.display-subtitle{font-size:1.5rem}.rating-options-display{flex-direction:column;gap:30px}.display-black-card{font-size:1.5rem;padding:30px}.display-cards-grid{grid-template-columns:1fr}.final-podium{align-items:center;flex-direction:column}.podium-spot.spot-1,.podium-spot.spot-2,.podium-spot.spot-3{order:0}}.select-mode{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.mode-content{max-width:700px;text-align:center;width:100%}.mode-content h1{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);-webkit-background-clip:text;background-clip:text;font-size:3rem;margin-bottom:10px}.subtitle{color:var(--text-secondary);font-size:1.3rem;margin-bottom:50px}.mode-buttons{flex-wrap:wrap;gap:30px;margin-bottom:30px}.mode-button,.mode-buttons{display:flex;justify-content:center}.mode-button{align-items:center;background:var(--card-white);border:none;border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);cursor:pointer;flex-direction:column;min-height:280px;padding:40px 30px;text-align:center;transition:var(--transition-normal);width:250px}.mode-button:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-10px)}.mode-button:active{transform:translateY(-5px)}.mode-button.dictator{background:linear-gradient(135deg,gold,#ffed4e)}.mode-button.dictator .mode-title{color:#2d3748}.mode-button.dictator .mode-desc{color:#4a5568}.mode-button.democracy{background:linear-gradient(135deg,#667eea,#764ba2)}.mode-button.democracy .mode-title{color:#fff}.mode-button.democracy .mode-desc{color:#e2e8f0}.mode-icon{font-size:4rem;margin-bottom:15px}.mode-title{font-size:2rem;font-weight:700;margin-bottom:10px}.mode-desc{font-size:1.1rem;line-height:1.4}.admin-note{color:var(--text-dimmed);font-size:1rem;font-style:italic}.waiting-admin{animation:pulse 2s infinite;color:var(--text-tertiary);font-size:1.3rem;margin-top:40px}@media (max-width:768px){.mode-content h1{font-size:2.5rem}.subtitle{font-size:1.1rem;margin-bottom:40px}.mode-buttons{gap:20px}.mode-button{min-height:240px;padding:30px 25px;width:200px}.mode-icon{font-size:3rem}.mode-title{font-size:1.7rem}.mode-desc{font-size:1rem}}@media (max-width:480px){.mode-content h1{font-size:2rem}.subtitle{font-size:1rem}.mode-button{min-height:220px;padding:25px 20px;width:150px}.mode-icon{font-size:2.5rem}.mode-title{font-size:1.5rem}.mode-desc{font-size:.9rem}}.writing-phase{flex-direction:column;min-height:100vh;padding:80px 20px 100px}.round-header,.writing-phase{align-items:center;display:flex}.round-header{gap:20px}.answer-submitted,.answer-writing,.judge-waiting,.judge-writing,.waiting-judge{max-width:600px;text-align:center;width:100%}.instruction{color:var(--text-secondary);font-size:1.2rem;margin-bottom:20px}.answer-input,.black-card-input{background:var(--card-white);border:2px solid var(--card-border-white);border-radius:var(--radius-md);color:var(--text-dark);font-family:inherit;font-size:1.1rem;margin-bottom:20px;min-height:120px;padding:15px;resize:vertical;width:100%}.answer-input:focus,.black-card-input:focus{border-color:var(--accent-primary-start);box-shadow:0 0 15px var(--shadow-accent-primary);outline:none}.submit-button{background:var(--gradient-accent-primary);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-primary);color:var(--text-primary);cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 40px;transition:var(--transition-normal)}.submit-button:hover{box-shadow:0 6px 16px var(--shadow-accent-primary-strong);transform:translateY(-3px)}.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.black-card-display{margin-bottom:30px}.wait-text{color:var(--text-tertiary);font-size:1.1rem;margin:10px 0 20px}.submission-progress{margin-top:20px}@media (max-width:768px){.round-header h2{font-size:1.7rem}.instruction{font-size:1.1rem}.answer-input,.black-card-input{font-size:1rem;min-height:100px}}@media (max-width:480px){.writing-phase{padding:70px 15px 80px}.round-header{flex-direction:column;gap:10px}.round-header h2{font-size:1.5rem}.check-icon{font-size:3rem}}.judging-phase{min-height:100vh;padding:80px 20px 100px}.judging-content,.judging-phase{align-items:center;display:flex;flex-direction:column}.judging-content{max-width:1000px;width:100%}.judge-badge{background:var(--gradient-accent-primary);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-primary);color:var(--text-primary);display:inline-block;font-size:1.1rem;font-weight:700;margin-bottom:20px;padding:12px 24px}.judge-instruction{color:var(--text-secondary);font-size:1.2rem;margin-bottom:30px;text-align:center}.submitted-cards{padding-bottom:100px}.confirm-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(0deg,#000000e6 0,#000000b3 70%,#0000);bottom:0;left:0;padding:20px;position:fixed;right:0;z-index:100}.confirm-button{background:var(--gradient-accent-primary);box-shadow:0 4px 12px var(--shadow-accent-primary)}.confirm-button:hover:not(:disabled){box-shadow:0 6px 16px var(--shadow-accent-primary-strong)}.waiting-judge{padding:40px 20px;text-align:center}.judge-info{margin-bottom:30px}.judge-name{color:var(--text-secondary);font-size:1.3rem;margin-bottom:10px}.spinner{border:5px solid #fff3;border-top:5px solid var(--accent-primary-start);height:50px;margin:0 auto;width:50px}@media (max-width:768px){.round-header h2{font-size:1.7rem}.submitted-cards{gap:15px;grid-template-columns:1fr}.confirm-button,.judge-instruction{font-size:1.1rem}.confirm-button{padding:12px 40px}}@media (max-width:480px){.judging-phase{padding:70px 15px 80px}.round-header h2{font-size:1.5rem}.judge-badge{font-size:1rem;padding:10px 20px}}.voting-phase{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:80px 20px 100px}.round-header{margin-bottom:30px;text-align:center}.round-header h2{color:var(--text-primary);font-size:2rem}.voting-content{max-width:1000px;width:100%}.black-card-container{display:flex;justify-content:center;margin-bottom:40px}.voting-badge{background:var(--gradient-accent-secondary);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-secondary);color:var(--text-primary);display:inline-block;font-size:1.1rem;font-weight:700;margin-bottom:20px;padding:12px 24px}.voting-instruction{color:var(--text-secondary);font-size:1.2rem;margin-bottom:30px;text-align:center}.submitted-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.confirm-section{display:flex;justify-content:center;margin-top:30px}.confirm-button{background:var(--gradient-accent-secondary);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-secondary);color:var(--text-primary);cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 50px;transition:var(--transition-normal)}.confirm-button:hover:not(:disabled){box-shadow:0 6px 16px var(--shadow-accent-secondary-strong);transform:translateY(-3px)}.confirm-button:disabled{cursor:not-allowed;opacity:.5}.waiting-votes{padding:40px 20px;text-align:center}.check-icon{color:#4caf50;font-size:4rem;margin-bottom:20px}.vote-submitted{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:10px}.waiting-message{color:var(--text-tertiary);font-size:1.2rem;margin-bottom:30px}.vote-progress{margin:0 auto;max-width:400px}.progress-text{font-size:1.1rem;margin-bottom:10px}.progress-bar{height:12px}.progress-fill{background:var(--gradient-accent-secondary);transition:width .3s ease}@media (max-width:768px){.round-header h2{font-size:1.7rem}.submitted-cards{gap:15px;grid-template-columns:1fr}.confirm-button,.voting-instruction{font-size:1.1rem}.confirm-button{padding:12px 40px}.check-icon{font-size:3rem}.vote-submitted{font-size:1.3rem}}@media (max-width:480px){.voting-phase{padding:70px 15px 80px}.round-header h2{font-size:1.5rem}.voting-badge{font-size:1rem;padding:10px 20px}}.round-end{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.confetti-container{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.confetti{animation:confettiFall 3s linear forwards;height:10px;position:absolute;top:-10px;width:10px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.round-end-content{display:flex;flex-direction:column;gap:30px;max-width:600px;width:100%}.winner-popup{animation:popIn .5s ease;background:var(--card-white);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;padding:50px 40px;text-align:center}@keyframes popIn{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.trophy-icon{animation:bounce 1s infinite;font-size:5rem;margin-bottom:20px}.winner-title{color:var(--text-dark);font-size:2.5rem;margin-bottom:20px}.winner-name{color:var(--accent-primary-start);font-size:2rem;margin-bottom:20px}.winner-score{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:30px}.score-label{color:var(--text-muted);font-size:1.2rem}.score-value{color:var(--text-dark);font-size:1.5rem;font-weight:700}.admin-actions{display:flex;flex-direction:column;gap:15px}.end-game-button,.next-round-button{background:var(--gradient-accent-primary);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-primary);color:var(--text-primary);cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 40px;transition:var(--transition-normal)}.end-game-button{background:var(--gradient-accent-secondary);box-shadow:0 4px 12px var(--shadow-accent-secondary)}.end-game-button:hover,.next-round-button:hover{transform:translateY(-3px)}.waiting-message{color:var(--text-muted);font-size:1.1rem;font-style:italic}.mini-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);padding:30px}.mini-leaderboard h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:20px;text-align:center}.standings-list{display:flex;flex-direction:column;gap:10px}.standing-item{align-items:center;background:#ffffff1a;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:12px 20px}.rank{font-weight:700;min-width:40px}.player-name,.rank{color:var(--text-primary)}.player-name{flex:1 1;font-size:1.1rem}.player-score{color:var(--accent-primary-start);font-weight:700}@media (max-width:768px){.winner-title{font-size:2rem}.winner-name{font-size:1.7rem}.trophy-icon{font-size:4rem}.mini-leaderboard h3{font-size:1.3rem}}@media (max-width:480px){.winner-popup{padding:30px 20px}.winner-title{font-size:1.7rem}.winner-name{font-size:1.5rem}.trophy-icon{font-size:3rem}.mini-leaderboard{padding:20px}.standing-item{padding:10px 15px}.player-name{font-size:1rem}}.game-end{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.game-end-content{display:flex;flex-direction:column;gap:40px;max-width:800px;width:100%}.champion-section{animation:slideIn .5s ease;background:var(--card-white);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;padding:60px 40px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.crown-icon{animation:glow 2s ease-in-out infinite;font-size:6rem;margin-bottom:20px}.champion-title{color:var(--text-dark);font-size:3rem;margin-bottom:20px}.champion-name{color:var(--accent-primary-start);font-size:2.5rem;font-weight:700}.champion-name,.champion-score{margin-bottom:20px}.final-score{color:var(--text-muted);font-size:1.5rem}.final-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);padding:40px}.final-leaderboard h3{color:var(--text-primary);font-size:2rem;margin-bottom:30px;text-align:center}.podium{align-items:flex-end;display:flex;gap:20px;justify-content:center;margin-bottom:30px}.podium-place{background:#ffffff1a;border-radius:var(--radius-lg);flex:1 1;max-width:200px;padding:20px;text-align:center;transition:transform .3s ease}.podium-place:hover{transform:translateY(-10px)}.place-1{background:linear-gradient(135deg,#ffd70033,#ffa50033);order:2;padding-top:40px}.place-2{background:linear-gradient(135deg,#c0c0c033,#a9a9a933);order:1;padding-top:30px}.place-3{background:linear-gradient(135deg,#cd7f3233,#b8733333);order:3;padding-top:20px}.place-medal{font-size:3rem;margin-bottom:15px}.place-name{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin-bottom:10px}.place-score{color:var(--text-secondary);font-size:1.1rem}.other-players{display:flex;flex-direction:column;gap:10px}.other-player{align-items:center;background:#ffffff0d;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:12px 20px}.other-rank{color:var(--text-secondary);font-weight:700;min-width:40px}.other-name{color:var(--text-primary);flex:1 1;font-size:1.1rem}.other-score{color:var(--text-secondary)}.home-button-large{align-self:center;background:var(--gradient-accent-secondary);border:none;border-radius:var(--radius-lg);box-shadow:0 6px 15px var(--shadow-accent-secondary);color:var(--text-primary);cursor:pointer;font-size:1.3rem;font-weight:700;padding:18px 50px;transition:var(--transition-normal)}.home-button-large:hover{box-shadow:0 8px 20px var(--shadow-accent-secondary-strong);transform:translateY(-5px)}@media (max-width:768px){.champion-title{font-size:2.5rem}.champion-name{font-size:2rem}.crown-icon{font-size:5rem}.podium{gap:15px}.place-medal{font-size:2.5rem}.place-name{font-size:1.1rem}.final-leaderboard h3{font-size:1.7rem}}@media (max-width:480px){.champion-section{padding:40px 20px}.champion-title{font-size:2rem}.champion-name{font-size:1.7rem}.crown-icon{font-size:4rem}.podium{align-items:center;flex-direction:column;gap:15px}.podium-place{max-width:100%;width:100%}.place-1,.place-2,.place-3{order:0}.final-leaderboard{padding:25px}.home-button-large{font-size:1.2rem;padding:15px 30px;width:100%}}.house-of-cards-game{background:var(--gradient-primary);color:var(--text-primary);min-height:100vh;position:relative}.house-game-container{box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;padding:20px}.card{border-radius:var(--radius-md);box-shadow:0 4px 8px var(--shadow-dark);padding:20px;transition:var(--transition-normal);-webkit-user-select:none;user-select:none}.card-content{word-wrap:break-word;width:100%}.black-card{background:var(--card-black);border:3px solid var(--card-border-black);color:var(--text-primary);font-size:1.3rem;font-weight:700;min-height:150px;padding:30px}.black-card,.white-card{align-items:center;display:flex;justify-content:center;text-align:center}.white-card{background:var(--card-white);border:2px solid var(--card-border-white);color:var(--text-dark);cursor:pointer;font-size:1.1rem;min-height:120px;padding:20px}.white-card:hover{box-shadow:0 8px 16px #0006;transform:translateY(-5px)}.white-card.selected{border-color:var(--accent-primary-start);border-width:4px;box-shadow:0 0 20px var(--shadow-accent-primary-strong)}@media (max-width:768px){.black-card{font-size:1.1rem;min-height:120px;padding:20px}.white-card{font-size:1rem;min-height:100px}.house-game-container,.white-card{padding:15px}}@media (max-width:480px){.black-card{font-size:1rem;min-height:100px;padding:15px}.white-card{font-size:.9rem;min-height:90px;padding:12px}}.house-of-cards-display{background:var(--gradient-primary);box-sizing:border-box;color:var(--text-primary);min-height:100vh;padding:40px}.display-select-mode{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:90vh;text-align:center}.display-title h1{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);-webkit-background-clip:text;background-clip:text;font-size:5rem;margin-bottom:20px}.display-subtitle{color:var(--text-secondary);font-size:2rem;margin-bottom:60px}.mode-options-display{align-items:center;display:flex;gap:60px}.mode-option-display{border-radius:var(--radius-xl);min-width:250px;padding:50px}.mode-option-display.dictator{background:linear-gradient(135deg,gold,#ffed4e)}.mode-option-display.democracy{background:linear-gradient(135deg,#667eea,#764ba2)}.mode-icon-display{font-size:6rem;margin-bottom:20px}.mode-name-display{color:var(--text-dark);font-size:3rem;font-weight:700}.mode-or{color:var(--text-dimmed);font-size:2.5rem;font-weight:700}.display-judging,.display-voting,.display-writing{display:flex;flex-direction:column;gap:40px}.display-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);flex-wrap:wrap;gap:20px;padding:20px 40px}.display-judge,.display-round{font-size:2rem;font-weight:700}.display-judge.highlight{background:var(--gradient-accent-secondary);border-radius:var(--radius-lg);padding:15px 30px}.display-mode{font-size:1.8rem}.mode-badge{background:var(--gradient-accent-secondary);border-radius:var(--radius-lg);font-weight:700;padding:12px 24px}.display-waiting-black-card{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;min-height:400px}.spinner-large{animation:spin 1s linear infinite;border:8px solid #fff3;border-radius:50%;border-top:8px solid var(--accent-primary-start);height:80px;width:80px}.display-black-card-section{display:flex;justify-content:center;margin:20px 0}.display-black-card{word-wrap:break-word;background:var(--card-black);border:4px solid var(--card-border-black);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000080;color:var(--text-primary);font-size:2.5rem;font-weight:700;max-width:800px;min-height:250px;padding:50px}.display-black-card,.display-status{align-items:center;display:flex;justify-content:center;text-align:center}.display-status{flex-direction:column;padding:20px}.waiting-text{color:#ffffffe6;font-size:2rem;margin-bottom:30px}.judging-text,.voting-text{color:var(--text-secondary);font-size:2rem;margin-bottom:30px;text-align:center}.submission-progress,.vote-progress{margin:0 auto;max-width:600px}.progress-bar{background:#fff3;border-radius:var(--radius-lg);height:20px;margin-bottom:15px;overflow:hidden;width:100%}.progress-fill{background:var(--gradient-accent-primary);height:100%;transition:width .5s ease}.progress-text{color:var(--text-secondary);font-size:1.8rem}.display-submitted-cards{padding:20px}.display-cards-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.display-white-card{word-wrap:break-word;background:var(--card-white);border:3px solid var(--card-border-white);border-radius:var(--radius-md);box-shadow:0 6px 20px #0000004d;color:var(--text-dark);font-size:1.5rem;min-height:150px;padding:30px;text-align:center}.display-round-end,.display-white-card{align-items:center;display:flex;justify-content:center}.display-round-end{flex-direction:column;gap:50px;min-height:90vh}.winner-reveal{animation:slideDown .5s ease;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}.trophy-large{animation:bounce 1s infinite;font-size:8rem;margin-bottom:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.winner-announcement{color:var(--text-primary);font-size:4rem;margin-bottom:20px}.winner-name-large{color:var(--accent-primary-start);font-size:3.5rem;font-weight:700;text-shadow:0 4px 12px #00000080}.leaderboard-display{animation:fadeIn .5s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-xl);min-width:600px;padding:40px}.leaderboard-display h3{color:var(--text-primary);font-size:2.5rem;margin-bottom:30px;text-align:center}.standings-grid{display:flex;flex-direction:column;gap:15px}.standing-row{align-items:center;background:#ffffff1a;border-radius:var(--radius-md);display:flex;font-size:1.8rem;justify-content:space-between;padding:20px 30px}.standing-rank{color:var(--text-secondary);font-weight:700;min-width:60px}.standing-name{color:var(--text-primary);flex:1 1;font-size:2rem}.standing-score{color:var(--accent-primary-start);font-size:2rem;font-weight:700}.display-game-end{align-items:center;display:flex;flex-direction:column;gap:50px;justify-content:center;min-height:90vh}.champion-reveal{animation:zoomIn .8s ease;text-align:center}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.crown-large{animation:glow 2s ease-in-out infinite;font-size:10rem;margin-bottom:20px}@keyframes glow{0%,to{filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 40px rgba(255,215,0,.9))}}.champion-announcement{color:var(--text-primary);font-size:5rem;margin-bottom:20px}.champion-name-large{color:var(--accent-primary-start);font-size:4rem;font-weight:700;margin-bottom:20px;text-shadow:0 6px 15px #00000080}.champion-score-large{color:var(--text-secondary);font-size:2.5rem}.final-podium{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-xl);min-width:700px;padding:50px}.final-podium h3{color:var(--text-primary);font-size:3rem;margin-bottom:40px;text-align:center}.podium-display{align-items:flex-end;display:flex;gap:30px;justify-content:center}.podium-spot{background:#ffffff1a;border-radius:var(--radius-lg);flex:1 1;max-width:200px;padding:30px 20px;text-align:center}.spot-1{background:linear-gradient(135deg,#ffd7004d,#ffa5004d);order:2;padding-top:50px}.spot-2{background:linear-gradient(135deg,#c0c0c04d,#a9a9a94d);order:1;padding-top:40px}.spot-3{background:linear-gradient(135deg,#cd7f324d,#b873334d);order:3;padding-top:30px}.podium-medal{font-size:4rem;margin-bottom:15px}.podium-name{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:10px}.podium-score{color:var(--text-secondary);font-size:1.5rem}.display-default{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:90vh;text-align:center}.display-default h1{font-size:5rem;margin-bottom:20px}.display-default p{color:var(--text-secondary);font-size:2rem}@media (max-width:1200px){.display-black-card{font-size:2rem;padding:40px}.display-cards-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.house-of-cards-display{padding:20px}.display-title h1{font-size:3.5rem}.display-black-card{font-size:1.7rem;min-height:200px;padding:30px}.display-cards-grid{grid-template-columns:1fr}.trophy-large{font-size:6rem}.winner-announcement{font-size:3rem}.final-podium,.leaderboard-display{min-width:auto;width:100%}}.ftl-game-container{align-items:center;background:linear-gradient(135deg,#1a5f3f,#0d3d26);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;justify-content:center;overflow:hidden;width:100vw}.ftl-loading{color:#fff;font-size:24px;text-align:center}.ftl-poker-table{background:radial-gradient(ellipse at center,#2d7a4f 0,#1a5f3f 60%,#0d3d26 100%);border:12px solid #8b6914;border-radius:50%;box-shadow:0 0 40px #00000080,inset 0 0 60px #0000004d;height:90vh;justify-content:center;position:relative;width:95vw}.ftl-player,.ftl-poker-table{align-items:center;display:flex}.ftl-player{flex-direction:column;gap:8px;position:absolute}.ftl-player-top-left{left:10%;top:5%}.ftl-player-top-right{right:10%;top:5%}.ftl-player-bottom{bottom:2%;left:50%;transform:translateX(-50%);width:90%}.ftl-player-info{align-items:center;background:#000000b3;border-radius:20px;box-shadow:0 4px 8px #0000004d;display:flex;gap:8px;padding:8px 16px;transition:all .3s ease}.ftl-player-active-turn .ftl-player-info{background:#ffd7004d;border:2px solid gold;box-shadow:0 0 20px #ffd70099}.ftl-player-active-turn .ftl-player-name{color:#ffed4e;font-weight:900;text-shadow:0 0 10px #ffd700cc}.ftl-player-name{color:#fff;font-size:18px;font-weight:700}.ftl-landlord-badge{background:linear-gradient(135deg,gold,#ffed4e);border-radius:12px;box-shadow:0 2px 4px #0000004d;color:#8b4513;font-size:14px;font-weight:700;padding:4px 10px}.ftl-turn-indicator{animation:pulse 1.5s infinite;color:#ffed4e;font-size:14px}.ftl-card-count{background:#00000080;border-radius:12px;color:#fff;font-size:16px;padding:4px 12px}.ftl-center-area{align-items:center;display:flex;flex-direction:column;gap:20px;left:50%;max-height:50%;max-width:90%;overflow-x:hidden;overflow-y:auto;padding:10px;position:absolute;top:15%;transform:translateX(-50%);z-index:10}.ftl-kitty-hidden{display:flex;gap:10px}.ftl-card-back{align-items:center;background:linear-gradient(135deg,#c41e3a,#8b0000);border:3px solid gold;border-radius:8px;box-shadow:0 4px 8px #0000004d;display:flex;height:100px;justify-content:center;overflow:hidden;position:relative;width:70px}.ftl-card-back:before{color:#ffffff4d;content:"🂠";font-size:40px}.ftl-kitty-reveal{animation:fadeIn .5s;text-align:center}.ftl-kitty-reveal h3{color:#fff;margin-bottom:10px;text-shadow:2px 2px 4px #00000080}.ftl-kitty-cards{display:flex;gap:10px;justify-content:center}.ftl-bidding-status{background:#000c;border-radius:12px;box-shadow:0 4px 12px #00000080;color:#fff;font-size:18px;padding:16px 24px;text-align:center}.ftl-landlord-reveal{background:#ffd70033;border:3px solid gold;border-radius:16px;box-shadow:0 0 20px #ffd70080;padding:20px 40px}.ftl-landlord-reveal h2{color:gold;font-size:28px;margin:0;text-shadow:2px 2px 4px #000c}.ftl-bidding-buttons{display:flex;gap:16px;margin-top:12px}.ftl-play-area{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:150px}.ftl-last-play{text-align:center}.ftl-last-play-label{color:#fff;font-size:16px;margin-bottom:8px;text-shadow:1px 1px 2px #00000080}.ftl-play-info{color:#fffc;font-size:11px;font-weight:400;margin-bottom:3px}.ftl-played-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ftl-no-play{color:#fff;font-size:18px;padding:20px;text-align:center}.ftl-card{align-items:center;background:#fff;border:2px solid #333;border-radius:8px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;height:100px;justify-content:center;position:relative;transition:all .2s;width:70px}.ftl-card-rank{font-size:24px;font-weight:700}.ftl-card-suit{font-size:20px}.ftl-card-rank.red,.ftl-card-suit.red,.ftl-card.red .ftl-card-rank,.ftl-card.red .ftl-card-suit{color:#d32f2f}.ftl-card-rank.black,.ftl-card-suit.black,.ftl-card.black .ftl-card-rank,.ftl-card.black .ftl-card-suit{color:#000}.ftl-card-small{font-size:16px;height:70px;width:50px}.ftl-card-small .ftl-card-rank{font-size:18px}.ftl-hand-preview{gap:4px;margin-top:8px}.ftl-hand,.ftl-hand-preview{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%}.ftl-hand{gap:6px;margin-top:12px;transition:opacity .3s ease}.ftl-hand-inactive{opacity:.5}.ftl-card-selectable{cursor:pointer;transition:all .3s}.ftl-card-selectable:hover{box-shadow:0 8px 16px #0000004d;transform:translateY(-10px)}.ftl-card-selected{border-color:gold;box-shadow:0 0 20px #ffd700cc;transform:translateY(-20px)}.ftl-error-message{animation:shake .5s;background:#f44336e6;border:2px solid #d32f2f;border-radius:8px;box-shadow:0 4px 12px #f4433680;font-size:16px}.ftl-error-message,.ftl-suggestion-message{color:#fff;font-weight:700;margin:8px 0;padding:12px 20px}.ftl-suggestion-message{animation:fadeIn .3s;background:#4caf50e6;border:2px solid #4caf50;border-radius:8px;box-shadow:0 4px 12px #4caf5080;font-size:15px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.ftl-combo-type{color:#ffed4e;font-size:14px;font-weight:400}.ftl-action-buttons{display:flex;gap:12px;margin-top:12px}.ftl-btn{border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:all .2s}.ftl-btn:hover:not(:disabled){box-shadow:0 6px 12px #0006;transform:translateY(-2px)}.ftl-btn:active:not(:disabled){transform:translateY(0)}.ftl-btn:disabled{cursor:not-allowed;opacity:.5}.ftl-btn-accept{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.ftl-btn-decline{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.ftl-btn-play{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.ftl-btn-pass{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.ftl-btn-primary,.ftl-btn-suggest{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff}.ftl-btn-primary{font-size:18px;padding:16px 32px}.ftl-btn-secondary{background:linear-gradient(135deg,#607d8b,#455a64);color:#fff;padding:12px 24px}.ftl-waiting-message{background:#00000080;border-radius:8px;color:#fff;font-size:16px;margin-top:16px;padding:12px;text-align:center}.ftl-round-end{color:#fff;max-width:600px;padding:40px;text-align:center}.ftl-round-end-header h1{font-size:36px;margin-bottom:20px;text-shadow:2px 2px 4px #00000080}.ftl-winner-announcement{background:#ffd70033;border:3px solid gold;border-radius:16px;box-shadow:0 0 30px #ffd70080;margin:30px 0;padding:30px}.ftl-winner-announcement h2{color:gold;font-size:32px;margin-bottom:12px}.ftl-winner-name{font-size:28px;font-weight:700;margin:0}.ftl-scoreboard{background:#00000080;border-radius:12px;margin:30px 0;padding:20px}.ftl-scoreboard h3{font-size:24px;margin-bottom:16px}.ftl-score-list{display:flex;flex-direction:column;gap:12px}.ftl-score-item{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:12px 20px;transition:all .2s}.ftl-score-item-me{background:#2196f34d;border:2px solid #2196f3}.ftl-score-rank{font-size:20px;font-weight:700;width:40px}.ftl-score-name{flex:1 1;font-size:18px}.ftl-score-points{color:gold;font-size:18px;font-weight:700}.ftl-admin-controls{display:flex;gap:16px;justify-content:center;margin-top:30px}.ftl-waiting-admin{background:#00000080;border-radius:8px;margin-top:30px;padding:16px}.ftl-game-end{color:#fff;max-width:700px;padding:40px;text-align:center}.ftl-game-end-header h1{font-size:48px;margin-bottom:30px;text-shadow:2px 2px 4px #00000080}.ftl-final-winner{background:linear-gradient(135deg,#ffd7004d,#ffc10733);border:4px solid gold;border-radius:20px;box-shadow:0 0 40px #ffd70099;margin:40px 0;padding:40px}.ftl-final-winner h2{color:gold;font-size:40px;margin-bottom:20px}.ftl-champion-name,.ftl-champions-list{font-size:36px;font-weight:700;margin:10px 0}.ftl-champion-score{color:#ffed4e;font-size:24px;margin-top:10px}.ftl-final-standings{background:#00000080;border-radius:12px;margin:30px 0;padding:24px}.ftl-final-standings h3{font-size:28px;margin-bottom:20px}.ftl-podium{display:flex;flex-direction:column;gap:16px}.ftl-podium-position{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;gap:16px;padding:16px 24px;transition:all .2s}.ftl-podium-winner{background:#ffd70033;border:2px solid gold}.ftl-podium-me{background:#2196f34d;border:2px solid #2196f3}.ftl-podium-rank{font-size:32px;text-align:center;width:50px}.ftl-podium-name{flex:1 1;font-size:22px;font-weight:700}.ftl-podium-score{color:gold;font-size:20px}.ftl-game-stats{font-size:18px;margin:20px 0;opacity:.8}.ftl-display-container{align-items:center;background:linear-gradient(135deg,#1a5f3f,#0d3d26);box-sizing:border-box;color:#fff;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;justify-content:center;padding:40px;width:100vw}.ftl-display-content{max-width:1200px;text-align:center;width:100%}.ftl-display-content h1{font-size:56px;margin-bottom:20px;text-shadow:3px 3px 6px #00000080}.ftl-display-content h2{color:gold;font-size:40px;margin-bottom:30px}.ftl-display-content h3{font-size:32px;margin:20px 0}.ftl-display-content h4{font-size:24px;margin:12px 0}.ftl-display-center{margin:40px 0}.ftl-display-status{font-size:28px;margin:20px 0}.ftl-display-landlord{color:gold;font-size:32px;margin:20px 0}.ftl-display-landlord-info{margin:20px 0}.ftl-display-current-turn{color:#ffed4e;font-size:28px;margin:20px 0}.ftl-display-last-play h4{margin-bottom:16px}.ftl-display-last-play .ftl-play-info{color:#fffc;font-size:14px;font-weight:400;margin-bottom:6px}.ftl-display-no-play p{font-size:24px}.ftl-display-players{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-top:40px}.ftl-display-player-item{align-items:center;background:#00000080;border-radius:16px;display:flex;font-size:24px;gap:12px;padding:16px 24px}.ftl-display-player-name{font-weight:700}.ftl-display-card-count{color:#ffed4e;margin-left:8px}.ftl-display-winner{background:#ffd70033;border:4px solid gold;border-radius:20px;margin:40px 0;padding:40px}.ftl-display-winner-name{font-size:36px;font-weight:700}.ftl-display-final-standings,.ftl-display-scoreboard{margin:40px 0}.ftl-display-podium-item,.ftl-display-score-item{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;font-size:24px;justify-content:space-between;margin:12px 0;padding:16px 32px}.ftl-display-medal,.ftl-display-rank{font-size:28px;font-weight:700;text-align:center;width:60px}.ftl-display-name{flex:1 1;font-weight:700}.ftl-display-score{color:gold;font-weight:700}.ftl-display-champion{background:linear-gradient(135deg,#ffd7004d,#ffc10733);border:5px solid gold;border-radius:24px;box-shadow:0 0 50px #ffd700b3;margin:60px 0;padding:60px}.ftl-display-champion-name{font-size:48px;font-weight:700;margin:20px 0}.ftl-display-champions-list{font-size:40px;font-weight:700;margin:20px 0}.ftl-display-champion-score{color:#ffed4e;font-size:32px}@media (max-width:768px){.ftl-poker-table{border-radius:40%}.ftl-card{height:72px;width:50px}.ftl-card-rank{font-size:18px}.ftl-card-suit{font-size:14px}}@media (orientation:portrait){.ftl-center-area{max-height:40%;top:18%}.ftl-card{height:64px;width:45px}.ftl-card-rank{font-size:16px}.ftl-card-suit{font-size:12px}.ftl-last-play-label{font-size:14px}.ftl-played-cards{gap:5px}}@media (orientation:landscape){.ftl-poker-table{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:95vh;max-height:none;max-width:none;padding:1vh 2vw;width:90vw}.ftl-player-top-left,.ftl-player-top-right{position:absolute;top:2vh}.ftl-player-top-left{left:5%}.ftl-player-top-right{right:5%}.ftl-center-area{justify-content:center;margin:8vh auto 2vh;max-height:none;max-width:80%;overflow:visible;padding:0;top:auto}.ftl-center-area,.ftl-player-bottom{align-items:center;display:flex;flex-direction:column;left:auto;position:relative;transform:none}.ftl-player-bottom{bottom:auto;gap:4px;margin:0 auto;padding-bottom:1vh;width:95%}.ftl-player-bottom .ftl-player-info{order:1}.ftl-player-bottom .ftl-action-buttons,.ftl-player-bottom .ftl-bidding-buttons{margin-top:0;order:2}.ftl-player-bottom .ftl-hand,.ftl-player-bottom .ftl-hand-preview{order:3}.ftl-player-bottom .ftl-waiting-message{margin-top:0;order:2}.ftl-hand,.ftl-hand-preview{flex-wrap:wrap;gap:2px;max-width:100%}.ftl-bidding-buttons{gap:10px;margin-top:0}.ftl-bidding-status{font-size:16px;padding:10px 20px}.ftl-card{height:68px;width:48px}.ftl-card-rank{font-size:17px}.ftl-card-suit{font-size:13px}.ftl-card-small{height:56px;width:40px}.ftl-card-small .ftl-card-rank{font-size:13px}.ftl-card-small .ftl-card-suit{font-size:10px}.ftl-player-info{font-size:13px;padding:5px 10px}.ftl-player-name{font-size:14px}.ftl-card-count{font-size:12px;padding:3px 8px}.ftl-landlord-badge{font-size:10px;padding:2px 6px}.ftl-turn-indicator{font-size:10px}.ftl-action-buttons{gap:8px}.ftl-btn{font-size:12px;padding:7px 14px}.ftl-last-play-label{font-size:12px;margin-bottom:5px}.ftl-played-cards{gap:4px}.ftl-no-play{font-size:14px;padding:10px}.ftl-waiting-message{font-size:12px;margin-top:0;padding:6px}.ftl-card-selectable:hover{transform:translateY(-6px)}.ftl-card-selected{transform:translateY(-12px)}.ftl-play-area{max-height:20vh;min-height:auto;overflow-y:auto}}.lobby-container{color:var(--text-primary);display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1200px;min-height:100vh;overflow-y:auto;padding:20px}.lobby-header{flex-shrink:0;margin-bottom:20px;text-align:center}.lobby-header h1{font-size:2rem;font-weight:800;margin-bottom:8px}.lobby-title{cursor:pointer;display:inline-block;transition:all .2s ease}.lobby-title:hover{opacity:.9;transform:scale(1.05)}.player-count{font-size:1rem;opacity:.9}.players-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-shrink:0;margin-bottom:20px;padding:20px}.players-section h2{font-size:1.3rem;margin-bottom:15px}.players-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.player-item{align-items:center;background:#ffffff38;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:8px;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.player-item:hover{background:#ffffff47;transform:translateY(-1px)}.player-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.player-name{font-size:.95rem;font-weight:600}.player-name.clickable-name{cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px;transition:all .2s ease}.player-name.clickable-name:hover{color:#fbbf24;-webkit-text-decoration-style:solid;text-decoration-style:solid;transform:scale(1.05)}.admin-badge{background:var(--gradient-vote);border-radius:var(--radius-lg);box-shadow:0 2px 8px #fbbf2466;color:var(--text-primary);font-size:.75rem;font-weight:700;padding:4px 10px}.kick-button{align-items:center;background:#ef4444cc;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.3rem;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.kick-button:hover{background:#dc2626;box-shadow:0 2px 8px #ef444480;transform:scale(1.1)}.kick-button:active{transform:scale(.95)}.games-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:20px;display:flex;flex:1 1;flex-direction:column;min-height:0;padding:20px}.games-section h2{flex-shrink:0;font-size:1.3rem;margin-bottom:15px}.games-list{grid-gap:20px;display:grid;flex:1 1;gap:20px;min-height:0;overflow-y:auto}.game-card{background:#ffffff2e;border:1px solid #ffffff1f;border-radius:16px;display:flex;flex-direction:column;gap:15px;padding:20px;transition:all .2s ease}.game-card:not(.disabled):hover{background:#ffffff3d;box-shadow:0 8px 20px #00000026;transform:translateY(-2px)}.game-card.disabled{opacity:.6}.game-info h3{font-size:1.4rem;margin-bottom:8px}.game-description{font-size:.9rem;margin-bottom:5px;opacity:.9}.min-players{font-size:.8rem;opacity:.8}.game-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vote-count{font-size:.95rem;font-weight:600;min-width:70px;text-align:left}.start-button,.vote-button{background:#0000;border:2px solid #fff;border-radius:10px;color:#fff;padding:10px 20px}.start-button:hover,.vote-button:hover{background:#fff;color:#667eea;transform:scale(1.05)}.vote-button.voted{background:#fff;color:#667eea}.start-button{border-color:#0000}.start-button:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#0000;box-shadow:0 6px 16px #10b98166;color:#fff}.need-players{font-size:.85rem;font-style:italic;opacity:.8}@media (min-width:768px){.lobby-container{padding:40px 20px}.lobby-header{margin-bottom:40px}.lobby-header h1{font-size:3rem}.player-count{font-size:1.2rem}.players-section{border-radius:20px;margin-bottom:40px;padding:30px}.players-section h2{font-size:1.8rem;margin-bottom:20px}.players-list{gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.player-item{padding:15px 20px}.player-name{font-size:1.1rem}.admin-badge{font-size:.85rem;padding:4px 12px}.games-section{border-radius:20px;padding:30px}.games-section h2{font-size:1.8rem;margin-bottom:20px}.game-card{align-items:center;flex-direction:row;justify-content:space-between;padding:25px}.game-info h3{font-size:1.8rem}.game-description{font-size:1rem}.min-players{font-size:.9rem}.game-actions{gap:15px}.vote-count{font-size:1.1rem;min-width:80px;text-align:center}.start-button,.vote-button{font-size:1rem;padding:12px 24px}.need-players{font-size:.95rem}}.qr-modal-overlay{align-items:center;animation:fadeIn .2s ease;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.qr-modal-content{animation:slideUp .3s ease;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);border:2px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #0006;margin:auto;max-width:100%;max-width:340px;padding:30px 20px;position:relative;text-align:center;width:100%}.qr-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;font-weight:300;height:40px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:12px;transition:all .2s ease;width:40px}.qr-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.qr-modal-content h2{font-size:1.5rem;font-weight:700;margin-bottom:20px;padding:0 10px}.qr-code-wrapper{box-shadow:0 8px 24px #0003;display:inline-block;margin:0 auto}.qr-code-wrapper svg{display:block;height:auto!important;margin:0 auto;max-width:240px;width:100%!important}.join-url-text{color:#fff;font-size:.9rem;font-weight:600;margin-top:16px;opacity:.95;padding:0 10px;word-break:break-all}@media (min-width:480px){.qr-modal-content{max-width:400px;padding:40px 30px}.qr-modal-content h2{font-size:1.7rem;margin-bottom:24px}.qr-code-wrapper{padding:20px}.qr-code-wrapper svg{max-width:260px}.join-url-text{font-size:1rem;margin-top:20px}}@media (min-width:768px){.qr-modal-content{max-width:450px;padding:50px 40px}.qr-modal-content h2{font-size:2rem;margin-bottom:30px}.qr-code-wrapper{padding:24px}.qr-code-wrapper svg{max-width:280px}.join-url-text{font-size:1.1rem;margin-top:24px}}.display-dashboard{background:var(--gradient-accent-primary);box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100vh;max-height:100vh;overflow:hidden;padding:1rem}.display-header{align-items:center;border-bottom:2px solid #ffffff4d;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.display-header h1{font-size:2rem;font-weight:800;margin:0}.header-right{align-items:center;display:flex;gap:1rem}.time-display{font-size:1.2rem;font-weight:600;opacity:.9}.status-badge{border-radius:25px;font-size:.9rem;font-weight:600;padding:.4rem 1.2rem}.status-badge.connected{animation:pulse 2s ease-in-out infinite;background:#10b981}.status-badge.disconnected{background:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.display-content{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1400px;min-height:0;overflow:hidden;width:100%}.loading-message{padding:4rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:60px;margin:0 auto 1rem;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lobby-view-centered{align-items:center;display:flex;flex-direction:column;gap:1.5rem;height:calc(100vh - 180px);justify-content:center;padding:1rem;text-align:center}.player-count-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff38;border:2px solid #ffffff4d;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;padding:1rem 2.5rem}.count-number{font-size:3.5rem;font-weight:800;line-height:1}.count-label{font-size:1.1rem;margin-top:.3rem;opacity:.95}.qr-section-centered{align-items:center;display:flex;flex-direction:column;gap:1rem}.scan-title{font-size:2rem;font-weight:700;margin:0}.qr-code-container{background:#fff;border-radius:var(--radius-lg);box-shadow:0 15px 40px #0006;padding:1.2rem}.join-text{background:#ffffff40;border-radius:12px;font-family:Monaco,Courier New,monospace;font-size:1.3rem;font-weight:600;padding:.7rem 1.5rem}.players-list-compact{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:15px;font-size:1.2rem;font-weight:500;line-height:1.6;max-width:90%;padding:1rem 2rem}.player-name-compact{opacity:.95}.instructions-view{margin:0 auto;max-width:900px;text-align:center}.game-title{margin-bottom:3rem}.game-icon{display:block;font-size:5rem;margin-bottom:1rem}.game-title h2{font-size:3.5rem;margin:0}.instructions-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:var(--radius-lg);margin-bottom:2rem;padding:3rem;text-align:left}.instructions-box h3{font-size:2rem;margin-bottom:1.5rem;text-align:center}.instructions-list{counter-reset:instruction-counter;list-style:none;padding:0}.instructions-list li{counter-increment:instruction-counter;font-size:1.5rem;line-height:1.8;margin-bottom:1.5rem;padding-left:3rem;position:relative}.instructions-list li:before{background:#ffffff4d;border-radius:50%;content:counter(instruction-counter);font-weight:700;height:2rem;left:0;position:absolute;top:0;width:2rem}.instructions-list li:before,.starting-message{align-items:center;display:flex;justify-content:center}.starting-message{font-size:1.8rem;font-weight:600;gap:1rem}.pulse-dot{animation:pulse-grow 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:20px;width:20px}@keyframes pulse-grow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.game-view{margin:0 auto;max-width:1200px}.game-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.game-info h2{font-size:2.5rem;margin:0 0 .5rem}.round-info{font-size:1.5rem;opacity:.9}.game-content{display:flex;flex-direction:column;gap:2rem}.phase-indicator{border-radius:15px;font-size:2rem;font-weight:700;padding:1.5rem}.phase-indicator,.timer-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);text-align:center}.timer-display{border-radius:var(--radius-lg);padding:2rem}.timer-label{font-size:1.3rem;margin-bottom:.5rem;opacity:.9}.timer-value{font-feature-settings:"tnum";font-size:4rem;font-variant-numeric:tabular-nums;font-weight:800}.timer-display.extratime{animation:timer-pulse 1s ease-in-out infinite;background:#ef44444d}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.scoreboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border:1px solid #fff3;border-radius:var(--radius-lg);padding:2rem}.scoreboard h3{font-size:2rem;margin-bottom:1.5rem;text-align:center}.scores-list{display:flex;flex-direction:column;gap:1rem}.score-item{grid-gap:1.5rem;align-items:center;background:var(--glass-bg);border-radius:12px;display:grid;font-size:1.4rem;gap:1.5rem;grid-template-columns:60px 1fr auto;padding:1.2rem 1.5rem;transition:transform .2s}.score-item.rank-1{background:linear-gradient(135deg,#fbbf2459,#f59e0b59);border:1px solid #fbbf2466;transform:scale(1.05)}.score-rank{font-size:1.8rem;font-weight:800}.score-name{font-weight:600}.score-points{font-size:1.6rem;font-weight:700;padding:.5rem 1.5rem}.results-banner,.score-points{background:var(--glass-bg-strong);border-radius:var(--radius-lg)}.results-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;text-align:center}.winner-announcement{font-size:3rem;font-weight:800;margin-bottom:1rem}.winner-announcement.imposter{color:#ef4444}.winner-announcement.players{color:#10b981}.imposter-reveal{font-size:1.8rem}.imposter-reveal strong{color:#fbbf24}.final-results-view{margin:0 auto;max-width:1000px;text-align:center}.trophy-animation{animation:trophy-bounce 1s ease-in-out infinite;font-size:8rem;margin-bottom:1rem}@keyframes trophy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.final-title{font-size:4rem;margin-bottom:2rem}.winner-announcement-big{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fbbf2459,#f59e0b59);border:2px solid #fbbf2480;border-radius:25px;margin-bottom:3rem;padding:3rem}.winner-label{font-size:1.5rem;margin-bottom:.5rem;opacity:.9}.winner-name{font-size:4rem;font-weight:800;margin-bottom:1rem}.winner-score{font-size:2.5rem;font-weight:600}.final-scoreboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg);padding:2rem}.final-scoreboard h3{font-size:2rem;margin-bottom:1.5rem}.final-scores-list{display:flex;flex-direction:column;gap:1rem}.final-score-item{grid-gap:1.5rem;align-items:center;background:var(--glass-bg);border-radius:15px;display:grid;font-size:1.6rem;gap:1.5rem;grid-template-columns:80px 1fr auto;padding:1.5rem 2rem}.final-score-item.rank-1{background:linear-gradient(135deg,#fbbf2459,#f59e0b59);border:1px solid #fbbf2466;transform:scale(1.05)}.final-rank{font-size:2.5rem}.final-name{font-weight:600;text-align:left}.final-points{background:var(--glass-bg-strong);border-radius:25px;font-size:2rem;font-weight:800;padding:.75rem 1.5rem}@media (min-width:1920px){.display-dashboard{padding:3rem}.display-header h1{font-size:4rem}.player-count{padding:2rem 4rem}.count-number{font-size:5rem}}.home-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.home-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:800px;padding:40px;width:100%}.rooms-section{margin-top:30px}.rooms-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.rooms-header h2{color:#333;font-size:24px;margin:0}.create-button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-button:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.connecting-message,.no-rooms-message{color:#666;font-size:16px;padding:40px;text-align:center}.rooms-list{display:flex;flex-direction:column;gap:15px}.room-item{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.room-item:hover{background:#e9ecef;transform:translateX(5px)}.room-info{flex:1 1}.room-name{color:#333;font-size:20px;font-weight:600;margin-bottom:8px}.room-meta{color:#666;display:flex;font-size:14px;gap:15px}.room-code{background:#dee2e6;border-radius:4px;font-family:monospace;padding:2px 8px}.room-locked{font-size:16px}.room-item .join-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 24px;transition:all .3s ease}.room-item .join-button:hover{background:#218838;transform:scale(1.05)}@media (max-width:600px){.home-card{padding:20px}.room-item,.rooms-header{align-items:stretch;flex-direction:column;gap:15px}.room-item .join-button{width:100%}}.create-room-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.create-room-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;width:100%}.create-room-form{margin-top:30px}.form-group{margin-bottom:25px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.room-input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:16px;padding:14px;transition:all .3s ease;width:100%}.room-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-submit-button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:15px;padding:16px;transition:all .3s ease;width:100%}.create-submit-button:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.back-button{background:#6c757d;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.back-button:hover{background:#5a6268}@media (max-width:600px){.create-room-card{padding:20px}}.join-room-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.join-room-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;width:100%}.join-room-form{margin-top:30px}.join-submit-button{background:#28a745;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:15px;padding:16px;transition:all .3s ease;width:100%}.join-submit-button:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.join-submit-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}@media (max-width:600px){.join-room-card{padding:20px}}.room-lobby-container{color:var(--text-primary);display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1200px;min-height:100vh;overflow-y:auto;padding:20px}.room-lobby-card{background:#0000;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;margin:0;max-width:none;padding:0}.room-header{align-items:center;border-bottom:none;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:20px;padding-bottom:0;text-align:center}.room-title-section{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.room-title{color:var(--text-primary);cursor:default;font-size:2rem;font-weight:800;margin:0;text-shadow:0 2px 4px #0003;transition:all .2s ease}.room-title:hover{opacity:.95;transform:scale(1.02)}.room-share-section{display:flex;gap:10px}.share-button{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s ease}.share-button:hover{background:#ffffff40;transform:translateY(-1px)}.leave-room-button{background:#ef444426;border:1px solid #ef444466;border-radius:var(--radius-md);color:#fca5a5;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.leave-room-button:hover{background:#ef444440;border-color:#ef444499;color:#fecaca;transform:translateY(-1px)}.lobby-content{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:300px 1fr;min-height:0}.room-players-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:200px;overflow:hidden;padding:20px}.room-players-section h2{color:var(--text-primary);font-size:1.3rem;margin-bottom:15px;margin-top:0}.room-players-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:5px}.room-player-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:12px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.room-player-item:hover{background:#ffffff1a;transform:translateX(2px)}.room-player-name{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:600;gap:6px}.room-admin-badge{font-size:1rem}.you-badge{background:#667eea4d;border-radius:4px;color:#a5b4fc;font-size:.75rem;font-weight:600;margin-left:6px;padding:2px 6px}.room-kick-button{background:#ef444433;border:none;border-radius:6px;color:#fca5a5;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:all .2s ease}.room-kick-button:hover{background:#ef444466;color:#fff}.room-games-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;padding:20px}.room-games-section h2{color:var(--text-primary);font-size:1.3rem;margin-bottom:15px;margin-top:0}.games-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;padding-right:5px}.room-game-card{background:#ffffff14;border:1px solid #ffffff0d;border-radius:16px;display:flex;flex-direction:column;height:auto;justify-content:space-between;padding:20px;text-align:center;transition:all .2s ease}.room-game-card:hover:not(.disabled){background:#ffffff1f;border-color:#ffffff1a;box-shadow:0 8px 20px #0003;transform:translateY(-3px)}.room-game-card.disabled{background:#ffffff0d;cursor:not-allowed;opacity:.7}.game-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));font-size:3rem;margin-bottom:12px}.game-name{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:6px}.game-votes{color:var(--text-secondary);font-size:.9rem}.game-votes,.min-players-warning{font-weight:500;margin-bottom:12px}.min-players-warning{color:#fca5a5;font-size:.85rem;font-style:italic}.room-game-actions{display:flex;gap:8px;justify-content:center;margin-top:auto}.start-button,.vote-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:8px 12px;transition:all .2s ease}.vote-button{background:#ffffff1a;border:1px solid #fff3;color:#fff}.vote-button:hover:not(:disabled){background:#fff;color:#667eea}.start-button{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.start-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b98166;transform:translateY(-1px)}.start-button:disabled,.vote-button:disabled{background:#ffffff1a;border-color:#0000;box-shadow:none;color:#ffffff80;cursor:not-allowed}@media (min-width:768px){.room-lobby-container{padding:40px 20px}.room-header{margin-bottom:40px}.room-title{font-size:3rem}.room-players-section{border-radius:20px;margin-bottom:40px;max-height:none;padding:30px}.room-players-section h2{font-size:1.8rem;margin-bottom:20px}.room-players-list{gap:15px}.room-player-item{padding:15px 20px}.room-admin-badge,.room-player-name{font-size:1.1rem}.room-games-section{border-radius:20px;overflow:visible;padding:30px}.room-games-section h2{font-size:1.8rem;margin-bottom:20px}.games-grid{gap:20px;grid-template-columns:1fr;overflow:visible}.room-game-card{align-items:center;flex-direction:row;justify-content:space-between;padding:25px;text-align:left;width:100%}.game-icon{font-size:3.5rem;margin-bottom:0;margin-right:20px}.game-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column}.game-name{font-size:1.8rem;margin-bottom:8px}.game-votes{font-size:1.1rem;margin-bottom:0;margin-right:20px;min-width:80px;text-align:center}.room-game-actions{flex-shrink:0;gap:15px;margin-left:20px;margin-top:0}.start-button,.vote-button{font-size:1rem;padding:12px 24px}}@media (max-width:900px){.lobby-content{grid-template-columns:1fr;overflow-y:auto}.room-players-section{flex-shrink:0}.games-grid,.room-games-section{overflow:visible}}@media (max-width:600px){.room-lobby-container{padding:15px}.room-header{align-items:stretch;flex-direction:column;gap:20px;text-align:center}.room-title-section{align-items:center}.room-share-section{justify-content:center}.games-grid{grid-template-columns:1fr}}.qr-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c}.qr-modal-content{background:linear-gradient(135deg,#2d2d44,#1a1a2e);border:1px solid #ffffff1a;box-shadow:0 20px 60px #00000080}.qr-modal-content h2{color:#fff}.room-code-display{color:#fffc}.room-code-display strong{color:#a5b4fc}.qr-code-wrapper{background:#fff;border-radius:16px;padding:16px}.share-url{background:#0000004d;border:1px solid #ffffff0d;color:#ffffffb3}.copy-url-button{background:var(--gradient-accent-primary);box-shadow:0 4px 12px #667eea4d}.copy-url-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.qr-modal-close{color:#ffffff80}.qr-modal-close:hover{background:#ffffff1a;color:#fff}.install-pwa-banner{animation:slideUp .3s ease-out;bottom:20px;left:50%;position:fixed;transform:translateX(-50%);z-index:10000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.install-pwa-content{align-items:center;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000004d;display:flex;gap:15px;max-width:90vw;min-width:320px;padding:16px 20px}.install-pwa-icon{font-size:32px}.install-pwa-text{flex:1 1}.install-pwa-title{color:#333;font-size:16px;font-weight:600;margin-bottom:4px}.install-pwa-subtitle{color:#666;font-size:14px}.install-pwa-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.install-pwa-button:hover{background:#5568d3;transform:scale(1.05)}.install-pwa-close{background:#0000;border:none;color:#999;cursor:pointer;font-size:28px;height:30px;line-height:1;padding:0;transition:color .3s ease;width:30px}.install-pwa-close:hover{color:#333}@media (max-width:600px){.install-pwa-banner{bottom:10px;left:10px;right:10px;transform:none}.install-pwa-content{min-width:0;min-width:auto;width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}
/*# sourceMappingURL=main.11c4feef.css.map*/