: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}html{background-color:#1a1a2e;background-color:var(--bg-primary);height:100%}body{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;color:var(--text-primary);margin:0;min-height:100dvh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.home-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 20px 60px #0006;max-width:800px;padding:40px;width:100%}.app-title{-webkit-text-fill-color:#0000;background:var(--gradient-accent-primary);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 4px 10px rgba(102,126,234,.3));font-size:3.5rem;font-weight:800;letter-spacing:-1px;margin:0;text-align:center}.app-subtitle{color:var(--text-secondary);font-size:1.2rem;font-weight:500;margin:10px 0 40px;text-align:center}.rooms-section{display:flex;flex-direction:column;gap:25px}.rooms-header{margin-bottom:5px;text-align:center}.rooms-header h2{color:var(--text-primary);font-size:1.4rem;font-weight:600;margin:0;opacity:.9}.rooms-content{display:flex;flex-direction:column;justify-content:center;min-height:150px}.create-button.main-action{background:var(--gradient-accent-primary);border:none;border-radius:16px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.15rem;font-weight:700;margin-top:15px;overflow:hidden;padding:18px;position:relative;transition:all .3s ease;width:100%}.create-button.main-action:hover{box-shadow:0 8px 25px #667eea80;transform:translateY(-2px)}.create-button.main-action:active{transform:translateY(0)}.connecting-message{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:15px;text-align:center}.spinner{border:3px solid #ffffff1a;border-top-color:#667eea;height:30px;width:30px}.no-rooms-message{background:#ffffff08;border:2px dashed #ffffff1a;border-radius:16px;color:var(--text-secondary);padding:40px;text-align:center;transition:all .3s ease}.no-rooms-message:hover{background:#ffffff0d;border-color:#fff3}.empty-state-icon{font-size:3.5rem;margin-bottom:15px;opacity:.8}.no-rooms-message h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 8px}.no-rooms-message p{color:var(--text-tertiary);font-size:.95rem;margin:0}.rooms-list{display:flex;flex-direction:column;gap:12px}.room-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:16px;display:flex;justify-content:space-between;padding:16px 20px;transition:all .2s ease}.room-item:hover{background:#ffffff14;border-color:#ffffff1a;transform:translateX(5px)}.room-info{flex:1 1}.room-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:6px}.room-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:12px}.room-code{background:#0000004d;border-radius:6px;color:#a5b4fc;font-family:JetBrains Mono,monospace;font-size:.85rem;letter-spacing:.5px;padding:2px 8px}.room-players{color:var(--text-tertiary)}.room-locked{font-size:1rem}.room-item .join-button{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 24px;transition:all .2s ease}.room-item .join-button:hover{background:#fff;box-shadow:0 4px 12px #0003;color:#667eea;transform:translateY(-1px)}@media (max-width:600px){.home-card{border-radius:20px;padding:24px}.app-title{font-size:2.5rem}.room-item,.rooms-header{align-items:stretch;flex-direction:column;gap:15px}.room-item{padding:20px;text-align:center}.room-meta{justify-content:center}.room-item .join-button{padding:12px;width:100%}}.create-room-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.create-room-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 60px #0006;max-width:500px;padding:40px;width:100%}.create-room-form{margin-top:30px}.create-submit-button{background:var(--gradient-accent-primary);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:15px;padding:16px;transition:all .3s ease;width:100%}.create-submit-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;filter:brightness(1.1);transform:translateY(-2px)}.create-submit-button:disabled{background:#ffffff1a;box-shadow:none;cursor:not-allowed;opacity:.5}@media (max-width:600px){.create-room-card{padding:24px}}.join-room-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.join-room-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 60px #0006;max-width:500px;padding:40px;width:100%}.join-room-form{margin-top:30px}.form-group{margin-bottom:25px}.form-group label{color:var(--text-secondary);display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.room-input{background:#0003;border:1px solid #ffffff1a;border-radius:12px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:14px;transition:all .3s ease;width:100%}.room-input::placeholder{color:var(--text-dimmed)}.room-input:focus{background:#0000004d;border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.back-button{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.back-button:hover{background:#ffffff1a;border-color:#fff3;color:var(--text-primary)}.join-submit-button{background:var(--gradient-accent-primary);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:15px;padding:16px;transition:all .3s ease;width:100%}.join-submit-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;filter:brightness(1.1);transform:translateY(-2px)}.join-submit-button:disabled{background:#ffffff1a;box-shadow:none;cursor:not-allowed;opacity:.5}@media (max-width:600px){.join-room-card{padding:24px}}.notification-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:9999}.notification-toast{align-items:center;animation:slideIn .3s ease-out forwards;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 10px 30px #00000080;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;max-width:400px;min-width:300px;padding:16px 20px;pointer-events:auto}.notification-content{align-items:center;display:flex;gap:12px}.notification-icon{font-size:1.2rem;font-weight:700}.notification-message{font-size:.95rem;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:1.5rem;line-height:1;padding:0 0 0 10px;transition:color .2s}.notification-close:hover{color:var(--text-primary)}.notification-success{background:#4caf5026;border-left:4px solid var(--color-success)}.notification-success .notification-icon{color:var(--color-success)}.notification-error{background:#ef444426;border-left:4px solid var(--color-error)}.notification-error .notification-icon{color:var(--color-error)}.notification-info{background:#3b82f626;border-left:4px solid var(--color-info)}.notification-info .notification-icon{color:var(--color-info)}@media (max-width:768px){.notification-container{align-items:center;bottom:20px;left:20px;right:20px;top:auto}.notification-toast{animation:slideUp .3s ease-out forwards;min-width:auto;width:100%}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:scaleIn .2s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;color:var(--text-primary);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:2rem;line-height:1;padding:0;transition:color .2s}.modal-body,.modal-close:hover{color:var(--text-primary)}.modal-body{font-size:1.1rem;line-height:1.6;padding:24px}.modal-footer{background:#0000001a;border-top:1px solid var(--glass-border);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .2s}.modal-btn-primary{background:var(--gradient-accent-primary);box-shadow:0 4px 12px #667eea4d;color:#fff}.modal-btn-primary:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-1px)}.modal-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.modal-btn-danger:hover{box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.modal-btn-secondary{background:#ffffff1a;border:1px solid #ffffff1a;color:var(--text-primary)}.modal-btn-secondary:hover{background:#ffffff26}.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;text-align:center}.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);display:grid;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;text-align:center}.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;border-radius:12px;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{font-size:2.5rem;margin:0 0 10px}.round-info{font-size:1.3rem;opacity:.9}.game-content{align-items:center;display:flex;flex-direction:column;gap:30px}.phase-indicator{font-size:1.5rem;font-weight:700;padding:15px 30px}.phase-indicator,.timer-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg-strong);border-radius:var(--radius-lg)}.timer-display{padding:20px 40px;text-align:center}.timer-label{font-size:1.1rem;margin-bottom:8px;opacity:.9}.timer-value{font-size:3rem;font-weight:700}.scoreboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);min-width:400px;padding:30px}.scoreboard h3{font-size:1.5rem;margin:0 0 20px;text-align:center}.scores-list{display:flex;flex-direction:column;gap:12px}.score-item{align-items:center;background:var(--glass-bg);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;font-weight:700}.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}.spinner{border-top-color:#fff}@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-against-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-against-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{animation:spin 1s linear infinite;border:5px solid #fff3;border-radius:50%;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%}}.cards-for-humanity-game{background:var(--gradient-primary);color:var(--text-primary);min-height:100vh;position:relative}.cards-for-humanity-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}.cards-for-humanity-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}}.cards-for-humanity-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{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;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}.trophy-large{animation:bounce 1s infinite;font-size:8rem;margin-bottom:20px}.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}}.uno-select-mode{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.uno-select-mode-content{max-width:800px;text-align:center;width:100%}.uno-select-mode-title{color:#fff;font-size:4rem;font-weight:700;margin:0 0 1rem;text-shadow:4px 4px 8px #0000004d}.uno-select-mode-subtitle{color:#ffffffe6;font-size:1.5rem;margin-bottom:3rem}.uno-mode-buttons{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.uno-mode-button{background:#fff;border:none;border-radius:20px;box-shadow:0 8px 20px #0003;cursor:pointer;padding:2rem;transition:all .3s ease;width:280px}.uno-mode-button:hover{box-shadow:0 12px 30px #0000004d;transform:translateY(-8px)}.uno-mode-button:active{transform:translateY(-4px)}.uno-mode-standard{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.uno-mode-crazy{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.uno-mode-icon{font-size:4rem;margin-bottom:1rem}.uno-mode-name{font-size:2rem;font-weight:700;margin-bottom:.5rem}.uno-mode-description{font-size:1rem;opacity:.9}.uno-waiting{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1.5rem}.uno-waiting-spinner{animation:spin 2s linear infinite;font-size:3rem}.uno-waiting p{font-size:1.3rem;margin:0}.uno-player-count{color:#fffc;font-size:1.1rem;margin-top:3rem}@media (max-width:768px){.uno-select-mode-title{font-size:3rem}.uno-mode-buttons{align-items:center;flex-direction:column}.uno-mode-button{max-width:280px;width:100%}}:root{--uno-card-width:14vmin;--uno-card-height:21vmin;--uno-spacing-sm:1vmin;--uno-spacing-md:2vmin;--uno-spacing-lg:3vmin;--uno-radius:1.5vmin;--uno-font-xs:2.5vmin;--uno-font-sm:3.5vmin;--uno-font-md:4.5vmin;--uno-font-lg:6vmin;--uno-font-xl:10vmin}.uno-playing{background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:4.5vmin;font-size:var(--uno-font-md);height:100vh;overflow:hidden;position:relative;width:100vw}.uno-top-bar{align-items:center;background:#0000004d;box-sizing:border-box;color:#fff;display:flex;gap:3vmin;justify-content:center;min-height:8vmin;padding:1vmin 2vmin;padding:var(--uno-spacing-sm) var(--uno-spacing-md);width:100%;z-index:10}.uno-direction-indicator,.uno-round-info{font-size:3.5vmin;font-size:var(--uno-font-sm);font-weight:700;white-space:nowrap}.uno-direction-indicator{opacity:.9}.uno-mode-badge{background:#fff3;font-size:3.5vmin;font-size:var(--uno-font-sm);padding:.5vmin 1.5vmin}.uno-error,.uno-mode-badge{border-radius:1.5vmin;border-radius:var(--uno-radius);white-space:nowrap}.uno-error{animation:slideDown .3s ease;background:#e74c3c;box-shadow:0 1vmin 3vmin #0000004d;color:#fff;font-size:4.5vmin;font-size:var(--uno-font-md);left:50%;padding:2vmin 3vmin;padding:var(--uno-spacing-md) var(--uno-spacing-lg);position:absolute;top:15vmin;transform:translateX(-50%);z-index:100}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.uno-table{grid-gap:2vmin;grid-gap:var(--uno-spacing-md);display:grid;flex:1 1;gap:2vmin;gap:var(--uno-spacing-md);grid-template-areas:"left top right" "left center right";grid-template-columns:1fr 2fr 1fr;grid-template-rows:auto 1fr;min-height:0;padding:2vmin;padding:var(--uno-spacing-md);position:relative}.uno-opponent{align-items:center;display:flex;flex-direction:column;gap:1vmin;gap:var(--uno-spacing-sm);justify-content:center}.uno-opponent-top{align-self:start;grid-area:top;justify-self:center}.uno-opponent-left{align-self:center;grid-area:left}.uno-opponent-right{align-self:center;grid-area:right}.uno-opponent-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:.2vmin solid #0000;border-radius:1.5vmin;border-radius:var(--uno-radius);color:#fff;min-width:14vmin;padding:1vmin 2vmin;padding:var(--uno-spacing-sm) var(--uno-spacing-md);text-align:center;transition:all .3s ease}.uno-opponent.active-turn .uno-opponent-info{animation:pulse 1.5s ease-in-out infinite;border-color:#f1c40f;box-shadow:0 0 2vmin #f1c40f80}@keyframes pulse{0%,to{box-shadow:0 0 2vmin #f1c40f80}50%{box-shadow:0 0 3vmin #f1c40fcc}}.uno-opponent-name{font-size:3.5vmin;font-size:var(--uno-font-sm);font-weight:700;margin-bottom:.5vmin;max-width:20vmin;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uno-opponent-wins{opacity:.9}.uno-opponent-card-count,.uno-opponent-wins{font-size:2.5vmin;font-size:var(--uno-font-xs)}.uno-opponent-card-count{opacity:.8}.uno-opponent-uno-badge{animation:wiggle .5s ease-in-out infinite;background:#e74c3c;border-radius:1.5vmin;border-radius:var(--uno-radius);color:#fff;font-size:2.5vmin;font-size:var(--uno-font-xs);font-weight:700;margin-top:.5vmin;padding:.2vmin 1vmin}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.uno-opponent-cards{flex-wrap:nowrap;margin-top:1vmin}.uno-card-back-small,.uno-opponent-cards{align-items:center;display:flex;height:14.7vmin;height:calc(var(--uno-card-height)*.7);justify-content:center}.uno-card-back-small{background:linear-gradient(135deg,#e74c3c,#c0392b);border:.2vmin solid #fff;border-radius:.75vmin;border-radius:calc(var(--uno-radius)*.5);box-shadow:0 .5vmin 1vmin #0000004d;color:#fff;font-size:2.5vmin;font-size:var(--uno-font-xs);font-weight:700;margin-left:-8.4vmin;margin-left:calc(var(--uno-card-width)*-.6);width:9.8vmin;width:calc(var(--uno-card-width)*.7)}.uno-card-back-small:first-child{margin-left:0}.uno-card-overflow{align-self:center;color:#fff;font-size:3.5vmin;font-size:var(--uno-font-sm);margin-left:1vmin}.uno-center{gap:3vmin;gap:var(--uno-spacing-lg);grid-area:center;justify-content:center;position:relative}.uno-center,.uno-draw-pile{align-items:center;display:flex}.uno-draw-pile{cursor:pointer;flex-direction:column;gap:1vmin;gap:var(--uno-spacing-sm);transition:transform .2s ease}.uno-draw-pile:hover{transform:scale(1.05)}.uno-draw-pile:active{transform:scale(.98)}.uno-deck-count{color:#fff;font-size:3.5vmin;font-size:var(--uno-font-sm);font-weight:700}.uno-discard-pile{flex-direction:column}.uno-current-color,.uno-discard-pile{align-items:center;display:flex;gap:1vmin;gap:var(--uno-spacing-sm)}.uno-current-color{color:#fff;font-size:3.5vmin;font-size:var(--uno-font-sm);font-weight:700;text-transform:capitalize}.uno-color-dot{border:.2vmin solid #fff;border-radius:50%;height:2.5vmin;width:2.5vmin}.uno-color-dot.uno-color-red{background:#e74c3c}.uno-color-dot.uno-color-yellow{background:#f1c40f}.uno-color-dot.uno-color-green{background:#2ecc71}.uno-color-dot.uno-color-blue{background:#3498db}.uno-draw-stack-indicator{animation:bounce 1s ease-in-out infinite;background:#e74c3c;border-radius:1.5vmin;border-radius:var(--uno-radius);box-shadow:0 1vmin 3vmin #0000004d;color:#fff;font-size:4.5vmin;font-size:var(--uno-font-md);font-weight:700;left:50%;padding:1vmin 2vmin;pointer-events:none;position:absolute;top:-8vmin;transform:translateX(-50%);white-space:nowrap;z-index:5}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-1vmin)}}.uno-card{background-color:#fff;border:.4vmin solid #fff;border-radius:1.5vmin;border-radius:var(--uno-radius);box-shadow:0 1vmin 3vmin #0000004d;display:flex;flex-direction:column;height:21vmin;height:var(--uno-card-height);position:relative;transition:all .2s ease;width:14vmin;width:var(--uno-card-width)}.uno-card.clickable{cursor:pointer}.uno-card.clickable:hover{box-shadow:0 2vmin 5vmin #0006;transform:translateY(-2vmin);z-index:10}.uno-card.selected{box-shadow:0 2vmin 6vmin #ffffff80;transform:translateY(-3vmin) scale(1.05);z-index:20}.uno-card.unplayable{cursor:not-allowed;filter:grayscale(.5);opacity:.5}.uno-card.unplayable:hover{box-shadow:0 1vmin 3vmin #0000004d;transform:none}.uno-card-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.uno-card-yellow{background:linear-gradient(135deg,#f1c40f,#f39c12)}.uno-card-green{background:linear-gradient(135deg,#2ecc71,#27ae60)}.uno-card-blue{background:linear-gradient(135deg,#3498db,#2980b9)}.uno-card-center{align-items:center;color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center}.uno-card-number-large{font-size:10vmin;font-size:var(--uno-font-xl);font-weight:700;line-height:1;text-shadow:.3vmin .3vmin .6vmin #0000004d}.uno-card-action-icon{font-size:6vmin;font-size:var(--uno-font-lg);line-height:1;margin-bottom:.5vmin}.uno-card-action-label{font-size:3.5vmin;font-size:var(--uno-font-sm);font-weight:700;line-height:1.2;text-align:center}.uno-card-wild{background:#000}.uno-card-wild-bottom,.uno-card-wild-top{display:flex;flex:1 1}.uno-wild-quarter{flex:1 1}.uno-wild-red{background:#e74c3c}.uno-wild-yellow{background:#f1c40f}.uno-wild-blue{background:#3498db}.uno-wild-green{background:#2ecc71}.uno-card-wild-center{background:#000000b3;border-radius:1.2vmin;border-radius:calc(var(--uno-radius)*.8);color:#fff;font-weight:700;left:50%;padding:.5vmin 1vmin;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:70%}.uno-wild-text{font-size:4.5vmin;font-size:var(--uno-font-md)}.uno-wild-draw4{font-size:3.5vmin;font-size:var(--uno-font-sm);margin-top:.5vmin}.uno-card-back{background:linear-gradient(135deg,#e74c3c,#c0392b);overflow:hidden;position:relative}.uno-card-back-pattern{border:.3vmin solid #ffffff4d;border-radius:.9vmin;border-radius:calc(var(--uno-radius)*.6);inset:1vmin;position:absolute}.uno-card-back-text{color:#fff;font-size:6vmin;font-size:var(--uno-font-lg);font-weight:700;left:50%;position:absolute;text-shadow:.3vmin .3vmin .6vmin #00000080;top:50%;transform:translate(-50%,-50%) rotate(-15deg)}.uno-my-area{background:#0000004d;border-top:.2vmin solid #ffffff1a;display:flex;flex-direction:column;justify-content:flex-end;max-height:40vh;min-height:25vmin;padding:2vmin;padding:var(--uno-spacing-md)}.uno-my-info{align-items:center;color:#fff;display:flex;justify-content:space-between;margin-bottom:2vmin;margin-bottom:var(--uno-spacing-md);padding:0 1vmin;padding:0 var(--uno-spacing-sm)}.uno-my-name{font-weight:700}.uno-my-name,.uno-my-wins{font-size:4.5vmin;font-size:var(--uno-font-md)}.uno-your-turn{animation:pulse 1.5s ease-in-out infinite;background:#f1c40f;color:#000;padding:.5vmin 1.5vmin}.uno-pass-button,.uno-your-turn{border-radius:1.5vmin;border-radius:var(--uno-radius);font-size:4.5vmin;font-size:var(--uno-font-md);font-weight:700}.uno-pass-button{background:#95a5a6;border:none;color:#fff;cursor:pointer;padding:.8vmin 2vmin;transition:all .2s ease}.uno-pass-button:hover{background:#7f8c8d;transform:translateY(-.2vmin)}.uno-pass-button:active{transform:translateY(0)}.uno-my-hand{-ms-overflow-style:none;display:flex;flex-wrap:nowrap;gap:1vmin;gap:var(--uno-spacing-sm);justify-content:flex-start;margin:0 auto;max-width:100%;overflow-x:auto;padding:2vmin 0;padding:var(--uno-spacing-md) 0;perspective:1000px;scrollbar-width:none}.uno-my-hand::-webkit-scrollbar{display:none}.uno-hand-card{flex-shrink:0;margin-left:0;transition:transform .2s ease}.uno-hand-card:first-child{margin-left:auto}.uno-hand-card:last-child{margin-right:auto}.uno-hand-card:hover{transform:translateY(-2vmin);z-index:100}.uno-color-picker-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.uno-color-picker{animation:scaleIn .3s ease;background:#fff;border-radius:2.25vmin;border-radius:calc(var(--uno-radius)*1.5);box-shadow:0 2vmin 8vmin #00000080;max-width:90vw;padding:3vmin 4vmin;text-align:center;width:60vmin}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.uno-color-picker h3{font-size:6vmin;font-size:var(--uno-font-lg);margin:0 0 2vmin}.uno-color-options{grid-gap:2vmin;display:grid;gap:2vmin;grid-template-columns:1fr 1fr}.uno-color-option{border:none;border-radius:1.5vmin;border-radius:var(--uno-radius);box-shadow:0 1vmin 2vmin #0003;color:#fff;cursor:pointer;font-size:4.5vmin;font-size:var(--uno-font-md);font-weight:700;padding:3vmin 2vmin;transition:all .2s ease}.uno-color-option:hover{box-shadow:0 1.5vmin 3vmin #0000004d;transform:translateY(-.5vmin)}.uno-color-option:active{transform:translateY(-.2vmin)}@media (orientation:landscape){:root{--uno-card-width:10vmin;--uno-card-height:15vmin;--uno-font-xs:1.5vmin;--uno-font-sm:2vmin;--uno-font-md:2.5vmin;--uno-font-lg:3vmin;--uno-font-xl:6vmin}.uno-table{padding:3vmin;padding:var(--uno-spacing-lg)}.uno-card-back-small,.uno-opponent-cards{height:10.5vmin;height:calc(var(--uno-card-height)*.5)}.uno-card-back-small{width:7vmin;width:calc(var(--uno-card-width)*.5)}.uno-my-area{min-height:20vmin}}.uno-round-end{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.uno-round-end-content{max-width:900px;text-align:center;width:100%}.uno-winner-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:25px;margin-bottom:2rem;padding:3rem 2rem}.uno-trophy-icon{animation:bounce 2s ease-in-out infinite;font-size:5rem}.uno-winner-section h1{color:#fff;font-size:2.5rem;margin:1rem 0 .5rem}.uno-winner-name{color:#f1c40f;font-size:3rem;margin:.5rem 0;text-shadow:3px 3px 6px #0000004d}.uno-winner-stats{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:1.5rem}.uno-winner-points,.uno-winner-total{background:#fff3;border-radius:15px;color:#fff;font-size:1.1rem;font-weight:700;padding:.75rem 1.5rem}.uno-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:25px;margin-bottom:2rem;padding:2rem}.uno-leaderboard h3{color:#fff;font-size:1.8rem;margin:0 0 1.5rem}.uno-leaderboard-list{display:flex;flex-direction:column;gap:.75rem}.uno-leaderboard-item{grid-gap:1rem;align-items:center;background:#ffffff1a;border-radius:15px;display:grid;gap:1rem;grid-template-columns:60px 1fr auto;padding:1rem 1.5rem;transition:all .3s ease}.uno-leaderboard-item.winner{background:#f1c40f4d;border:2px solid #f1c40f;box-shadow:0 0 20px #f1c40f66}.uno-leaderboard-item:hover{background:#ffffff26;transform:translateX(5px)}.uno-leaderboard-rank{font-size:1.5rem;text-align:center}.uno-leaderboard-name{color:#fff;font-size:1.2rem;font-weight:700;text-align:left}.uno-leaderboard-wins{color:#fff;font-size:1.1rem;font-weight:700}.uno-round-end-actions{margin-top:2rem}.uno-next-round-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:50px;box-shadow:0 6px 20px #0003;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;padding:1rem 3rem;transition:all .3s ease}.uno-next-round-btn:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-3px)}.uno-next-round-btn:active{transform:translateY(-1px)}.uno-waiting-message{color:#fff;font-size:1.2rem;margin:0}@media (max-width:768px){.uno-winner-section h1{font-size:2rem}.uno-winner-name{font-size:2.5rem}.uno-leaderboard-item{grid-template-columns:50px 1fr auto;padding:.75rem 1rem}.uno-leaderboard-name{font-size:1rem}}.uno-game-end{align-items:center;background:linear-gradient(135deg,#134e5e,#71b280);display:flex;justify-content:center;min-height:100vh;padding:2rem}.uno-game-end-content{max-width:1000px;text-align:center;width:100%}.uno-champion-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:3px solid #ffd70080;border-radius:30px;box-shadow:0 10px 40px #0000004d;margin-bottom:3rem;padding:3rem 2rem}.uno-crown-icon{animation:float 3s ease-in-out infinite;font-size:6rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.uno-champion-section h1{color:#fff;font-size:3rem;margin:1rem 0 .5rem;text-shadow:3px 3px 6px #00000080}.uno-champion-name{color:gold;font-size:4rem;font-weight:700;margin:1rem 0;text-shadow:4px 4px 8px #00000080}.uno-champion-stats{margin-top:1.5rem}.uno-champion-wins{background:#ffd7004d;border:2px solid gold;border-radius:20px;color:#fff;display:inline-block;font-size:1.5rem;font-weight:700;padding:1rem 2rem}.uno-final-standings{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:25px;padding:2.5rem 2rem}.uno-final-standings h3{color:#fff;font-size:2rem;margin:0 0 2rem}.uno-podium{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:2rem}.uno-podium-spot{background:#ffffff26;border:2px solid #0000;border-radius:20px;min-width:150px;padding:2rem 1.5rem;transition:all .3s ease}.uno-podium-spot.spot-1{background:#ffd7004d;border-color:gold;min-height:280px;order:2;transform:translateY(-20px)}.uno-podium-spot.spot-2{background:#c0c0c04d;border-color:silver;min-height:240px;order:1}.uno-podium-spot.spot-3{background:#cd7f324d;border-color:#cd7f32;min-height:200px;order:3}.uno-podium-spot:hover{transform:scale(1.05)}.uno-podium-spot.spot-1:hover{transform:translateY(-20px) scale(1.05)}.uno-podium-medal{font-size:4rem;margin-bottom:1rem}.uno-podium-rank{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.uno-podium-name{color:#fff;font-size:1.3rem;font-weight:700;margin-bottom:.75rem;word-break:break-word}.uno-podium-wins{color:#fff;font-size:1.1rem;font-weight:700}.uno-other-players{border-top:2px solid #fff3;margin-top:2rem;padding-top:2rem}.uno-other-players h4{color:#fff;font-size:1.3rem;margin:0 0 1rem}.uno-other-player{grid-gap:1rem;align-items:center;background:#ffffff1a;border-radius:12px;display:grid;gap:1rem;grid-template-columns:60px 1fr auto;margin-bottom:.5rem;padding:1rem 1.5rem;transition:all .3s ease}.uno-other-player:hover{background:#ffffff26;transform:translateX(5px)}.uno-other-rank{color:#ffffffb3;font-size:1.2rem;font-weight:700;text-align:center}.uno-other-name{color:#fff;font-size:1.1rem;font-weight:700;text-align:left}.uno-other-wins{color:#fff;font-size:1rem;font-weight:700}.uno-game-end-actions{margin-top:2.5rem}.uno-game-end-message{color:#fff;font-size:1.2rem;margin:0;opacity:.9}@media (max-width:768px){.uno-champion-section h1{font-size:2rem}.uno-champion-name{font-size:2.5rem}.uno-podium{align-items:center;flex-direction:column}.uno-podium-spot{max-width:250px;min-height:auto!important;order:0!important;transform:none!important;width:100%}.uno-podium-spot:hover{transform:scale(1.02)!important}.uno-other-player{grid-template-columns:50px 1fr auto;padding:.75rem 1rem}}.uno-game{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Arial,sans-serif;height:100vh;overflow:hidden;width:100vw}.uno-loading{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:1.5rem;height:100vh;justify-content:center}.uno-loading-spinner{animation:spin 2s linear infinite;font-size:4rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.uno-loading p{font-size:1.2rem;margin-top:1rem}.uno-display-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;display:flex;font-family:Arial,sans-serif;height:100vh;justify-content:center;overflow:hidden;padding:2rem;width:100vw}.uno-display-select-mode{text-align:center}.uno-display-title{font-size:5rem;font-weight:700;margin:0 0 1rem;text-shadow:4px 4px 10px #00000080}.uno-display-subtitle{font-size:1.8rem;opacity:.9}.uno-display-dealing{text-align:center}.uno-display-dealing-animation{animation:spin 2s linear infinite;font-size:6rem;margin:2rem 0}.uno-display-dealing p{font-size:1.5rem}.uno-display-playing{display:flex;flex-direction:column;gap:2rem;max-width:1400px;width:100%}.uno-display-header{align-items:center;display:flex;justify-content:space-between}.uno-display-title-small{font-size:3rem;margin:0;text-shadow:3px 3px 6px #00000080}.uno-display-round{background:#fff3;border-radius:20px;font-size:1.5rem;font-weight:700;padding:.75rem 1.5rem}.uno-display-current-player{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #f1c40f80;border-radius:20px;font-size:1.8rem;padding:1rem 2rem;text-align:center}.uno-display-current-player strong{color:#f1c40f}.uno-display-table{align-items:center;background:#0003;border-radius:30px;display:flex;flex-direction:column;gap:2rem;padding:2rem}.uno-display-deck-area{align-items:center;display:flex;gap:4rem}.uno-display-discard-pile,.uno-display-draw-pile{align-items:center;display:flex;flex-direction:column;gap:1rem}.uno-display-card{border:4px solid #fff;border-radius:15px;box-shadow:0 6px 20px #0006;display:flex;flex-direction:column;height:180px;position:relative;width:120px}.uno-display-card-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.uno-display-card-yellow{background:linear-gradient(135deg,#f1c40f,#f39c12)}.uno-display-card-green{background:linear-gradient(135deg,#2ecc71,#27ae60)}.uno-display-card-blue{background:linear-gradient(135deg,#3498db,#2980b9)}.uno-display-card-number{font-size:6rem;text-shadow:3px 3px 6px #00000080}.uno-display-card-action,.uno-display-card-number{color:#fff;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.uno-display-card-action{font-size:3rem;text-shadow:2px 2px 4px #00000080}.uno-display-card-wild{background:#000}.uno-display-card-wild-icon{background:#fff3;border-radius:15px;color:#fff;font-size:3rem;font-weight:700;left:50%;padding:1rem 1.5rem;position:absolute;top:50%;transform:translate(-50%,-50%)}.uno-display-card-back{background:linear-gradient(135deg,#e74c3c,#c0392b);position:relative}.uno-display-card-back-text{color:#fff;font-size:2.5rem;font-weight:700;left:50%;position:absolute;text-shadow:3px 3px 6px #00000080;top:50%;transform:translate(-50%,-50%) rotate(-20deg)}.uno-display-deck-count{background:#fff3;border-radius:10px;font-size:1.2rem;font-weight:700;padding:.5rem 1rem}.uno-display-current-color{align-items:center;display:flex;font-size:1.3rem;font-weight:700;gap:.75rem;text-transform:capitalize}.color-indicator{border:3px solid #fff;border-radius:50%;display:inline-block;height:30px;width:30px}.color-indicator.color-red{background:#e74c3c}.color-indicator.color-yellow{background:#f1c40f}.color-indicator.color-green{background:#2ecc71}.color-indicator.color-blue{background:#3498db}.uno-display-draw-stack{animation:pulse 1s ease-in-out infinite;background:#e74c3c;border-radius:15px;color:#fff;font-size:1.5rem;font-weight:700;padding:1rem 2rem}.uno-display-players{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.uno-display-player-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #0000;border-radius:15px;padding:1rem 1.5rem;transition:all .3s ease}.uno-display-player-item.active{animation:pulse 1.5s ease-in-out infinite;border-color:#f1c40f;box-shadow:0 0 25px #f1c40f80}.uno-display-player-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.uno-display-player-name{font-size:1.2rem;font-weight:700}.uno-display-player-cards{font-size:1rem;opacity:.9}.uno-display-player-wins{font-size:1.1rem;font-weight:700;text-align:right}.uno-display-uno-badge{animation:wiggle .5s ease-in-out infinite;background:#e74c3c;border-radius:10px;color:#fff;display:inline-block;font-size:.85rem;font-weight:700;margin-top:.5rem;padding:.3rem .8rem}.uno-display-round-end{max-width:900px;text-align:center}.uno-display-winner-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:25px;margin-bottom:2rem;padding:3rem 2rem}.uno-display-trophy{animation:bounce 2s ease-in-out infinite;font-size:6rem}.uno-display-round-end h1{font-size:3rem;margin:1rem 0}.uno-display-winner-name{color:#f1c40f;font-size:4rem;margin:1rem 0;text-shadow:4px 4px 8px #00000080}.uno-display-winner-points{background:#fff3;border-radius:15px;display:inline-block;font-size:1.5rem;margin-top:1rem;padding:.75rem 1.5rem}.uno-display-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:25px;padding:2rem}.uno-display-leaderboard h3{font-size:2rem;margin:0 0 1.5rem}.uno-display-leaderboard-item{grid-gap:1.5rem;align-items:center;background:#ffffff1a;border-radius:15px;display:grid;font-size:1.3rem;gap:1.5rem;grid-template-columns:80px 1fr auto;margin-bottom:1rem;padding:1.25rem 2rem}.uno-display-rank{font-size:1.8rem;text-align:center}.uno-display-name{font-weight:700;text-align:left}.uno-display-score{font-weight:700}.uno-display-game-end{max-width:1000px;text-align:center}.uno-display-champion-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:3px solid #ffd70080;border-radius:30px;margin-bottom:3rem;padding:3rem 2rem}.uno-display-crown{animation:float 3s ease-in-out infinite;font-size:7rem}.uno-display-game-end h1{font-size:3.5rem;margin:1rem 0}.uno-display-champion-name{color:gold;font-size:5rem;margin:1rem 0;text-shadow:5px 5px 10px #00000080}.uno-display-champion-wins{background:#ffd7004d;border-radius:20px;display:inline-block;font-size:1.8rem;margin-top:1rem;padding:1rem 2rem}.uno-display-final-standings{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:25px;padding:2.5rem 2rem}.uno-display-final-standings h3{font-size:2.5rem;margin:0 0 2rem}.uno-display-podium{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.uno-display-podium-spot{background:#ffffff26;border:3px solid #0000;border-radius:20px;min-width:180px;padding:2rem 1.5rem}.uno-display-podium-spot.spot-1{background:#ffd7004d;border-color:gold;transform:translateY(-20px)}.uno-display-podium-spot.spot-2{background:#c0c0c04d;border-color:silver}.uno-display-podium-spot.spot-3{background:#cd7f324d;border-color:#cd7f32}.uno-display-medal{font-size:5rem;margin-bottom:1rem}.uno-display-podium-name{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.uno-display-podium-score{font-size:1.3rem;font-weight:700}.uno-display-other-players{border-top:2px solid #fff3;margin-top:2rem;padding-top:2rem}.uno-display-other-player{grid-gap:1.5rem;background:#ffffff1a;border-radius:12px;display:grid;font-size:1.2rem;gap:1.5rem;grid-template-columns:80px 1fr auto;margin-bottom:.75rem;padding:1rem 2rem}@media (max-width:1024px){.uno-display-card{height:150px;width:100px}.uno-display-card-number{font-size:4rem}}@media (max-width:768px){.uno-display-title{font-size:3rem}.uno-display-deck-area{gap:2rem}.uno-display-card{height:120px;width:80px}.uno-display-card-number{font-size:3rem}.uno-display-players{grid-template-columns:1fr}}.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;height:100%;margin:0;max-width:none;padding:0}.room-header,.room-lobby-card{display:flex;flex-direction:column}.room-header{align-items:center;flex-shrink:0;gap:20px;margin-bottom:30px;text-align:center}.room-title{color:var(--text-primary);font-size:2.5rem;font-weight:800;letter-spacing:-.5px;margin:0}.room-code{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin-top:-10px}.room-actions{display:flex;gap:10px;max-width:600px;width:100%}.room-action-btn{background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.room-action-btn:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-2px)}.room-action-btn.leave-btn{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.room-action-btn.leave-btn:hover{background:#ef444440;border-color:#ef444480;color:#fecaca}.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{gap:15px;margin-bottom:20px}.room-title{font-size:1.8rem}.room-code{font-size:.95rem}.room-actions{gap:8px;max-width:100%}.room-action-btn{font-size:.85rem;padding:10px 12px}.games-grid{grid-template-columns:1fr}}.qr-modal{background:linear-gradient(135deg,#2d2d44,#1a1a2e);border:1px solid #ffffff1a;box-shadow:0 20px 60px #00000080;max-width:400px}.qr-modal h2{color:#fff;text-align:center;width:100%}.qr-modal-content-inner{align-items:center;display:flex;flex-direction:column;gap:20px;padding:10px 0}.room-code-display{color:#fffc;font-size:1.1rem;margin:0}.room-code-display strong{color:#a5b4fc;font-size:1.3rem;letter-spacing:2px}.qr-code-wrapper{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 30px #0000004d;display:flex;justify-content:center;padding:16px}.share-url{background:#0000004d;border:1px solid #ffffff0d;border-radius:8px;color:#ffffffb3;font-size:.85rem;margin:0;overflow:hidden;padding:8px 12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.copy-url-button{background:var(--gradient-accent-primary);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s;width:100%}.copy-url-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.qr-modal .modal-close{color:#ffffff80}.qr-modal .modal-close:hover{background:#ffffff1a;color:#fff}.room-game-card.selected{background-color:#646cff1a;border-color:#646cff;box-shadow:0 0 15px #646cff4d}.room-game-card.selected .vote-button{background-color:#4a4a4a;border-color:#646cff;color:#a5b4fc}.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)}.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;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 30px #00000080;color:var(--text-primary);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:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.install-pwa-subtitle{color:var(--text-secondary);font-size:14px}.install-pwa-button{background:var(--gradient-accent-primary);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.install-pwa-button:hover{box-shadow:0 6px 16px #667eea66;transform:scale(1.05)}.install-pwa-close{background:#0000;border:none;color:var(--text-dimmed);cursor:pointer;font-size:28px;height:30px;line-height:1;padding:0;transition:color .3s ease;width:30px}.install-pwa-close:hover{color:var(--text-primary)}@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.d842e2dc.css.map*/