body{background:#f1f5f9}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6,p{margin-top:0}.homepage{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh}.homepage-hero{background:linear-gradient(180deg,#e74c3c4d,#0000);padding:4rem 2rem;text-align:center}.hero-content h1{animation:pulse-glow 2s ease-in-out infinite;font-size:4rem;margin:0;text-shadow:0 4px 20px #e74c3c80}@keyframes pulse-glow{0%,to{text-shadow:0 4px 20px #e74c3c80}50%{text-shadow:0 4px 40px #e74c3ccc}}.tagline{color:#e0e0e0;font-size:1.5rem;margin-top:1rem}.homepage-main{margin:0 auto;max-width:1200px;padding:2rem}.homepage-main section{margin-bottom:3rem}.homepage-main h2{border-bottom:2px solid #e74c3c;color:#e74c3c;font-size:2rem;margin-bottom:1rem;padding-bottom:.5rem}.intro-section p{color:#ccc;font-size:1.2rem;line-height:1.8}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;flex-direction:column;padding:1.2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{border-color:#e74c3c80;box-shadow:0 10px 30px #e74c3c33;transform:translateY(-5px)}.feature-icon{display:block;font-size:2rem;margin:.7rem 0}.feature-icon-image{border:1px solid #ffffff26;border-radius:10px;height:56px;object-fit:cover;width:56px}.feature-card-image{border:1px solid #ffffff26;border-radius:12px;height:170px;object-fit:cover;width:100%}.feature-card h3{color:#fff;margin-bottom:.5rem}.feature-card p{color:#aaa;font-size:.95rem;line-height:1.45}.feature-card-cta{background:#e74c3c33;border:1px solid #e74c3c8c;border-radius:999px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;margin-top:auto;padding:.55rem 1rem;transition:all .2s ease}.feature-card-cta:hover{background:#e74c3c59}.difficulty-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.difficulty-card{border-radius:12px;padding:1.5rem;text-align:center;transition:transform .3s ease}.difficulty-card:hover{transform:scale(1.05)}.difficulty-card h3{font-size:1.3rem;margin:0 0 .5rem}.difficulty-card p{font-size:.9rem;margin:0 0 1rem;opacity:.9}.difficulty-card .tokens{background:#0000004d;border-radius:20px;display:inline-block;font-weight:700;padding:.3rem .8rem}.difficulty-card.original{background:linear-gradient(135deg,#10b981,#059669)}.difficulty-card.pro{background:linear-gradient(135deg,#3b82f6,#2563eb)}.difficulty-card.expert{background:linear-gradient(135deg,#f59e0b,#d97706)}.join-section{background:#ffffff0d;border-radius:16px;padding:2rem;text-align:center}.join-section p{color:#ccc;margin-bottom:1.5rem}.join-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.2rem;padding:1rem 2.5rem;transition:transform .3s ease,box-shadow .3s ease}.join-button:hover{box-shadow:0 10px 30px #10b98166;transform:scale(1.05)}.admin-section{padding:2rem;text-align:center}.admin-button{background:#0000;border:1px solid #444;border-radius:8px;color:#888;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:all .3s ease}.admin-button:hover{background:#e74c3c1a;border-color:#e74c3c;color:#fff}.login-form{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin:0 auto;max-width:300px;padding:2rem}.login-form h3{color:#e74c3c;margin:0 0 1.5rem}.login-form .form-group{margin-bottom:1rem}.login-form input{background:#0000004d;border:1px solid #444;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;padding:.8rem;width:100%}.login-form input:focus{border-color:#e74c3c;outline:none}.error-message{color:#ef4444;font-size:.9rem;margin:.5rem 0}.login-buttons{display:flex;gap:1rem;margin-top:1rem}.login-submit{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:.8rem;transition:background .3s ease}.login-submit:hover{background:#c0392b}.login-cancel{background:#0000;border:1px solid #444;border-radius:8px;color:#888;cursor:pointer;flex:1 1;font-size:1rem;padding:.8rem;transition:all .3s ease}.login-cancel:hover{border-color:#666;color:#fff}.homepage-footer{background:#0000004d;color:#666;padding:2rem;text-align:center}@media (max-width:768px){.hero-content h1{font-size:2.5rem}.tagline{font-size:1.1rem}.homepage-main{padding:1rem}.feature-card{padding:1.5rem}}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1.1em;font-weight:700;gap:8px;justify-content:center;padding:12px 24px;transition:all .3s}.btn:hover:not(:disabled){box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-danger{background:#f56565;color:#fff}.btn-warning{background:#fbbf24;color:#78350f}.btn-secondary{background:#e2e8f0;color:#334155}.btn-small{font-size:.9em;padding:6px 12px}.btn-medium{font-size:1.1em;padding:12px 24px}.btn-large{font-size:1.3em;padding:16px 32px}.btn-full{width:100%}.setup-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.setup-container{margin:0 auto;max-width:1200px}.setup-container h1{color:#fff;font-size:2.5em;margin-bottom:8px;text-align:center}.subtitle{color:#fffc;font-size:1.2em;margin-bottom:40px;text-align:center}.setup-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:350px 1fr}@media (max-width:900px){.setup-content{grid-template-columns:1fr}}.setup-form-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;height:-webkit-fit-content;height:fit-content;padding:24px}.setup-form-section h2{color:#334155;margin-bottom:20px}.team-form{display:flex;flex-direction:column;gap:16px}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1em;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.team-count{color:#64748b;font-size:.9em;margin-top:16px;text-align:center}.teams-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:24px}.teams-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.teams-header h2{color:#334155;margin:0}.teams-section h2{color:#334155;margin-bottom:20px}.empty-state{color:#64748b;padding:40px}.empty-state p:first-child{font-size:1.1em;margin-bottom:8px}.team-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.team-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:transform .2s,box-shadow .2s}.team-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.team-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.team-card-header h3{color:#334155;font-size:1.1em;margin:0}.remove-btn{color:#94a3b8;font-size:24px;line-height:1;padding:0}.remove-btn:hover{color:#f56565}.team-difficulty{border-radius:20px;color:#fff;display:inline-block;font-size:.8em;font-weight:600;margin-bottom:12px;padding:4px 10px}.team-timeline{background:#e2e8f0;border-radius:8px;margin-bottom:12px;padding:8px}.timeline-label{color:#64748b;display:block;font-size:.75em;font-weight:600;margin-bottom:6px}.timeline-cards{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.timeline-card{background:#fff;border:2px solid #cbd5e1;border-radius:6px;color:#334155;cursor:default;font-size:.85em;font-weight:600;padding:4px 8px}.timeline-card.start-card{border-color:#667eea;box-shadow:0 2px 4px #667eea4d}.timeline-card.start-card.editable{cursor:pointer;position:relative;transition:transform .2s,box-shadow .2s}.timeline-card.start-card.editable:hover{box-shadow:0 4px 8px #667eea66;transform:scale(1.05)}.edit-hint{background:#ffffff4d;border-radius:4px;font-size:1em;margin-left:6px;opacity:1;padding:2px 4px}.timeline-edit{align-items:center;display:flex;gap:4px}.year-edit-input{border:2px solid #667eea;border-radius:6px;font-size:.85em;font-weight:600;padding:4px 6px;text-align:center;width:70px}.year-edit-input:focus{box-shadow:0 0 0 3px #667eea4d;outline:none}.year-cancel-btn,.year-save-btn{border:none;border-radius:4px;cursor:pointer;font-weight:600;padding:4px 8px;transition:background-color .2s}.year-save-btn{background:#10b981;color:#fff}.year-save-btn:hover{background:#059669}.year-cancel-btn{background:#ef4444;color:#fff}.year-cancel-btn:hover{background:#dc2626}.team-tokens{display:flex;gap:4px}.form-hint{color:#64748b;font-size:.8em;margin-top:4px}.token-icon{font-size:1.2em}.setup-actions{margin-top:30px;text-align:center}.helper-text{color:#fffc;font-size:.9em;margin-top:12px}.youtube-search{background:#fefce8;border:2px solid #fbbf24;border-radius:12px;margin-bottom:20px;padding:20px}.youtube-search h3{color:#92400e;margin-bottom:16px;margin-top:0}.search-box{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.search-box input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:1em;height:auto;padding:12px;width:100%}.search-box button{height:auto;padding:12px 20px;white-space:nowrap;width:100%}.search-box input:focus{border-color:#667eea;outline:none}.status-message{background:#d1fae5;border-radius:8px;color:#065f46;font-weight:600;margin-bottom:16px;padding:12px}.search-results{margin-bottom:16px;max-height:300px}.search-results h4{color:#475569;margin:0 0 12px}.result-item{border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:background .2s}.result-item:hover{background:#fef9c3;border-color:#fbbf24}.result-thumb{border-radius:6px;flex-shrink:0;height:68px;object-fit:cover;width:120px}.result-info{flex:1 1;min-width:0}.result-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#334155;display:-webkit-box;font-weight:600;margin-bottom:4px;overflow:hidden}.result-channel{color:#64748b;font-size:.85em}.loading-info{color:#64748b;padding:20px;text-align:center}.selected-video{background:#fff;border:2px solid #667eea;border-radius:10px;padding:16px}.selected-header{display:flex;gap:12px;margin-bottom:16px;position:relative}.selected-thumb{border-radius:8px;flex-shrink:0;height:90px;object-fit:cover;width:160px}.selected-info{flex:1 1}.selected-title{color:#334155;font-weight:700;margin-bottom:4px}.selected-channel{color:#64748b;font-size:.9em}.close-btn{align-items:center;background:#f56565;display:flex;font-size:18px;justify-content:center;position:absolute;right:-8px;top:-8px}.close-btn:hover{background:#e53e3e}.edit-form{display:flex;gap:12px;margin-bottom:16px}.edit-form,.form-row{flex-direction:column}.form-row{gap:4px}.form-row label{color:#475569;font-size:.85em;font-weight:600}.form-row input{border:2px solid #e2e8f0;border-radius:6px;font-size:1em;padding:10px}.form-row input:focus{border-color:#667eea;outline:none}.youtube-help{color:#64748b;margin-top:12px;text-align:center}.youtube-help code{background:#f1f5f9;border-radius:4px;font-size:.9em;padding:2px 6px}.spotify-player{background:linear-gradient(135deg,#1db954,#169c46);border-radius:12px;color:#fff;margin-bottom:1rem;padding:1rem}.spotify-player.not-authenticated,.spotify-player.not-premium{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.spotify-player.connecting{animation:pulse-connecting 2s infinite;background:linear-gradient(135deg,#f59e0b,#d97706)}@keyframes pulse-connecting{0%,to{opacity:1}50%{opacity:.85}}.spotify-icon.connecting{animation:spin-slow 2s linear infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spotify-login-prompt{align-items:center;display:flex;gap:1rem}.spotify-icon{font-size:2rem;opacity:.8}.spotify-icon.connected{animation:pulse 2s infinite;opacity:1}.spotify-login-text{display:flex;flex:1 1;flex-direction:column}.spotify-login-text small{font-size:.8rem;opacity:.8}.spotify-login-btn{border-radius:20px;font-weight:700;padding:.6rem 1.2rem}.spotify-login-btn:hover:not(:disabled){background:#1ed760;transform:scale(1.05)}.spotify-login-btn:disabled{cursor:not-allowed;opacity:.6}.spotify-warning{align-items:center;display:flex;gap:1rem}.warning-icon{font-size:1.5rem}.spotify-warning>div{display:flex;flex:1 1;flex-direction:column}.spotify-warning small{font-size:.8rem;opacity:.8}.logout-btn{background:#fff3;border:none;border-radius:15px;color:#fff;cursor:pointer;padding:.4rem .8rem;transition:background .2s}.logout-btn:hover{background:#ffffff4d}.logout-btn.small{font-size:1.2rem;line-height:1;padding:.2rem .6rem}.spotify-user{align-items:center;display:flex;gap:.8rem}.spotify-user-actions{align-items:center;display:flex;gap:.5rem}.user-info{display:flex;flex:1 1;flex-direction:column}.user-info small{font-size:.75rem;opacity:.8}.spotify-error{background:#e74c3c33;border:1px solid #e74c3c80;border-radius:8px;font-size:.85rem;margin-top:.8rem;padding:.5rem .8rem}.mini-player{align-items:center;border-top:1px solid #fff3;display:flex;gap:1rem;margin-top:.8rem;padding-top:.8rem}.track-info{display:flex;flex-direction:column;overflow:hidden}.track-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist{font-size:.85rem;opacity:.8}.player-controls{display:flex;gap:.5rem}.play-pause-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:#1db954;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:transform .2s;width:40px}.play-pause-btn:hover{transform:scale(1.1)}.spotify-play-btn{align-items:center;background:#1db954;border:none;border-radius:15px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.3rem;padding:.4rem .8rem;transition:all .2s}.spotify-play-btn:hover{background:#1ed760;transform:scale(1.05)}.spotify-search{padding:16px}.search-header{margin-bottom:16px}.search-header h3{color:#1db954;margin-bottom:4px}.search-hint{color:#64748b;font-size:.9em;margin:0}.search-bar{display:flex;gap:8px;margin-bottom:16px}.search-bar input{border:2px solid #e2e8f0;border-radius:10px;flex:1 1;font-size:1em;padding:12px 16px;transition:border-color .2s}.search-bar input:focus{border-color:#1db954;outline:none}.search-results{gap:12px;max-height:400px}.track-result{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:12px;transition:all .2s}.track-result:hover{background:#f0fdf4;border-color:#1db954}.track-thumb{border-radius:6px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.track-thumb img{height:100%;object-fit:cover;width:100%}.track-thumb .no-thumb{align-items:center;background:linear-gradient(135deg,#1db954,#1ed760);display:flex;font-size:1.5em;height:100%;justify-content:center;width:100%}.track-title{color:#334155;font-weight:700}.track-artist{color:#64748b}.track-meta{gap:8px;margin-top:4px}.track-year{font-weight:700}.track-duration{color:#94a3b8}.track-added{background:#22c55e26;border-radius:10px;color:#22c55e;font-weight:700;padding:2px 8px}.track-actions{gap:6px}.spotify-config-modal,.spotify-config-needed{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:24px}.spotify-config-modal h3,.spotify-config-needed h3{color:#1db954;margin-bottom:12px}.spotify-config-needed ol{margin:16px 0;padding-left:24px}.spotify-config-needed li{color:#475569;margin-bottom:8px}.spotify-config-needed a{color:#1db954}.config-field label{color:#334155}.config-field input{border:2px solid #e2e8f0}.youtube-match-modal{background:#fff}.matching-track-info{align-items:center;background:#f0fdf4;border-radius:10px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.matching-track-info img{border-radius:6px;height:80px;object-fit:cover;width:80px}.matching-track-info div{flex:1 1}.matching-track-info strong{color:#334155;display:block;font-size:1.1em}.matching-track-info span{color:#64748b}.youtube-matches{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-height:300px;overflow-y:auto}.youtube-match-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:10px}.youtube-match-item img{border-radius:4px;height:45px;object-fit:cover;width:80px}.match-info{flex:1 1;min-width:0}.match-title{color:#334155;font-size:.9em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-channel{color:#94a3b8;font-size:.8em}.match-actions{display:flex;gap:12px;justify-content:space-between}.loading{color:#64748b;padding:40px;text-align:center}.error-message{margin-bottom:16px}.spotify-footer{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.reconfigure-btn{background:none;border:none;color:#64748b;cursor:pointer;font-size:.85em;padding:0}.reconfigure-btn:hover{color:#1db954}.search-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.search-header-actions{display:flex;gap:8px}.toggle-advanced{background:none;border:2px solid #1db954;border-radius:20px;color:#1db954;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.toggle-advanced.active,.toggle-advanced:hover{background:#1db954;color:#fff}.decade-btn{background:#f1f5f9;border:2px solid #e2e8f0;color:#475569}.decade-btn:hover{border-color:#1db954;color:#1db954}.decade-btn.active{color:#fff}.advanced-search{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:16px}.filter-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.filter-field{display:flex;flex-direction:column}.filter-field label{color:#475569;font-size:.85em;font-weight:600;margin-bottom:4px}.filter-field input{border:2px solid #e2e8f0;border-radius:8px;font-size:.95em;padding:10px 12px;transition:border-color .2s}.filter-field input:focus{border-color:#1db954;outline:none}.filter-year-range .year-inputs{align-items:center;display:flex;gap:8px}.filter-year-range .year-inputs input{width:80px}.filter-year-range .year-inputs span{color:#94a3b8}.filter-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 0}.checkbox-label{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:.9em;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#1db954;height:18px;width:18px}.limit-selector{align-items:center;color:#64748b;display:flex;font-size:.9em;gap:8px}.limit-selector select{border:2px solid #e2e8f0;border-radius:6px;font-size:.9em;padding:6px 10px}.filter-actions{display:flex;gap:12px;justify-content:flex-end}.batch-actions{align-items:center;background:#f0fdf4;border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.results-count{color:#1db954;font-weight:600}.select-all-btn{background:none;border:1px solid #1db954;border-radius:6px;color:#1db954;cursor:pointer;font-size:.85em;padding:6px 12px;transition:all .2s}.select-all-btn:hover{background:#1db954;color:#fff}.track-select{align-items:center;display:flex;padding-right:8px}.track-select input[type=checkbox]{accent-color:#1db954;cursor:pointer;height:20px;width:20px}.track-result.selected{background:#f0fdf4;border-color:#1db954}.track-result.added{background:#f1f5f9;opacity:.6}.track-album{color:#94a3b8;font-size:.8em;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:600px){.filter-row{grid-template-columns:1fr}.batch-actions,.decade-filters{justify-content:center}.batch-actions{flex-wrap:wrap}.filter-options{align-items:flex-start;flex-direction:column;gap:12px}}.discogs-verify{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:12px;margin-top:1rem;padding:1.5rem}.discogs-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.discogs-header h3{color:#fff;color:var(--text-primary,#fff);margin:0}.config-btn{background:#0000;font-size:1.2rem;opacity:.7;padding:.5rem;transition:opacity .2s}.config-btn:hover{opacity:1}.discogs-config{text-align:center}.discogs-config h3{margin-bottom:.5rem}.discogs-config p{color:#aaa;color:var(--text-secondary,#aaa);margin-bottom:1rem}.discogs-config a{color:#6c5ce7;color:var(--primary,#6c5ce7)}.config-form{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.config-form input{background:#0f0f23;background:var(--input-bg,#0f0f23);border:1px solid #333;border:1px solid var(--border,#333);border-radius:8px;color:#fff;color:var(--text-primary,#fff);min-width:250px;padding:.75rem 1rem}.config-form input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.error{color:#e74c3c;color:var(--error,#e74c3c);margin-top:.5rem}.verify-result{background:#16213e;background:var(--surface-elevated,#16213e);border-left:4px solid #f39c12;border-left:4px solid var(--warning,#f39c12);border-radius:8px;margin-bottom:1rem;padding:1rem}.verify-result.verified{border-left-color:#2ecc71;border-left-color:var(--success,#2ecc71)}.verify-result.not-verified{border-left-color:#f39c12;border-left-color:var(--warning,#f39c12)}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.status{font-weight:700}.status.success{color:#2ecc71;color:var(--success,#2ecc71)}.status.warning{color:#f39c12;color:var(--warning,#f39c12)}.confidence{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:20px;font-size:.9rem;padding:.25rem .75rem}.close-btn{background:#0000;color:#aaa;color:var(--text-secondary,#aaa);font-size:1.2rem;padding:.25rem}.close-btn:hover{color:#fff;color:var(--text-primary,#fff)}.match-details{display:flex;flex-direction:column;gap:1rem}.input-vs-match{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:600px){.input-vs-match{grid-template-columns:1fr}}.input-data,.match-data{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:8px;padding:1rem}.input-data strong,.match-data strong{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:.85rem;margin-bottom:.5rem}.input-data p,.match-data p{margin:.25rem 0}.match-scores{display:flex;flex-wrap:wrap;gap:1rem}.match-scores span{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:4px;font-size:.85rem;padding:.25rem .75rem}.match-scores .good{color:#2ecc71;color:var(--success,#2ecc71)}.match-scores .bad{color:#e74c3c;color:var(--error,#e74c3c)}.alternatives{margin-top:1rem}.alternatives summary{color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer}.alternatives ul{margin-top:.5rem;padding-left:1.5rem}.alternatives li{color:#aaa;color:var(--text-secondary,#aaa);margin:.25rem 0}.songs-verification-details{margin-top:1rem}.songs-verification-details summary{background:#16213e;background:var(--surface-elevated,#16213e);border-radius:8px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;padding:.5rem;-webkit-user-select:none;user-select:none}.songs-verification-details summary:hover{color:#fff;color:var(--text-primary,#fff)}.batch-summary{background:#16213e;background:var(--surface-elevated,#16213e);border-radius:8px;margin-bottom:1rem;padding:1rem}.summary-stats{display:flex;flex-wrap:wrap;gap:1rem}.stat{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:20px;font-size:.9rem;padding:.5rem 1rem}.stat.verified{color:#2ecc71;color:var(--success,#2ecc71)}.stat.not-verified{color:#f39c12;color:var(--warning,#f39c12)}.stat.errors{color:#e74c3c;color:var(--error,#e74c3c)}.stat.year-correct{color:#2ecc71;color:var(--success,#2ecc71)}.stat.year-wrong{color:#e74c3c;color:var(--error,#e74c3c)}.songs-verification-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.song-verify-item{align-items:center;background:#16213e;background:var(--surface-elevated,#16213e);border-left:3px solid #0000;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.song-verify-item.verified{border-left-color:#2ecc71;border-left-color:var(--success,#2ecc71)}.song-verify-item.not-verified{border-left-color:#f39c12;border-left-color:var(--warning,#f39c12)}.song-info{align-items:center;gap:1rem}.song-title{max-width:200px}.song-artist{color:#aaa;color:var(--text-secondary,#aaa);max-width:150px}.song-year{color:#6c5ce7;color:var(--primary,#6c5ce7);font-weight:700;min-width:50px}.verification-status{align-items:center;display:flex;gap:.5rem}.confidence{border-radius:4px;font-size:.85rem;font-weight:700;padding:.25rem .5rem}.confidence.high{background:#2ecc7133;color:#2ecc71;color:var(--success,#2ecc71)}.confidence.medium{background:#f39c1233;color:#f39c12;color:var(--warning,#f39c12)}.confidence.low{background:#e74c3c33;color:#e74c3c;color:var(--error,#e74c3c)}.year-correction{align-items:center;color:#f39c12;color:var(--warning,#f39c12);display:flex;font-size:.85rem;gap:.25rem}.discogs-link{font-size:.9rem;opacity:.7;text-decoration:none}.discogs-link:hover{opacity:1}.format-label{background:#ffffff14;border-radius:3px;color:#aaa;color:var(--text-secondary,#aaa);font-size:.72rem;padding:1px 5px;vertical-align:middle}.format-label.is-single{background:#4caf5033;color:#81c784}.discogs-alternatives{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.3rem;margin-top:3px}.alternatives-label{color:#888;color:var(--text-secondary,#888);font-style:italic}.alt-year{align-items:center;background:#ffffff0d;border-radius:4px;display:inline-flex;gap:2px;padding:1px 5px}.alt-year a{color:#7ecfff;text-decoration:underline}.apply-btn{background:#2ecc71;background:var(--success,#2ecc71);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.apply-btn.small{font-size:.75rem;padding:1px 4px}.apply-btn:hover{opacity:.8}.error-msg{color:#e74c3c;color:var(--error,#e74c3c);font-size:.85rem}.ai-badge{font-size:.8rem;margin-left:.4rem;opacity:.8}.ai-verifying-badge{animation:pulse 1.2s ease-in-out infinite;color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem}.cross-check{align-items:center;border-radius:4px;display:inline-flex;font-size:.8rem;gap:4px;margin-top:3px;padding:2px 6px}.cross-agree{background:#2ecc7126;color:#2ecc71}.cross-disagree{background:#f1c40f26;color:#f1c40f;font-weight:500}.cross-discogs-only{background:#7ecfff1a;color:#7ecfff}.cross-ai-only{background:#9b59b626;color:#c39bd3}.song-actions{gap:.5rem}.edit-btn{background:#0000;border:1px solid #333;border:1px solid var(--border,#333);border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:.9rem;padding:.25rem .5rem;transition:all .2s}.edit-btn:hover{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);color:#fff;color:var(--text-primary,#fff)}.edit-btn:hover,.song-verify-item.editing{background:#1a1a2e;background:var(--surface,#1a1a2e)}.song-verify-item.editing{align-items:stretch;border-left-color:#6c5ce7;border-left-color:var(--primary,#6c5ce7);flex-direction:column;padding:1rem}.song-edit-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.edit-field{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:120px}.edit-field.small{flex:0 1;min-width:80px}.edit-field label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;text-transform:uppercase}.edit-field input{background:#0f0f23;background:var(--input-bg,#0f0f23);border:1px solid #333;border:1px solid var(--border,#333);border-radius:6px;color:var(--text-primary,#fff);font-size:.9rem;padding:.5rem .75rem}.edit-field input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7)}.edit-actions{align-items:center;gap:.5rem}.save-btn{background:#2ecc71;background:var(--success,#2ecc71);border-radius:6px;font-size:.85rem;padding:.5rem 1rem}.save-btn:hover{opacity:.9}.cancel-btn{background:#0000;border:1px solid #333;border:1px solid var(--border,#333);border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);font-size:.85rem;padding:.5rem 1rem}.cancel-btn:hover{border-color:#e74c3c;border-color:var(--error,#e74c3c);color:#fff;color:var(--text-primary,#fff)}.apply-discogs-btn{background:#6c5ce733;border:1px solid #6c5ce7;border:1px solid var(--primary,#6c5ce7);border-radius:6px;color:#6c5ce7;color:var(--primary,#6c5ce7);cursor:pointer;font-size:.85rem;padding:.5rem .75rem}.apply-discogs-btn:hover{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}@media (max-width:768px){.song-info{align-items:flex-start;flex-direction:column;gap:.25rem}.song-artist,.song-title{max-width:100%}.discogs-header{align-items:flex-start}.discogs-header,.song-edit-form{flex-direction:column}.edit-field{width:100%}.edit-actions{justify-content:flex-end;width:100%}}.prepare-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.prepare-container{margin:0 auto;max-width:1200px}.prepare-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.prepare-header h1{color:#fff;font-size:2em;margin:0}.dashboard-link{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:25px;box-shadow:0 4px 15px #1db95466;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 24px;transition:all .3s ease}.dashboard-link:hover{box-shadow:0 6px 20px #1db95480;transform:translateY(-2px)}.prepare-container h1{color:#fff;font-size:2em;margin-bottom:30px;text-align:center}.prepare-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:400px 1fr}@media (max-width:900px){.prepare-content{grid-template-columns:1fr}}.form-section,.playlist-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:24px}.form-section h2,.playlist-section h2{color:#334155;margin-bottom:20px}.source-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:20px;padding-bottom:16px}.source-tab{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;flex:1 1;font-size:.95em;font-weight:600;padding:12px 16px;transition:all .2s}.source-tab:hover{border-color:#667eea;color:#667eea}.source-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.source-tab.spotify.active{background:linear-gradient(135deg,#1db954,#1ed760)}.source-tab.spotify:hover:not(.active){border-color:#1db954;color:#1db954}.manual-upload-section{padding-top:16px}.manual-upload-section h2{color:#64748b;font-size:1.1em}.song-form{gap:16px}.form-group,.song-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#475569;font-weight:600}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:1em;padding:12px;transition:border-color .2s}.form-group input:focus{border-color:#667eea;outline:none}.form-group input[type=file]{background:#f8fafc;padding:10px}.success-indicator{color:#10b981;font-size:.9em;font-weight:600}.image-preview{margin-top:8px}.image-preview img{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:150px}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;font-size:.9em;padding:12px}.playlist-section{display:flex;flex-direction:column}.playlist-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.playlist-header h2{margin:0}.empty-playlist{color:#64748b;flex:1 1;justify-content:center;padding:40px;text-align:center}.empty-playlist,.playlist-list{display:flex;flex-direction:column}.playlist-list{gap:12px;max-height:600px;overflow-y:auto}.song-card{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:12px;transition:all .2s}.song-card:hover{border-color:#667eea}.song-card.played{background:#ecfdf5;border-color:#10b981}.song-thumbnail{border-radius:8px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.song-thumbnail img{height:100%;object-fit:cover;width:100%}.no-image{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:24px;height:100%;justify-content:center;width:100%}.song-title{color:#334155;font-weight:700}.song-artist{color:#64748b;font-size:.9em}.song-actions{align-items:center;display:flex;gap:8px}.played-badge{border-radius:20px;font-size:.8em;font-weight:600;padding:4px 10px}.played-badge,.preview-btn{background:#10b981;color:#fff}.preview-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .2s}.preview-btn:hover{background:#059669;transform:scale(1.05)}.preview-btn.playing{animation:pulse-preview 1.5s infinite;background:#ef4444}@keyframes pulse-preview{0%,to{opacity:1}50%{opacity:.7}}.video-toggle-btn{background:#4b5563;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;opacity:.6;padding:6px 10px;transition:all .2s}.video-toggle-btn:hover{background:#6b7280;transform:scale(1.05)}.video-toggle-btn.active{background:#8b5cf6;opacity:1}.edit-questions-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:6px 10px;transition:background .2s}.edit-questions-btn:hover{background:#764ba2}.remove-song-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:24px;padding:0 8px;transition:color .2s}.remove-song-btn:hover{color:#f56565}.song-questions-count{color:#667eea;font-size:.8em;margin-top:4px}.song-card.editing{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.questions-editor{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px;width:100%}.questions-editor h4{color:#334155;font-size:.95em;margin-bottom:12px}.question-add-form{display:flex;gap:8px;margin-bottom:12px}.question-add-form .question-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:.9em;padding:10px 14px}.question-add-form .question-input:focus{border-color:#667eea;outline:none}.questions-list{max-height:200px}.question-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:8px;margin-bottom:8px;padding:10px 12px}.question-number{color:#667eea;min-width:24px}.question-text{color:#334155;flex:1 1}.remove-question-btn{background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:24px;line-height:1;transition:background .2s;width:24px}.remove-question-btn:hover{background:#dc2626}.no-questions{color:#94a3b8;font-style:italic;padding:10px;text-align:center}.lyrics-editor{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px;width:100%}.lyrics-editor h4{color:#334155;font-size:.95em;margin-bottom:12px}.lyrics-timing-help{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:.85em;margin-bottom:12px;padding:10px 14px}.lyrics-timing-help strong{color:#0369a1}.lyrics-timing-help ul{margin:8px 0 0;padding-left:20px}.lyrics-timing-help li{color:#475569;margin:4px 0}.lyrics-timing-help code{background:#e0f2fe;border-radius:4px;color:#0284c7;font-family:monospace;padding:2px 6px}.lyrics-textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.9em;line-height:1.5;min-height:150px;padding:12px 14px;resize:vertical;width:100%}.lyrics-textarea:focus{border-color:#667eea;outline:none}.lyrics-textarea::placeholder{color:#94a3b8}.lyrics-actions{gap:8px;margin-top:12px}.lyrics-show-toggle{margin-top:12px}.lyrics-show-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:8px;-webkit-user-select:none;user-select:none}.lyrics-show-label input[type=checkbox]{accent-color:#10b981;cursor:pointer;height:16px;width:16px}.lyrics-speed-control{background:#f8fafc;border-radius:8px;margin-top:12px;padding:12px}.lyrics-speed-control label{color:#475569;display:block;font-size:.9em;font-weight:600;margin-bottom:8px}.speed-buttons{display:flex;gap:8px}.speed-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:.85em;font-weight:500;padding:10px 12px;transition:all .2s}.speed-btn:hover{border-color:#667eea;color:#667eea}.speed-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.edit-lyrics-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:16px;opacity:.6;padding:4px 8px;transition:background .2s}.edit-lyrics-btn:hover{background:#667eea1a;opacity:1}.edit-lyrics-btn.has-lyrics{background:#10b9811a;opacity:1}.edit-lyrics-btn.has-lyrics.lyrics-hidden{background:#ef44441a;opacity:.8}.edit-lyrics-btn.has-lyrics.lyrics-hidden:hover{background:#ef444433}.edit-lyrics-btn.has-lyrics:hover{background:#10b98133}.prepare-actions{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:30px}@media (max-width:600px){.prepare-actions{flex-direction:column}}.song-card.editing-details{background:#f0f9ff;border-color:#3b82f6}.song-info{transition:background .2s}.song-info:hover{background:#667eea0d;border-radius:8px}.edit-input{border:2px solid #e2e8f0;border-radius:8px;font-size:.95em;margin-bottom:8px;padding:8px 12px;transition:border-color .2s;width:100%}.edit-input:focus{border-color:#667eea;outline:none}.edit-title-input{font-weight:700}.edit-row{display:flex;gap:8px}.edit-artist-input{flex:2 1}.edit-year-input{flex:1 1;min-width:80px}.edit-year-source-input{color:#64748b;font-size:.85em;margin-top:6px;width:100%}.year-source-indicator{cursor:help;font-size:.85em;opacity:.6}.edit-actions{display:flex;gap:8px;margin-top:8px}.edit-actions button{flex:1 1}.playlist-db-actions{display:flex;gap:8px}.modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:400px;overflow-y:auto;padding:24px;width:100%}.modal-content.modal-large{max-width:600px}.modal-content h2{color:#334155;margin:0 0 20px}.modal-body{margin-bottom:20px}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{color:#334155;display:block;font-weight:600;margin-bottom:6px}.modal-body .form-group input,.modal-body .form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1em;padding:10px 12px;width:100%}.modal-body .form-group input:focus,.modal-body .form-group select:focus{border-color:#667eea;outline:none}.modal-info{color:#64748b;font-size:.9em;margin:0}.loading-text,.no-playlists{color:#64748b;padding:20px;text-align:center}.saved-playlists-list{display:flex;flex-direction:column;gap:12px}.saved-playlist-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:16px}.saved-playlist-item:hover{background:#f1f5f9}.playlist-info h4{color:#334155;margin:0 0 4px}.playlist-info p{color:#64748b;font-size:.85em;margin:0}.playlist-date{color:#94a3b8;display:block;font-size:.8em;margin-top:4px}.playlist-actions{display:flex;gap:8px}.scoring-page{background:#f1f5f9;min-height:100vh;padding:30px 20px}.scoring-container{margin:0 auto;max-width:1200px}.scoring-container h1{color:#334155;margin-bottom:20px;text-align:center}.scoring-info-box{background:#e0f2fe;border-radius:12px;margin-bottom:30px;padding:20px;text-align:center}.scoring-info-box strong{color:#0369a1}.scoring-info-box p{color:#0c4a6e;margin:10px 0 0}.teams-scoring{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:30px}.team-scoring-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:20px}.team-scoring-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.team-name-row{align-items:center;display:flex;gap:10px}.team-name-row h3{color:#334155;margin:0}.difficulty-tag{border-radius:12px;font-size:.75em;font-weight:600;padding:2px 10px;text-transform:uppercase}.difficulty-tag[data-difficulty=original]{background:#d1fae5;color:#065f46}.difficulty-tag[data-difficulty=pro]{background:#dbeafe;color:#1e40af}.difficulty-tag[data-difficulty=expert]{background:#fef3c7;color:#92400e}.score-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-weight:700;padding:6px 14px}.scoring-grid{grid-gap:16px;display:grid;gap:16px}.scoring-grid.original{grid-template-columns:1fr}.scoring-grid.expert,.scoring-grid.pro{grid-template-columns:repeat(3,1fr)}@media (max-width:600px){.scoring-grid.expert,.scoring-grid.pro{grid-template-columns:1fr}}.scoring-item{display:flex;flex-direction:column;gap:8px}.scoring-item label{color:#475569;font-size:.9em;font-weight:600}.scoring-item.bonus label{color:#d97706}.answer-buttons{display:flex;gap:8px}.answer-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9em;font-weight:600;padding:10px 16px;transition:all .2s}.answer-btn:hover{border-color:#cbd5e1}.answer-btn.correct.selected{background:#10b981;border-color:#10b981;color:#fff}.answer-btn.wrong.selected{background:#f56565;border-color:#f56565;color:#fff}.answer-btn.token.selected{background:#f59e0b;border-color:#f59e0b;color:#fff}.scoring-actions{align-items:center;display:flex;gap:16px;justify-content:space-between}@media (max-width:500px){.scoring-actions{flex-direction:column}}.scoring-progress{background:#fff;border-radius:12px;margin-bottom:20px;padding:16px}.progress-bar{background:#e2e8f0;border-radius:6px;height:12px;margin-bottom:8px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;height:100%;transition:width .3s ease}.progress-text{color:#64748b;display:block;font-size:.9em;text-align:center}.team-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.team-tab{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;min-width:100px;padding:10px 16px;transition:all .2s}.team-tab.active,.team-tab:hover{border-color:#667eea}.team-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.team-tab.complete{border-color:#10b981}.team-tab.complete:not(.active){background:#d1fae5}.team-tab-name{font-size:.9em;font-weight:600}.team-tab-progress{font-size:.75em;opacity:.8}.current-team-scoring{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:24px}.team-timeline-display{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.9em;gap:8px}.timeline-badge{background:#e2e8f0;border-radius:6px;color:#334155;font-weight:600;padding:4px 10px}.timeline-badge.start{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.songs-scoring-list{display:flex;flex-direction:column;gap:16px;margin:20px 0}.song-scoring-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px}.song-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.song-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.85em;height:32px;width:32px}.song-info{display:flex;flex-direction:column}.song-info strong{color:#334155}.song-info span{color:#64748b;font-size:.85em}.timeline-placement{margin-bottom:12px}.timeline-placement label{color:#475569;display:block;font-size:.9em;font-weight:600;margin-bottom:8px}.placement-selector{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.placement-slot{background:#fff;border:2px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:600;padding:6px 12px;transition:all .2s}.placement-slot:hover{background:#f0f4ff;border-color:#667eea}.placement-slot.selected{background:#667eea;border-color:#667eea;color:#fff}.placement-slot.selected.correct{background:#10b981;border-color:#10b981}.placement-slot.selected.wrong{background:#f56565;border-color:#f56565}.timeline-year{background:#e2e8f0;border-radius:6px;color:#334155;font-size:.9em;padding:6px 12px}.timeline-year.start{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.placement-result{border-radius:6px;font-size:.9em;font-weight:600;margin-top:8px;padding:8px 12px}.placement-result.correct{background:#d1fae5;color:#065f46}.placement-result.wrong{background:#fee2e2;color:#991b1b}.bonus-scoring{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.team-navigation{align-items:center;border-top:2px solid #e2e8f0;display:flex;justify-content:space-between;padding-top:20px}.team-counter{color:#64748b;font-weight:600}.score-entry-page{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;min-height:100vh;padding:20px}.score-entry-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 280px;margin:0 auto;max-width:1200px}.score-entry-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;grid-column:1/-1;justify-content:space-between;margin-bottom:10px}.score-entry-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8em;margin:0}.team-nav{align-items:center;display:flex;gap:12px}.team-indicator{background:#ffffff1a;border-radius:8px;font-size:.9em;padding:8px 16px}.team-scoring-section{background:#ffffff0d;border-radius:16px;padding:24px}.team-name{color:#a5b4fc;font-size:1.6em;margin:0 0 8px}.team-points{color:#94a3b8;font-size:1.2em;margin-bottom:20px}.team-points strong{color:#10b981;font-size:1.3em}.max-points{color:#64748b;margin-left:8px}.songs-scoring-grid{display:flex;flex-direction:column;gap:8px}.grid-header,.song-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:50px 100px 1fr 1fr 70px}.grid-header{background:#ffffff1a;font-size:.85em;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.grid-header .col-num,.grid-header span{text-align:center}.song-row{background:#ffffff08;border-radius:8px;padding:12px 16px;transition:background .2s}.song-row:hover{background:#ffffff14}.col-num{align-items:center;display:flex;justify-content:center}.song-number{color:#667eea;font-size:1.1em;font-weight:700}.answer-col{align-items:center;display:flex;flex-direction:column;gap:6px}.answer-text{background:#667eea33;border-radius:6px;color:#e2e8f0;font-size:.85em;max-width:100%;overflow:hidden;padding:4px 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.col-year .answer-text{background:#10b98133;color:#6ee7b7;font-weight:700}.col-artist .answer-text{background:#f472b633;color:#f9a8d4}.col-title .answer-text{background:#fbbf2433;color:#fcd34d}.checkbox-cell{align-items:center;cursor:pointer;display:flex;justify-content:center}.checkbox-cell input{cursor:pointer;opacity:0;position:absolute}.checkbox-cell .checkmark{align-items:center;border:2px solid #4b5563;border-radius:8px;color:#0000;display:flex;font-size:1.2em;height:36px;justify-content:center;transition:all .2s;width:36px}.checkbox-cell input:checked+.checkmark{background:#10b981;border-color:#10b981;color:#fff}.checkbox-cell:hover .checkmark{border-color:#667eea}.all-btn{background:#ffffff1a;border-radius:8px;color:#64748b;font-size:.8em;height:36px;width:50px}.all-btn:hover{background:#667eea4d}.all-btn.all-checked{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700}.teams-overview{align-self:start;background:#ffffff0d;border-radius:16px;padding:20px;position:-webkit-sticky;position:sticky;top:20px}.teams-overview h3{font-size:1.1em;margin:0 0 16px}.teams-list{display:flex;flex-direction:column;gap:8px}.team-overview-item{align-items:center;background:#ffffff0d;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.team-overview-item:hover{background:#ffffff1a}.team-overview-item.active{background:#667eea33;border-color:#667eea}.team-overview-name{flex:1 1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-overview-points{color:#10b981;font-weight:700;margin-left:8px}.score-entry-actions{border-top:1px solid #ffffff1a;display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end;padding-top:20px}@media (max-width:900px){.score-entry-container{grid-template-columns:1fr}.teams-overview{order:-1;position:static}.teams-list{flex-direction:row;flex-wrap:wrap}.team-overview-item{flex:1 1;min-width:120px}}@media (max-width:600px){.grid-header,.song-row{font-size:.85em;gap:4px;grid-template-columns:30px 60px 1fr 1fr 50px}.checkbox-cell .checkmark{height:28px;width:28px}.answer-text{font-size:.7em;padding:2px 4px}.grid-header span{font-size:.65em}.team-nav{justify-content:space-between;width:100%}}.score-form-page{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;min-height:100vh;padding:20px}.score-form-controls{background:#ffffff0d;border-radius:16px;margin:0 auto 30px;max-width:800px;padding:24px}.score-form-controls h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8em;margin:0 0 24px}.control-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{color:#94a3b8;font-size:.9em}.control-group select{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1em;min-width:180px;padding:10px 16px}.control-group select option{background:#1e293b;color:#fff}.control-group.checkbox{justify-content:flex-end}.control-group.checkbox label{align-items:center;color:#e2e8f0;cursor:pointer;display:flex;gap:8px}.control-group.checkbox input{height:18px;width:18px}.action-buttons{flex-wrap:wrap;gap:12px}.warning-message{background:#fbbf2433;border:1px solid #fbbf2480;border-radius:8px;color:#fcd34d;margin-top:16px;padding:12px 16px}.print-area{margin:0 auto;max-width:800px}.score-form-sheet{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;color:#000;margin-bottom:20px;padding:30px}.form-sheet{font-family:Arial,Helvetica,sans-serif}.form-header{border-bottom:2px solid #333;margin-bottom:20px;padding-bottom:15px;text-align:center}.form-logo{font-size:1.5em;font-weight:700;margin-bottom:8px}.form-header h1{color:#333;font-size:1.4em;margin:0}.team-field{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px}.team-field label,.team-input{color:#333;font-weight:700}.team-input{flex:1 1;font-size:1.2em}.team-input .placeholder{color:#999}.score-table{margin-bottom:20px}.score-table td,.score-table th{border:1px solid #333;padding:8px 6px;text-align:left}.score-table th{background:#333;color:#fff;font-size:.85em;font-weight:700;text-transform:uppercase}.score-table .col-num{text-align:center;width:8%}.score-table .col-year{width:12%}.score-table .col-artist{width:30%}.score-table .col-title{width:38%}.score-table .col-points{text-align:center;width:12%}.score-table tbody tr:nth-child(2n):not(.total-row){background:#f9f9f9}.score-table .write-area{border-bottom:1px dashed #aaa;min-height:28px}.score-table .answer{color:#667eea;font-weight:700}.points-box{border:2px solid #333;border-radius:4px;display:inline-block;font-weight:700;min-width:40px;padding:4px 8px;text-align:center}.points-box.total{background:#333;color:#fff;font-size:1.1em}.total-row{background:#f0f0f0!important;border-top:2px solid #333}.total-row .total-label{font-size:1.1em;font-weight:700;padding-right:16px;text-align:right}.form-instruction{border-bottom:2px dashed #667eea;border-top:2px dashed #667eea;color:#667eea;font-size:1.2em;font-weight:700;margin:10px 0;padding:16px 0;text-align:center}.scoring-guide{background:#f5f5f5;border-radius:8px;margin-bottom:20px;padding:16px}.scoring-guide h4{color:#333;margin:0 0 10px}.scoring-guide ul{margin:0;padding-left:20px}.scoring-guide li{color:#555;margin-bottom:4px}.scoring-guide .total{border-top:1px solid #ddd;color:#333;margin:10px 0 0;padding-top:10px}.form-footer{border-top:2px solid #333;display:flex;justify-content:flex-end;padding-top:15px}.total-score{color:#333;font-size:1.2em;font-weight:700}@page{size:landscape;margin:1cm}@media print{.no-print{display:none!important}body{background:#fff!important}.score-form-page{background:#fff;min-height:auto;padding:0}.print-area{max-width:none}.score-form-sheet{border-radius:0;box-shadow:none;margin:0;padding:20px;page-break-after:always}.score-form-sheet:last-child{page-break-after:auto}.score-table td,.score-table th{padding:10px 6px}.score-table .write-area{min-height:22px}}@media (max-width:600px){.score-form-controls{padding:16px}.control-row{flex-direction:column}.control-group select{width:100%}.score-form-sheet{padding:16px}.score-table td,.score-table th{font-size:.85em;padding:8px 4px}}.display-page{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;display:flex;flex-direction:column;min-height:100vh;padding:30px;position:relative}.fullscreen-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:10px 16px;position:fixed;right:20px;top:20px;transition:background .2s;z-index:100}.fullscreen-btn:hover{background:#fff3}.video-container{box-shadow:0 8px 32px #0006;margin:0 auto;max-width:1200px;position:relative}.youtube-embed{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.display-playing.with-video{align-items:center;display:flex;flex-direction:column;width:100%}.display-playing.with-video .questions-display{background:#00000080;border-radius:16px;margin-top:30px;max-width:1200px;padding:20px 30px;width:100%}.display-playing.with-video .questions-display h2{color:#a5b4fc;font-size:1.8em;margin-bottom:16px}.display-playing.with-video .questions-list-display{font-size:1.4em}.display-playing.with-video .question-display-item{padding:12px 0}.display-container{display:flex;flex-direction:column;margin:0 auto;max-width:1400px;min-height:calc(100vh - 60px);width:100%}.display-rules-shell{background:#050816;inset:0;position:fixed}.display-rules-frame{border:0;display:block;height:100%;width:100%}.display-scoreboard-fullscreen{background:linear-gradient(135deg,#0a0a1a,#1a0a2e 50%,#0a1a2e);box-sizing:border-box;display:flex;flex-direction:column;inset:0;overflow:hidden;padding:40px 60px;position:fixed;z-index:10}.display-scoreboard-header{align-items:center;display:flex;flex-shrink:0;gap:20px;justify-content:center;margin-bottom:40px}.display-scoreboard-trophy{font-size:3em}.display-scoreboard-title{color:gold;font-size:clamp(2em,5vw,4em);font-weight:800;margin:0;text-align:center;text-shadow:0 0 30px #ffd70080}.display-scoreboard-columns{display:flex;flex:1 1;gap:40px;overflow:hidden}.display-scoreboard-col{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow:hidden}.display-scoreboard-entry{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:16px;padding:14px 20px;transition:transform .2s}.display-scoreboard-entry.display-scoreboard-medal{background:#ffd7001f;border-color:#ffd70059}.display-scoreboard-rank{color:#aaa;flex-shrink:0;font-size:clamp(1.2em,2.5vw,1.8em);font-weight:700;min-width:52px;text-align:center}.display-scoreboard-medal .display-scoreboard-rank{color:gold;font-size:clamp(1.4em,3vw,2.2em)}.display-scoreboard-team{color:#fff;flex:1 1;font-size:clamp(1.1em,2.2vw,1.7em);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-scoreboard-score{color:#7df9ff;flex-shrink:0;font-size:clamp(1.1em,2.2vw,1.7em);font-weight:700}.display-scoreboard-medal .display-scoreboard-score{color:gold}.display-round-answers{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px 24px 12px;width:100%}.round-answers-title{color:gold;flex-shrink:0;font-size:clamp(1.4em,3vw,2.4em);font-weight:800;margin-bottom:6px;text-align:center;text-shadow:0 0 20px #ffd70066}.round-answers-hint{color:#ffffff73;flex-shrink:0;font-size:clamp(.75em,1.4vw,1em);margin-bottom:18px}.round-answers-strip-wrapper{align-items:center;display:flex;flex:1 1;overflow-x:auto;overflow-y:hidden;padding:8px 0;width:100%}.round-answers-strip{align-items:center;display:flex;flex-direction:row;gap:14px;min-width:-webkit-max-content;min-width:max-content;padding:8px 24px}.round-answers-hint-bottom{color:#ffffff59;flex-shrink:0;font-size:clamp(.7em,1.2vw,.9em);padding-top:6px}.ra-start-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;flex-shrink:0;height:clamp(200px,18vw,260px);justify-content:center;margin-right:4px;padding:12px;width:clamp(100px,9vw,140px)}.ra-start-label{color:#ffffffd9;font-size:clamp(.6em,1vw,.8em);font-weight:900;letter-spacing:3px;margin-bottom:6px}.ra-start-year{color:#fff;font-size:clamp(1.8em,3vw,2.8em);font-weight:900;line-height:1}.ra-card{align-items:center;background:#2a2a3e;border:2px solid #dc3545cc;border-radius:14px;box-shadow:0 4px 16px #0006;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;height:clamp(200px,18vw,260px);padding:10px 10px 12px;position:relative;text-align:center;transition:transform .15s ease,border-color .25s ease,box-shadow .25s ease;-webkit-user-select:none;user-select:none;width:clamp(130px,12vw,180px)}.ra-card:hover{box-shadow:0 10px 28px #00000080;transform:translateY(-4px) scale(1.03)}.ra-card.revealed{background:linear-gradient(135deg,#1db9542e,#1db9540f);border-color:#1db954d9}.ra-card-number{background:#ffffff1a;border-radius:999px;color:#ffffffd9;font-size:clamp(.55em,.9vw,.72em);font-weight:800;letter-spacing:.04em;padding:2px 7px;position:absolute;right:8px;top:8px}.ra-card-year{color:#fff;font-size:clamp(2em,3.5vw,3em);font-weight:900;line-height:1;margin-bottom:8px;margin-top:28px}.ra-card-content{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:flex-start;width:100%}.ra-card-title{color:#1db954;font-size:clamp(.8em,1.3vw,1em);font-weight:700}.ra-card-artist,.ra-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.3;overflow:hidden;word-break:break-word}.ra-card-artist{color:#ffffffbf;font-size:clamp(.72em,1.1vw,.9em)}.ra-card-hidden{color:#ffffff40;font-size:clamp(.85em,1.3vw,1.05em);font-style:italic;font-weight:600}.ra-card-hidden.small{font-size:clamp(.72em,1.1vw,.88em)}.ra-zoom-overlay{background:#000000bf;gap:24px;inset:0;position:fixed;z-index:9999}.ra-zoom-nav,.ra-zoom-overlay{align-items:center;cursor:pointer;display:flex;justify-content:center}.ra-zoom-nav{background:#ffffff1f;border:2px solid #ffffff4d;border-radius:50%;color:#fff;flex-shrink:0;font-size:3.5em;height:72px;line-height:1;padding-bottom:4px;transition:background .15s ease,transform .1s ease;width:72px}.ra-zoom-nav:hover:not(:disabled){background:#ffffff40;transform:scale(1.08)}.ra-zoom-nav:disabled{cursor:default;opacity:.2}.ra-zoom-counter{font-size:.75em;font-weight:400;opacity:.65}.ra-zoom-card{align-items:center;animation:ra-zoom-in .18s ease;background:linear-gradient(135deg,#0d2e18,#0a1f10);border:3px solid #1db954e6;border-radius:22px;box-shadow:0 20px 60px #000000b3;cursor:default;display:flex;flex-direction:column;padding:48px 40px 44px;position:relative;text-align:center;width:clamp(280px,30vw,460px)}@keyframes ra-zoom-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.ra-zoom-number{background:#ffffff1f;border-radius:999px;color:#fffc;font-size:clamp(.85em,1.2vw,1.05em);font-weight:800;padding:4px 12px;position:absolute;right:18px;top:14px}.ra-zoom-year{color:#fff;font-size:clamp(4em,9vw,7em);font-weight:900;line-height:1;margin-bottom:20px}.ra-zoom-title{color:#1db954;font-size:clamp(1.4em,3vw,2.4em);font-weight:800;line-height:1.2;margin-bottom:12px}.ra-zoom-artist{color:#fffc;font-size:clamp(1.1em,2.2vw,1.8em);line-height:1.2}.ra-zoom-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;font-size:1.3em;height:36px;justify-content:center;left:18px;position:absolute;top:14px;transition:background .15s ease;width:36px}.ra-zoom-close:hover{background:#ffffff38;color:#fff}.mode-indicator{border-radius:25px;font-size:1.2em;font-weight:600;padding:10px 20px;position:fixed;right:20px;top:20px;z-index:100}.listening-copy{align-items:center;display:flex;flex-direction:column;gap:6px}.mode-indicator.mode-hitster{background:linear-gradient(135deg,#1db954,#1ed760);box-shadow:0 4px 15px #1db95466;color:#fff}.mode-indicator.mode-pubquiz{background:linear-gradient(135deg,#9333ea,#a855f7);box-shadow:0 4px 15px #9333ea66;color:#fff}.singalong-text{display:block;font-size:1.1em;font-weight:500;letter-spacing:.02em;opacity:.95}.mode-indicator.mode-bingo{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 4px 15px #f59e0b66;color:#1a1a2e}.mode-indicator.mode-rules{background:linear-gradient(135deg,#0ea5e9,#38bdf8);box-shadow:0 4px 15px #0ea5e966;color:#fff}.mode-indicator.fade-out{animation:modeIndicatorFadeInOut 3s ease-in-out forwards}@keyframes modeIndicatorFadeInOut{0%{opacity:0;transform:scale(.8) translateY(-10px)}10%{opacity:1;transform:scale(1) translateY(0)}80%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-10px)}}.display-header{margin-bottom:18px;text-align:center}.display-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5em;margin-bottom:0}.event-logo{margin-bottom:10px;max-height:120px;max-width:400px;object-fit:contain}.round-display{align-self:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px;box-shadow:0 14px 30px #764ba240;font-size:1.75em;justify-content:center;margin:8px auto 34px;padding:14px 34px}.generation-display,.round-display{display:inline-flex;font-weight:800}.generation-display{align-items:center;background:linear-gradient(135deg,#ffd166f2,#ffa12aeb);box-shadow:0 14px 30px #ffa12a40;color:#291300;font-size:1.28em;gap:10px;letter-spacing:.01em;margin-bottom:46px;margin-top:-14px;padding:14px 30px}.generation-display-icon{filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));height:28px;object-fit:contain;width:28px}.generation-display+.display-main{margin-top:14px}.display-main{flex:1 1;margin-bottom:40px;min-height:300px;text-align:center}.display-hitster-spinner-shell,.display-main{align-items:center;display:flex;justify-content:center}.display-hitster-spinner-shell{height:100%;width:100%}.display-hitster-spinner-wrap{align-items:center;background:radial-gradient(circle at center,#ffffff0d 0,#080c1cf5 68%);border:2px solid #3bdfff8c;border-radius:22px;box-shadow:inset 0 0 30px #3bdfff26,0 0 35px #3bdfff33;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:min(85vh,900px);padding:30px 28px 24px;position:relative;width:min(96vw,1500px)}.round-display-inside{left:50%;margin:0;position:absolute;top:18px;transform:translateX(-50%);z-index:6}.display-hitster-spinner{aspect-ratio:1/1;background:radial-gradient(circle at center,#ffffff0f 0,hsla(0,0%,100%,.015) 60%,#0000 61%),#1c1b24;border:2px solid #fff3;border-radius:50%;box-shadow:0 0 44px #00000073,inset 0 0 68px #ffffff0a;position:relative;width:min(90vw,940px)}.display-hitster-beam{background:linear-gradient(90deg,#fff3,#ff9500fa 72%,#ff950014);border-radius:999px;box-shadow:0 0 24px #ff9500f2,0 0 42px #ff6f009e;height:8px;width:330px;z-index:4}.display-hitster-beam,.display-hitster-boundary-pair{left:50%;position:absolute;top:50%;transform-origin:0 50%}.display-hitster-boundary-pair{align-items:center;display:flex;gap:3px;height:14px;width:336px;z-index:2}.display-hitster-boundary-line{border-radius:999px;box-shadow:0 0 10px currentColor;height:3px;opacity:.9;width:330px}.display-hitster-category-tile{align-items:center;background:#ffffff0f;border:2px solid #ffffff4d;border-radius:8px;display:flex;height:clamp(120px,13vw,170px);justify-content:center;position:absolute;transform:translate(-50%,-50%);transition:transform .2s,background .2s;width:clamp(120px,13vw,170px);z-index:3}.display-hitster-category-square{border-radius:2px;box-shadow:inset 0 0 0 3px #ffffff73,0 0 20px #ffffff24;height:clamp(88px,9.8vw,130px);width:clamp(88px,9.8vw,130px)}.display-hitster-symbol-marker{font-size:clamp(1.2em,1.8vw,1.9em);font-weight:700;position:absolute;text-shadow:0 0 14px currentColor;transform:translate(-50%,-50%);z-index:3}.display-hitster-symbol-icon-image{filter:drop-shadow(0 0 12px rgba(255,255,255,.35));height:clamp(52px,7vw,84px);object-fit:contain;width:clamp(52px,7vw,84px)}.display-hitster-symbol-icon-text{display:inline-block}.display-hitster-category-tile.active{background:#fff3;transform:translate(-50%,-50%) scale(1.1) rotate(-2deg)}.display-hitster-symbol-marker.active{transform:translate(-50%,-50%) scale(1.22)}.display-hitster-discoball{align-items:center;background:radial-gradient(circle at 30% 30%,#fffffff2,#dcdcdcb3 40%,#696978e6 100%),repeating-conic-gradient(from 0deg,#ffffff2e 0deg 18deg,#0000000a 18deg 36deg);border:2px solid #ffffff80;border-radius:50%;box-shadow:0 0 28px #ffffff40,inset 0 0 20px #00000040;display:flex;height:clamp(130px,15vw,185px);justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow .2s ease,transform .2s ease;width:clamp(130px,15vw,185px)}.display-hitster-discoball:before{border:3px solid #ff585800;border-radius:50%;box-shadow:0 0 0 #ff343400;content:"";inset:-10px;opacity:0;pointer-events:none;position:absolute}.display-hitster-discoball span{font-size:clamp(2.2em,3.7vw,3.2em)}.display-hitster-discoball.tip-warning-inner{animation:hitster-tip-inner-red-blink .7s step-end infinite}@keyframes hitster-tip-inner-red-blink{0%,49%{box-shadow:0 0 30px #ffffff47,inset 0 0 20px #00000038}50%,to{border-color:#ff5858f2;box-shadow:0 0 22px #fff3,inset 0 0 18px #780000a6}}.display-hitster-discoball.tip-warning-outer:before{animation:hitster-tip-outer-ring-blink .7s step-end infinite;opacity:1}@keyframes hitster-tip-outer-ring-blink{0%,49%{border-color:#ff585800;box-shadow:0 0 0 #ff343400}50%,to{border-color:#ff5858f2;box-shadow:0 0 16px #ff343480,0 0 42px #ff3434e6}}.display-hitster-tip-badge{background:#194687db;border:1px solid #8cc8ffa6;border-radius:999px;box-shadow:0 0 18px #48a0ff66;color:#fff;font-size:clamp(.9em,1.4vw,1.2em);font-weight:800;padding:8px 14px;position:absolute;right:20px;top:20px;z-index:7}.display-hitster-tip-badge.warning{background:#820a0ae6;border-color:#ff5050e6;box-shadow:0 0 24px #ff3c3cb3}.display-hitster-playing-overlay{align-items:stretch;animation:hitster-playing-in .4s ease-out;background:#000000ed;border-top:4px solid #8ad9ff;display:flex;flex-direction:column;overflow:hidden;padding:0}.display-hitster-answer-overlay,.display-hitster-playing-overlay{border-radius:0 0 16px 16px;bottom:0;left:0;position:absolute;right:0}.display-hitster-answer-overlay{background:#040c1cf2;border-top:4px solid #22c55e;padding:18px 20px 20px;text-align:center;z-index:6}.display-hitster-answer-label{color:#86efac;font-size:1.05em;font-weight:800}.display-hitster-answer-title{color:#fff;font-size:clamp(1.5em,3.2vw,2.2em);font-weight:900;margin-top:6px}.display-hitster-answer-meta{color:#ffffffd9;font-size:clamp(1em,2vw,1.25em);margin-top:4px}@keyframes hitster-playing-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.display-hitster-playing-category-bar{align-items:center;display:flex;gap:14px;padding:14px 24px}.display-hitster-playing-icon{flex-shrink:0;height:clamp(36px,5vw,56px);object-fit:contain;width:clamp(36px,5vw,56px)}.display-hitster-playing-icon-text{flex-shrink:0;font-size:clamp(28px,4vw,44px)}.display-hitster-playing-category-name{color:#000;font-size:clamp(1.4em,3.5vw,2.6em);font-weight:900;letter-spacing:.02em;text-shadow:none}.display-hitster-playing-question{color:#fff;font-size:clamp(1em,2.2vw,1.6em);font-weight:700;padding:10px 24px 4px;text-align:center}.display-hitster-playing-instruction{color:#ffffffbf;font-size:clamp(.9em,1.8vw,1.3em);padding:2px 24px 6px;text-align:center}.display-hitster-playing-hint{color:#8fffbce6;font-size:clamp(.8em,1.4vw,1.05em);font-weight:700;padding:4px 24px 14px;text-align:center}.display-bingo-celebration,.display-break,.display-playing,.display-results,.display-waiting{align-items:center;display:flex;flex-direction:column;gap:16px}.display-break{background:radial-gradient(circle at top,#fbbf242e,#0000 35%),linear-gradient(145deg,#78350feb,#431407f5);border-radius:36px;box-shadow:inset 0 1px 0 #ffffff1f,0 30px 80px #00000059;gap:28px;justify-content:center;min-height:100%;padding:48px 24px;width:100%}.break-badge{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;font-size:1.2em;font-weight:700;letter-spacing:.08em;padding:10px 22px;text-transform:uppercase}.break-title{color:#fff7ed;font-size:clamp(4rem,12vw,8rem);font-weight:900;letter-spacing:.12em;text-shadow:0 8px 30px #00000059}.break-subtitle{color:#fff7edeb;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500;line-height:1.3;max-width:900px}.display-waiting{gap:24px}.display-bingo-celebration,.display-waiting{justify-content:center;min-height:100%;width:100%}.display-bingo-celebration{background:radial-gradient(circle at 20% 20%,#ffeb3b47,#0000 24%),radial-gradient(circle at 80% 18%,#ff8a6538,#0000 22%),radial-gradient(circle at 50% 80%,#ffffff1f,#0000 28%),linear-gradient(145deg,#ffd54f,#ffb300 34%,#ff7043);border-radius:36px;box-shadow:inset 0 1px 0 #ffffff47,0 30px 80px #00000047;gap:28px;overflow:hidden;padding:48px 32px;position:relative}.bingo-celebration-badge{background:#fff3;border:1px solid #ffffff59;border-radius:999px;color:#4e2500;font-size:1.2rem;font-weight:900;letter-spacing:.16em;padding:12px 24px;position:relative;text-transform:uppercase;z-index:2}.bingo-celebration-title{color:#fffdf6;font-size:clamp(3.6rem,9vw,7.8rem);font-weight:1000;line-height:.96;position:relative;text-align:center;text-shadow:0 10px 24px #58250047;z-index:2}.bingo-celebration-subtitle{color:#542300e0;font-size:clamp(1.4rem,2.8vw,2.4rem);font-weight:700;line-height:1.3;max-width:900px;position:relative;text-align:center;z-index:2}.bingo-celebration-burst{animation:bingo-burst-pop 1.2s ease-in-out infinite alternate;display:flex;font-size:clamp(2.4rem,5vw,4.4rem);gap:24px;position:relative;z-index:2}.bingo-confetti-layer{inset:0;overflow:hidden;pointer-events:none;position:absolute}.bingo-confetti-piece{animation:bingo-confetti-fall 4.8s linear infinite;height:28px;opacity:.88;position:absolute;top:-12%;width:14px}.bingo-confetti-piece-1{background:#f44336}.bingo-confetti-piece-2{background:#00bcd4}.bingo-confetti-piece-3{background:#8bc34a}.bingo-confetti-piece-4{background:#ffeb3b}.bingo-confetti-piece-5{background:#9c27b0}.bingo-confetti-piece-6{background:#ff9800}@keyframes bingo-confetti-fall{0%{transform:translateY(-10%) rotate(0deg)}to{transform:translateY(125vh) rotate(2turn)}}@keyframes bingo-burst-pop{0%{transform:scale(.96)}to{transform:scale(1.04)}}.cymatics-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.cymatics-ring{animation:cymatics-pulse 4s ease-in-out infinite;border:3px solid #a855f780;border-radius:50%;box-shadow:0 0 20px currentColor;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.cymatics-ring.ring-1{animation-delay:0s;border-color:#a855f799;height:200px;width:200px}.cymatics-ring.ring-2{animation-delay:.5s;border-color:#3b82f68c;height:350px;width:350px}.cymatics-ring.ring-3{animation-delay:1s;border-color:#ec489980;height:500px;width:500px}.cymatics-ring.ring-4{animation-delay:1.5s;border-color:#22c55e73;height:700px;width:700px}@keyframes cymatics-pulse{0%,to{border-width:2px;opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{border-width:4px;opacity:.9;transform:translate(-50%,-50%) scale(1.15)}}.cymatics-wave{animation:cymatics-wave 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#a855f780 20%,#3b82f699 50%,#ec489980 80%,#0000);height:3px;left:0;position:absolute;right:0}.cymatics-wave.wave-1{animation-delay:0s;top:20%}.cymatics-wave.wave-2{animation-delay:.3s;top:50%;transform:scaleY(1.5)}.cymatics-wave.wave-3{animation-delay:.6s;top:80%}@keyframes cymatics-wave{0%,to{opacity:.3;transform:scaleX(.8) scaleY(1)}25%{opacity:.7;transform:scaleX(1) scaleY(2)}50%{opacity:.5;transform:scaleX(.9) scaleY(1.5)}75%{opacity:.8;transform:scaleX(1.1) scaleY(2.5)}}.cymatics-particle{animation:cymatics-float 8s ease-in-out infinite;background:radial-gradient(circle,#fffc 0,#0000 70%);border-radius:50%;filter:blur(2px);height:20px;position:absolute;width:20px}.cymatics-particle.particle-1{animation-delay:0s;animation-duration:7s;background:radial-gradient(circle,#a855f7cc 0,#0000 70%);left:10%;top:15%}.cymatics-particle.particle-2{animation-delay:1s;animation-duration:9s;background:radial-gradient(circle,#3b82f6cc 0,#0000 70%);right:15%;top:25%}.cymatics-particle.particle-3{animation-delay:2s;animation-duration:6s;background:radial-gradient(circle,#ec4899cc 0,#0000 70%);bottom:30%;left:20%}.cymatics-particle.particle-4{animation-delay:.5s;animation-duration:8s;background:radial-gradient(circle,#22c55ecc 0,#0000 70%);bottom:20%;right:10%}.cymatics-particle.particle-5{animation-delay:1.5s;animation-duration:10s;background:radial-gradient(circle,#fbbf24b3 0,#0000 70%);height:30px;left:5%;top:40%;width:30px}.cymatics-particle.particle-6{animation-delay:3s;animation-duration:7s;background:radial-gradient(circle,#8b5cf6cc 0,#0000 70%);height:15px;right:8%;top:60%;width:15px}.cymatics-particle.particle-7{animation-delay:2.5s;animation-duration:9s;background:radial-gradient(circle,#0ea5e9b3 0,#0000 70%);height:25px;left:50%;top:10%;width:25px}.cymatics-particle.particle-8{animation-delay:4s;animation-duration:6s;background:radial-gradient(circle,#f97316cc 0,#0000 70%);bottom:10%;height:18px;left:40%;width:18px}@keyframes cymatics-float{0%,to{opacity:.5;transform:translateY(0) translateX(0) scale(1)}25%{opacity:.8;transform:translateY(-30px) translateX(20px) scale(1.2)}50%{opacity:.6;transform:translateY(-10px) translateX(-15px) scale(.9)}75%{opacity:.9;transform:translateY(-40px) translateX(10px) scale(1.1)}}.display-playing .karaoke-display,.display-playing .listening-banner{position:relative;z-index:1}.display-image{border-radius:16px;box-shadow:0 20px 60px #0006;max-height:300px;max-width:300px}.display-image.blur{filter:blur(20px)}.reveal-text{color:#10b981;font-size:1.2em}.reveal-title{font-size:2em;font-weight:700}.reveal-artist{font-size:1.4em;opacity:.8}.reveal-year-source{font-size:.85em;margin-top:16px;opacity:.65}.reveal-year-source a{color:#7ecfff;text-decoration:underline}.playing-text{animation:pulse 2s ease-in-out infinite;font-size:2.5em;font-weight:700}.qr-scan-container{align-items:center;display:flex;flex:1 1;justify-content:center;width:100%}.qr-code-wrapper{background:#fff;border-radius:32px;box-shadow:0 20px 60px #0000004d,0 0 40px #667eea33;height:min(52vw,500px);min-height:360px;min-width:360px;overflow:hidden;padding:34px;position:relative;width:min(52vw,500px)}.qr-code-svg{display:block;height:100%;width:100%}.qr-scan-line{animation:qr-scan 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#667eea 20%,#764ba2 50%,#667eea 80%,#0000);border-radius:2px;box-shadow:0 0 20px #667eeacc,0 0 40px #764ba299;height:4px;left:10px;position:absolute;right:10px;top:0}@keyframes qr-scan{0%{opacity:0;top:10px}10%{opacity:1}90%{opacity:1}to{opacity:0;top:calc(100% - 14px)}}.scan-text{align-items:center;animation:subtle-pulse 3s ease-in-out infinite;color:#ffffffe6;display:flex;font-size:2em;font-weight:600;gap:16px;justify-content:center;text-align:center}@media (max-width:768px){.display-page{padding:20px}.display-container{min-height:calc(100vh - 40px)}.display-header{margin-bottom:24px}.round-display{font-size:1.35em;margin:4px auto 24px;padding:12px 26px}.generation-display{font-size:1.08em;margin-bottom:36px;margin-top:-8px;padding:10px 20px}.generation-display-icon{height:22px;width:22px}.generation-display+.display-main{margin-top:10px}.display-main{margin-bottom:20px}.qr-code-wrapper{border-radius:28px;height:min(78vw,420px);min-height:280px;min-width:280px;padding:24px;width:min(78vw,420px)}.scan-text{font-size:1.5em;gap:12px}.display-break{border-radius:28px;padding:36px 20px}}.scan-icon{animation:phone-wobble 2s ease-in-out infinite;font-size:1.2em}@keyframes subtle-pulse{0%,to{opacity:.9}50%{opacity:1}}@keyframes phone-wobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.winner-banner{animation:bounce 1s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:16px;color:#78350f;font-size:2em;font-weight:700;margin-bottom:40px;padding:24px;text-align:center}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.display-scoreboard{background:#ffffff0d;border-radius:20px;padding:30px}.display-scoreboard h2{font-size:1.5em;margin-bottom:24px;text-align:center}.scoreboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.scoreboard-card{background:#ffffff14;border:2px solid #ffffff1a;border-radius:16px;padding:20px;transition:transform .2s}.scoreboard-card:hover{transform:translateY(-4px)}.scoreboard-card.winner{background:#10b98133;border-color:#10b981}.scoreboard-header{gap:10px;margin-bottom:12px}.rank-emoji{font-size:1.5em}.scoreboard-header h3{flex:1 1;font-size:1.2em;margin:0}.team-score{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;font-weight:700;padding:6px 14px}.scoreboard-tokens{margin-bottom:12px}.scoreboard-timeline{border-top:1px solid #ffffff1a;padding-top:12px}.display-page .timeline-card{box-shadow:0 2px 8px #0000004d}.listening-banner{animation:float 3s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;gap:16px;margin-bottom:30px;padding:20px 40px;position:relative;z-index:2}.display-playing:not(.with-lyrics),.listening-banner{align-items:center;display:flex;justify-content:center}.display-playing:not(.with-lyrics){flex-direction:column;min-height:60vh}.display-playing:not(.with-lyrics) .listening-banner{font-size:2em;padding:40px 80px}.quiz-questions{align-items:stretch;display:flex;flex-direction:column;gap:10px;left:30px;position:fixed;top:50%;transform:translateY(-50%);width:380px;z-index:10}.quiz-question{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-sizing:border-box;color:#fff;font-size:1.2em;font-weight:500;padding:14px 24px;text-align:left;text-shadow:0 2px 4px #0000004d;width:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.listening-banner .pulse-dot{animation:pulse 1.5s ease-in-out infinite;background:#22c55e;border-radius:50%;height:20px;width:20px}.questions-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;margin:0 auto;max-width:800px;padding:30px 40px}.questions-display h2{color:#f8fafc;font-size:1.5em;margin-bottom:20px;text-align:center}.questions-list-display{list-style:none;margin:0;padding:0}.question-display-item{align-items:flex-start;animation:slideIn .5s ease-out;background:#fffffff2;border-radius:12px;display:flex;gap:12px;margin-bottom:12px;padding:16px 20px}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.question-display-item .question-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.question-display-item .question-text{color:#1e293b;font-size:1.3em;line-height:1.4;padding-top:4px}.karaoke-display{background:#0000;border-radius:20px;height:300px;left:50%;max-width:800px;overflow-x:hidden;overflow-y:auto;padding:20px 40px;position:fixed;scroll-behavior:auto;top:50%;transform:translate(-50%,-50%);width:100%;z-index:5}.karaoke-display::-webkit-scrollbar{display:none}.karaoke-display{-ms-overflow-style:none;scrollbar-width:none}.karaoke-text{padding-bottom:130px;padding-top:130px;text-align:center}.karaoke-line{color:#ffffff80;font-size:2em;line-height:1.6;margin:0;padding:8px 0;text-shadow:0 2px 10px #00000080;transition:all .3s ease}.karaoke-line.active{color:#fbbf24;font-size:2.3em;font-weight:700;text-shadow:0 0 20px #fbbf2499,0 2px 10px #00000080}.karaoke-line.past{color:#ffffff59}.karaoke-line:empty{height:1em}.karaoke-display:after,.karaoke-display:before{display:none}.display-playing.with-video .karaoke-display{height:250px;padding:20px 40px}.display-playing.with-lyrics:not(.with-video){align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh}.display-playing.with-lyrics:not(.with-video) .karaoke-display{height:320px}.display-playing.with-lyrics:not(.with-video) .karaoke-line{font-size:2.5em}.display-playing.with-lyrics:not(.with-video) .karaoke-line.active{font-size:2.8em}.display-playing.with-video .karaoke-text{padding-bottom:110px;padding-top:110px}.display-playing.with-video .karaoke-line{font-size:1.5em;padding:4px 0}.display-playing.with-video .karaoke-line.active{font-size:1.8em}.lyrics-speed-control{align-items:center;display:flex;gap:10px;position:fixed;right:20px;top:70px;z-index:1000}.speed-toggle-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2em;padding:8px 12px;transition:background .2s}.speed-toggle-btn:hover{background:#000c}.speed-panel{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border-radius:12px;box-shadow:0 4px 20px #00000080;display:flex;gap:8px;padding:10px 15px}.speed-panel button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;min-width:45px;padding:6px 10px;transition:background .2s}.speed-panel button:hover{background:#2563eb}.speed-panel .reset-btn{background:#6b7280}.speed-panel .reset-btn:hover{background:#4b5563}.speed-label{color:#fffc;font-size:.9em;white-space:nowrap}.speed-value{color:#fbbf24;font-size:1.1em;font-weight:700;min-width:50px;text-align:center}.audio-status{left:10px;position:fixed;top:10px;z-index:1000}.audio-playing{animation:pulse-audio 2s infinite;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#22c55ee6;border-radius:8px;color:#fff;font-size:.9em;padding:8px 14px}.audio-playing.spotify{background:#1ed760e6}.audio-playing.spotify.loading{animation:pulse-loading 1s infinite;background:#1ed760b3}.audio-playing.spotify.warning{animation:pulse-warning 1.5s infinite;background:#fb923cf2}@keyframes pulse-loading{0%,to{opacity:.7}50%{opacity:1}}.audio-playing.youtube{background:#ff0000d9}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}@keyframes pulse-audio{0%,to{opacity:1}50%{opacity:.7}}.audio-error-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ef4444e6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;padding:10px 16px;transition:all .2s}.audio-error-btn:hover{background:#dc2626f2;transform:scale(1.05)}.spotify-login-panel{animation:slideUp .3s ease-out;bottom:20px;left:50%;position:fixed;transform:translateX(-50%);z-index:1001}.spotify-login-content{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1ef2;border:1px solid #1ed7604d;border-radius:16px;box-shadow:0 8px 32px #0000004d;display:flex;gap:15px;padding:20px 30px}.spotify-login-content .spotify-icon{font-size:2em}.spotify-login-content .spotify-message{color:#fff;font-size:1em;max-width:300px}.spotify-login-btn{background:#1db954;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.spotify-login-btn:hover{background:#1ed760;transform:scale(1.05)}.spotify-login-content .spotify-user{color:#1db954;font-size:.85em}.spotify-login-content .spotify-error{color:#ff6b6b;font-size:.85em;max-width:200px}.spotify-status-waiting{margin-top:30px}.spotify-ready{background:#1ed76033;color:#1db954}.spotify-loading,.spotify-ready{align-items:center;border-radius:20px;display:flex;font-size:.9em;gap:8px;padding:10px 20px}.spotify-loading{animation:pulse-loading 1.5s infinite;background:#ffffff1a;color:#ffffffb3}.spotify-setup-btn{align-items:center;background:#1db954;border:none;border-radius:30px;color:#fff;cursor:pointer;display:flex;font-size:.95em;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.spotify-setup-btn:hover{background:#1ed760;transform:scale(1.05)}.spotify-icon-small{font-size:1.2em}.youtube-audio-player{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.pubquiz-display{align-items:center;animation:fadeIn .5s ease-out;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:40px}.quiz-question-container{max-width:1200px;text-align:center;width:100%}.quiz-question-image{border-radius:16px;box-shadow:0 8px 32px #0000004d;margin-bottom:32px;max-height:300px;max-width:400px;object-fit:contain}.quiz-question-text{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f39c12,#e74c3c);-webkit-background-clip:text;background-clip:text;font-size:3em;font-weight:700;line-height:1.3;margin-bottom:48px;text-shadow:2px 2px 8px #00000080}.quiz-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin:0 auto 40px;max-width:900px}.quiz-options.true-false{grid-template-columns:repeat(2,1fr);max-width:600px}.quiz-option{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:16px;cursor:default;display:flex;gap:16px;padding:24px 32px;transition:all .3s}.quiz-option.correct{animation:correctPulse .5s ease-out;background:#2ecc714d;border-color:#2ecc71;transform:scale(1.05)}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1.05)}}.option-letter{background:linear-gradient(135deg,#f39c12,#e74c3c);flex-shrink:0;font-size:1.5em;height:48px;width:48px}.quiz-option.correct .option-letter{background:linear-gradient(135deg,#2ecc71,#27ae60)}.option-icon{font-size:2em}.option-text{font-size:1.5em;font-weight:500}.quiz-answer-reveal{animation:slideUp .5s ease-out;background:linear-gradient(135deg,#2ecc7133,#27ae6033);border:2px solid #2ecc71;border-radius:20px;margin-top:40px;padding:32px 48px}.answer-label{color:#2ecc71;font-size:1.5em;margin-bottom:12px}.answer-text{color:#fff;font-size:2.5em;font-weight:700}.quiz-question-meta{margin-top:32px}.quiz-points{background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:30px;font-size:1.2em;font-weight:600;padding:12px 24px}.rebus-display{margin-top:32px;text-align:center}.rebus-type-label{color:#bb8fce;font-size:1.5em;font-weight:500;margin-bottom:20px}.rebus-content{background:linear-gradient(135deg,#9b59b633,#8e44ad1a);border:2px solid #9b59b666;border-radius:24px;font-size:4em;font-weight:700;line-height:1.4;margin:20px 0;padding:40px;word-break:break-word}.rebus-content.rebus-emoji{font-size:5em;letter-spacing:.1em}.rebus-content.rebus-missing_words{color:#f5f5f5;font-size:2.5em;font-style:italic}.rebus-content.rebus-scrambled{color:#f1c40f;font-family:monospace;font-size:3.5em;letter-spacing:.2em}.rebus-content.rebus-fragments{font-size:2em}.rebus-hints{background:#f1c40f1a;border:1px solid #f1c40f4d;border-radius:12px;margin-top:24px;padding:20px}.hints-label{color:#f1c40f;font-size:1.2em;margin-bottom:12px}.rebus-hint{border-bottom:1px solid #ffffff1a;color:#fffc;font-size:1.3em;padding:8px 0}.rebus-hint:last-child{border-bottom:none}.video-display{display:flex;justify-content:center;margin-top:32px;width:100%}.video-container{aspect-ratio:16/9;background:#000;border-radius:16px;box-shadow:0 8px 32px #00000080;max-width:960px;overflow:hidden;width:100%}.video-container iframe{border:none;height:100%;width:100%}.spotlight-wrapper{border-radius:16px;display:inline-block;margin-bottom:32px;position:relative}.spotlight-wrapper .quiz-question-image{border-radius:16px;box-shadow:0 8px 32px #0000004d;display:block;height:auto;margin-bottom:0;max-height:300px;max-width:400px;object-fit:contain;width:auto}.video-container.spotlight-active{position:relative}.spotlight-overlay{border-radius:16px;bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.spotlight-overlay:before{animation:spotlight-wander 12s ease-in-out infinite;border-radius:50%;box-shadow:0 0 0 9999px #000000eb;content:"";height:180px;left:25%;position:absolute;top:30%;width:180px}.spotlight-size-small:before{height:100px;width:100px}.spotlight-size-medium:before{height:180px;width:180px}.spotlight-size-large:before{height:280px;width:280px}.spotlight-speed-slow:before{animation-duration:20s}.spotlight-speed-medium:before{animation-duration:12s}.spotlight-speed-fast:before{animation-duration:6s}@keyframes spotlight-wander{0%{left:25%;top:30%}8%{left:70%;top:15%}16%{left:85%;top:60%}24%{left:40%;top:80%}32%{left:15%;top:45%}40%{left:60%;top:25%}48%{left:90%;top:70%}56%{left:30%;top:55%}64%{left:75%;top:85%}72%{left:20%;top:20%}80%{left:55%;top:65%}88%{left:80%;top:35%}to{left:25%;top:30%}}.puzzle-container{background:#0000004d;border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden;padding:4px}.puzzle-piece{border:1px solid #ffffff1a;box-shadow:0 2px 8px #0000004d}.puzzle-piece:hover{transform:scale(1.02);z-index:10}.song-tools{background:#1a1a2e;background:var(--surface,#1a1a2e);border-radius:12px;margin-top:1rem;padding:1rem}.tools-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.tools-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1rem;margin:0}.tools-buttons{display:flex;gap:.5rem}.tool-btn{background:#0000;border:1px solid #333;border:1px solid var(--border,#333);border-radius:20px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.tool-btn:hover{background:#ffffff0d;color:#fff;color:var(--text-primary,#fff)}.tool-btn.active{background:#6c5ce7;background:var(--primary,#6c5ce7);border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);color:#fff}.tool-panel{background:#16213e;background:var(--surface-elevated,#16213e);border-radius:8px;margin-top:.5rem;padding:1rem}.tool-description{margin-bottom:1rem}.tool-description p{font-size:.9rem;margin:0}.empty-state,.tool-description p{color:#aaa;color:var(--text-secondary,#aaa)}.empty-state{padding:2rem}.empty-state p{font-size:1.1rem;margin:0}.tool-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.action-btn{background:#0000;border:1px solid #333;border:1px solid var(--border,#333);color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem;padding:.4rem .75rem}.action-btn:hover{color:#fff;color:var(--text-primary,#fff)}.cleanup-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.cleanup-item{align-items:flex-start;background:#1a1a2e;background:var(--surface,#1a1a2e);border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.cleanup-item:hover{background:#ffffff0d}.cleanup-item.selected{background:#6c5ce71a;border-color:#6c5ce7;border-color:var(--primary,#6c5ce7)}.cleanup-item.applied{background:#2ecc711a;border-color:#2ecc71;border-color:var(--success,#2ecc71);opacity:.6}.cleanup-checkbox{padding-top:.2rem}.cleanup-checkbox input{cursor:pointer;height:18px;width:18px}.cleanup-preview{flex:1 1;min-width:0}.preview-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.preview-row .label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;min-width:50px}.preview-row .original{color:#e74c3c;color:var(--error,#e74c3c);font-size:.85rem;text-decoration:line-through;word-break:break-word}.preview-row .arrow{color:#aaa;color:var(--text-secondary,#aaa)}.preview-row .cleaned{font-size:.85rem;font-weight:500;word-break:break-word}.applied-badge,.preview-row .cleaned{color:#2ecc71;color:var(--success,#2ecc71)}.applied-badge{font-size:.75rem;white-space:nowrap}.duplicates-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.duplicate-item{align-items:flex-start;background:#1a1a2e;background:var(--surface,#1a1a2e);border-left:3px solid #f39c12;border-left:3px solid var(--warning,#f39c12);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.duplicate-item.exact{border-left-color:#e74c3c;border-left-color:var(--error,#e74c3c)}.duplicate-item.similar{border-left-color:#f39c12;border-left-color:var(--warning,#f39c12)}.duplicate-info{flex:1 1;min-width:0}.duplicate-type{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.duplicate-type .similarity{background:#ffffff1a;border-radius:10px;font-size:.75rem;font-weight:400;padding:.15rem .5rem}.duplicate-songs{display:flex;flex-direction:column;gap:.25rem}.song-row{display:flex;font-size:.85rem;gap:.5rem}.song-row .song-label{color:#aaa;color:var(--text-secondary,#aaa);min-width:70px}.song-row .song-details{flex:1 1;word-break:break-word}.song-row.original .song-details{color:#fff;color:var(--text-primary,#fff)}.song-row.duplicate .song-details{color:#aaa;color:var(--text-secondary,#aaa)}.remove-duplicate-btn{background:#e74c3c33;border:1px solid #e74c3c;border:1px solid var(--error,#e74c3c);border-radius:6px;color:#e74c3c;color:var(--error,#e74c3c);cursor:pointer;font-size:.8rem;padding:.5rem .75rem;transition:all .2s;white-space:nowrap}.remove-duplicate-btn:hover{background:#e74c3c;background:var(--error,#e74c3c);color:#fff}@media (max-width:600px){.tools-header{align-items:flex-start;flex-direction:column}.tools-buttons{width:100%}.tool-btn{flex:1 1;text-align:center}.preview-row{align-items:flex-start;flex-direction:column}.preview-row .arrow{display:none}.duplicate-item{flex-direction:column}.remove-duplicate-btn{align-self:flex-end}}.playlist-wizard-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.playlist-wizard{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:100%}.wizard-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:12px;padding:20px 24px}.wizard-header h2{flex:1 1;font-size:1.4em;margin:0}.beta-badge{background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:12px;color:#fff;font-size:.7em;font-weight:700;letter-spacing:.5px;padding:4px 10px}.wizard-header .close-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2em;height:36px;justify-content:center;position:static;transition:all .2s;width:36px}.wizard-header .close-btn:hover{background:#e74c3c4d;color:#e74c3c}.wizard-error{align-items:center;background:#e74c3c33;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c;display:flex;justify-content:space-between;margin:16px 24px 0;padding:12px 16px}.wizard-error button{background:none;border:none;color:#e74c3c;cursor:pointer;padding:4px}.wizard-tabs{grid-gap:8px;border-bottom:1px solid #ffffff1a;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);padding:16px 24px}.wizard-tab{align-items:center;background:#ffffff08;border:2px solid #ffffff1a;border-radius:12px;color:#fff9;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 12px;transition:all .2s}.wizard-tab:hover{background:#ffffff14;border-color:#fff3;color:#fff}.wizard-tab.active{background:#6c5ce733;border-color:#6c5ce7;color:#fff}.tab-icon{font-size:1.5em}.tab-label{font-size:.95em;font-weight:600}.tab-desc{font-size:.75em;opacity:.6;text-align:center}.wizard-tab-content{flex:1 1;overflow-y:auto;padding:24px}.form-group label{font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#0000004d;border:1px solid #ffffff26;border-radius:10px;padding:12px 16px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#0006;border-color:#6c5ce7}.form-group textarea{min-height:100px}.form-group.small{max-width:100px}.form-row{align-items:flex-end}.ai-config{padding:20px;text-align:center}.ai-config h4{margin-bottom:12px}.ai-config p{color:#fff9;line-height:1.6;margin-bottom:20px}.ai-config a{color:#6c5ce7}.ai-config input{background:#0000004d;border:1px solid #ffffff26;border-radius:10px;color:#fff;margin-bottom:16px;max-width:400px;padding:12px 16px;width:100%}.generate-btn{font-size:1.1em!important;padding:16px!important;width:100%}.config-link{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.85em;margin-top:16px}.config-link:hover{color:#fff}.manual-list{border-top:1px solid #ffffff1a;margin-top:24px;padding-top:16px}.manual-list h4{color:#fffc;margin-bottom:12px}.manual-song-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.manual-song-item button{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px 8px}.manual-song-item button:hover{color:#e74c3c}.preview-step{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.preview-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 24px}.preview-header h3{margin:0}.preview-actions{display:flex;gap:8px}.action-btn{background:#ffffff1a;border:none;border-radius:6px;font-size:.85em;padding:8px 12px}.action-btn:hover{background:#fff3}.preview-list{flex:1 1;overflow-y:auto;padding:16px 24px}.preview-song{align-items:center;background:#ffffff08;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .2s}.preview-song:hover{background:#ffffff14}.preview-song.selected{background:#2ecc711a;border-color:#2ecc714d}.preview-song.unmatched{opacity:.7}.preview-song.unmatched.selected{background:#f39c121a;border-color:#f39c1266}.preview-song input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;width:20px}.preview-song .song-thumb{border-radius:6px;flex-shrink:0;height:48px;object-fit:cover;width:48px}.preview-song .song-thumb.placeholder{align-items:center;background:#ffffff1a;display:flex;font-size:1.4em;justify-content:center}.preview-song .song-info{flex:1 1;min-width:0}.preview-song .song-title{font-weight:500}.preview-song .song-artist,.preview-song .song-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-song .song-artist{color:#fff9;font-size:.85em}.preview-song .song-album{color:#fff6;display:block;font-size:.75em;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-song .song-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.preview-song .song-year{background:#6c5ce733;border-radius:12px;color:#a29bfe;font-size:.85em;font-weight:600;padding:4px 10px}.preview-song .match-status{border-radius:8px;font-size:.75em;padding:2px 8px}.preview-song .match-status.matched{background:#2ecc7133;color:#2ecc71}.preview-song .match-status.youtube{background:#f003;color:#f44}.preview-song .match-status.unmatched{background:#f39c1233;color:#f39c12}.preview-footer{border-top:1px solid #ffffff1a;padding:16px 24px}.preview-footer button{width:100%}@media (max-width:600px){.wizard-tabs{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.form-group.small{max-width:none}.preview-header{align-items:flex-start;flex-direction:column}.preview-actions{flex-wrap:wrap;width:100%}}.lyrics-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.lyrics-modal{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.lyrics-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem 1.5rem}.lyrics-modal-header h3{color:#fff;margin:0}.lyrics-modal-header .close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.lyrics-modal-header .close-btn:hover{color:#fff}.lyrics-song-info{background:#e74c3c1a;color:#e74c3c;font-size:.95rem;padding:1rem 1.5rem}.lyrics-search-prompt{padding:2rem;text-align:center}.lyrics-search-prompt p{color:#aaa;margin-bottom:1rem}.search-lyrics-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:transform .2s ease}.search-lyrics-btn:hover{transform:scale(1.05)}.lyrics-loading{color:#aaa;padding:3rem;text-align:center}.lyrics-loading .spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#e74c3c;height:40px;margin:0 auto 1rem;width:40px}.lyrics-error{color:#e74c3c;padding:2rem;text-align:center}.retry-btn{background:#0000;border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.retry-btn:hover{background:#e74c3c1a}.lyrics-content{flex:1 1;overflow-y:auto;padding:1.5rem}.lyrics-content pre{word-wrap:break-word;color:#ddd;font-family:inherit;font-size:.95rem;line-height:1.8;margin:0;white-space:pre-wrap}.lyrics-actions{border-top:1px solid #ffffff1a;display:flex;gap:1rem;padding:1rem 1.5rem}.lyrics-actions button{border-radius:8px;cursor:pointer;flex:1 1;font-size:.95rem;padding:.8rem;transition:all .2s ease}.copy-btn{background:#0000;border:1px solid #666;color:#aaa}.copy-btn:hover{border-color:#888;color:#fff}.insert-btn{background:#10b981;border:none;color:#fff}.insert-btn:hover{background:#059669}.spotify-dashboard{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh;padding:20px}.dashboard-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:20px;margin-bottom:24px;padding-bottom:16px}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1db954,#1ed760);-webkit-background-clip:text;background-clip:text;font-size:1.8em;margin:0}.header-title-group{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:0}.header-title-group .back-btn{background:#0000;border:none;color:#ffffffb3;cursor:pointer;font-size:.8em;margin-top:-8px;padding:0 0 2px;transition:all .2s}.header-title-group .back-btn:hover{color:#fff}.back-btn{padding:10px 20px}.config-btn{background:none;border:none;color:#fff9;cursor:pointer;font-size:1.5em;padding:8px;transition:all .2s}.config-btn:hover{color:#1db954}.header-actions{gap:12px}.homepage-manage-btn{background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.homepage-manage-btn:hover{box-shadow:0 4px 12px #7c3aed66;transform:scale(1.02)}.home-btn{background:linear-gradient(135deg,#2d6a4f,#40916c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.home-btn:hover{box-shadow:0 4px 12px #40916c66;transform:scale(1.02)}.display-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.display-btn:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.02)}.reactions-btn{background:linear-gradient(135deg,#16a085,#27ae60);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.reactions-btn:hover{box-shadow:0 4px 12px #27ae6066;transform:scale(1.02)}.bingo-btn{background:linear-gradient(135deg,#f5af19,#f12711);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.bingo-btn:hover{box-shadow:0 4px 12px #f5af1966;transform:scale(1.02)}.quiz-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.quiz-btn:hover{box-shadow:0 4px 12px #9b59b666;transform:scale(1.02)}.lingo-btn{background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.lingo-btn:hover{box-shadow:0 4px 12px #f39c1266;transform:scale(1.02)}.murder-btn{background:linear-gradient(135deg,#7f1d1d,#dc2626);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;font-weight:500;padding:8px 16px;transition:all .2s}.murder-btn:hover{box-shadow:0 4px 12px #dc262673;transform:scale(1.02)}.dashboard-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:400px 1fr;height:calc(100vh - 140px)}.panel{min-height:0;overflow-y:auto;padding:20px}.panel.compact{padding:10px}.panel-header{margin-bottom:16px}.panel-header h2,.panel-header h3{color:#fff;font-size:1.2em;margin:0}.add-btn{border-radius:20px}.add-btn:hover{transform:scale(1.05)}.panel-header-buttons{align-items:center;display:flex;gap:8px}.events-list{display:flex;flex-direction:column;gap:10px;max-height:200px;padding-right:8px}.event-card{background:#ffffff14;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:14px;transition:all .2s}.event-card:hover{background:#ffffff1f;border-color:#1db9544d}.event-card.selected{background:#1db95433;border-color:#1db954}.event-card-header{align-items:flex-start;display:flex;justify-content:space-between}.event-settings-btn{background:#0000;border:none;cursor:pointer;font-size:1em;opacity:.6;padding:2px 4px;transition:opacity .2s}.event-settings-btn:hover{opacity:1}.event-name{font-size:1.1em;font-weight:600;margin-bottom:4px}.event-date{color:#fff9;font-size:.85em;margin-bottom:4px}.event-stats{color:#1db954;font-size:.8em}.rounds-section{margin-top:0;padding-top:0}.back-to-events-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;margin-bottom:12px;padding:8px 14px;transition:all .2s}.back-to-events-btn:hover{background:#ffffff26;border-color:#ffffff4d}.selected-event-header{align-items:center;background:linear-gradient(135deg,#1db95433,#1db9540d);border:1px solid #1db9544d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.selected-event-header h2{color:#1db954;font-size:18px;margin:0}.selected-event-header .event-settings-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;cursor:pointer;padding:6px 10px;transition:all .2s}.selected-event-header .event-settings-btn:hover{background:#fff3}.back-to-rounds-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;margin-bottom:12px;padding:8px 14px;transition:all .2s}.back-to-rounds-btn:hover{background:#ffffff26;border-color:#ffffff4d}.selected-round-header{align-items:center;background:linear-gradient(135deg,#ffa50033,#ffa5000d);border:1px solid #ffa5004d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.selected-round-header-main{display:flex;flex-direction:column;gap:10px}.selected-round-header h3{color:orange;font-size:16px;margin:0}.selected-round-variant-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.selected-round-variant-row label{color:#ffffffbf;font-size:.85rem}.selected-round-variant-row select{background:#0c1228c7;border:1px solid #ffffff2e;border-radius:999px;color:#fff;padding:8px 12px}.rounds-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.round-card{background:#ffffff0f;border-radius:10px;padding:12px 14px}.round-card:hover{background:#ffffff1a}.round-info{display:flex;flex-direction:column;gap:2px}.round-count{color:#ffffff80;font-size:.8em}.round-variant-chip{align-items:center;background:#3a82f629;border:1px solid #8fd3ff38;border-radius:999px;color:#8fd3ff;display:inline-flex;font-size:.72rem;font-weight:600;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.generation-period-panel{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 16px}.generation-period-panel-header{display:flex;flex-direction:column;gap:4px}.generation-period-panel-header strong{color:#ffd166}.generation-period-panel-header span{color:#ffffffb8;font-size:.9rem}.generation-period-buttons{display:flex;flex-wrap:wrap;gap:10px}.generation-period-btn{background:#131c3ae0;border:1px solid #ffffff1f;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:180px;padding:12px 14px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.generation-period-btn:hover{border-color:#ffd1666b;transform:translateY(-1px)}.generation-period-btn.active{background:linear-gradient(135deg,#ffd16638,#ffa12a2e);border-color:#ffd16699}.generation-period-label{align-items:center;display:inline-flex;font-weight:700;gap:8px}.generation-period-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));height:22px;object-fit:contain;width:22px}.generation-period-years{color:#ffffffb8;font-size:.82rem}.song-generation-chip{background:#ffd1661f;border:1px solid #ffd16638;border-radius:999px;color:#ffd166}.song-generation-chip,.song-set-chip{align-items:center;display:inline-flex;font-size:.72rem;margin-top:4px;padding:3px 8px;width:-webkit-fit-content;width:fit-content}.song-set-chip{background:#fbbf241f;border:1px solid #fbbf2438;border-radius:999px;color:#facc15}.delete-btn{background:#ef444433;border:none;border-radius:50%;color:#ef4444;cursor:pointer;font-size:.9em;height:28px;opacity:0;transition:all .2s;width:28px}.round-card:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef4444;color:#fff}.round-card-actions{align-items:center;gap:4px}.round-action-btn{background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;color:#ccc;cursor:pointer;font-size:.75rem;opacity:0;padding:4px 9px;transition:opacity .2s,background .2s;white-space:nowrap}.round-card:hover .round-action-btn{opacity:1}.round-action-btn:hover{background:#ffffff2e;color:#fff}.round-action-btn.set-open{background:#3b82f629;border-color:#3b82f659;color:#dbeafe;opacity:1}.round-action-btn.set-open:hover{background:#3b82f647;color:#fff}.theme-night-history-buttons{display:flex;flex-direction:column;gap:8px;margin-top:8px}.theme-night-history-item{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.theme-night-history-label{color:#ffffffe6;font-weight:700}.events-link-section{border-top:1px solid #ffffff1a;margin-top:20px;padding-top:16px;text-align:center}.empty-state.small{padding:12px;text-align:center}.empty-state.small p{color:#ffffff80;font-size:.85em;margin:0}.round-songs-section{margin-top:0;min-height:300px;overflow-y:auto;padding-top:0}.round-songs-list,.round-songs-section{display:flex;flex:1 1;flex-direction:column}.round-songs-list{gap:8px;max-height:none;min-height:200px}.round-song-item{background:#ffffff0d;border-radius:8px;gap:10px;padding:10px;transition:all .2s}.round-song-item:hover{background:#ffffff1a}.song-number{background:#1db9544d;color:#1db954;font-size:.8em}.song-thumb{border-radius:6px}.song-details{flex:1 1;min-width:0}.song-title{font-size:.9em}.song-artist{font-size:.8em}.remove-btn{background:#0000;color:#ffffff4d;font-size:.9em;padding:4px 8px;transition:all .2s}.remove-btn:hover{color:#ef4444}.live-display-btn{background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;margin-right:8px;padding:6px 10px;transition:all .2s}.live-display-btn:hover{background:#3b82f680}.live-display-btn.active{animation:pulse-live 1.5s infinite;background:#ef444499}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.7}}.live-display-controls{align-items:center;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:10px 12px}.live-indicator{animation:pulse-live 1s infinite;color:#ef4444;font-weight:700}.live-display-controls .fade-btn,.live-display-controls .intermission-btn,.live-display-controls .reveal-btn,.live-display-controls .stop-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9em;padding:6px 14px;transition:all .2s}.live-display-controls .reveal-btn{background:#22c55e;color:#fff}.live-display-controls .reveal-btn:hover{background:#16a34a}.live-display-controls .fade-btn{background:linear-gradient(90deg,#f59e0b,#f97316);color:#fff}.live-display-controls .fade-btn:hover{background:linear-gradient(90deg,#d97706,#ea580c)}.live-display-controls .fade-btn:disabled{background:#6b7280;cursor:not-allowed;opacity:.7}.live-display-controls .stop-btn{background:#ef4444;color:#fff}.live-display-controls .stop-btn:hover{background:#dc2626}.display-secondary-controls .intermission-btn,.live-display-controls .intermission-btn{background:linear-gradient(135deg,#f59e0b,#b45309);color:#fff}.display-secondary-controls .intermission-btn:hover,.live-display-controls .intermission-btn:hover{background:linear-gradient(135deg,#d97706,#92400e)}.live-display-controls .intermission-btn.active{background:linear-gradient(135deg,#22c55e,#15803d)}.display-secondary-controls{align-items:center;display:flex;gap:12px;margin-bottom:12px}.display-secondary-controls .intermission-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95em;font-weight:600;padding:10px 16px;transition:all .2s}.fade-duration-control{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;display:flex;gap:8px;padding:6px 10px}.fade-duration-control label{color:#ffffffe6;font-size:.85em;font-weight:600}.fade-duration-control input[type=range]{width:100px}.fade-duration-control span{color:#fff;font-size:.85em;font-weight:700;min-width:36px;text-align:right}.round-tabs{background:#ffffff0d;border-radius:12px;margin:16px 0;padding:4px}.round-tab{background:#0000;color:#fff9;flex:1 1;font-size:.95em;font-weight:600}.round-tab:hover{background:#ffffff1a;color:#fff}.round-tab.active{background:#1db954;color:#fff}.panel-header.collapsible{border-radius:8px;cursor:pointer;margin:-8px -12px 8px;padding:8px 12px;transition:background .2s;-webkit-user-select:none;user-select:none}.panel-header.collapsible:hover{background:#ffffff0d}.collapse-icon{display:inline-block;font-size:.8em;margin-right:8px;transition:transform .2s}.collapse-icon.collapsed{transform:rotate(-90deg)}.round-song-item-wrapper{display:flex;flex-direction:column;gap:8px}.round-song-item.playing{background:#1db95433;border:1px solid #1db95466}.song-play-actions{align-items:center;display:flex;gap:6px}.song-play-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.9em;height:32px;justify-content:center;transition:all .2s;width:32px}.song-play-btn.audio{background:#1db954;color:#fff}.song-play-btn.audio:hover{background:#1ed760;transform:scale(1.1)}.song-play-btn.audio.playing{background:#ef4444}.song-play-btn.youtube{background:red;color:#fff}.song-play-btn.youtube:hover{background:#c00;transform:scale(1.1)}.song-play-btn.youtube.playing{background:#c00}.song-youtube-player{background:#000;border-radius:8px;margin-left:34px;overflow:hidden}.song-youtube-player iframe{aspect-ratio:16/9;border:none;width:100%}.empty-state{color:#fff6;padding:30px}.empty-state.small{font-size:.9em;padding:20px}.empty-state .hint{color:#1db954;font-size:.85em;margin-top:8px}.search-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.search-panel>*{flex-shrink:0}.right-panel-tabs{background:#0000004d;border-radius:8px;display:flex;gap:0;margin-bottom:16px;overflow:hidden}.right-panel-tab{background:#0000;border:none;color:#fff9;cursor:pointer;flex:1 1;font-size:1em;font-weight:600;padding:12px 16px;transition:all .2s}.right-panel-tab:hover{background:#ffffff1a;color:#ffffffe6}.right-panel-tab.active{background:#1db954;color:#fff}.right-panel-songs{flex:1 1;overflow-y:auto}.overview-generation-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 12px}.right-panel-generation-filters{padding:0 0 10px}.overview-generation-filter-btn{background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;color:#ffffffd1;cursor:pointer;font-size:.82rem;font-weight:700;padding:6px 12px;transition:all .2s ease}.overview-generation-filter-btn:hover{background:#ffffff29;color:#fff}.overview-generation-filter-btn.active{background:linear-gradient(135deg,#ffd16642,#ffa12a3d);border-color:#ffd166b3;color:#ffe0ad}.overview-generation-filter-count{color:#ffffffa6;font-size:.82rem;font-weight:600;margin-left:auto}.right-songs-list{display:flex;flex-direction:column;gap:4px}.theme-night-sets-list{gap:8px;margin-bottom:10px}.right-song-item-wrapper,.theme-night-sets-list{display:flex;flex-direction:column}.right-song-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;gap:10px;padding:8px 10px;transition:all .2s}.right-song-item:hover{background:#ffffff1a}.right-song-item.playing{background:#1db95426;border-left:3px solid #1db954}.right-song-item.live{background:#e74c3c26;border-left:3px solid #e74c3c}.right-song-item.armed{background:#fbbf241f;border-left:3px solid #fbbf24}.right-song-item.dragging{cursor:grabbing;opacity:.55}.right-song-item.drop-target{box-shadow:inset 0 0 0 2px #1db954cc}.right-song-item .song-number-button{background:#ffffff0d;border:1px solid #0000;border-radius:999px;color:#ffffffbf;cursor:pointer;font-size:.85em;font-weight:700;height:30px;min-width:30px;padding:0 8px;text-align:center;transition:all .2s}.right-song-item .song-number-button:hover{background:#fbbf242e;border-color:#fbbf2473;color:#fff4cc}.right-song-item .song-number-button.armed{background:#fbbf2438;border-color:#fbbf24a6;color:#fff4cc}.right-song-item .song-thumb{border-radius:4px;height:36px;object-fit:cover;width:36px}.right-song-item .song-info{flex:1 1;min-width:0}.right-song-item .song-title{font-size:.9em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-song-item .song-artist{color:#fff9;font-size:.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-song-item .song-play-actions{display:flex;gap:4px}.right-song-item .song-play-btn{align-items:center;background:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85em;height:28px;justify-content:center;transition:all .2s;width:28px}.right-song-item .song-play-btn:hover{background:#fff3}.right-song-item .song-play-btn.youtube.playing{background:red}.right-song-item .song-play-btn.audio.playing{background:#1db954}.right-song-item .song-play-btn.settings.has-settings{color:#f39c12}.right-song-item .song-play-btn.set-manual{background:#fbbf2433;color:#facc15;font-weight:700}.right-song-item .song-play-btn.set-manual:hover{background:#fbbf2459}.right-song-item .display-song-controls{align-items:center;display:flex;gap:4px}.right-song-item .live-indicator-small{animation:pulse 1s infinite;font-size:.7em}.right-song-item .song-pause-btn{background:#e74c3c4d}.right-song-item .live-display-btn,.right-song-item .song-pause-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;height:28px;width:28px}.right-song-item .live-display-btn{background:#9b59b64d;transition:all .2s}.right-song-item .live-display-btn:hover{background:#9b59b680}.right-song-item .lyrics-btn{background:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;height:28px;transition:all .2s;width:28px}.right-song-item .lyrics-btn:hover{background:#fff3}.right-song-item .lyrics-btn.has-lyrics{color:#2ecc71}.right-song-item .remove-btn{background:#0000;border:none;border-radius:4px;color:#fff6;cursor:pointer;font-size:.9em;height:24px;transition:all .2s;width:24px}.right-song-item .remove-btn:hover{background:#e74c3c4d;color:#e74c3c}.move-to-round-wrapper{display:inline-flex;position:relative}.move-round-btn{background:#0000;border:none;border-radius:4px;color:#fff6;cursor:pointer;font-size:.9em;height:24px;padding:0;transition:all .2s;width:24px}.move-round-btn.active,.move-round-btn:hover{background:#3498db4d;color:#3498db}.move-round-dropdown{background:#1e2a3a;border:1px solid #ffffff26;border-radius:8px;box-shadow:0 4px 16px #00000080;min-width:140px;padding:6px;position:absolute;right:0;top:28px;z-index:200}.move-round-label{color:#fff6;font-size:.7rem;letter-spacing:.05em;padding:2px 6px 6px;text-transform:uppercase}.move-round-option{background:#0000;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:.85rem;padding:6px 10px;text-align:left;transition:background .15s;width:100%}.move-round-option:hover{background:#3498db4d}.right-song-item-wrapper .song-youtube-player{aspect-ratio:16/9;border-radius:8px;margin:8px 0 8px 32px;max-height:180px;overflow:hidden}.right-song-item-wrapper .song-youtube-player iframe{border:none;height:100%;width:100%}.add-songs-btn{background:#1db954;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;margin-top:16px;padding:12px 24px;transition:all .2s}.add-songs-btn:hover{background:#1ed760;transform:scale(1.02)}.decade-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.decade-btn{background:#ffffff1a;border:2px solid #0000;border-radius:20px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:8px 16px;transition:all .2s}.decade-btn:hover{background:#fff3;border-color:#1db95480}.decade-btn.active{background:#1db954;border-color:#1db954}.search-form{background:#0003;border-radius:12px;margin-bottom:16px;padding:16px}.search-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.search-field{display:flex;flex-direction:column;gap:4px}.search-field.full{grid-column:span 2}.search-field label{color:#fff9;font-size:.8em;font-weight:500}.search-field input{background:#ffffff1a;border:2px solid #ffffff1a;border-radius:8px;color:#fff;font-size:.95em;padding:10px 12px;transition:all .2s}.search-field input::placeholder{color:#ffffff4d}.search-field input:focus{background:#1db9541a;border-color:#1db954;outline:none}.year-range .year-inputs{align-items:center;display:flex;gap:8px}.year-range .year-inputs input{text-align:center;width:80px}.year-range .year-inputs span{color:#fff6}.search-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.checkbox-option{align-items:center;color:#ffffffb3;cursor:pointer;display:flex;font-size:.9em;gap:8px}.checkbox-option input{accent-color:#1db954;height:18px;width:18px}.limit-option{align-items:center;color:#fff9;display:flex;font-size:.9em;gap:8px}.limit-option select{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;font-size:.9em;padding:6px 10px}.limit-option select option{background:#333;color:#fff}.genre-option{align-items:center;color:#fff9;display:flex;font-size:.9em;gap:8px}.genre-option select{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;font-size:.9em;min-width:120px;padding:6px 10px}.genre-option select option{background:#333;color:#fff}.search-actions{display:flex;gap:12px;justify-content:flex-end}.search-results-summary{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-top:16px;padding:16px 18px}.search-results-count{color:#fff;font-size:1rem;font-weight:700}.search-results-hint{color:#ffffffb8;font-size:.9rem;margin-top:4px}.search-results{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;margin-top:16px;min-height:0;overflow-y:auto;padding-right:8px}.track-card{align-items:center;background:linear-gradient(180deg,#4a577ac7,#344062e6);border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 10px 24px #00000038;display:flex;gap:12px;padding:12px;transition:all .2s}.track-card:hover{background:linear-gradient(180deg,#56668ee6,#3d4e76f5);border-color:#1db95473;transform:translateY(-1px)}.track-card.added{background:linear-gradient(180deg,#1db95433,#2f5345d9);border-color:#1db95459;opacity:.9}.track-image{border-radius:8px;flex-shrink:0;height:60px;overflow:hidden;width:60px}.track-image img{height:100%;object-fit:cover;width:100%}.track-image .no-image{align-items:center;background:linear-gradient(135deg,#1db954,#1ed760);display:flex;font-size:1.5em;height:100%;justify-content:center;width:100%}.track-info{flex:1 1;min-width:0}.track-title{color:#fff;font-size:1em;font-weight:600;margin-bottom:2px;text-shadow:0 1px 1px #0000002e}.track-artist,.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist{color:#ffffffe0;font-size:.9em;margin-bottom:4px}.track-meta{color:#ffffffb8;display:flex;font-size:.8em;gap:10px}.track-year{background:#1db954;border-radius:10px;color:#fff;font-weight:600;padding:2px 8px}.has-preview{color:#1db954}.track-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.lyrics-btn{align-items:center;border:1px solid #fff3;border-radius:50%;color:#fff;display:flex;font-size:1rem;height:36px;justify-content:center;width:36px}.lyrics-btn:hover{background:#e74c3c4d;border-color:#e74c3c;transform:scale(1.1)}.add-to-round-btn{background:#1db954;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:10px 18px;transition:all .2s;white-space:nowrap}.add-to-round-btn:hover{background:#1ed760;transform:scale(1.05)}.added-label{color:#1db954;font-size:.9em;font-weight:600}.no-round-hint{color:#fff6;font-size:.8em;font-style:italic}.error{background:#ef444433;border:1px solid #ef444480;border-radius:8px;color:#fca5a5;font-size:.9em;margin-bottom:16px;padding:12px}.config-modal,.config-needed{background:#ffffff14;border-radius:16px;margin:40px auto;max-width:500px;padding:32px}.config-modal h2,.config-needed h2{color:#1db954;margin-top:0}.config-needed ol{line-height:1.8;padding-left:24px}.config-needed a{color:#1db954}.config-field{margin-bottom:16px}.config-field label{color:#fffc;display:block;font-weight:500;margin-bottom:6px}.config-field input{background:#ffffff1a;border:2px solid #ffffff1a;border-radius:8px;color:#fff;font-size:1em;padding:12px;width:100%}.config-field input:focus{border-color:#1db954;outline:none}.config-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal{background:linear-gradient(135deg,#1e293b,#0f172a);max-width:500px;padding:32px}.modal h2{color:#fff;margin-bottom:24px;margin-top:0}.spotify-results-modal{display:flex;flex-direction:column;max-height:86vh;max-width:1100px;min-width:0;overflow:hidden;padding:24px;width:min(1100px,92vw)}.spotify-results-modal .modal-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.spotify-results-modal .modal-header h2{margin:0}.modal-close-btn{background:#ffffff1a;border:none;border-radius:999px;color:#fff;font-size:1.6rem;height:40px;line-height:1;transition:background .2s ease;width:40px}.modal-close-btn:hover{background:#ffffff2e}.search-results-modal-list{margin-top:0;padding-right:6px}.modal-subtitle{font-size:.95em;margin:-16px 0 24px}.modal-field{margin-bottom:20px}.modal-field label{margin-bottom:8px}.modal-field input,.modal-field textarea{background:#ffffff1a;border:2px solid #ffffff1a;border-radius:10px;color:#fff;font-family:inherit;font-size:1em;padding:14px;width:100%}.modal-field input:focus,.modal-field textarea:focus{border-color:#1db954;outline:none}.logo-preview{margin-top:12px;text-align:center}.logo-preview img{background:#ffffff1a;border-radius:8px;max-height:80px;max-width:200px;object-fit:contain;padding:8px}.events-list::-webkit-scrollbar,.round-songs-list::-webkit-scrollbar,.rounds-list::-webkit-scrollbar,.search-results::-webkit-scrollbar{width:6px}.events-list::-webkit-scrollbar-track,.round-songs-list::-webkit-scrollbar-track,.rounds-list::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.events-list::-webkit-scrollbar-thumb,.round-songs-list::-webkit-scrollbar-thumb,.rounds-list::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb{background:#1db95480;border-radius:3px}.events-list::-webkit-scrollbar-thumb:hover,.round-songs-list::-webkit-scrollbar-thumb:hover,.rounds-list::-webkit-scrollbar-thumb:hover,.search-results::-webkit-scrollbar-thumb:hover{background:#1db954}.search-mode-toggle{background:#ffffff0d;border-radius:12px;display:flex;gap:8px;margin-bottom:16px;padding:4px}.mode-btn{background:#0000;border:none;color:#fff9;font-weight:600;padding:12px 20px}.mode-btn:hover{color:#fff}.youtube-search-section{display:flex;flex-direction:column;gap:16px}.yt-search-box{display:flex;gap:12px}.yt-search-box input{background:#ffffff1a;border:none;border-radius:10px;color:#fff;flex:1 1;font-size:1em;padding:14px 18px}.yt-search-box input::placeholder{color:#ffffff80}.yt-status-message{background:#1db95433;border-radius:8px;color:#1ed760;font-weight:500;padding:12px 16px}.yt-search-results{display:flex;flex-direction:column;gap:8px;max-height:600px;overflow-y:auto}.yt-result-item{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:12px;padding:12px;transition:all .2s}.yt-result-item:hover{background:#ffffff1a}.yt-result-thumb{border-radius:6px;height:68px;object-fit:cover;width:120px}.yt-result-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.yt-result-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:.95em;font-weight:600;overflow:hidden}.yt-result-channel{color:#fff9;font-size:.85em;margin-top:4px}.yt-loading-info{color:#fff9;padding:20px;text-align:center}.yt-selected-video{background:#ffffff14;border-radius:12px;padding:16px}.yt-selected-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.yt-selected-thumb{border-radius:8px;height:90px;object-fit:cover;width:160px}.yt-selected-info{flex:1 1}.yt-selected-title{color:#fff;font-size:1.1em;font-weight:600;margin-bottom:4px}.yt-selected-channel{color:#fff9;font-size:.9em}.yt-close-btn{background:none;border:none;color:#fff9;cursor:pointer;font-size:1.5em;line-height:1;padding:4px 8px}.yt-close-btn:hover{color:#fff}.yt-edit-form{gap:12px;margin-bottom:16px}.yt-edit-form,.yt-form-row{display:flex;flex-direction:column}.yt-form-row{gap:4px}.yt-form-row label{color:#ffffffb3;font-size:.85em;font-weight:500}.yt-form-row input{background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:1em;padding:12px}.yt-form-row input:disabled{opacity:.6}.yt-hint{color:#ffc107;font-size:.9em;margin-bottom:12px;text-align:center}.yt-result-wrapper{margin-bottom:8px}.yt-result-actions{display:flex;gap:8px;margin-left:auto}.yt-play-btn,.yt-select-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.2em;height:44px;justify-content:center;transition:all .2s;width:44px}.yt-play-btn{background:red;color:#fff}.yt-play-btn:hover{background:#c00;transform:scale(1.1)}.yt-select-btn{background:#1db954;color:#fff}.yt-select-btn:hover{background:#1ed760;transform:scale(1.1)}.yt-preview-player{background:#000000e6;border:2px solid red;border-radius:12px;overflow:hidden}.yt-preview-header{align-items:center;background:#ffffff0d;display:flex;justify-content:space-between;padding:12px 16px}.yt-preview-title{color:#fff;flex:1 1;font-size:.95em;font-weight:600;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-preview-close{background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.yt-preview-close:hover{background:#fff3}.yt-preview-iframe{aspect-ratio:16/9;border:none;width:100%}.yt-preview-actions{display:flex;justify-content:center;padding:12px 16px}@media (max-width:1024px){.dashboard-layout{grid-template-columns:1fr;height:auto}.events-panel{max-height:400px}.search-panel{min-height:600px}}.lyrics-btn{background:#ffffff1a;border:none;border-radius:6px;color:#ffffff80;cursor:pointer;font-size:.9em;margin-right:8px;padding:6px 10px;transition:all .2s}.lyrics-btn:hover{background:#a855f766;color:#fff}.lyrics-btn.has-lyrics{background:#a855f733;color:#a855f7}.lyrics-modal{max-width:700px;min-width:500px}.lyrics-help{color:#fff9;font-size:.9em}.lyrics-auto-search,.lyrics-help{margin-bottom:16px}.lyrics-offset-editor{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.lyrics-offset-label{color:#fffc;font-size:.95em;font-weight:600}.lyrics-offset-buttons{display:flex;flex-wrap:wrap;gap:8px}.lyrics-offset-btn{background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 12px;transition:all .2s}.lyrics-offset-btn:hover{border-color:#ffffff52;transform:translateY(-1px)}.lyrics-offset-btn.active{background:#3b82f6d9;border-color:#60a5faf2}.search-lyrics-auto-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95em;padding:10px 20px;transition:all .2s;width:100%}.search-lyrics-auto-btn:hover:not(:disabled){box-shadow:0 4px 15px #e74c3c66;transform:scale(1.02)}.search-lyrics-auto-btn:disabled{cursor:wait;opacity:.7}.lyrics-modal textarea{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#fff;font-family:inherit;font-size:.95em;line-height:1.6;min-height:300px;padding:12px;resize:vertical;width:100%}.lyrics-modal textarea:focus{border-color:#a855f7;box-shadow:0 0 0 2px #a855f74d;outline:none}.lyrics-modal textarea::placeholder{color:#ffffff4d}.lyrics-song-info{align-items:center;background:#a855f726;border-radius:8px;display:flex;font-size:.95em;gap:16px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.lyrics-duration{color:#ffffffb3;font-size:.9em;font-weight:400}.lyrics-sync-controls{align-items:center;background:#0000004d;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px}.lyrics-seekbar{accent-color:#a855f7;-webkit-appearance:none;appearance:none;background:#ffffff26;border-radius:3px;cursor:pointer;flex:1 1;height:6px;min-width:120px}.lyrics-seekbar::-webkit-slider-thumb{-webkit-appearance:none;background:#a855f7;border-radius:50%;cursor:pointer;height:16px;width:16px}.lyrics-seekbar:hover{accent-color:#c084fc}.lyrics-play-btn{align-items:center;background:#22c55e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.3em;height:44px;justify-content:center;transition:all .2s;width:44px}.lyrics-play-btn:hover{background:#16a34a;transform:scale(1.05)}.lyrics-play-btn.playing{background:#f59e0b}.lyrics-position{align-items:center;color:#fff;display:flex;font-family:monospace;font-size:1.2em;gap:6px}.lyrics-position .time-separator{color:#ffffff80}.lyrics-position .total-time{color:#fff9}.insert-timestamp-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;margin-left:auto;padding:10px 16px;transition:all .2s}.insert-timestamp-btn:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.02)}.lyrics-preview-toggle-btn{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#fffc;cursor:pointer;font-size:.9em;padding:8px 14px;transition:all .2s;white-space:nowrap}.lyrics-preview-toggle-btn:hover{background:#ffffff24}.lyrics-preview-toggle-btn.active{background:#a855f780;border-color:#a855f7cc;color:#fff}.lyrics-offset-shift{align-items:center;color:#ffffffb3;display:flex;font-size:.9em;gap:8px;margin-bottom:12px}.lyrics-offset-shift button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;padding:5px 12px;transition:all .15s}.lyrics-offset-shift button:hover{background:#ffffff2e;border-color:#ffffff59}kbd{background:#ffffff1f;border:1px solid #ffffff40;border-radius:4px;font-family:monospace;font-size:.9em;padding:1px 6px}.lyrics-preview-panel{background:#0006;border:1px solid #ffffff1a;border-radius:8px;height:320px;overflow-y:auto;padding:12px;scroll-behavior:smooth}.lyrics-preview-empty{color:#fff6;font-style:italic;padding:40px 20px;text-align:center}.preview-line{align-items:baseline;border-radius:6px;color:#ffffff59;display:flex;gap:10px;line-height:1.5;padding:7px 12px;transition:background .15s,color .15s}.preview-line.past{color:#ffffff73}.preview-line.active{background:#a855f759;color:#fff;font-size:1.08em;font-weight:600}.preview-timestamp{color:#ffffff4d;flex-shrink:0;font-family:monospace;font-size:.8em}.preview-line.active .preview-timestamp{color:#a855f7e6}@media (max-width:600px){.spotify-dashboard{padding:12px}.dashboard-header h1{font-size:1.3em}.search-row{grid-template-columns:1fr}.search-field.full{grid-column:span 1}.decade-filters{justify-content:center}.modal{margin:20px;min-width:auto}}.qr-scanner-btn-container{border-bottom:1px solid #ffffff1a;display:flex;gap:8px;padding:12px 16px}.qr-scanner-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1em;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s}.qr-scanner-btn:hover{background:linear-gradient(135deg,#9d74fa,#8b5cf6);box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}.wizard-btn{align-items:center;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1em;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s}.wizard-btn:hover{background:linear-gradient(135deg,#7d6ef0,#b1a7ff);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.play-all-btn{align-items:center;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1em;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s}.play-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#0aa778,#24c18e);box-shadow:0 4px 12px #05966959;transform:translateY(-1px)}.play-all-btn:disabled{cursor:not-allowed;opacity:.5}.play-all-btn.stop{background:linear-gradient(135deg,#dc2626,#ef4444)}.play-all-btn.stop:hover{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 4px 12px #dc262659}.play-all-status{border-bottom:1px solid #ffffff14;color:#ffffffd1;font-size:.85rem;padding:8px 16px 12px}.song-volume-btn{align-items:center;background:none;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:inline-flex;font-size:.95em;height:28px;justify-content:center;min-width:28px;padding:4px 6px;transition:all .2s}.song-volume-btn:hover{background:#ffffff1a;color:#fffc}.song-volume-btn.minus:active{color:#ef4444}.song-volume-btn.plus:active{color:#10b981}.song-volume-indicator{color:#fff9;cursor:default;font-family:monospace;font-size:.75em;min-width:35px;padding:0 2px;text-align:center}.qr-scanner-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:24px;width:90%}.qr-scanner-modal .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.qr-scanner-modal .modal-header h2{font-size:1.4em;margin:0}.qr-scanner-modal .close-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2em;height:32px;transition:all .2s;width:32px}.qr-scanner-modal .close-btn:hover{background:#fff3}.qr-instructions{color:#ffffffb3;font-size:.95em;margin-bottom:20px;text-align:center}.qr-instructions strong{color:#8b5cf6}.qr-processing{background:#8b5cf633;border-radius:8px;font-size:1.1em;margin-bottom:16px;padding:16px;text-align:center}.qr-processing .spinner{animation:spin 1s linear infinite;display:inline-block}.qr-error{background:#ef444433;border:1px solid #ef444466;border-radius:8px;color:#fca5a5;margin-bottom:16px;padding:12px;text-align:center}#qr-reader{margin-bottom:16px;overflow:hidden}#qr-reader,#qr-reader video{border-radius:12px}#qr-reader__scan_region{background:#00000080!important}#qr-reader__dashboard{background:#0000!important;color:#fff!important}#qr-reader__dashboard_section_csr button{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;border:none!important;border-radius:8px!important;color:#fff!important;cursor:pointer!important;font-weight:600!important;padding:10px 20px!important}#qr-reader__dashboard_section_csr span{color:#ffffffb3!important}#qr-reader__dashboard_section select{background:#ffffff1a!important;border:1px solid #fff3!important;border-radius:6px!important;color:#fff!important;padding:8px!important}.downloads-section{padding:16px}.downloads-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.downloads-header h3{font-size:1.2em;margin:0}.refresh-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#fff3}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.downloads-loading{color:#ffffffb3;padding:40px;text-align:center}.downloads-layout{gap:20px}.downloads-layout,.downloads-list{display:flex;flex-direction:column}.downloads-list{gap:8px;max-height:300px;overflow-y:auto}.download-item{align-items:center;background:#ffffff0d;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.download-item:hover{background:#ffffff1a}.download-item.selected{background:#1db9541a;border-color:#1db954}.download-info{flex:1 1;min-width:0}.download-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-details{color:#fff9;font-size:.85em;margin-top:2px}.download-actions{display:flex;flex-shrink:0;gap:8px}.download-actions .add-btn,.download-actions .delete-btn,.download-actions .play-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1em;height:36px;justify-content:center;transition:all .2s;width:36px}.download-actions .add-btn:hover:not(:disabled),.download-actions .play-btn.playing,.download-actions .play-btn:hover{background:#1db954}.download-actions .add-btn:disabled{cursor:not-allowed;opacity:.4}.download-actions .delete-btn:hover{background:#ef4444}.download-edit-form{background:#ffffff0d;border-radius:12px;padding:20px}.download-edit-form h4{font-size:1.1em;margin:0 0 8px}.download-edit-form .hint{color:#fff9;font-size:.9em;margin:0 0 16px}.download-edit-form .warning{color:#fbbf24;font-size:.9em;margin:12px 0}.edit-field{margin-bottom:12px}.edit-field label{color:#ffffffb3;display:block;font-size:.9em;margin-bottom:4px}.edit-field input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1em;padding:10px 12px;width:100%}.edit-field input:focus{border-color:#1db954;outline:none}.overview-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85em;font-weight:600;padding:8px 16px;transition:all .2s}.overview-btn:hover{box-shadow:0 4px 12px #6366f166;transform:scale(1.05)}.modal-overlay.fullscreen{background:#000000f2}.song-overview-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:95vw}.overview-header{background:#0000004d;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;padding:24px 32px}.overview-header,.overview-nav{align-items:center;display:flex;gap:16px}.overview-nav .nav-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:10px 16px;transition:all .2s}.overview-nav .nav-btn:hover:not(:disabled){background:#1db9544d}.overview-nav .nav-btn:disabled{cursor:not-allowed;opacity:.3}.overview-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.overview-controls .fade-duration-control{background:#ffffff0f}.overview-controls .fade-duration-control.compact input[type=range]{width:90px}.overview-controls button{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 14px;transition:all .2s}.overview-controls button:hover:not(:disabled){background:#fff3}.overview-controls button:disabled{cursor:not-allowed;opacity:.3}.overview-controls .fade-btn:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706)}.overview-controls .stop-display-btn:hover:not(:disabled){background:#ef4444}.overview-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1db954,#1ed760);-webkit-background-clip:text;background-clip:text;font-size:2em;margin:0}.overview-count{background:#1db95433;border-radius:20px;color:#1db954;font-size:1em;font-weight:600;padding:6px 14px}.close-overview-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.3em;height:40px;margin-left:auto;transition:all .2s;width:40px}.close-overview-btn:hover{background:#ef4444}.overview-table-container{flex:1 1;overflow-y:auto;padding:24px 32px}.overview-table{border-collapse:collapse;font-size:1.2em;width:100%}.overview-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.overview-table th{background:#1db9544d;border-bottom:2px solid #1db95480;color:#1db954;font-size:1em;font-weight:700;padding:16px 12px;text-align:left}.overview-table td{border-bottom:1px solid #ffffff14;color:#fff;padding:18px 12px}.overview-empty-row{color:#ffffffad;font-style:italic;text-align:center}.overview-table tbody tr{transition:background .2s}.overview-table tbody tr:hover{background:#ffffff0d}.overview-table tbody tr:nth-child(2n){background:#ffffff05}.overview-table tbody tr:nth-child(2n):hover{background:#ffffff12}.playback-log-panel{bottom:0;box-shadow:-2px -2px 12px #00000080;font-family:monospace;font-size:12px;max-width:480px;position:fixed;right:0;width:100%;z-index:9000}.playback-log-toggle{align-items:center;background:#1a1a2e;border:1px solid #333;border-bottom:none;border-radius:6px 6px 0 0;clear:right;color:#ccc;cursor:pointer;display:flex;float:right;font-size:12px;gap:6px;padding:5px 12px}.playback-log-toggle:hover{background:#25254a;color:#fff}.log-badge{background:#e74c3c;border-radius:10px;color:#fff;font-size:10px;padding:1px 6px}.playback-log-body{background:#0d0d1a;border:1px solid #333;display:flex;flex-direction:column;max-height:340px}.playback-log-header{align-items:center;background:#1a1a2e;border-bottom:1px solid #333;color:#ccc;display:flex;font-family:sans-serif;font-size:13px;font-weight:600;justify-content:space-between;padding:6px 10px}.log-clear-btn{background:#333;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:11px;padding:2px 8px}.log-clear-btn:hover{background:#555;color:#fff}.playback-log-entries{flex:1 1;overflow-y:auto;padding:4px 0}.log-empty{color:#666;font-style:italic;padding:12px;text-align:center}.log-entry{align-items:baseline;border-bottom:1px solid #ffffff0a;display:flex;gap:6px;line-height:1.4;padding:3px 10px}.log-entry:hover{background:#ffffff0a}.log-time{color:#777;flex-shrink:0;min-width:72px}.log-source{flex-shrink:0;font-size:14px}.log-event{color:#ddd;flex:1 1}.log-entry.log-info .log-event{color:#aad4f5}.log-entry.log-ok .log-event{color:#7ec68a}.log-entry.log-warn .log-event{color:#f5c842}.log-entry.log-error .log-event{color:#f57a7a}.log-details{margin-top:2px}.log-details summary{color:#888;cursor:pointer;display:inline;font-size:10px}.log-details pre{background:#ffffff0d;border-radius:4px;color:#bbb;font-size:10px;margin:2px 0 0;max-height:120px;overflow-y:auto;padding:4px 6px;white-space:pre-wrap}.song-num{color:#1db954;font-size:1.1em;font-weight:700;width:60px}.song-num-button{background:#ffffff0a;border:1px solid #1db95438;border-radius:999px;color:inherit;cursor:pointer;font:inherit;font-weight:700;height:34px;min-width:34px;padding:0 10px;transition:all .2s}.song-num-button:hover{background:#fbbf2429;border-color:#fbbf2473;color:#fff4cc}.song-num-button.armed{background:#fbbf2438;border-color:#fbbf24b3;color:#fff4cc}.song-num-label{background:#0000;border-radius:999px;color:inherit;display:inline-block;font:inherit;font-weight:700;height:34px;line-height:34px;min-width:34px;padding:0 10px}.song-title-cell{font-weight:600;max-width:350px}.song-artist-cell{color:#ffffffd9;max-width:250px}.song-year-cell{color:#fbbf24;font-weight:600;text-align:center;width:80px}.song-album-cell{color:#fff9;font-size:.9em;max-width:200px}.song-source-cell{font-size:.9em;text-align:center;width:120px}.song-source-badge{align-items:center;background:#ffffff0f;border-radius:999px;display:inline-flex;font-weight:600;gap:8px;justify-content:center;min-width:92px;padding:6px 10px}.song-source-badge.spotify,.song-source-badge.youtube{color:#f3f4f6}.song-source-badge.file,.song-source-badge.unknown{color:#fffc}.song-source-dot{background:#64748b;border-radius:50%;flex-shrink:0;height:12px;width:12px}.song-source-badge.spotify .song-source-dot{background:#22c55e}.song-source-badge.youtube .song-source-dot{background:#ef4444}.song-source-badge.file .song-source-dot{background:#f59e0b}.song-actions-cell{text-align:center;width:140px}.song-actions-inner{align-items:center;display:inline-flex;gap:6px;justify-content:center;min-height:36px}.song-actions-cell .action-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1.2em;height:36px;justify-content:center;transition:all .2s;width:36px}.song-actions-cell .action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.song-actions-cell .action-btn.play:hover{background:#1db95466}.song-actions-cell .action-btn.play.playing{background:#1db95480;box-shadow:0 0 10px #1db95480}.song-actions-cell .action-btn.display:hover{background:#3b82f666}.song-actions-cell .action-btn.set:hover{background:#fbbf2459}.song-actions-cell .action-btn.lyrics:hover{background:#a855f766}.song-actions-cell .action-btn.lyrics.has-lyrics{background:#a855f74d}.song-set-cell{color:#ffffffeb;font-weight:600;white-space:nowrap}.overview-table tbody tr.playing{background:#1db95426!important}.overview-table tbody tr.armed{background:#fbbf241f!important}.overview-table td.editable{cursor:pointer;position:relative;transition:all .2s}.overview-table td.editable:hover{background:#1db95426}.overview-table td.editable:hover:after{content:"✏️";font-size:.8em;opacity:.5;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.overview-table tbody tr.editing{background:#1db9541a!important}.overview-table tbody tr.dragging{cursor:grabbing;opacity:.55}.overview-table tbody tr.drop-target{box-shadow:inset 0 -3px 0 #1db954e6}.overview-table td.editable .edit-input{background:#0006;border:2px solid #1db954;border-radius:6px;color:#fff;font-family:inherit;font-size:1em;padding:8px 12px;width:100%}.overview-table td.editable .edit-input:focus{box-shadow:0 0 0 3px #1db9544d;outline:none}.overview-table td.editable .edit-input.year-input{text-align:center;width:80px}.song-actions-cell .action-btn.save{background:#1db95466;color:#fff}.song-actions-cell .action-btn.save:hover{background:#1db95499}.song-actions-cell .action-btn.cancel{background:#ef444466;color:#fff}.song-actions-cell .action-btn.cancel:hover{background:#ef444499}.overview-tabs{border-bottom:1px solid #ffffff1a;display:flex;gap:8px;padding:0 32px 16px}.overview-tab{background:#ffffff14;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:1.1em;font-weight:600;padding:12px 24px;transition:all .2s}.overview-tab:hover{background:#ffffff26;color:#fff}.overview-tab.active{background:#1db954;color:#fff}.overview-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.overview-discogs-container,.overview-tools-container{flex:1 1;overflow-y:auto;padding:24px 32px}.youtube-timing-modal{max-width:600px}.timing-song-info{background:#ffffff0d;border-radius:8px;font-size:1.1em;margin-bottom:16px;padding:12px 16px}.timing-help{color:#ffffffb3;font-size:.95em;line-height:1.5;margin-bottom:16px}.timing-inputs{display:flex;gap:24px;margin-bottom:24px}.timing-field{flex:1 1}.timing-field label{color:#fffc;display:block;font-weight:500;margin-bottom:8px}.timing-field input{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;font-family:monospace;font-size:1.2em;padding:12px 16px;width:100%}.timing-input-row{display:flex;gap:8px}.timing-input-row input{flex:1 1}.grab-time-btn{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.grab-time-btn:hover{background:linear-gradient(135deg,#1ed760,#22e066);transform:translateY(-1px)}.grab-time-btn:active{transform:translateY(0)}.timing-preview-btn{margin-bottom:24px;margin-top:16px;text-align:center}.preview-fragment-btn{background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 24px;transition:all .2s ease}.preview-fragment-btn:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#93c5fd);transform:translateY(-1px)}.preview-fragment-btn:disabled{cursor:not-allowed;opacity:.5}.timing-preview{border-radius:8px;margin-bottom:16px;overflow:hidden}.timing-field input:focus{border-color:#1db954;outline:none}.timing-field input::placeholder{color:#fff6}.song-play-btn.timing{background:#ffc10733}.song-play-btn.timing:hover{background:#ffc10766}.song-play-btn.timing.has-timing{background:#ffc10766;box-shadow:0 0 8px #ffc1074d}.song-play-btn.settings{background:#9ca3af33}.song-play-btn.settings:hover{background:#9ca3af66}.song-play-btn.settings.has-settings{background:#3b82f666;box-shadow:0 0 8px #3b82f64d}.volume-control-section{border-bottom:1px solid #ffffff1a;margin-bottom:24px;padding-bottom:24px}.volume-control-section h3,.youtube-timing-modal h3{color:#fff;font-size:1.1em;margin:0 0 8px}.volume-slider-container{align-items:center;display:flex;gap:16px}.volume-slider{-webkit-appearance:none;appearance:none;background:#fff3;border-radius:4px;flex:1 1;height:8px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1db954;border-radius:50%;cursor:pointer;height:20px;-webkit-transition:transform .2s;transition:transform .2s;width:20px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{background:#1db954;border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.volume-value{color:#1db954;font-size:1.1em;font-weight:600;min-width:50px;text-align:right}.tn-panel-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.tn-panel-modal{background:#1e1e2e;border-radius:12px;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;width:min(680px,95vw)}.tn-panel-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:16px 20px 12px}.tn-panel-header h2{color:#fff;font-size:1.2rem;margin:0}.tn-panel-close{background:none;border:none;border-radius:6px;color:#aaa;cursor:pointer;font-size:1.2rem;padding:4px 8px}.tn-panel-close:hover{background:#333;color:#fff}.tn-panel-tabs{border-bottom:1px solid #333;display:flex;gap:4px;padding:10px 16px 0}.tn-panel-tab{background:none;border:none;border-bottom:3px solid #0000;color:#aaa;cursor:pointer;font-size:.95rem;margin-bottom:-1px;padding:8px 16px}.tn-panel-tab:hover{color:#fff}.tn-panel-tab.active{border-bottom-color:#1db954;color:#1db954}.tn-panel-body{flex:1 1;overflow-y:auto;padding:16px 20px}.tn-panel-empty,.tn-panel-loading{color:#aaa;font-size:.95rem;padding:32px 0;text-align:center}.tn-answer-table{border-collapse:collapse;font-size:.9rem;width:100%}.tn-answer-table th{border-bottom:1px solid #333;color:#aaa;font-weight:600;padding:8px 10px;text-align:left}.tn-answer-table td{border-bottom:1px solid #2a2a3a;color:#eee;padding:8px 10px}.tn-answer-table tr:hover td{background:#262636}.tn-teams-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tn-team-card{align-items:center;background:#2a2a3e;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:14px;text-align:center}.tn-team-name{color:#ccc;font-size:.95rem;font-weight:600}.tn-team-score{color:#1db954;font-size:2rem;font-weight:700;line-height:1}.tn-team-btns{display:flex;gap:6px;margin-top:4px}.tn-bingo-btn{background:#1db954;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:.9rem;font-weight:700;padding:6px 14px}.tn-bingo-btn:hover{background:#17a346}.tn-bingo-btn.minus{background:#e74c3c;color:#fff}.tn-bingo-btn.minus:hover{background:#c0392b}.tn-bingo-btn:disabled{cursor:not-allowed;opacity:.3}.team-qr-modal{align-items:flex-start;background:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.team-qr-content{background:#1a1a2e;border-radius:16px;margin-bottom:20px;margin-top:20px;max-width:900px;padding:60px 24px 24px;position:relative;width:100%}.team-qr-close-btn{align-items:center;background:#e94560;border:none;border-radius:50%;box-shadow:0 4px 12px #e9456066;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:44px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s ease;width:44px;z-index:10}.team-qr-close-btn:hover{background:#d63850;transform:scale(1.1)}.team-qr-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.team-qr-header h2{color:#fff;font-size:24px;margin:0}.team-qr-actions{display:flex;gap:8px}.team-qr-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.generate-btn{background:#e94560}.generate-btn:hover{background:#d63850}.print-btn{background:#3b82f6}.print-btn:hover{background:#2563eb}.close-btn{padding:8px;width:36px}.team-qr-intro{color:#ffffffb3;font-size:14px;margin:0 0 24px}.team-qr-intro strong{color:#e94560}.team-qr-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.team-qr-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:16px;text-align:center}.team-qr-name{color:#fff;font-size:16px;font-weight:600;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-qr-code-wrapper{background:#fff;border-radius:12px;display:inline-block;margin-bottom:12px;padding:8px}.team-qr-code-text{color:#e94560;font-size:24px;font-weight:700;letter-spacing:3px;margin-bottom:4px}.team-qr-url{color:#fff6;font-size:10px;word-break:break-all}.team-qr-no-code{color:#ffffff80;padding:40px 16px}.team-qr-no-code span{display:block;margin-bottom:8px}.team-qr-no-code small{color:#ffffff4d;font-size:12px}.team-qr-empty{color:#ffffff80;padding:40px;text-align:center}@media print{.team-qr-modal{background:#fff;padding:0;position:static}.team-qr-content{background:#fff;max-height:none;padding:20px}.team-qr-header{display:block;text-align:center}.team-qr-header h2{color:#000}.team-qr-actions{display:none}.team-qr-intro{color:#333;text-align:center}.team-qr-intro strong{color:#000}.team-qr-grid{grid-template-columns:repeat(3,1fr)}.team-qr-card{background:#fff;border:2px solid #000;page-break-inside:avoid}.team-qr-code-text,.team-qr-name{color:#000}.team-qr-url{color:#666}}.team-qr-modal.print-mode,.team-qr-modal.print-mode .team-qr-content{background:#fff}.team-qr-modal.print-mode .team-qr-header h2{color:#000}.team-qr-modal.print-mode .team-qr-intro{color:#333}.team-qr-modal.print-mode .team-qr-card{background:#fff;border-color:#000}.team-qr-modal.print-mode .team-qr-code-text,.team-qr-modal.print-mode .team-qr-name{color:#000}.events-page{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh;padding:1rem}.events-header{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.5rem 1rem}.events-header h1{font-size:1.5rem;margin:0}.events-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:280px 1fr 320px;height:calc(100vh - 100px)}.events-sidebar{background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem}.sidebar-header h2{font-size:1rem;font-weight:600;margin:0}.add-btn{background:#1db954;border-radius:6px;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:background .2s}.add-btn:hover{background:#1ed760}.add-btn.small{font-size:.8rem;padding:.3rem .6rem}.events-list{flex:1 1;overflow-y:auto;padding:.5rem}.event-item{align-items:center;background:#ffffff08;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.8rem;transition:all .2s}.event-item:hover{background:#ffffff14}.event-item.selected{background:#1db95426;border-color:#1db954}.event-item-info{flex:1 1;min-width:0}.event-item-name{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-item-date{color:#fff9;font-size:.8rem;margin-top:.2rem}.event-item-stats{color:#fff6;font-size:.75rem;margin-top:.2rem}.event-item-actions{display:flex;gap:.3rem;opacity:0;transition:opacity .2s}.event-item:hover .event-item-actions{opacity:1}.event-item-actions button{background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.7;padding:.3rem;transition:opacity .2s}.event-item-actions button:hover{opacity:1}.event-item.archived{opacity:.6}.event-item.archived .event-item-name:after{content:" 📦";font-size:.75rem}.archive-toggle{padding:.5rem .25rem .25rem;text-align:center}.archive-toggle button{background:none;border:none;border-radius:4px;color:#ffffff73;cursor:pointer;font-size:.78rem;padding:.3rem .5rem;transition:color .2s}.archive-toggle button:hover{color:#fffc}.event-details{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.event-actions-bar{background:#ffffff08;border-radius:10px;display:flex;gap:.75rem;padding:.5rem}.action-btn{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;padding:.75rem 1.25rem;transition:all .2s}.action-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.action-btn.rules-btn{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eea80}.action-btn.rules-btn:hover{background:linear-gradient(135deg,#667eea80,#764ba280)}.action-btn.scoreboard-btn{background:linear-gradient(135deg,#ffd7004d,#ffa5004d);border-color:#ffd70080}.action-btn.scoreboard-btn:hover{background:linear-gradient(135deg,#ffd70080,#ffa50080)}.details-section{background:#ffffff0d;border-radius:12px;padding:1rem}.section-header{margin-bottom:1rem}.section-header h2{font-size:1rem;font-weight:600;margin:0}.section-subtitle{color:#ffffff9e;font-size:.85rem;margin:.3rem 0 0}.teams-grid{display:flex;flex-wrap:wrap;gap:.5rem}.team-card{background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;gap:.5rem;padding:.5rem .8rem}.team-card-info{align-items:center;display:flex;gap:.5rem}.team-card-name{font-size:.9rem;font-weight:500}.team-card-members{background:#ffffff1a;border-radius:4px;color:#ffffff80;font-size:.75rem;padding:.15rem .4rem}.team-card-generation{background:#ffd16624;border:1px solid #ffd16642;border-radius:999px;color:#ffd166;font-size:.72rem;font-weight:700;padding:.15rem .45rem}.team-card-actions{display:flex;gap:.2rem;margin-left:.5rem}.team-card-actions button{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.5;padding:.2rem;transition:opacity .2s}.team-card-actions button:hover{opacity:1}.event-scores-header{gap:1rem}.event-scores-meta{display:flex;flex-wrap:wrap;gap:.5rem}.event-scores-meta span{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;color:#ffffffc7;font-size:.78rem;padding:.35rem .7rem}.event-scores-table-wrapper{margin-top:.5rem;overflow-x:auto}.event-scores-table{border-collapse:collapse;min-width:520px;width:100%}.event-scores-table td,.event-scores-table th{border-bottom:1px solid #ffffff14;padding:.85rem .75rem;text-align:center}.event-scores-table th{color:#fff9;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.event-scores-table tbody tr:hover{background:#ffffff0a}.event-scores-team-col{min-width:180px;text-align:left!important}.event-scores-round-col,.event-scores-total-col{white-space:nowrap}.event-score-team-cell{align-items:center;display:flex;gap:.65rem}.event-score-rank{align-items:center;background:#1db95429;border-radius:999px;color:#5be08a;display:inline-flex;flex-shrink:0;font-weight:700;height:2rem;justify-content:center;width:2rem}.event-score-team-name{font-weight:600}.event-score-value{font-size:1rem;font-weight:700}.event-score-label{color:#ffffff8c;font-size:.78rem;margin-left:.25rem}.event-scores-empty-state{align-items:center;background:#ffffff08;border:1px dashed #ffffff2e;border-radius:12px;display:flex;gap:1rem;margin-top:.5rem;padding:1rem}.event-scores-empty-state h3{font-size:1rem;margin:0 0 .35rem}.event-scores-empty-state p{color:#ffffffad;line-height:1.5;margin:0}.event-scores-empty-icon{align-items:center;background:#ffffff14;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:1.4rem;height:3rem;justify-content:center;width:3rem}.rounds-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.round-card{align-items:center;background:#ffffff14;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:.8rem 1rem;transition:all .2s}.round-card:hover{background:#ffffff1f}.round-card.selected{background:#1db95426;border-color:#1db954}.round-card-info{display:flex;flex-direction:column;gap:.2rem}.round-card-name{font-size:.9rem;font-weight:600}.round-card-count{color:#ffffff80;font-size:.75rem}.round-card-actions{display:flex;gap:.2rem;opacity:0;transition:opacity .2s}.round-card:hover .round-card-actions{opacity:1}.round-card-actions button{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.7;padding:.2rem}.round-card-actions button:hover{opacity:1}.songs-panel{background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.songs-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem}.songs-header h2{font-size:1rem;font-weight:600;margin:0}.songs-count{color:#ffffff80;font-size:.8rem}.songs-info{background:#1db9541a;border-bottom:1px solid #ffffff1a;padding:1rem;text-align:center}.songs-info p{color:#ffffffb3;font-size:.85rem;margin:0 0 .8rem}.songs-list{flex:1 1;overflow-y:auto;padding:.5rem}.song-item{align-items:center;background:#ffffff08;border:1px solid #0000;border-radius:8px;cursor:grab;display:flex;gap:.6rem;margin-bottom:.4rem;padding:.6rem;transition:background .15s,border-color .15s,opacity .15s}.song-item.is-dragging{opacity:.55}.song-item.is-drop-target{background:#1db95429;border-color:#1db954cc}.song-number{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:24px;justify-content:center;width:24px}.song-thumb{border-radius:4px;flex-shrink:0;height:40px;object-fit:cover;width:40px}.song-info{flex:1 1;min-width:0}.song-title{font-size:.85rem}.song-artist{font-size:.75rem}.remove-btn{background:none;border:none;color:#fff6;cursor:pointer;font-size:.9rem;padding:.3rem;transition:color .2s}.remove-btn:hover{color:#f44}.song-move-controls{display:flex;flex-direction:column;gap:.2rem}.move-btn{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:4px;color:#ffffffe6;cursor:pointer;display:flex;font-size:.7rem;height:20px;justify-content:center;line-height:1;transition:all .2s;width:24px}.move-btn:hover:not(:disabled){background:#1db95433;border-color:#1db95480}.move-btn:disabled{cursor:not-allowed;opacity:.35}.empty-message{color:#fff6;font-size:.9rem;padding:2rem 1rem}.empty-message.small{font-size:.85rem;padding:1rem}.no-selection{color:#fff6;font-size:1rem;grid-column:span 2}.loading,.no-selection{align-items:center;display:flex;justify-content:center}.loading{font-size:1.2rem;height:100vh}.modal{background:#1a1a2e;box-shadow:0 20px 60px #00000080;max-width:400px;padding:1.5rem;width:100%}.modal-wide{max-width:600px}.confirm-modal{max-width:380px;text-align:center}.confirm-modal h2{margin-bottom:.75rem}.confirm-modal p{color:#ffffffbf;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.confirm-modal .modal-actions{display:flex;gap:.75rem;justify-content:center}.round-song-form{align-items:center;display:flex;gap:.5rem}.round-song-input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;flex:1 1;font-size:.9rem;min-width:0;padding:.6rem .8rem}.round-song-input::placeholder{color:#fff6}.round-song-input:focus{border-color:#1db954;outline:none}.round-song-year{flex:0 0 80px}.round-song-add-btn{align-items:center;background:#1db954;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:0 0 auto;font-size:1.4rem;height:36px;justify-content:center;line-height:1;transition:background .2s;width:36px}.round-song-add-btn:hover:not(:disabled){background:#1ed760}.round-song-add-btn:disabled{background:#fff3;cursor:not-allowed}.round-songs-list{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin-top:.5rem;max-height:220px;overflow-y:auto}.round-song-item{align-items:center;border:1px solid #0000;cursor:grab;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .8rem;transition:background .15s,border-color .15s,opacity .15s}.round-song-item.is-dragging{opacity:.55}.round-song-item.is-drop-target{background:#1db95429;border-color:#1db954cc}.round-song-item:last-child{border-bottom:none}.round-song-num{color:#fff6;flex:0 0 22px;font-size:.75rem;text-align:right}.round-song-info{color:#ffffffd9;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-song-remove{background:none;border:none;border-radius:4px;color:#fff6;cursor:pointer;flex:0 0 auto;font-size:.85rem;padding:.2rem;transition:color .2s}.round-song-remove:hover{color:#e94560}.round-song-move-controls{display:flex;gap:.3rem}.round-song-move{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:4px;color:#ffffffd9;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;line-height:1;width:24px}.round-song-move:hover:not(:disabled){background:#1db95433;border-color:#1db95480}.round-song-move:disabled{cursor:not-allowed;opacity:.35}.modal h2{font-size:1.2rem;margin:0 0 1.5rem}.modal-field{margin-bottom:1rem}.modal-field label{color:#fffc;display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem}.modal-field input,.modal-field select,.modal-field textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:.95rem;padding:.7rem 1rem;width:100%}.modal-field select{background-color:#121b39f2;color:#fff}.modal-field select option{background-color:#fff;color:#111827}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:#1db954;outline:none}.modal-field textarea{min-height:80px;resize:vertical}.modal-actions{gap:.8rem;margin-top:1.5rem}@media (max-width:1024px){.events-layout{grid-template-columns:240px 1fr}.songs-panel{display:none}}@media (max-width:768px){.events-layout{grid-template-columns:1fr;height:auto}.events-sidebar{max-height:300px}}.team-app-badge{background:linear-gradient(135deg,#e94560,#533483);border-radius:4px;font-size:.7rem;font-weight:400;margin-left:.5rem;padding:.2rem .5rem}.section-header-actions{align-items:center;display:flex;gap:.5rem}.qr-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:all .2s}.qr-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.team-card-code{background:#e945601a;border-radius:4px;color:#e94560;font-family:monospace;font-size:.7rem;letter-spacing:1px;padding:.15rem .4rem}.checkbox-field{display:flex;flex-direction:column;gap:.3rem}.checkbox-field label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-field input[type=checkbox]{cursor:pointer;height:18px;width:18px}.field-help{color:#ffffff80;font-size:.75rem;margin:0;padding-left:1.7rem}.flyer-upload-row{align-items:flex-start;display:flex;gap:1rem;margin-top:.5rem}.upload-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.6rem 1rem;transition:all .2s}.upload-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.flyer-preview{border:2px solid #ffffff1a;border-radius:8px;max-width:200px;overflow:hidden;position:relative}.flyer-preview img{display:block;height:auto;width:100%}.slide-illustration-upload-row{align-items:flex-start;display:flex;gap:1rem;margin-top:.5rem}.slide-illustration-preview{align-items:center;background:#ffffff0a;border:2px solid #ffffff1a;border-radius:8px;display:flex;justify-content:center;min-height:90px;overflow:hidden;padding:.5rem;position:relative;width:110px}.slide-illustration-preview img{height:100%;max-height:80px;object-fit:contain;width:100%}.remove-flyer-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;position:absolute;right:4px;top:4px;width:24px}.remove-flyer-btn:hover{background:#ef4444}.game-rules-editor{display:flex;flex-direction:column;gap:1rem}.game-rule-slide-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;padding:1rem}.game-rule-slide-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.8rem}.game-rule-slide-header h3{font-size:1rem;margin:0}.game-rule-slide-index{color:#ffffff80;font-size:.75rem;letter-spacing:.08em;margin-bottom:.15rem;text-transform:uppercase}.game-rule-slide-actions{display:flex;gap:.4rem}.game-rule-slide-actions button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;color:#fff;cursor:pointer;height:32px;width:32px}.game-rule-slide-actions button:disabled{cursor:not-allowed;opacity:.35}.game-rule-slide-note{color:#ffffffb3;font-size:.85rem;margin:0}.compact-field{margin-bottom:.8rem}.game-rule-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:768px){.game-rule-grid{grid-template-columns:1fr}}.team-overview-container{background:#0000004d;border-radius:12px;margin-top:16px;padding:16px}.team-overview-loading{align-items:center;color:#ffffffb3;display:flex;flex-direction:column;justify-content:center;padding:40px}.team-overview-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#e94560;height:32px;margin-bottom:12px;width:32px}.team-overview-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.team-overview-header h2{color:#fff;font-size:18px;margin:0}.team-overview-meta{align-items:center;color:#fff9;display:flex;font-size:13px;gap:16px}.cards-count,.team-count{background:#ffffff1a;border-radius:12px;padding:4px 10px}.close-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:28px;transition:all .2s;width:28px}.close-btn:hover{background:#fff3}.team-overview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.team-overview-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:16px;transition:all .3s ease}.team-overview-card.has-activity{border-color:#4ade804d}.team-overview-card.is-active{border-color:#4ade80;box-shadow:0 0 20px #4ade8033}.team-overview-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.team-name{font-size:16px}.team-status{font-size:10px}.team-code{color:#e94560;font-size:12px;letter-spacing:1px;margin-bottom:12px}.team-timeline-view{background:#0003;gap:8px;margin-bottom:12px;min-height:60px;padding:12px}.team-timeline-view,.timeline-start{align-items:center;border-radius:8px;display:flex}.timeline-start{background:linear-gradient(135deg,#e94560,#533483);flex-direction:column;flex-shrink:0;padding:8px 12px}.start-label{color:#fffc;font-size:8px;text-transform:uppercase}.start-year{color:#fff;font-size:16px;font-weight:700}.timeline-slots{display:flex;flex:1 1;flex-wrap:wrap;gap:4px}.timeline-slot{align-items:center;border-radius:6px;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.timeline-slot.filled{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff}.no-placements{color:#fff6;font-size:12px;font-style:italic}.team-last-update{color:#fff6;font-size:11px;text-align:right}.team-overview-empty{color:#ffffff80;grid-column:1/-1;padding:40px;text-align:center}@media (max-width:600px){.team-overview-grid{grid-template-columns:1fr}.team-overview-header{align-items:flex-start;flex-direction:column}.team-overview-meta{flex-wrap:wrap}}@page{size:A4 portrait;margin:5mm}body,html{min-width:100%}.print-score-sheet{background:#eef1f4;color:#1f2937;font-family:Arial,sans-serif;min-height:100vh}.print-score-sheet.error,.print-score-sheet.loading{align-items:center;color:#666;display:flex;font-size:1.2rem;justify-content:center;padding:40px}.score-sheet-controls{align-items:center;background:#1a1a2e;color:#fff;display:flex;flex-wrap:wrap;gap:12px;padding:14px 20px}.score-sheet-controls h1{flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.back-btn{border:1px solid #ffffff40;border-radius:6px;font-size:.85rem;padding:7px 14px}.team-selector{flex-wrap:wrap;font-size:.85rem;gap:10px}.team-checkbox,.team-selector{align-items:center;display:flex}.team-checkbox{background:#ffffff14;border-radius:6px;cursor:pointer;gap:4px;padding:4px 10px}.team-checkbox input[type=checkbox]{accent-color:#4ade80}.print-btn{background:#4ade80;border-radius:6px;color:#1a1a2e;font-size:.9rem;font-weight:700;padding:9px 20px}.print-btn:hover{background:#22c55e}.print-orientation-note{background:#ffffff14;border-radius:6px;color:#ffffffc7;font-size:.8rem;padding:6px 10px}.score-sheet-page{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:20px 24px;overflow-x:auto;padding:16px 18px 14px}.score-sheet-page-inner{display:block}.score-sheet-pages{display:flex;flex-direction:column;gap:20px}.score-sheet-header{align-items:flex-end;border-bottom:2px solid #111827;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.sheet-title-block{display:flex;flex-direction:column;gap:3px}.event-name{color:#111827;font-size:1.1rem;font-weight:800}.round-name{color:#4b5563;font-size:.92rem;font-weight:600}.round-subtitle{color:#64748b;font-size:.8rem}.score-sheet-meta-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(120px,.8fr);margin-bottom:12px}.info-panel{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;min-width:0;padding:8px 10px}.team-info-panel{background:#f9fafb;border-color:#111827}.info-label{color:#64748b;display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.info-value{color:#0f172a;font-size:1.02rem;font-weight:800;line-height:1.15}.team-name-value{font-size:1.3rem}.start-year-value{color:#0f172a;font-size:1.3rem;font-weight:800}.score-table{border-collapse:collapse;font-size:.84rem;table-layout:fixed;width:100%}.thead-groups th{background:#111827;border:1px solid #374151;color:#fff;font-size:.76rem;font-weight:700;padding:8px 6px;text-align:center}.thead-subheaders th{background:#dbeafe;border:1px solid #93c5fd;color:#1e3a8a;font-size:.72rem;font-weight:700;padding:5px 2px;text-align:center}.thead-groups th.col-artist,.thead-groups th.col-po,.thead-groups th.col-score-artist,.thead-groups th.col-score-title,.thead-groups th.col-title,.thead-groups th.col-total,.thead-groups th.col-year{vertical-align:middle}.score-table th.col-artist,.score-table th.col-title{text-align:left}.score-table td{border:1px solid #cbd5e1;padding:7px 8px;vertical-align:middle}.col-po{width:8%}.col-po,.col-year{font-weight:700;text-align:center}.col-year{width:9%}.col-score-pj{width:12%}.col-check{padding:0;width:6%}.col-title{width:28%}.col-score-title{width:10%}.col-artist{width:21%}.col-score-artist{width:10%}.col-total{font-weight:800;text-align:center;width:8%}.col-scan{text-align:center;width:7%}.row-even{background:#fafafa}.row-odd{background:#f8fbff}.start-row,.start-row td{background:#fff1bf}.start-row td{color:#7c4a03;font-weight:800}.start-row .col-title{letter-spacing:.04em;text-transform:uppercase}.score-checkbox-label{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;min-height:42px;position:relative;width:100%}.score-checkbox-label.disabled{cursor:default}.score-checkbox-label.disabled .checkbox-print{background:#ffffff59;border-color:#7c4a0340}.score-checkbox-label input{opacity:0;pointer-events:none;position:absolute}.checkbox-print{background:#fff;border:1.5px solid #111827;border-radius:3px;height:18px;position:relative;width:18px}.score-checkbox-label input:checked+.checkbox-print:after{align-items:center;color:#111827;content:"✓";display:flex;font-size:13px;font-weight:800;inset:0;justify-content:center;position:absolute}.grand-total,.total-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.total-row td{background:#e5eefc!important;font-weight:700}.total-label{color:#111827;font-size:.84rem;letter-spacing:.05em;padding-right:12px;text-align:right}.grand-total{background:#bfdbfe!important}.score-sheet-footer{border-top:1px solid #ddd;color:#4b5563;display:flex;flex-wrap:wrap;font-size:.78rem;gap:12px;justify-content:space-between;margin-top:10px;padding-top:8px}.no-teams{color:#888;font-size:1.1rem;padding:40px}@media print{@page{size:A4 portrait;margin:5mm}.no-print,.score-sheet-controls{display:none!important}body,html{background:#fff!important;margin:0;min-height:297mm;min-width:210mm;padding:0;width:210mm}.print-score-sheet{background:#fff;min-height:0;min-height:auto;width:200mm}.score-sheet-page{border:none;border-radius:0;box-shadow:none;box-sizing:border-box;break-after:page;height:287mm;margin:0;overflow:hidden;padding:0;page-break-after:always;position:relative;width:200mm}.score-sheet-page-inner{box-sizing:border-box;min-height:200mm;transform:translateX(199mm) rotate(90deg) scale(.985);transform-origin:top left;width:287mm}.score-sheet-page:last-child{break-after:auto;page-break-after:auto}.score-sheet-header{margin-bottom:6pt;padding-bottom:3pt}.event-name{font-size:12.5pt}.round-name{font-size:9.4pt}.round-subtitle{font-size:7pt}.score-sheet-meta-grid{gap:6pt;grid-template-columns:1.45fr 1fr .8fr;margin-bottom:7pt}.info-panel{padding:5pt 7pt}.info-label{font-size:5.8pt;margin-bottom:2pt}.info-value{font-size:9.4pt}.team-name-value{font-size:12.5pt}.start-year-value{font-size:12pt}.score-table{font-size:9pt;table-layout:fixed;width:100%}.score-table td{height:22pt;padding:3pt 5pt}.thead-groups th{background:#111827!important;color:#fff!important;font-size:7.4pt;padding:3pt 2pt}.thead-groups th,.thead-subheaders th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.thead-subheaders th{background:#dbeafe!important;color:#1e3a8a!important;font-size:6.8pt;padding:2.5pt 1pt}.col-po,.col-total,.col-year{font-size:9pt}.col-artist,.col-title{font-size:9.4pt;line-height:1.12}.total-label{font-size:9pt}.row-odd{background:#f0f4ff!important}.row-odd,.start-row td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.start-row td{background:#fff1bf!important;color:#7c4a03!important}.total-row td{background:#e8ecf8!important}.grand-total,.total-row td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.grand-total{background:#bfdbfe!important}.score-checkbox-label{min-height:20pt}.checkbox-print{border-color:#111!important;height:10pt;width:10pt}.score-checkbox-label input:checked+.checkbox-print:after{font-size:8pt}.score-sheet-footer{font-size:5.8pt;margin-top:3pt;padding-top:2pt}.col-po{width:8%}.col-year{width:9%}.col-check{width:6%}.col-title{width:28%}.col-artist{width:21%}.col-total{width:8%}}@media (max-width:900px){.score-sheet-controls{align-items:flex-start}.score-sheet-controls h1{width:100%}.score-sheet-page{margin:16px;padding:14px}.score-sheet-header{align-items:flex-start}.score-sheet-meta-grid{grid-template-columns:1fr}}.round-scoring{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh;padding:1rem}.round-scoring.error,.round-scoring.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}.scoring-header{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.8rem 1rem}.header-info h1{font-size:1.2rem}.round-navigation{align-items:center;display:flex;gap:.75rem}.round-indicator{background:#667eea4d;border-radius:8px;color:#fff;font-size:1.1rem;font-weight:500;padding:.5rem 1rem;white-space:nowrap}.round-navigation button:disabled{cursor:not-allowed;opacity:.4}.header-actions{align-items:center;display:flex;gap:.5rem}.save-status{background:#1db95426;border-radius:8px;color:#ffffffb3;font-size:.9rem;padding:.5rem 1rem}.scoring-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:250px 1fr;height:calc(100vh - 120px)}.teams-sidebar{background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;padding:1rem}.teams-sidebar h3{font-size:1rem;font-weight:600;margin:0 0 .8rem}.team-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto}.team-item{align-items:center;background:#ffffff0d;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:.7rem 1rem;transition:all .2s}.team-item:hover{background:#ffffff1a}.team-item.selected{background:#1db95426;border-color:#1db954}.team-item .team-name{font-weight:500}.team-item .team-score{color:#fff9;font-size:.85rem;font-weight:600}.scoreboard-summary{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.scoreboard-summary h3{margin-bottom:.5rem}.summary-list{display:flex;flex-direction:column;gap:.3rem}.summary-item{align-items:center;display:flex;font-size:.85rem;gap:.5rem;padding:.3rem 0}.summary-item .rank{color:#ffffff80;width:20px}.summary-item .team{flex:1 1}.summary-item .total{color:#1db954;font-weight:600}.score-entry{border-radius:12px;overflow-y:auto}.score-entry,.start-year-section{background:#ffffff0d;padding:1rem}.start-year-section{border-radius:10px;margin-bottom:1rem}.start-year-mode{margin-bottom:1rem}.start-year-mode label{color:#ffffffb3;display:block;font-size:.85rem;margin-bottom:.5rem}.mode-toggle{display:flex;gap:.5rem}.mode-btn{background:#ffffff0d;border:2px solid #fff3;color:#ffffffb3;flex:1 1;font-size:.85rem;padding:.6rem 1rem}.mode-btn:hover{background:#ffffff1a}.mode-btn.active{background:#1db95433;color:#fff}.shared-year-input,.team-year-input{align-items:center;display:flex;gap:.8rem}.shared-year-input label,.team-year-input label{color:#fffc;font-size:.9rem}.shared-year-input input,.team-year-input input{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;padding:.5rem .8rem;text-align:center;width:100px}.shared-year-input input:focus,.team-year-input input:focus{border-color:#1db954;outline:none}.team-start-year{background:#ffffff1a;border-radius:6px;color:#fff9;font-size:.9rem;padding:.3rem .8rem}.team-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.team-header h3{font-size:1.1rem;margin:0}.start-year-input{align-items:center;display:flex;gap:.5rem}.start-year-input label{color:#ffffffb3;font-size:.9rem}.start-year-input input{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;font-size:.9rem;padding:.4rem .6rem;text-align:center;width:80px}.start-year-input input:focus{border-color:#1db954;outline:none}.songs-grid{display:flex;flex-direction:column;gap:.3rem}.grid-header{background:#ffffff14;color:#ffffffb3;font-size:.8rem;font-weight:600}.grid-header,.grid-row{grid-gap:.5rem;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:40px 1fr 60px 60px 60px 60px 60px 80px;padding:.6rem .8rem}.grid-row{align-items:center;background:#ffffff08;transition:background .2s}.grid-row:hover{background:#ffffff0f}.col-num{color:#ffffff80;font-weight:600;text-align:center}.col-song{display:flex;flex-direction:column;min-width:0}.song-title{font-weight:500}.song-artist,.song-title{text-overflow:ellipsis;white-space:nowrap}.song-artist{color:#ffffff80;font-size:.8rem}.col-check,.col-points{text-align:center}.col-points{color:#1db954;font-weight:600}.col-actions{gap:.3rem}.check-btn,.col-actions{display:flex;justify-content:center}.check-btn{align-items:center;background:#ffffff0d;border:2px solid #fff3;border-radius:8px;color:#0000;cursor:pointer;font-size:1.1rem;height:36px;transition:all .2s;width:36px}.check-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.check-btn.checked{background:#1db9544d;border-color:#1db954;color:#1db954}.all-btn{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;height:32px;transition:all .2s;width:32px}.all-btn.correct{background:#1db95433;color:#1db954}.all-btn.correct:hover{background:#1db954;color:#fff}.all-btn.wrong{background:#ef444433;color:#ef4444}.all-btn.wrong:hover{background:#ef4444;color:#fff}.team-total{align-items:center;background:#1db9541a;border-radius:8px;display:flex;font-weight:600;justify-content:space-between;margin-top:1rem;padding:1rem}.total-score{color:#1db954;font-size:1.3rem}.digital-score-sheet-view{display:flex;flex-direction:column;gap:1rem}.digital-score-sheet-intro{align-items:center;background:#667eea24;border:1px solid #667eea47;border-radius:10px;color:#ffffffeb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.digital-score-sheet-intro span{color:#c7d2fe;font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.digital-score-sheet-intro strong{font-size:.95rem;font-weight:600}.digital-score-sheet-shell .score-sheet-pages{gap:0}.digital-score-sheet-shell .col-artist,.digital-score-sheet-shell .col-po,.digital-score-sheet-shell .col-title,.digital-score-sheet-shell .col-year,.digital-score-sheet-shell .row-even td,.digital-score-sheet-shell .row-odd td,.digital-score-sheet-shell .score-sheet-page,.digital-score-sheet-shell .score-sheet-page-inner,.digital-score-sheet-shell .score-table,.digital-score-sheet-shell .score-table td{color:#0f172a}.digital-score-sheet-shell .grand-total,.digital-score-sheet-shell .total-value{color:#16a34a}.digital-score-sheet-shell .score-sheet-page{margin:0;overflow:visible;padding:18px}.digital-score-sheet-shell .score-sheet-page-inner{min-height:0;width:100%}.digital-score-sheet-shell .score-table{font-size:.8rem}.digital-score-sheet-shell .score-checkbox-label{min-height:36px}.digital-score-sheet-shell .checkbox-print{height:16px;width:16px}.team-total.compact{margin-top:0}.no-teams{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}@media (max-width:900px){.scoring-layout{grid-template-columns:1fr}.teams-sidebar{max-height:200px}.grid-header,.grid-row{font-size:.75rem;grid-template-columns:30px 1fr 50px 50px 50px 50px 50px 70px}.check-btn{height:30px;width:30px}.digital-score-sheet-intro{align-items:flex-start;flex-direction:column}.digital-score-sheet-shell .score-sheet-page{padding:14px}}.view-toggle{display:flex;gap:.5rem}.view-btn{background:#0000;border:1px solid #fff3;border-radius:6px;color:#ffffffb3;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s}.view-btn:hover{background:#ffffff1a}.view-btn.active{background:#667eea66;border-color:#667eea99;color:#fff}.timeline-view{padding:1rem}.timeline-header{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1.5rem}.timeline-order-line{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1rem;padding:0 .25rem}.timeline-order-label{color:#ffffffbf;font-size:.85rem;font-weight:700;padding-top:.3rem}.timeline-order-values{display:flex;flex-wrap:wrap;gap:8px}.timeline-order-chip{background:#ffffff1a;border-radius:999px;color:#fff;font-size:.85rem;font-weight:700;padding:.3rem .65rem}.timeline-order-chip.start{background:#667eea47;color:#c7d2fe}.th-center{font-size:1.1rem}.timeline-strip-wrapper{margin-bottom:.5rem;padding:1.5rem}.timeline-strip{gap:12px}.timeline-hint{font-size:.8rem}.timeline-card{border-radius:12px;height:220px;padding:10px 10px 40px;width:140px}.timeline-card.start-card{height:180px;margin:0 8px;padding:12px;width:100px}.timeline-card.start-card .card-label{font-size:.75rem}.timeline-card.start-card .card-year{font-size:2.5rem}.timeline-card.song-card{border:2px solid}.scan-view{gap:.75rem;padding:.5rem 0}.scan-intro,.scan-view{display:flex;flex-direction:column}.scan-intro{background:#ffffff0d;border-radius:8px;color:#ffffffb3;font-size:.85rem;gap:.25rem;padding:.75rem 1rem}.scan-intro strong{color:#fff;font-size:1rem}.scan-card-row{grid-gap:.4rem .75rem;align-items:start;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;display:grid;gap:.4rem .75rem;grid-template-columns:3.5rem 1fr auto;grid-template-rows:auto auto auto;padding:.75rem 1rem}.scan-card-row.applied{background:#27ae6012;border-color:#27ae6066}.scan-card-num{color:#ffffff80;font-size:.8rem;font-weight:700;grid-row:1}.scan-card-correct{display:flex;flex-wrap:wrap;gap:.3rem;grid-column:2;grid-row:1}.scan-correct-title{color:#fff;font-size:.9rem;font-weight:700}.scan-correct-artist{color:#fff9;font-size:.85rem}.scan-correct-year{color:#ffffff80;font-size:.85rem}.scan-correct-artist:after,.scan-correct-title:after{content:" ·"}.scan-actions{align-items:center;display:flex;gap:.4rem;grid-column:3;grid-row:1}.scan-btn{background:#5c6bc0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.35rem .7rem;white-space:nowrap}.scan-btn:hover{background:#7986cb}.scan-loading{color:#fff9;font-size:.82rem}.scan-applied-badge{color:#27ae60;font-size:.82rem;font-weight:700}.scan-rescan-btn{background:#0000;border:1px solid #fff3;border-radius:5px;color:#fff9;cursor:pointer;font-size:.78rem;padding:.2rem .5rem}.scan-rescan-btn:hover{border-color:#fff6;color:#fff}.scan-error{color:#e74c3c;font-size:.82rem;grid-column:1/-1;padding:.2rem 0}.scan-result{display:flex;flex-direction:column;gap:.3rem;grid-column:1/-1;margin-top:.25rem}.scan-field{align-items:center;border-radius:5px;display:flex;font-size:.85rem;gap:.5rem;padding:.25rem .5rem}.scan-field.match{background:#27ae6026}.scan-field.mismatch{background:#e74c3c26}.scan-field-label{color:#ffffff80;flex-shrink:0;width:4.5rem}.scan-field-value{color:#fff;flex:1 1}.scan-field-icon{font-size:1rem;font-weight:700}.scan-field.match .scan-field-icon{color:#27ae60}.scan-field.mismatch .scan-field-icon{color:#e74c3c}.scan-apply-btn{align-self:flex-end;background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;margin-top:.25rem;padding:.4rem 1rem}.scan-apply-btn:hover{background:#2ecc71}.scan-json-section{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.scan-json-header{align-items:center;color:#fffc;display:flex;font-size:.88rem;font-weight:700;justify-content:space-between}.scan-json-input{background:#0000004d;border:1px solid #ffffff26;border-radius:6px;color:#fff;font-family:monospace;font-size:.78rem;padding:.5rem;resize:vertical;width:100%}.scan-json-input::placeholder{color:#ffffff40}.scan-json-input:focus{border-color:#5c6bc099;outline:none}.scan-json-btn{align-self:flex-start;background:#5c6bc0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;padding:.4rem 1rem}.scan-json-btn:hover:not(:disabled){background:#7986cb}.scan-json-btn:disabled{cursor:default;opacity:.4}.scan-apply-all-btn{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:700;padding:.3rem .8rem}.scan-apply-all-btn:hover{background:#2ecc71}.scan-field-override{display:flex;flex-shrink:0;gap:.2rem;margin-left:auto}.scan-override-nok,.scan-override-ok{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:700;opacity:.35;padding:.1rem .45rem;transition:opacity .15s}.scan-override-ok{background:#27ae60;color:#fff}.scan-override-ok.active,.scan-override-ok:hover{opacity:1}.scan-override-nok{background:#c0392b;color:#fff}.scan-override-nok.active,.scan-override-nok:hover{opacity:1}.scan-review-backdrop{align-items:center;background:#000000b8;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9000}.scan-review-modal{background:#16213e;border-radius:16px;border-top:3px solid #00d4aa;box-shadow:0 20px 60px #0009;max-width:560px;padding:1.5rem;width:100%}.scan-review-title{color:#00d4aa;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.scan-review-body{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.scan-review-col-label{color:#ffffff73;font-size:.68rem;font-weight:700;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.scan-review-correct-row{display:flex;flex-direction:column;margin-bottom:.55rem}.scan-review-correct-row span{color:#fff6;font-size:.65rem}.scan-review-correct-row strong{color:#fff;font-size:.9rem}.scan-review-ai-row{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;display:flex;font-size:.88rem;gap:.5rem;margin-bottom:.4rem;padding:.4rem .6rem}.scan-review-ai-row.match{background:#1db9541a;border-color:#1db95480}.scan-review-ai-row.mismatch{background:#dc35451a;border-color:#dc354580}.scan-review-ai-row span{flex:1 1}.scan-review-btns{display:flex;gap:.2rem}.srb-nok,.srb-ok{border:none;border-radius:5px;cursor:pointer;font-size:.82rem;font-weight:700;opacity:.35;padding:.15rem .5rem;transition:opacity .15s}.srb-ok{background:#27ae60;color:#fff}.srb-nok{background:#c0392b;color:#fff}.srb-nok.active,.srb-nok:hover,.srb-ok.active,.srb-ok:hover{opacity:1}.scan-review-positie{border-radius:8px;font-size:.82rem;font-weight:600;margin-bottom:1rem;padding:.4rem .75rem}.scan-review-positie.match{background:#1db9541f;color:#1db954}.scan-review-positie.mismatch{background:#dc35451f;color:#e74c3c}.scan-review-actions{display:flex;gap:.75rem}.scan-review-cancel{background:#0000;border:1.5px solid #fff3;border-radius:8px;color:#fff9;cursor:pointer;font-size:.88rem;padding:.6rem 1.1rem}.scan-review-confirm{background:#00d4aa;border:none;border-radius:8px;color:#111;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:.65rem}.scan-review-confirm:hover{background:#00b899}.timeline-card .card-number-badge{background:#ffffff1a;border-radius:999px;color:#ffffffe6;font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:3px 8px;position:absolute;right:10px;top:10px}.timeline-card .card-position{font-size:.6rem;letter-spacing:1px;margin-bottom:6px;margin-top:14px;padding:2px 6px}.scan-sub-icon-btn{align-items:center;background:#00d4aa26;border:1px solid #00d4aa66;border-radius:6px;color:#00d4aa;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:700;gap:.2rem;padding:.2rem .45rem;transition:background .15s,border-color .15s;white-space:nowrap}.scan-sub-icon-btn:hover{background:#00d4aa47;border-color:#00d4aab3}.scan-sub-backdrop{align-items:center;background:#000000b8;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9000}.scan-sub-modal{background:#16213e;border-radius:16px;border-top:3px solid #00d4aa;box-shadow:0 20px 60px #0009;max-height:85vh;max-width:600px;overflow-y:auto;padding:1.5rem;width:100%}.scan-sub-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.scan-sub-title{color:#00d4aa;font-size:.9rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.scan-sub-song{color:#ffffff8c;font-size:.82rem}.scan-sub-correct-bar{align-items:center;background:#00d4aa14;border:1px solid #00d4aa33;border-radius:8px;color:#ffffff80;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem}.scan-sub-correct-bar strong{color:#fff;font-size:.88rem}.scan-sub-empty{color:#fff6;font-size:.88rem;padding:1.5rem 0;text-align:center}.scan-sub-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.scan-sub-entry{background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;padding:.85rem 1rem}.scan-sub-entry.status-approved{background:#1db95412;border-color:#1db95466}.scan-sub-entry.status-rejected{background:#dc354512;border-color:#dc354566}.scan-sub-team-name{color:#fff9;font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.scan-sub-fields{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.scan-sub-field{align-items:center;background:#ffffff12;border:1px solid #ffffff1a;border-radius:6px;display:flex;font-size:.8rem;gap:.3rem;padding:.25rem .55rem}.scan-sub-field.ok{background:#1db9541a;border-color:#1db95473}.scan-sub-field.nok{background:#dc35451a;border-color:#dc354573}.scan-sub-label{color:#fff6;font-size:.68rem;margin-right:.2rem}.scan-sub-value{color:#fff;font-weight:600}.scan-sub-match{font-size:.8rem;font-weight:800}.scan-sub-field.ok .scan-sub-match{color:#1db954}.scan-sub-field.nok .scan-sub-match{color:#e74c3c}.scan-sub-review-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.scan-sub-badge{border-radius:999px;font-size:.72rem;font-weight:700;margin-right:auto;padding:.15rem .55rem}.badge-approved{background:#1db95433;color:#1db954}.badge-rejected{background:#dc354533;color:#e74c3c}.scan-sub-approve,.scan-sub-reject{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:700;opacity:.45;padding:.25rem .75rem;transition:opacity .15s}.scan-sub-approve{background:#27ae60;color:#fff}.scan-sub-reject{background:#c0392b;color:#fff}.scan-sub-approve.active,.scan-sub-approve:hover,.scan-sub-reject.active,.scan-sub-reject:hover{opacity:1}.scan-sub-footer{display:flex;gap:.5rem;justify-content:flex-end}.scan-sub-refresh{background:#0000;border:1.5px solid #63d2be66;border-radius:8px;color:#63d2becc;cursor:pointer;font-size:.88rem;padding:.55rem 1.3rem}.scan-sub-refresh:hover{border-color:#63d2be;color:#63d2be}.scan-sub-close{background:#0000;border:1.5px solid #fff3;border-radius:8px;color:#fff9;cursor:pointer;font-size:.88rem;padding:.55rem 1.3rem}.scan-sub-close:hover{border-color:#ffffff73;color:#fff}.timeline-card.song-card .card-year{font-size:1.6rem}.timeline-card .card-content{min-height:70px;overflow:visible}.timeline-card .card-title{font-size:.8rem;line-height:1.3;margin-bottom:4px;word-break:break-word}.timeline-card .card-title.correct{color:#1db954}.timeline-card .card-title.hidden{color:#ffffff4d;font-style:italic}.timeline-card .card-artist{font-size:.75rem;line-height:1.3;word-break:break-word}.timeline-card .card-artist.correct{color:#1db954}.timeline-card .card-artist.hidden{color:#ffffff40;font-style:italic}.timeline-card .card-points{bottom:10px;font-size:1rem}.print-cards{margin:0 auto;max-width:210mm;padding:20px}.print-cards.error,.print-cards.loading{align-items:center;color:#666;display:flex;font-size:1.2rem;justify-content:center;min-height:200px}.print-controls{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px;padding:15px}.print-controls h1{flex:1 1;font-size:1.4rem;margin:0;text-align:center}.print-cards-close-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.4rem;font-weight:700;height:40px;justify-content:center;line-height:1;width:40px}.print-cards-close-btn:hover{background:#c82333}.print-cards-print-btn{background:#0d6efd;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:10px 25px}.print-cards-print-btn:hover{background:#0b5ed7}.card-set{margin-bottom:40px}.set-header{border-bottom:2px solid #333;margin-bottom:20px;padding-bottom:10px}.set-header h2{font-size:1.3rem;margin:0}.cards-grid{grid-gap:10mm;display:grid;gap:10mm;grid-template-columns:repeat(2,80mm);justify-content:center}.card{background:#fff;border:2px solid #333;border-radius:10px;break-inside:avoid;height:95mm;page-break-inside:avoid;width:80mm}.card-content{display:flex;flex-direction:column;height:100%;padding:15px}.start-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.start-card .card-content{align-items:center;justify-content:center;text-align:center}.start-card .card-label{font-size:.9rem;font-weight:700;letter-spacing:2px;margin-bottom:5px;opacity:.9}.start-card .card-year{font-size:6rem;font-weight:700;line-height:1}.start-card .card-team{font-size:.85rem;margin-top:8px;opacity:.8}.blank-card{background:#fff}.blank-card .card-content{display:flex;flex-direction:column;height:100%;padding:5mm;position:relative}.blank-card .card-number{color:#999;font-size:1.2rem;font-weight:700;position:absolute;right:4mm;top:3mm}.card-field{display:flex;flex-direction:column}.card-field.artist-field,.card-field.title-field{flex:2 1}.card-field.year-field{flex:1 1;justify-content:flex-end}.card-field label{color:#333;font-size:.85rem;font-weight:700}.year-field{flex:1.5 1}.write-box{border:2px solid #333;border-radius:4px;font-size:1.4rem;height:48px;width:120px}.page-break{break-after:page;page-break-after:always}@media print{.no-print{display:none!important}.print-cards{margin:0;padding:0}.card-set{margin-bottom:0}.cards-grid{grid-gap:8mm;display:grid;gap:8mm;grid-template-columns:repeat(2,80mm);justify-content:center}.card{border-width:1px;break-inside:avoid;height:95mm;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:80mm}.start-card{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}@page{size:A4 portrait;margin:10mm}}@media screen and (max-width:600px){.print-controls{flex-direction:column;gap:10px}.print-controls h1{font-size:1.1rem}.cards-grid{grid-template-columns:1fr}}.print-answers{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.print-answers.error,.print-answers.loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center}.print-answers.error{color:#d32f2f}.print-answers-controls{align-items:center;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.print-answers-controls h1{color:#333;flex:1 1;font-size:18px;margin:0}.print-answers-close-btn{align-items:center;background:#fff;border:1px solid #ccc;border-radius:4px;color:#1f2937;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:24px;height:38px;justify-content:center;line-height:1;padding:0;width:38px}.print-answers-close-btn:hover{background:#f5f5f5;border-color:#999}.print-answers-print-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;white-space:nowrap}.print-answers-print-btn:hover{background:#45a049}.print-answers-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;margin:20px;padding:30px 20px}.print-answers-header{border-bottom:2px solid #eee;margin-bottom:24px;padding-bottom:14px;text-align:center}.print-answers-header h2{color:#111827;font-size:26px;margin:0 0 6px}.print-answers-header p{color:#4b5563;font-size:15px;margin:0}.answers-timeline{display:flex;flex-direction:column;gap:10px;padding-left:18px;position:relative}.answers-timeline:before{background:#d1d5db;bottom:10px;content:"";left:35px;position:absolute;top:10px;width:2px}.timeline-item{grid-gap:12px;align-items:flex-start;break-inside:avoid;display:grid;gap:12px;grid-template-columns:34px 1fr;page-break-inside:avoid}.timeline-position{align-items:center;background:#fff;border:2px solid #374151;border-radius:999px;color:#111827;display:flex;font-size:13px;font-weight:700;height:34px;justify-content:center;position:relative;width:34px;z-index:1}.timeline-content{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.timeline-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.timeline-title{color:#111827;font-weight:700}.timeline-separator{color:#6b7280}.timeline-artist{color:#1f2937}.timeline-meta{display:flex;gap:10px;justify-content:space-between}.timeline-year{color:#111827;font-size:15px;font-weight:700}.timeline-order{color:#4b5563;font-size:12px}.empty-message{color:#6b7280;padding:30px}@media print{.no-print{display:none!important}.print-answers{background:#fff;min-height:auto}.print-answers-content{border-radius:0;box-shadow:none;margin:0;padding:0}.print-answers-header{margin-bottom:10px}.answers-timeline{gap:7px;padding-left:12px}.answers-timeline:before{background:#111;left:28px}.timeline-item{gap:8px;grid-template-columns:28px 1fr}.timeline-position{border-color:#111;font-size:11px;height:28px;width:28px}.timeline-content{border-color:#111;padding:7px 8px}.timeline-artist,.timeline-title,.timeline-year{font-size:12px}.timeline-order{font-size:10px}@page{size:A4 portrait;margin:10mm}}@media (max-width:768px){.print-answers-controls{flex-direction:column;gap:10px}.print-answers-controls h1{text-align:center}.timeline-main,.timeline-meta{font-size:12px}}.print-start-years{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.print-start-years.error,.print-start-years.loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center}.print-start-years.error{color:#d32f2f}.print-years-controls{align-items:center;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.print-years-controls h1{color:#333;flex:1 1;font-size:18px;margin:0}.print-years-close-btn,.print-years-print-btn{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s;white-space:nowrap}.print-years-close-btn{align-items:center;display:inline-flex;flex-shrink:0;font-size:24px;font-weight:400;height:38px;justify-content:center;line-height:1;padding:0;width:38px}.print-years-close-btn:hover{background:#f5f5f5;border-color:#999}.print-years-print-btn{background:#4caf50;border:none;color:#fff;font-weight:500}.print-years-print-btn:hover{background:#45a049}.print-years-view-mode-toggle{border-left:1px solid #ddd;border-right:1px solid #ddd;display:flex;gap:5px;padding:0 10px}.print-years-mode-btn{background:#fff;border:1px solid #ccc;border-radius:4px;color:#1f2937;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s;white-space:nowrap}.print-years-mode-btn:hover{background:#f5f5f5;border-color:#999;color:#111827}.print-years-mode-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.print-years-mode-btn.active:hover{background:#0b7dda}.years-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;margin:20px;padding:40px 20px}.years-header{border-bottom:2px solid #eee;margin-bottom:40px;padding-bottom:20px;text-align:center}.years-header h2{color:#333;font-size:28px;margin:0 0 8px}.years-header p{color:#666;font-size:16px;margin:0}.years-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:30px}.year-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;break-inside:avoid;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:30px 20px;page-break-inside:avoid;text-align:center}.round-name{font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:12px;opacity:.9;text-transform:uppercase}.year-value{font-size:48px;font-weight:700;line-height:1}.all-years-set{margin-top:30px}.all-years-cards-grid{grid-gap:10mm;display:grid;gap:10mm;grid-template-columns:repeat(2,80mm);justify-content:center}.all-years-card{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #333;border-radius:10px;box-shadow:0 4px 6px #0000001a;break-inside:avoid;color:#fff;height:95mm;overflow:hidden;page-break-inside:avoid;width:80mm}.all-years-card-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:15px;text-align:center}.all-years-card-year{font-size:6rem;font-weight:700;line-height:1}.all-years-card-subtitle{font-size:1.05rem;margin-top:18px;opacity:.8}.empty-message{color:#999;font-size:16px;padding:40px;text-align:center}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print{display:none!important}body{background:#fff}.print-start-years{background:#fff;min-height:auto}.years-content{border-radius:0;box-shadow:none;margin:0;padding:20px}.years-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);page-break-inside:avoid}.year-card{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;font-size:16px;min-height:150px;padding:25px 15px}.year-value{font-size:42px}.round-name{font-size:12px;margin-bottom:10px}.all-years-cards-grid{gap:8mm;grid-template-columns:repeat(2,80mm);justify-content:center}.all-years-card{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-width:1px;box-shadow:none;color:#fff!important;height:95mm;width:80mm}}@media (max-width:768px){.print-years-controls{flex-direction:column;gap:10px}.print-years-controls h1{text-align:center}.years-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.year-card{min-height:150px;padding:20px 15px}.year-value{font-size:36px}}.print-round{background:#1a1a2e;color:#e0e0e0;font-family:Segoe UI,Arial,sans-serif;min-height:100vh}.print-round.error,.print-round.loading{align-items:center;color:#aaa;display:flex;font-size:1.2rem;justify-content:center}.print-round-controls{align-items:center;background:#13132b;border-bottom:1px solid #333;display:flex;gap:14px;padding:12px 20px}.print-round-controls h1{color:#fff;flex:1 1;font-size:1.2rem;margin:0}.pr-control-buttons{display:flex;gap:8px}.pr-back-btn{background:#333;border:none;border-radius:6px;color:#ccc;cursor:pointer;font-size:1rem;padding:7px 14px}.pr-back-btn:hover{background:#555}.pr-json-btn{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:7px 16px}.pr-json-btn:hover{background:#1d4ed8}.pr-print-btn{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:7px 16px}.pr-print-btn:hover{background:#15803d}.print-round-content{margin:0 auto;max-width:1100px;padding:24px 32px}.pr-header{margin-bottom:24px}.pr-event-name{color:#888;font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.pr-round-name{color:#fff;font-size:1.8rem;font-weight:700;margin:4px 0 6px}.pr-meta{color:#666;font-size:.8rem}.pr-table{border-collapse:collapse;font-size:.85rem;width:100%}.pr-table th{background:#0f0f22;border-bottom:2px solid #333;color:#aaa;font-size:.72rem;font-weight:600;letter-spacing:.5px;padding:8px 10px;text-align:left;text-transform:uppercase}.pr-table td{border-bottom:1px solid #ffffff0d;padding:7px 10px;vertical-align:top}.pr-row-even{background:#ffffff03}.pr-row-odd{background:#0000}.pr-table tr:hover td{background:#ffffff0a}.pr-col-nr{color:#777;text-align:center;width:42px}.pr-col-year{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;width:58px}.pr-col-source{text-align:center;width:72px}.pr-col-id{max-width:260px}.pr-id{color:#9ac;display:block;font-family:monospace;font-size:.75rem;word-break:break-all}.pr-id.youtube-id{color:#f87171}.pr-time{color:#aaa}.pr-yearsource{color:#666;display:block;font-size:.7rem;margin-top:2px;word-break:break-all}@media print{@page{size:A4 portrait;margin:15mm 15mm 15mm 15mm}body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}.print-round{background:#fff!important;color:#000!important;min-height:0;min-height:auto}.print-round-content{max-width:100%;padding:0}.pr-header{margin-bottom:16px}.pr-event-name{color:#555!important;font-size:9pt}.pr-round-name{color:#000!important;font-size:18pt;margin:4px 0}.pr-meta{color:#888!important;font-size:8pt}.pr-table{font-size:9pt;page-break-inside:auto}.pr-table thead{display:table-header-group}.pr-table tr{page-break-inside:avoid}.pr-table th{background:#f0f0f0!important;border-bottom:1.5pt solid #999!important;color:#333!important;padding:5pt 7pt}.pr-table td{border-bottom:.5pt solid #ddd!important;color:#000!important;padding:4pt 7pt}.pr-row-even{background:#f9f9f9!important}.pr-row-odd{background:#fff!important}.pr-col-nr{color:#555!important}.pr-id{color:#337!important;font-size:7.5pt}.pr-id.youtube-id{color:#b22!important}.pr-yearsource{color:#888!important;font-size:7pt}}.music-bingo{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh;padding:20px}.music-bingo.loading{align-items:center;display:flex;font-size:1.5em;justify-content:center}.bingo-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:20px;margin:0 auto 24px;max-width:800px;padding-bottom:16px}.bingo-controls{margin:0 auto 40px;max-width:800px}.bingo-controls.hitster-wide{max-width:min(96vw,1680px)}.round-selector h3{font-size:1.2em}.round-select-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;padding:16px 20px;transition:all .2s}.round-select-btn:hover{background:#1db954}.controls-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;position:relative}.settings-icon-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff38;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.2rem;height:46px;justify-content:center;transition:all .2s ease;width:46px}.settings-icon-btn:hover{background:#ffffff29;transform:translateY(-1px)}.settings-dropdown-panel{background:#1b2747;border:1px solid #ffffff2e;border-radius:12px;box-shadow:0 20px 45px #0000006b;max-height:75vh;overflow-y:auto;padding:16px;position:absolute;right:0;top:calc(100% + 10px);width:min(560px,92vw);z-index:50}.settings-dropdown-panel h3{font-size:1.1rem;margin:0 0 12px}.settings-round-summary{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;color:#ffffffe6;font-size:.9rem;line-height:1.45;margin-bottom:12px;padding:10px 12px}.settings-round-summary div+div{margin-top:4px}.bingo-header .header-title-group,.controls-header .header-title-group{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:8px}.bingo-header .header-title-group .back-btn,.controls-header .header-title-group .back-btn{background:#0000;border:none;color:#ffffffb3;cursor:pointer;font-size:1em;line-height:1;margin-top:0;padding:0;transition:all .2s}.bingo-header .header-title-group .back-btn:hover,.controls-header .header-title-group .back-btn:hover{color:#fff}.bingo-header h1,.controls-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1db954,#1ed760);-webkit-background-clip:text;background-clip:text;font-size:1.8em;margin:0}.back-btn{border:none;font-size:1em;padding:10px 16px}.round-info{background:#ffffff0d;border-radius:12px;margin-bottom:24px;padding:16px 20px}.round-info h2{font-size:1.3em;margin:0 0 8px}.round-info p{color:#ffffffb3;margin:0}.settings-panel{background:#ffffff0d;border-radius:12px;margin-bottom:24px;padding:20px}.settings-panel h3{color:#ffffffe6;font-size:1.1em;margin:0 0 16px}.setting-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.setting-row label{color:#fffc;min-width:150px}.setting-row.checkbox label{align-items:center;cursor:pointer;display:flex;gap:8px}.setting-row input[type=number],.setting-row select{width:120px}.setting-row input[type=number],.setting-row select,.setting-row textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;font-size:1em;padding:8px 12px}.setting-row textarea{resize:vertical;width:100%}.setting-row input[type=checkbox]{cursor:pointer;height:18px;width:18px}.action-buttons{display:flex;gap:16px;margin-bottom:24px}.generate-btn{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;padding:14px 28px;transition:all .2s}.generate-btn:hover:not(:disabled){box-shadow:0 4px 16px #1db95466;transform:scale(1.02)}.generate-btn:disabled{background:#fff3;cursor:not-allowed}.print-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;padding:14px 28px;transition:all .2s}.print-btn:hover{box-shadow:0 4px 16px #667eea66;transform:scale(1.02)}.warning{background:#ffc10733;border:1px solid #ffc10766;border-radius:8px;color:#ffc107;font-size:.95em;padding:12px 16px}.hitster-rules{background:#7850dc33;border:1px solid #7850dc73;border-radius:8px;color:#ffffffe6;font-size:.92em;line-height:1.4;margin-top:8px;padding:12px 14px}.hitster-categories,.hitster-spinner-panel{background:#ffffff0d;border-radius:12px;margin-bottom:24px;padding:18px 20px}.hitster-spinner-panel{border:1px solid #00dcff59;box-shadow:inset 0 0 25px #00dcff14}.hitster-spinner-panel h3{font-size:1.05em;margin:0 0 6px}.hitster-spinner-panel p{color:#fffc;font-size:.92em;margin:0 0 14px}.hitster-spinner{aspect-ratio:1/1;background:radial-gradient(circle at center,#ffffff12 0,hsla(0,0%,100%,.015) 60%,#0000 61%),#1c1b24;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 36px #00000073,inset 0 0 58px #ffffff08;margin:0 auto;overflow:hidden;position:relative;width:min(100%,620px)}.hitster-beam{background:linear-gradient(90deg,#ffffff2e,#ff9500fa 68%,#ff950014);border-radius:999px;box-shadow:0 0 18px #ff9500eb,0 0 30px #ff6f0099;height:5px;transition:transform 2.6s cubic-bezier(.15,.85,.2,1);width:185px;z-index:4}.hitster-beam,.hitster-boundary-pair{left:50%;position:absolute;top:50%;transform-origin:0 50%}.hitster-boundary-pair{align-items:center;display:flex;gap:2px;height:10px;width:180px;z-index:2}.hitster-boundary-line{border-radius:999px;box-shadow:0 0 8px currentColor;height:2px;opacity:.9;width:178px}.hitster-category-tile{align-items:center;background:#ffffff0f;border:2px solid #ffffff40;border-radius:6px;display:flex;height:94px;justify-content:center;position:absolute;transform:translate(-50%,-50%);transition:transform .2s,background .2s;width:94px;z-index:3}.hitster-category-square{border-radius:2px;box-shadow:inset 0 0 0 2px #ffffff73,0 0 16px #ffffff1f;height:74px;width:74px}.hitster-symbol-marker{align-items:center;display:flex;flex-direction:column;font-size:1.1em;font-weight:700;gap:4px;position:absolute;text-shadow:0 0 12px currentColor;transform:translate(-50%,-50%);z-index:3}.hitster-symbol-icon-image{filter:drop-shadow(0 0 8px rgba(255,255,255,.35));height:42px;object-fit:contain;width:42px}.hitster-symbol-icon-text{display:inline-block}.hitster-category-tile.active{background:#ffffff29;transform:translate(-50%,-50%) scale(1.08) rotate(-2deg)}.hitster-symbol-marker.active{transform:translate(-50%,-50%) scale(1.2)}.hitster-symbol-label{background:#0000008c;border:1px solid #ffffff40;border-radius:999px;color:#fffffff2;display:inline-block;font-size:.62rem;font-weight:600;line-height:1.1;max-width:120px;overflow:hidden;padding:2px 6px;text-align:center;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}.discoball-button{background:radial-gradient(circle at 30% 30%,#fffffff2,#dcdcdcb3 40%,#696978e6 100%),repeating-conic-gradient(from 0deg,#ffffff2e 0deg 18deg,#0000000a 18deg 36deg);border:1px solid #ffffff73;border-radius:50%;box-shadow:0 0 26px #ffffff40,inset 0 0 18px #0003;cursor:pointer;height:126px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:126px;z-index:5}.discoball-button:disabled{cursor:wait}.discoball-button.spinning{animation:discoball-spin .55s linear infinite}.discoball-icon{font-size:1.8em}.hitster-spin-result{color:#ffffffeb;font-size:.95em;margin-top:12px;text-align:center}.hitster-display-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px}.push-display-btn{background:linear-gradient(135deg,#4f46e5,#0ea5e9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.92em;font-weight:700;padding:10px 18px;transition:transform .2s,box-shadow .2s}.push-display-btn:hover:not(:disabled){box-shadow:0 6px 18px #0ea5e959;transform:translateY(-1px)}.push-display-btn:disabled{cursor:wait;opacity:.75}.push-display-btn.reveal-answer-btn{background:linear-gradient(135deg,#16a34a,#22c55e)}.push-display-btn.reveal-answer-btn:hover:not(:disabled){box-shadow:0 6px 18px #22c55e59}.push-status{font-size:.85em;font-weight:600}.push-status.ok{color:#86efac}.push-status.error{color:#fca5a5}.hitster-categories h3{font-size:1.05em;margin:0 0 12px}.hitster-categories ul{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.hitster-categories li{background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;padding:10px 12px}.category-icon{color:#ffffffeb;display:inline-block;font-weight:700;margin-right:8px}.category-icon-image{filter:drop-shadow(0 0 6px rgba(255,255,255,.25));height:28px;margin-right:8px;object-fit:contain;vertical-align:middle;width:28px}.category-label{display:block;font-weight:700;margin-bottom:2px}.category-desc{color:#ffffffb8;display:block;font-size:.88em}@keyframes discoball-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.bingo-info{padding:40px;text-align:center}.bingo-info button{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;margin-top:20px;padding:14px 28px}.bingo-cards-container{grid-gap:40px;display:grid;gap:40px;padding:20px}.bingo-cards-container.cards-per-page-1,.bingo-cards-container.cards-per-page-2{grid-template-columns:1fr}.bingo-cards-container.cards-per-page-4{grid-template-columns:repeat(2,1fr)}.bingo-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;color:#333;padding:20px;page-break-inside:avoid}.card-header{align-items:center;border-bottom:2px solid #1db954;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.card-title{color:#1db954;font-size:1.4em;font-weight:700}.card-number{color:#666;font-size:1.1em;font-weight:600}.bingo-grid{border-collapse:collapse;table-layout:fixed;width:100%}.bingo-grid th{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff;font-size:1.3em;font-weight:700;padding:12px 8px;text-align:center}.bingo-grid td{background:#fafafa;border:2px solid #e0e0e0;height:80px;padding:8px;text-align:center;vertical-align:middle}.bingo-grid td:hover{background:#f0f0f0}.song-cell{display:flex;flex-direction:column;gap:4px;overflow:hidden}.song-title{-webkit-line-clamp:2;color:#333;font-size:.85em;font-weight:600}.song-artist,.song-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.song-artist{-webkit-line-clamp:1;color:#666;font-size:.75em}.hitster-cell{display:flex;flex-direction:column;gap:4px}.hitster-cell-title{color:#2c3e50;font-size:.84em;font-weight:700;line-height:1.2}.hitster-cell-desc{color:#666;font-size:.68em;line-height:1.2}.free-space{background:linear-gradient(135deg,gold,#ffed4a)!important}.free-space-content{align-items:center;display:flex;flex-direction:column;gap:4px}.free-space .star{font-size:1.8em}.free-space .free-text{color:#8b6914;font-size:.8em;font-weight:700}.card-footer{border-top:1px solid #e0e0e0;color:#888;font-size:.85em;margin-top:12px;padding-top:12px;text-align:center}.hitster-playlist-panel{background:#1a1a2e;border:1px solid #333;border-radius:8px;margin-top:16px;padding:16px}.hitster-playlist-panel h3{color:#fff;font-size:1em;margin:0 0 10px}.hitster-playlist-meta{align-items:center;color:#aaa;display:flex;font-size:.85em;gap:10px;margin-bottom:10px}.hitster-playlist-active-badge{color:#000}.hitster-playlist-active-badge,.hitster-playlist-round-badge{border-radius:12px;font-size:.8em;font-weight:700;padding:2px 8px}.hitster-playlist-round-badge{background:linear-gradient(135deg,#6d5ce7,#8f66ff);color:#fff}.hitster-playlist-round-nav{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.hitster-round-nav-btn{align-items:center;background:#6d5ce729;border:1px solid #8f66ff59;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:28px;justify-content:center;transition:background .2s ease,transform .2s ease,opacity .2s ease;width:28px}.hitster-round-nav-btn:hover:not(:disabled){background:#8f66ff52;transform:translateY(-1px)}.hitster-round-nav-btn:disabled{cursor:not-allowed;opacity:.45}.hitster-round-nav-select{background:#080c1ebf;border:1px solid #ffffff24;border-radius:999px;color:#fff;font-size:.82em;min-width:140px;padding:5px 12px}.hitster-round-nav-select:focus{outline:2px solid #8f66ff8c;outline-offset:1px}.hitster-playlist{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;max-height:320px;padding:0}.hitster-playlist-row{align-items:center;background:#252540;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:7px 10px;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.hitster-playlist-row:hover{background:#2e2e55}.hitster-playlist-row.active{background:#1e1e3a;border-color:#8ad9ff}.hitster-playlist-row.played{opacity:.45}.hitster-playlist-row.active.played{opacity:.7}.hitster-playlist-index{color:#666;flex-shrink:0;font-size:.75em;text-align:right;width:22px}.hitster-playlist-title{color:#ddd;flex:1 1;font-size:.88em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hitster-played-check{color:#79d96b;font-weight:700}.hitster-played-btn{align-items:center;background:#0000;border:2px solid #555;border-radius:50%;color:#aaa;cursor:pointer;display:flex;flex-shrink:0;font-size:.85em;height:28px;justify-content:center;transition:border-color .15s,color .15s,background .15s;width:28px}.hitster-played-btn.is-played,.hitster-played-btn:hover{border-color:#79d96b;color:#79d96b}.hitster-played-btn.is-played{background:#79d96b22}@media print{.no-print{display:none!important}.music-bingo{background:#fff;min-height:auto;padding:0}.bingo-cards-container{display:block;gap:10px;padding:0}.bingo-cards-container.cards-per-page-1 .bingo-card{height:auto;page-break-after:always}.bingo-cards-container.cards-per-page-2 .bingo-card{height:48vh;margin-bottom:5px;padding:10px}.bingo-cards-container.cards-per-page-2 .bingo-card:nth-child(2n){page-break-after:always}.bingo-cards-container.cards-per-page-2 .bingo-grid td{height:40px;padding:3px}.bingo-cards-container.cards-per-page-2 .song-title{font-size:.6em}.bingo-cards-container.cards-per-page-2 .song-artist{font-size:.5em}.bingo-cards-container.cards-per-page-2 .card-header{margin-bottom:8px;padding-bottom:6px}.bingo-cards-container.cards-per-page-2 .card-title{font-size:1em}.bingo-cards-container.cards-per-page-2 .bingo-grid th{font-size:1em;padding:6px 4px}.bingo-cards-container.cards-per-page-4{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.bingo-cards-container.cards-per-page-4 .bingo-card{height:48vh;padding:8px}.bingo-cards-container.cards-per-page-4 .bingo-card:nth-child(4n){page-break-after:always}.bingo-cards-container.cards-per-page-4 .bingo-grid td{height:30px;padding:2px}.bingo-cards-container.cards-per-page-4 .song-title{font-size:.5em}.bingo-cards-container.cards-per-page-4 .song-artist{font-size:.45em}.bingo-cards-container.cards-per-page-4 .card-header{margin-bottom:4px;padding-bottom:4px}.bingo-cards-container.cards-per-page-4 .card-title{font-size:.8em}.bingo-cards-container.cards-per-page-4 .bingo-grid th{font-size:.8em;padding:4px 2px}.bingo-card{border:1px solid #ccc;box-shadow:none}.bingo-grid td{height:60px;padding:6px}.song-title{font-size:.7em}.song-artist{font-size:.65em}}@page{size:A4;margin:10mm}:root{--card-w:110mm;--card-h:165mm;--outer-border:6mm;--grid-cell:20mm;--title-band-h:15mm;--write-area-h:41mm;--write-area-w:92mm;--grid-gap:0mm;--grid-size:calc(var(--grid-cell)*5);--cyan:#71d7ff;--yellow:#f3df58;--green:#79d96b;--purple:#c290e3;--pink:#ff62b9;--black:#111}.bingo-cards-physical-container{grid-gap:12mm;align-content:start;background:#f4f4f4;display:grid;gap:12mm;grid-template-columns:repeat(2,110mm);justify-content:center;margin:0 auto;padding:10mm;width:100%}.card{grid-gap:0;border-radius:4mm;box-shadow:0 4px 18px #0000001f;flex-shrink:0;grid-template-rows:100mm 15mm 41mm;grid-template-rows:var(--grid-size) var(--title-band-h) var(--write-area-h);height:165mm;height:var(--card-h);margin:0;overflow:hidden;padding:6mm;padding:var(--outer-border);position:relative;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:110mm;width:var(--card-w)}.card,.grid{background:#111;background:var(--black);display:grid;gap:0}.grid{grid-gap:0;align-self:start;grid-template-columns:repeat(5,20mm);grid-template-columns:repeat(5,var(--grid-cell));grid-template-rows:repeat(5,20mm);grid-template-rows:repeat(5,var(--grid-cell));height:100mm;height:var(--grid-size);justify-self:center;width:100mm;width:var(--grid-size)}.cell{border:1.5mm solid #111;border:1.5mm solid var(--black);height:20mm;height:var(--grid-cell);overflow:hidden;position:relative;width:20mm;width:var(--grid-cell)}.cell:after{background:radial-gradient(circle at center,#ffffff2e 0,#ffffff14 20%,#fff0 62%);content:"";inset:0;pointer-events:none;position:absolute}.c-cyan{background:#71d7ff!important;background:var(--cyan)!important}.c-cyan,.c-yellow{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.c-yellow{background:#f3df58!important;background:var(--yellow)!important}.c-green{background:#79d96b!important;background:var(--green)!important}.c-green,.c-purple{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.c-purple{background:#c290e3!important;background:var(--purple)!important}.c-pink{background:#ff62b9!important;background:var(--pink)!important}.c-pink,.title-band{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.title-band{align-items:center;background:#111!important;background:var(--black)!important;display:flex;justify-content:center;overflow:hidden}.title-text{color:#ff62b9;color:var(--pink);font-family:Arial,Helvetica,sans-serif;font-size:8.2mm;font-weight:300;letter-spacing:.8mm;line-height:1;text-align:center;text-transform:uppercase;transform:scaleX(.92);white-space:nowrap}.write-area-wrap{background:#111!important;background:var(--black)!important;justify-content:center;padding-top:0}.write-area,.write-area-wrap{align-items:flex-start;display:flex;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.write-area{background:#fff!important;border-radius:0 0 4mm 4mm;color:#111;font-size:5mm;font-weight:700;height:41mm;height:var(--write-area-h);justify-content:flex-start;overflow:hidden;padding:4mm;width:92mm;width:var(--write-area-w)}@media print{@page{size:A4 landscape;margin:12mm 4mm 4mm 4mm}body,html{height:100%;margin:0;padding:0;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%}.music-bingo,body{background:#fff}.music-bingo{margin:0;min-height:auto;padding:0;width:100%}.bingo-cards-physical-container,.bingo-controls{display:none!important}}.bingo-scoreboard{background:linear-gradient(135deg,#64c8641a,#3296641a)!important;border:2px solid #64c8644d}.bingo-scores-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bingo-score-card{background:#ffffff14;border:1px solid #64c86480;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px;text-align:center;transition:all .3s ease}.bingo-score-card:hover{background:#ffffff1f;border-color:#64c864cc;transform:translateY(-2px)}.bingo-score-card .team-name{color:#ffffffe6;font-size:1em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bingo-score-card .team-score{color:#64c864;font-size:2.5em;font-weight:700;text-shadow:0 0 10px #64c86480}.bingo-increment-btn{background:linear-gradient(135deg,#64c864,#4a9a4a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:10px 12px;transition:all .2s ease}.bingo-increment-btn:hover{background:linear-gradient(135deg,#7ad87a,#5aaa5a);transform:scale(1.05)}.bingo-increment-btn:active{transform:scale(.98)}.no-teams-message{color:#fff9;font-style:italic;padding:20px;text-align:center}.answer-key-panel{background:#ffffff0f;border:1px solid #ffffff1f}.answer-key-header-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.answer-key-header-row p{color:#ffffffb8;margin:8px 0 0}.answer-key-export-btn:disabled{cursor:not-allowed;opacity:.5}.answer-key-table-wrap{overflow-x:auto}.answer-key-table{border-collapse:collapse;min-width:720px;width:100%}.answer-key-table td,.answer-key-table th{border-bottom:1px solid #ffffff1a;padding:12px 14px;text-align:left}.answer-key-table th{color:#ffffffd1;font-size:.92rem;letter-spacing:.02em}.answer-key-table td{color:#fffffff0}.answer-key-expected-cell{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px}.answer-key-source-tag{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:2px 8px}.answer-key-source-tag.ai{background:#11cd8e33;border-color:#11cd8e66;color:#8ff7d2}.answer-key-source-tag.fallback{background:#ffa83733;border-color:#ffa83759;color:#ffd58a}.answer-key-source-tag.rule{background:#7ea5ff2e;border-color:#7ea5ff59;color:#b6caf7}.answer-key-category-chip{align-items:center;display:inline-flex;font-weight:600;gap:10px}.answer-key-category-dot{border-radius:999px;box-shadow:0 0 0 2px #ffffff24;flex:0 0 auto;height:12px;width:12px}.answer-key-table tbody tr:nth-child(2n){background:#ffffff08}@media (max-width:900px){.answer-key-header-row{flex-direction:column}}.hitster-view-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.hitster-view-toggle button{background:#ffffff1a;border:2px solid #0000;border-radius:6px;color:#ffffffb3;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.hitster-view-toggle button.active{background:linear-gradient(135deg,#4f46e5,#0ea5e9);border-color:#0ea5e9;color:#fff}.hitster-view-toggle button:hover:not(.active){background:#ffffff26}.hitster-controls-layout{display:flex;flex-direction:column;gap:24px}.hitster-controls-layout.side-by-side{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(680px,1.5fr) minmax(360px,1fr);margin:0 auto;max-width:100%}.hitster-controls-layout.side-by-side .hitster-spinner-panel{grid-column:1;margin-bottom:0}.hitster-controls-layout.side-by-side .hitster-categories{display:none}.hitster-controls-layout.side-by-side .hitster-playlist-panel{grid-column:2;margin-top:0;max-height:800px;overflow-y:auto}.hitster-playlist{max-height:600px;overflow-y:auto}.hitster-controls-layout.side-by-side .hitster-playlist{max-height:650px}@media (max-width:1200px){.hitster-controls-layout.side-by-side{grid-template-columns:1fr}.hitster-spinner{width:min(100%,500px)}.hitster-controls-layout.side-by-side .hitster-categories{display:block;grid-column:1/-1}.hitster-controls-layout.side-by-side .hitster-playlist-panel{grid-column:1/-1;max-height:320px}.hitster-controls-layout.side-by-side .hitster-playlist{max-height:280px}}.modal-overlay{background:#0000008c;inset:0;padding:20px;z-index:1200}.modal-content{background:#101a37;border:1px solid #ffffff2e;border-radius:14px;box-shadow:0 18px 40px #00000073;width:min(560px,100%)}.modal-header{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.modal-header h2{font-size:1.1rem}.modal-close-btn{background:#0000;border:0;color:#fffc;cursor:pointer;font-size:1.1rem}.modal-body{padding:16px 18px 18px}.info-row{border-bottom:1px dashed #ffffff1f;display:flex;gap:14px;justify-content:space-between;padding:9px 0}.info-row:last-child{border-bottom:0}.info-label{color:#ffffffad}.info-value{color:#fff;font-weight:600;text-align:right}.pubquiz-page{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh;padding:20px}.pubquiz-page.loading{align-items:center;display:flex;font-size:1.5em;justify-content:center}.quiz-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:20px;margin-bottom:24px;padding-bottom:16px}.quiz-header .header-title-group{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:0}.quiz-header .header-title-group .back-btn{background:#0000;border:none;color:#ffffffb3;cursor:pointer;font-size:.8em;margin-top:-8px;padding:0 0 2px;transition:all .2s}.quiz-header .header-title-group .back-btn:hover{color:#fff}.quiz-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f39c12,#e74c3c);-webkit-background-clip:text;background-clip:text;font-size:1.8em;margin:0}.quiz-header .back-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;padding:10px 16px;transition:all .2s}.quiz-header .back-btn:hover{background:#fff3}.quiz-header .display-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:500;padding:10px 20px;transition:all .2s}.quiz-header .display-btn:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.02)}.quiz-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr 320px;height:calc(100vh - 120px)}.panel{border-radius:16px;flex-direction:column;overflow:hidden}.panel,.panel-header{background:#ffffff0d;display:flex}.panel-header{align-items:center;border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:16px 20px}.panel-header h2{font-size:1.2em;margin:0}.add-btn{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 16px;transition:all .2s}.add-btn:hover{transform:scale(1.02)}.add-btn.small{font-size:.85em;padding:6px 12px}.quiz-list{flex:1 1;overflow-y:auto;padding:12px}.quiz-card{background:#ffffff0d;border-radius:12px;cursor:pointer;margin-bottom:12px;padding:16px;position:relative;transition:all .2s}.quiz-card:hover{background:#ffffff1a}.quiz-card.selected{background:#f39c1233;border:1px solid #f39c1280}.quiz-name{font-size:1.1em;font-weight:600;margin-bottom:4px}.quiz-date{color:#fff9;font-size:.85em;margin-bottom:8px}.quiz-stats{color:#ffffff80;font-size:.8em}.quiz-card .delete-btn{background:none;border:none;cursor:pointer;font-size:1em;opacity:.5;position:absolute;right:12px;top:12px;transition:opacity .2s}.quiz-card .delete-btn:hover{opacity:1}.round-tabs{background:#0003;border-bottom:1px solid #ffffff1a;display:flex;gap:8px;overflow-x:auto;padding:12px 16px}.round-tab{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;padding:10px 16px;transition:all .2s;white-space:nowrap}.round-tab:hover{background:#ffffff26}.round-tab.active{background:linear-gradient(135deg,#f39c12,#e74c3c)}.round-tab .question-count{font-size:.85em;margin-left:6px;opacity:.7}.questions-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.section-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:12px 16px}.section-header h3{font-size:1em;margin:0}.section-actions{display:flex;gap:8px}.questions-list{flex:1 1;overflow-y:auto;padding:12px}.question-card{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s}.question-card:hover{background:#ffffff14}.question-card.active{background:#2ecc7133;border:1px solid #2ecc7180}.question-number{align-items:center;background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:50%;display:flex;flex-shrink:0;font-size:.9em;font-weight:700;height:32px;justify-content:center;width:32px}.question-content{flex:1 1;min-width:0}.question-text{font-size:.95em;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-meta{color:#fff9;display:flex;font-size:.75em;gap:8px}.question-type{background:#ffffff1a;border-radius:4px;padding:2px 8px}.question-points{color:#f39c12}.question-time{color:#3498db}.question-actions{display:flex;gap:6px}.question-actions button{background:#ffffff1a;border:none;border-radius:6px;cursor:pointer;padding:6px 10px;transition:all .2s}.question-actions button:hover{background:#fff3}.question-actions .play-btn:hover{background:#2ecc714d}.teams-panel{display:flex;flex-direction:column}.playing-section{background:#2ecc711a;border-bottom:1px solid #2ecc714d;padding:16px}.playing-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.playing-header h3{color:#2ecc71;margin:0}.stop-btn{background:#e74c3c33;border:1px solid #e74c3c80;border-radius:8px;color:#e74c3c;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.stop-btn:hover{background:#e74c3c4d}.playing-question{background:#0003;border-radius:12px;padding:16px}.question-display{font-size:1.1em;font-weight:500;margin-bottom:12px}.options-display{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.options-display .option{background:#ffffff1a;border-radius:8px;font-size:.95em;padding:10px 14px}.options-display .option.correct{background:#2ecc714d;border:1px solid #2ecc71}.timer{color:#3498db;font-size:2em;font-weight:700;margin:12px 0;text-align:center}.timer.warning{animation:pulse .5s ease-in-out infinite;color:#e74c3c}.answer-display{background:#2ecc7133;border:1px solid #2ecc7180;border-radius:8px;color:#2ecc71;font-size:1.1em;font-weight:600;padding:12px 16px;text-align:center}.reveal-btn{background:linear-gradient(135deg,#f39c12,#e74c3c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;margin-top:12px;padding:12px;transition:all .2s;width:100%}.reveal-btn:hover{transform:scale(1.02)}.teams-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.teams-list{flex:1 1;overflow-y:auto;padding:12px}.team-card{background:#ffffff0d;border-radius:10px;gap:12px;margin-bottom:8px;padding:12px}.team-card,.team-rank{align-items:center;display:flex}.team-rank{background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:50%;font-size:.8em;font-weight:700;height:28px;justify-content:center;width:28px}.team-info{flex:1 1}.team-name{color:#fff;font-size:1em;font-weight:600}.team-score{color:#f39c12;font-size:.85em}.team-actions{display:flex;gap:4px}.team-actions button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.3em;font-weight:700;height:32px;justify-content:center;transition:all .2s;width:32px}.team-actions button:hover{background:#ffffff4d}.team-actions .delete-btn{font-size:.9em}.empty-state{color:#ffffff80;font-size:.95em;padding:24px;text-align:center}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:16px;max-height:90vh;max-width:90vw;min-width:400px;overflow-y:auto;padding:24px}.modal.large{min-width:600px}.modal h2{font-size:1.4em;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#fffc;display:block;font-size:.9em;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1em;padding:10px 14px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f39c12;outline:none}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1 1}.form-row .form-group.small{flex:0 0 100px}.option-input{gap:10px;margin-bottom:8px}.option-input,.option-letter{align-items:center;display:flex}.option-letter{background:#f39c124d;border-radius:50%;font-size:.85em;font-weight:700;height:24px;justify-content:center;width:24px}.option-input input[type=text]{flex:1 1}.option-input input[type=radio]{cursor:pointer;height:18px;width:18px}.true-false-options{display:flex;gap:24px}.true-false-options label{align-items:center;cursor:pointer;display:flex;gap:8px}.media-inputs{grid-gap:8px;display:grid;gap:8px}.modal-actions{border-top:1px solid #ffffff1a;justify-content:flex-end;margin-top:24px;padding-top:16px}.cancel-btn{border-radius:8px;font-size:1em;padding:10px 20px;transition:all .2s}.cancel-btn:hover{background:#fff3}.save-btn{background:linear-gradient(135deg,#1db954,#1ed760);border-radius:8px;font-size:1em;font-weight:500;padding:10px 24px;transition:all .2s}.save-btn:hover:not(:disabled){transform:scale(1.02)}.delete-btn.small{background:#e74c3c33;border:1px solid #e74c3c66;border-radius:6px;color:#e74c3c;cursor:pointer;font-size:.85em;padding:6px 12px}.delete-btn.small:hover{background:#e74c3c4d}.media-section{display:flex;flex-direction:column;gap:12px}.media-buttons{display:flex;flex-wrap:wrap;gap:8px}.media-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95em;font-weight:500;padding:10px 16px;transition:all .2s}.media-btn.upload-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.media-btn.upload-btn:hover:not(:disabled){box-shadow:0 4px 12px #3498db66;transform:scale(1.02)}.media-btn.upload-btn:disabled{cursor:wait;opacity:.6}.media-btn.spotify-btn{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff}.media-btn.spotify-btn:hover{box-shadow:0 4px 12px #1db95466;transform:scale(1.02)}.media-url-input{align-items:center;display:flex;gap:8px}.media-url-input input{flex:1 1}.media-url-input .clear-btn{background:#e74c3c33;border:none;border-radius:6px;color:#e74c3c;cursor:pointer;font-size:1em;padding:8px 12px;transition:all .2s}.media-url-input .clear-btn:hover{background:#e74c3c66}.media-preview{border:2px solid #fff3;border-radius:8px;max-height:150px;max-width:200px;overflow:hidden}.media-preview img{display:block;height:auto;width:100%}.selected-media{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;font-size:.9em;gap:12px;padding:8px 12px}.selected-media span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-media .clear-btn{background:#e74c3c33;border:none;border-radius:4px;color:#e74c3c;cursor:pointer;font-size:1em;padding:4px 8px}.spotify-search-panel{background:#0000004d;border:1px solid #1db9544d;border-radius:12px;overflow:hidden}.spotify-search-header{background:#1db9541a;border-bottom:1px solid #1db95433;display:flex;gap:8px;padding:12px}.spotify-search-header input{background:#ffffff1a;border:none;border-radius:8px;color:#fff;flex:1 1;font-size:1em;padding:10px 14px}.spotify-search-header input::placeholder{color:#ffffff80}.spotify-search-header button{background:#1db9544d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1em;padding:10px 14px;transition:all .2s}.spotify-search-header button:hover:not(:disabled){background:#1db95480}.spotify-search-header button:disabled{cursor:wait;opacity:.5}.spotify-results{max-height:250px;overflow-y:auto}.spotify-result{align-items:center;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background .2s}.spotify-result:hover{background:#1db95433}.spotify-result img{border-radius:4px;height:48px;object-fit:cover;width:48px}.spotify-result .track-info{flex:1 1;min-width:0}.spotify-result .track-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-result .track-artist{color:#fff9;font-size:.85em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-result .track-year{background:#ffffff1a;border-radius:4px;color:#ffffff80;font-size:.85em;padding:4px 8px}.rebus-section{background:linear-gradient(135deg,#9b59b633,#8e44ad1a);border:1px solid #9b59b64d;border-radius:12px;margin-top:12px;padding:16px}.rebus-section .form-group label{color:#bb8fce}.rebus-section input,.rebus-section select,.rebus-section textarea{background:#0000004d;border:1px solid #9b59b666}.rebus-section input:focus,.rebus-section select:focus,.rebus-section textarea:focus{border-color:#9b59b6cc;box-shadow:0 0 8px #9b59b64d}.video-section{background:linear-gradient(135deg,#e74c3c33,#c0392b1a);border:1px solid #e74c3c4d;border-radius:12px;margin-top:12px;padding:16px}.video-section .form-group label{color:#e74c3c}.video-input-group{display:flex;gap:8px}.video-input-group input{background:#0000004d;border:1px solid #e74c3c66;flex:1 1}.video-input-group input:focus{border-color:#e74c3ccc;box-shadow:0 0 8px #e74c3c4d}.video-preview{border-radius:8px;margin-top:12px;max-width:320px;overflow:hidden}.video-preview img{display:block;height:auto;width:100%}.video-help{color:#fff9;font-size:.85em;margin-bottom:0;margin-top:8px}.spotlight-section{background:linear-gradient(135deg,#f1c40f33,#f39c121a);border:1px solid #f1c40f4d;border-radius:12px;margin-top:12px;padding:16px}.spotlight-section h4{color:#f1c40f;font-size:1em;margin:0 0 12px}.spotlight-checkbox-group{align-items:center;display:flex;gap:8px;margin-bottom:12px}.spotlight-checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.spotlight-checkbox-group label{cursor:pointer;font-size:.95em}.spotlight-options{display:flex;flex-wrap:wrap;gap:16px}.spotlight-options .form-group{flex:1 1;margin-bottom:0;min-width:120px}.spotlight-options label{color:#ffffffb3;display:block;font-size:.85em;margin-bottom:4px}.spotlight-options select{background:#0000004d;border:1px solid #f1c40f66;border-radius:6px;color:#fff;font-size:.9em;padding:6px 8px;width:100%}.spotlight-options select:focus{border-color:#f1c40fcc;box-shadow:0 0 8px #f1c40f4d;outline:none}.spotlight-help{color:#ffffff80;font-size:.8em;font-style:italic;margin-bottom:0;margin-top:12px}.puzzle-section{background:linear-gradient(135deg,#9b59b633,#8e44ad1a);border:1px solid #9b59b64d;border-radius:12px;margin-top:12px;padding:16px}.puzzle-section h4{color:#9b59b6;font-size:1em;margin:0 0 12px}.puzzle-section .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.puzzle-section .checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.puzzle-options{margin-top:12px}.puzzle-options .form-row{display:flex;flex-wrap:wrap;gap:16px}.puzzle-options .form-group{flex:1 1;margin-bottom:0;min-width:120px}.puzzle-options label{color:#ffffffb3;display:block;font-size:.85em;margin-bottom:4px}.puzzle-options select{background:#0000004d;border:1px solid #9b59b666;border-radius:6px;color:#fff;font-size:.9em;padding:6px 8px;width:100%}.puzzle-options select:focus{border-color:#9b59b6cc;box-shadow:0 0 8px #9b59b64d;outline:none}.puzzle-help{color:#ffffff80;font-size:.8em;font-style:italic;margin-bottom:0;margin-top:12px}@media (max-width:1200px){.quiz-layout{grid-template-columns:1fr;height:auto}.panel{min-height:400px}}@media (max-width:600px){.pubquiz-page{padding:12px}.quiz-header h1{font-size:1.3em}.modal{margin:16px}.modal,.modal.large{min-width:auto}.form-row{flex-direction:column}.form-row .form-group.small{flex:1 1}}.lingo{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh;outline:none;padding:20px}.lingo.loading{font-size:1.5em;justify-content:center}.lingo-header,.lingo.loading{align-items:center;display:flex}.lingo-header{border-bottom:1px solid #ffffff1a;gap:20px;margin:0 auto 24px;max-width:800px;padding-bottom:16px}.lingo-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#f39c12,#e74c3c);-webkit-background-clip:text;background-clip:text;flex:1 1;font-size:1.8em;margin:0}.lingo-header .back-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 16px;transition:all .2s}.lingo-header .back-btn:hover{background:#fff3}.score-display{background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:20px;font-size:1.1em;font-weight:600;padding:8px 16px}.lingo-controls,.lingo-info{margin:0 auto;max-width:800px;text-align:center}.lingo-info button,.round-select-btn{background:#1db954;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;margin-top:16px;padding:12px 24px;transition:all .2s}.round-selector{background:#ffffff0d;border-radius:12px;padding:24px;text-align:left}.round-selector h3{margin:0 0 16px}.round-list{display:flex;flex-direction:column;gap:12px}.round-select-btn{margin:0;text-align:left}.round-select-btn:hover{background:#1ed760;transform:translateX(4px)}.lingo-game{margin:0 auto;max-width:600px}.mode-selector{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.mode-btn{background:#ffffff1a;border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;padding:12px 24px;transition:all .2s}.mode-btn:hover{background:#fff3}.mode-btn.active{background:#1db954;border-color:#1db954}.progress-info{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.hint-text{color:#ffffffb3;font-style:italic}.lingo-board{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.word-row{gap:6px}.letter-cell,.word-row{display:flex;justify-content:center}.letter-cell{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;font-size:1.5em;font-weight:700;height:48px;text-transform:uppercase;transition:all .3s;width:48px}.letter-cell.hidden{background:#1db954;border-color:#1db954}.letter-cell.revealed{background:#1db954;border-color:#1ed760}.letter-cell.filled{background:#fff3;border-color:#fff6}.letter-cell.empty{background:#ffffff0d;border-color:#ffffff1a}.letter-cell.correct{animation:pop .3s ease;background:#27ae60;border-color:#2ecc71}.letter-cell.wrong-position{animation:pop .3s ease;background:#f39c12;border-color:#f1c40f}.letter-cell.wrong{animation:pop .3s ease;background:#7f8c8d;border-color:#95a5a6}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.starting-row .letter-cell{background:#1db954;border-color:#1ed760}.current .letter-cell{border-color:#f39c12}.empty-row .letter-cell{opacity:.3}.game-result{border-radius:12px;margin-bottom:20px;padding:20px;text-align:center}.game-result.won{background:#27ae6033;border:2px solid #27ae60}.game-result.lost{background:#e74c3c33;border:2px solid #e74c3c}.game-result h2{font-size:1.5em;margin:0 0 8px}.game-result p{color:#fffc;margin:0}.game-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px}.give-up-btn,.hint-btn,.next-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;padding:12px 24px;transition:all .2s}.hint-btn:hover{background:#f39c12}.give-up-btn:hover{background:#e74c3c}.next-btn{background:#1db954}.next-btn:hover{background:#1ed760}.final-score{background:#ffffff0d;border-radius:12px;padding:24px;text-align:center}.final-score h2{color:#f1c40f;margin:0 0 8px}.final-score button{background:#1db954;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;margin-top:16px;padding:12px 24px}.virtual-keyboard{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:20px}.keyboard-row{display:flex;gap:6px}.key-btn{background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;height:48px;min-width:36px;transition:all .15s}.key-btn:hover{background:#ffffff4d}.key-btn:active{background:#1db954;transform:scale(.95)}.key-btn.wide{font-size:.9em;min-width:56px}.key-btn.space{min-width:200px}@media (max-width:600px){.letter-cell{font-size:1.2em;height:36px;width:36px}.word-row{gap:4px}.key-btn{font-size:.85em;height:40px;min-width:28px}.key-btn.wide{min-width:44px}.key-btn.space{min-width:140px}.mode-selector,.progress-info{flex-direction:column}.progress-info{gap:8px;text-align:center}}.game-rules{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;min-height:100vh;overflow:hidden;position:relative}.game-rules.slideshow{display:flex;flex-direction:column;padding:0}.game-rules.error,.game-rules.loading{align-items:center;display:flex;font-size:1.5rem;justify-content:center}.back-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;left:1.5rem;padding:.75rem 1.5rem;position:absolute;top:1.5rem;transition:all .2s;z-index:100}.back-btn:hover{background:#fff3}.close-btn{left:auto;right:1.5rem}.slides-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:3rem}.slide{animation:fadeIn .4s ease;max-width:900px;text-align:center;width:100%}.slide-fullscreen-illustration{align-items:center;display:flex;height:calc(100vh - 8.5rem);justify-content:center;max-width:none}.slide-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:4.5rem;margin:0 0 1rem}.slide-title .subtitle{color:#ffffffb3;font-size:2rem;margin-bottom:3rem}.slide-hint{color:#fff6;font-size:1rem;margin-top:2rem}.slide-icon{font-size:5rem;margin-bottom:1.5rem}.slide-illustration{display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28));margin:0 auto 1.5rem;max-height:180px;max-width:min(280px,70vw);object-fit:contain}.slide-illustration-fullscreen{filter:drop-shadow(0 18px 42px rgba(0,0,0,.35));height:calc(100vh - 9rem);margin:0;max-height:none;max-width:none;object-fit:contain;width:min(96vw,180vh)}@media (max-width:768px){.slide-fullscreen-illustration{height:calc(100vh - 7rem)}.slide-illustration-fullscreen{height:calc(100vh - 7.5rem);width:100%}}.slide h2{color:#667eea;font-size:2.5rem;margin:0 0 1.5rem}.slide-text{color:#ffffffe6;font-size:1.5rem;line-height:1.6;margin:0 0 1rem}.slide-text.big{color:#1db954;font-size:2rem;font-weight:700}.slide-steps{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:700px;text-align:left}.slide-step{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;gap:1.5rem;padding:1.25rem 2rem}.slide-step .step-num{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.slide-step p{font-size:1.3rem;line-height:1.4;margin:0}.slide-scoring{margin:0 auto;max-width:500px}.score-row{align-items:center;background:#ffffff0d;border-left:4px solid #1db954;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem 1.5rem}.score-row.total{background:linear-gradient(90deg,#1db9544d,#1db9541a);border-left-width:6px;margin-top:1rem}.score-points{color:#1db954;font-size:1.8rem;font-weight:700}.score-desc{color:#ffffffe6;font-size:1.3rem}.position-visual{align-items:center;display:flex;gap:1rem;justify-content:center;margin:2rem 0}.pos-side{border-radius:12px;padding:1.5rem;text-align:center;width:200px}.pos-side.left{background:#f0ad4e33;border:2px solid #f0ad4e}.pos-side.right{background:#1db95433;border:2px solid #1db954}.pos-label{display:block;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.pos-side.left .pos-label{color:#f0ad4e}.pos-side.right .pos-label{color:#1db954}.pos-desc{color:#ffffffb3;font-size:1rem}.pos-center{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;height:130px;justify-content:center;width:100px}.pos-year{color:#fff;font-size:1.5rem;font-weight:700}.slide-teams{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.slide-team{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50px;display:flex;gap:1rem;padding:1rem 2rem}.slide-team .team-num{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;font-size:1.2rem;font-weight:700;height:36px;justify-content:center;width:36px}.slide-team .team-name{font-size:1.4rem;font-weight:500}.slide-team-empty{background:#ffffff14;border-radius:18px;color:#fffc;font-size:1.2rem;padding:1rem 1.5rem}.slide-final .goodluck{align-items:center;display:flex;font-size:2.5rem;gap:2rem;justify-content:center;margin-top:2rem}.goodluck p{color:#1db954;font-size:2rem;margin:0}.slide-nav{align-items:center;background:#0000004d;display:flex;gap:2rem;justify-content:center;padding:1.5rem}.nav-btn{background:#ffffff1a;border:2px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;height:60px;transition:all .2s;width:60px}.nav-btn:hover:not(:disabled){background:#667eea80;border-color:#667eea}.nav-btn:disabled{cursor:not-allowed;opacity:.3}.slide-dots{display:flex;gap:.75rem}.dot{background:#fff3;border-radius:50%;cursor:pointer;height:14px;transition:all .2s;width:14px}.dot:hover{background:#fff6}.dot.active{background:#667eea;transform:scale(1.2)}.slide-counter{color:#ffffff80;font-size:1rem;position:absolute;right:1.5rem;top:1.5rem}@media print{.no-print{display:none!important}}@media (max-width:768px){.slide-title h1{font-size:2.5rem}.slide h2{font-size:1.8rem}.slide-text{font-size:1.2rem}.slide-icon{font-size:3rem}.slide-step{padding:1rem}.slide-step p{font-size:1rem}.position-visual{flex-direction:column}.pos-side{width:100%}.nav-btn{height:50px;width:50px}}.slide-flyer{align-items:center;display:flex;justify-content:center;padding:20px}.intro-flyer-img{border-radius:16px;box-shadow:0 8px 32px #0000004d;max-height:80vh;max-width:90%;object-fit:contain}.scoreboard{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;min-height:100vh;padding:1rem}.scoreboard.error,.scoreboard.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}.scoreboard-header{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:.8rem 1rem}.header-left{align-items:center;display:flex;gap:1rem}.header-info h1{font-size:1.5rem;font-weight:600;margin:0}.header-info h2{color:#ffffffb3;font-size:1rem;font-weight:400;margin:0}.scoreboard-content{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px}.standings-section{background:#ffffff0d;border-radius:16px;padding:1.5rem}.standings-section h3{color:#ffffffe6;font-size:1.2rem;margin:0 0 1rem}.standings-list{display:flex;flex-direction:column;gap:.5rem}.standing-row{align-items:center;background:#ffffff08;border-left:4px solid #0000;border-radius:12px;display:flex;padding:1rem 1.5rem;transition:all .2s}.standing-row:hover{background:#ffffff0f}.standing-row.first{background:linear-gradient(90deg,#ffd70026,#ffd7000d);border-left-color:gold}.standing-row.second{background:linear-gradient(90deg,#c0c0c026,#c0c0c00d);border-left-color:silver}.standing-row.third{background:linear-gradient(90deg,#cd7f3226,#cd7f320d);border-left-color:#cd7f32}.standing-row .position{font-size:1.5rem;text-align:center;width:50px}.standing-row .team-name{flex:1 1;font-size:1.2rem;font-weight:600}.standing-row .total-score{color:#1db954;font-size:1.5rem;font-weight:700}.rounds-section{background:#ffffff0d;border-radius:16px;padding:1.5rem}.rounds-section h3{color:#ffffffe6;font-size:1.2rem;margin:0 0 1rem}.rounds-table-wrapper{overflow-x:auto}.rounds-table{border-collapse:collapse;font-size:.95rem;width:100%}.rounds-table td,.rounds-table th{border-bottom:1px solid #ffffff1a;padding:.75rem 1rem;text-align:center}.rounds-table th{background:#ffffff0d;color:#fffc;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.rounds-table td.team-col,.rounds-table th.team-col{min-width:150px;text-align:left}.rounds-table td.team-col{align-items:center;display:flex;font-weight:500;gap:.5rem}.position-badge{font-size:.9rem;min-width:24px}.rounds-table .round-col{min-width:100px}.rounds-table .round-col .score{color:#1db954;font-weight:600}.rounds-table .round-col .max{color:#fff6;font-size:.75rem;margin-left:2px}.rounds-table .total-col{color:#1db954;font-size:1.1rem;min-width:80px}.rounds-table tr.top-1 td{background:#ffd70014}.rounds-table tr.top-2 td{background:#c0c0c014}.rounds-table tr.top-3 td{background:#cd7f3214}.stats-section{background:#ffffff0d;border-radius:16px;padding:1.5rem}.stats-section h3{color:#ffffffe6;font-size:1.2rem;margin:0 0 1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:#ffffff0d;border-radius:12px;padding:1.25rem;text-align:center}.stat-label{color:#fff9;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#1db954;font-size:2rem;font-weight:700}.stat-team{color:#ffffffb3;font-size:.9rem;margin-top:.25rem}@media (max-width:768px){.scoreboard-header{gap:1rem;text-align:center}.header-left,.scoreboard-header{flex-direction:column}.standing-row .position{font-size:1.2rem;width:40px}.standing-row .team-name{font-size:1rem}.standing-row .total-score{font-size:1.2rem}}.participant-scores{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:1rem}.participant-scores.error,.participant-scores.loading{align-items:center;color:#ffffffb3;display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;justify-content:center}.loading-spinner{animation:pulse 1.2s ease-in-out infinite;font-size:3rem}.ps-title-header{padding:1.5rem 1rem 1rem;position:relative;text-align:center}.ps-back-home{background:#ffffff1f;border-radius:20px;color:#ffffffb3;display:inline-block;font-size:.85rem;margin-bottom:.6rem;padding:.3rem .8rem;text-decoration:none}.ps-back-home:hover{background:#fff3;color:#fff}.ps-title-header h1{font-size:1.6rem;font-weight:700;margin:0 0 .4rem}.ps-subtitle{color:#ffffff8c;font-size:.9rem;margin:0}@media (max-width:600px){.ps-title-header{padding:.5rem 1rem}.ps-title-header h1{font-size:1.1rem}.ps-subtitle{font-size:.78rem}}.ps-header{align-items:center;background:#ffffff12;border-radius:12px;display:flex;gap:.8rem;margin-bottom:1.2rem;padding:.8rem 1rem}.ps-back-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;padding:.5rem .8rem;white-space:nowrap}.ps-back-btn:hover{background:#fff3}.ps-header-info{flex:1 1;min-width:0}.ps-team-name{font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-position,.ps-round-name{color:#fff9;font-size:.8rem;margin-top:.1rem}.ps-round-score,.ps-total-score{color:gold;flex-shrink:0;font-size:1.3rem;font-weight:700;white-space:nowrap}.ps-main-layout{align-items:flex-start;display:flex;gap:1.5rem;margin:0 auto;max-width:1400px}.ps-standings{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.ps-announcement-card{align-self:stretch;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;flex:0 0 520px;padding:1.2rem 1.4rem}.ps-announcement-content{color:#ffffffe6;font-size:.95rem;line-height:1.6;white-space:pre-wrap}@media (max-width:640px){.ps-main-layout{flex-direction:column}.ps-announcement-card{flex:none;width:100%}.ps-team-detail-layout{flex-direction:column}.ps-team-detail-layout>.ps-reactions,.ps-team-detail-left{flex:none;width:100%}}.ps-team-detail-layout{align-items:flex-start;display:flex;gap:1.5rem;justify-content:center;margin-top:1rem}.ps-team-detail-left{flex:0 0 560px;min-width:0}.ps-team-detail-layout>.ps-reactions{flex:0 0 360px;margin:0;padding:0}.ps-standing-row{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;color:#fff;cursor:pointer;display:flex;gap:.8rem;padding:.9rem 1rem;text-align:left;transition:background .15s,transform .1s;width:100%}.ps-standing-row:active,.ps-standing-row:hover{background:#ffffff1f;transform:scale(1.01)}.ps-standing-row.rank-1{background:#ffd7001f;border-color:#ffd7004d}.ps-standing-row.rank-2{background:#c0c0c01a;border-color:#c0c0c040}.ps-standing-row.rank-3{background:#cd7f321a;border-color:#cd7f3240}.ps-rank{flex-shrink:0;font-size:1.3rem;text-align:center;width:2rem}.ps-standing-name{flex:1 1;font-size:1rem;font-weight:500}.ps-standing-score{align-items:center;color:#ffffffd9;display:flex;font-size:1rem;font-weight:600;gap:.4rem;white-space:nowrap}.ps-rounds-list{display:flex;flex-direction:column;gap:.4rem}.ps-round-row{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:.85rem 1rem;transition:background .15s;width:100%}.ps-round-row:active,.ps-round-row:hover{background:#ffffff1f}.ps-round-name-col{font-size:.95rem;font-weight:500}.ps-round-score-col{align-items:center;display:flex;gap:.5rem}.ps-round-pts{color:#ffffffd9;font-weight:600}.ps-chevron{color:#fff6;font-size:1.2rem}.ps-round-total,.ps-team-total{color:#ffffffb3;font-size:1rem;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:600px;padding:1.2rem;text-align:center}.ps-round-nav{display:flex;gap:.8rem;justify-content:space-between;margin:0 auto 1.5rem;max-width:600px;padding:0 .5rem}.ps-round-nav-btn{background:#ffffff1a;border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.6rem 1rem;transition:background .15s}.ps-round-nav-btn:hover:not(:disabled){background:#fff3}.ps-round-nav-btn:disabled{cursor:default;opacity:.3}.ps-round-total strong,.ps-team-total strong{color:gold;font-size:1.1rem}.ps-songs-list{display:flex;flex-direction:column;gap:.5rem;margin:0 auto;max-width:600px}.ps-song-row{align-items:flex-start;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:.8rem;padding:.8rem}.ps-song-row.has-points{background:#64dc820f;border-color:#64dc8240}.ps-song-row.no-points{opacity:.65}.ps-song-number{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:1.8rem;justify-content:center;width:1.8rem}.ps-song-info{flex:1 1;min-width:0}.ps-song-title{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-song-artist{color:#ffffff8c;font-size:.8rem;margin:.15rem 0 .4rem}.ps-song-checks{display:flex;flex-wrap:wrap;gap:.3rem}.ps-check{border-radius:4px;font-size:.72rem;font-weight:500;padding:.15rem .4rem}.ps-check.correct{background:#64dc8233;color:#64dc82}.ps-check.wrong{background:#ffffff12;color:#fff6}.ps-song-points{color:gold;flex-shrink:0;font-size:1rem;font-weight:700;padding-top:.1rem;white-space:nowrap}@media (max-width:400px){.ps-title-header h1{font-size:1.3rem}.ps-standing-row{padding:.75rem .8rem}}.ps-reactions{margin:1.5rem auto 0;max-width:600px;padding:0 1rem}.ps-reactions-title{color:#fff;font-size:1rem;font-weight:600;margin-bottom:1rem;opacity:.85}.ps-reactions-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.2rem}.ps-reaction-item{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:.75rem 1rem}.ps-reaction-naam{color:#e2b96e;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.ps-reaction-bericht{color:#ffffffe0;font-size:.9rem;line-height:1.4}.ps-reaction-datum{color:#fff6;font-size:.75rem;margin-top:.3rem}.ps-reaction-form{display:flex;flex-direction:column;gap:.6rem}.ps-reaction-input,.ps-reaction-textarea{background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#fff;font-family:inherit;font-size:.9rem;padding:.65rem .85rem;width:100%}.ps-reaction-input::placeholder,.ps-reaction-textarea::placeholder{color:#ffffff59}.ps-reaction-input:focus,.ps-reaction-textarea:focus{border-color:#e2b96e80;outline:none}.ps-reaction-textarea{min-height:70px;resize:vertical}.ps-honeypot{tab-index:-1;left:-9999px;opacity:0;pointer-events:none;position:absolute}.ps-reaction-submit{align-self:flex-start;background:linear-gradient(135deg,#e2b96e,#c99a4e);border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:.9rem;font-weight:600;padding:.7rem 1.2rem;transition:opacity .2s}.ps-reaction-submit:disabled{cursor:not-allowed;opacity:.5}.ps-reaction-ok{background:#64dc821f;border:1px solid #64dc824d;border-radius:8px;color:#7de8a0;font-size:.88rem;padding:.7rem 1rem}.ps-reaction-error{background:#ff64641a;border:1px solid #ff646440;border-radius:6px;color:#ff9e9e;font-size:.83rem;padding:.5rem .8rem}.homepage-editor-page{background:linear-gradient(135deg,#111827,#1f2937 55%,#0f172a);color:#f3f4f6;min-height:100vh;padding:24px}.homepage-editor-login-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;margin:70px auto;max-width:460px;padding:24px}.homepage-editor-login-card h1{margin-top:0}.homepage-editor-login-card input{background:#00000040;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;margin-bottom:12px;margin-top:8px;padding:10px;width:100%}.homepage-editor-login-actions{display:flex;gap:10px;justify-content:space-between}.homepage-editor-actions button,.homepage-editor-login-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 14px}.homepage-editor-actions button:last-child,.homepage-editor-login-actions button:last-child{background:#16a34a;color:#fff}.homepage-editor-actions .secondary,.homepage-editor-login-actions button:first-child{background:#ffffff1f;color:#e5e7eb}.homepage-editor-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.homepage-editor-header>button{background:#ffffff1f;border:none;border-radius:8px;color:#f3f4f6;cursor:pointer;padding:10px 12px}.homepage-editor-header h1{flex:1 1;margin:0}.homepage-editor-actions{display:flex;gap:10px}.homepage-editor-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.homepage-editor-grid section{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;padding:16px}.homepage-editor-grid h2{color:#fca5a5;font-size:1.1rem;margin-top:0}.homepage-editor-grid label{color:#cbd5e1;display:block;font-size:.9rem;margin-bottom:6px;margin-top:10px}.homepage-editor-grid input,.homepage-editor-grid textarea{background:#00000040;border:1px solid #ffffff26;border-radius:8px;box-sizing:border-box;color:#fff;padding:10px;width:100%}.editor-subcard{background:#0f172a73;border:1px solid #ffffff14;border-radius:10px;margin-top:14px;padding:12px}.editor-subcard-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.homepage-editor-add-card-btn{background:#22c55e33;border:1px solid #22c55eb3;border-radius:8px;color:#dcfce7;cursor:pointer;font-weight:600;margin-top:10px;padding:8px 12px}.homepage-editor-remove-card-btn{background:#f8717133;border:1px solid #f87171b3;border-radius:8px;color:#fee2e2;cursor:pointer;font-size:.85rem;padding:6px 10px}.homepage-editor-remove-card-btn:disabled{cursor:not-allowed;opacity:.45}.homepage-editor-icon-preview{border:1px solid #fff3;border-radius:8px;height:120px;margin-top:10px;max-width:220px;object-fit:cover;width:100%}.homepage-editor-error,.homepage-editor-success{border-radius:8px;margin-bottom:12px;padding:10px}.homepage-editor-success{background:#16a34a33;border:1px solid #16a34a80}.homepage-editor-error{background:#dc262633;border:1px solid #dc262680}@media (max-width:900px){.homepage-editor-header{align-items:stretch;flex-direction:column}.homepage-editor-actions{justify-content:flex-end}}.team-join-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;padding:20px}.team-join-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 8px 32px #0000004d;max-width:400px;padding:40px;text-align:center;width:100%}.team-join-logo{margin-bottom:20px}.team-join-logo .logo-icon{display:block;font-size:48px;margin-bottom:10px}.team-join-logo h1{color:#fff;font-size:32px;font-weight:700;margin:0}.team-join-card h2{color:#e94560;font-size:24px;margin:0 0 8px}.team-join-subtitle{color:#ffffffb3;font-size:16px;margin:0 0 30px}.team-join-form{display:flex;flex-direction:column;gap:16px}.code-input-container{position:relative}.code-input{background:#ffffff1a;border:2px solid #fff3;border-radius:16px;color:#fff;font-size:32px;font-weight:700;letter-spacing:8px;outline:none;padding:20px;text-align:center;text-transform:uppercase;transition:all .3s ease;width:100%}.code-input::placeholder{color:#ffffff4d;letter-spacing:8px}.code-input:focus{background:#ffffff26;border-color:#e94560;box-shadow:0 0 20px #e945604d}.team-join-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;font-size:14px;padding:12px}.team-join-button{background:linear-gradient(135deg,#e94560,#533483);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 32px;transition:all .3s ease}.team-join-button:hover:not(:disabled){box-shadow:0 8px 20px #e9456066;transform:translateY(-2px)}.team-join-button:disabled{cursor:not-allowed;opacity:.5}.team-join-help{color:#ffffff80;font-size:14px;margin:20px 0 0}@media (max-width:480px){.team-join-card{border-radius:20px;padding:30px 20px}.code-input{font-size:24px;padding:16px}.code-input,.code-input::placeholder{letter-spacing:6px}}.team-view-container{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;display:flex;flex-direction:column;min-height:100vh}.team-view-error,.team-view-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#e94560;height:48px;width:48px}.error-icon{font-size:48px}.back-button{background:#e94560;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px}.team-view-header{align-items:center;background:#0000004d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 20px}.team-info h1{font-size:20px;font-weight:700;margin:0}.event-name,.round-name{color:#fff9;font-size:12px;margin-right:8px}.connection-status{align-items:center;display:flex;gap:6px}.status-dot{background:#666;border-radius:50%;height:8px;width:8px}.status-dot.connected{background:#4ade80;box-shadow:0 0 8px #4ade8080}.status-text{color:#fff9;font-size:12px}.team-view-main{flex:1 1;overflow-y:auto;padding:12px}.visual-timeline-header{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem}.th-left{color:#f0ad4e}.th-center{color:#667eea;font-size:1rem}.th-right{color:#1db954}.timeline-strip-wrapper{-webkit-overflow-scrolling:touch;background:#ffffff08;border-radius:12px;overflow-x:auto;padding:1rem}.timeline-strip{align-items:center;display:flex;flex-direction:row;gap:10px;min-width:-webkit-max-content;min-width:max-content;padding:.5rem 0}.timeline-hint{color:#fff6;font-size:.75rem;margin-top:.5rem;padding:.5rem;text-align:center}.timeline-card{align-items:center;border-radius:10px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;height:180px;padding:8px 8px 35px;position:relative;text-align:center;transition:transform .2s,box-shadow .2s;width:110px}.timeline-card:hover{box-shadow:0 8px 20px #0006;transform:translateY(-4px)}.timeline-card.start-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:default;height:150px;justify-content:center;margin:0 6px;padding:10px;width:90px}.timeline-card.start-card:hover{transform:none}.timeline-card.start-card .card-label{font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:4px;opacity:.9}.timeline-card.start-card .card-year{font-size:2rem;font-weight:700}.timeline-card.song-card{background:#2a2a3e;border:2px solid #fff3}.timeline-card.song-card.all-correct{background:linear-gradient(135deg,#1db95433,#1db95414);border-color:#1db954}.timeline-card.song-card.some-correct{background:linear-gradient(135deg,#f0ad4e33,#f0ad4e14);border-color:#f0ad4e}.timeline-card.song-card.none-correct{background:linear-gradient(135deg,#dc354533,#dc354514);border-color:#dc3545}.timeline-card .card-position{border-radius:4px;font-size:.55rem;font-weight:700;letter-spacing:.5px;margin-bottom:2px;padding:2px 5px}.timeline-card .card-position.left{background:#f0ad4e33;color:#f0ad4e}.timeline-card .card-position.right{background:#1db95433;color:#1db954}.timeline-card.song-card .card-year{color:#fff;font-size:1.4rem;font-weight:700;margin-bottom:4px}.timeline-card .card-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;min-height:50px;overflow:hidden;width:100%}.timeline-card .card-title{color:#ffffffe6;font-size:.7rem;font-weight:600;margin-bottom:2px}.timeline-card .card-artist,.timeline-card .card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.2;overflow:hidden}.timeline-card .card-artist{color:#fff9;font-size:.65rem}.timeline-card .card-points{bottom:8px;font-size:.85rem;font-weight:700;left:0;position:absolute;right:0;text-align:center}.timeline-card .card-points.perfect{color:#1db954}.timeline-card .card-points.partial{color:#f0ad4e}.timeline-card .card-points.zero{color:#fff6}.timeline-card .card-delete-btn{background:#dc3545cc;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:10px;height:20px;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .2s;width:20px}.timeline-card:hover .card-delete-btn{opacity:1}.total-points-section{align-items:center;background:#0000004d;border-radius:10px;display:flex;justify-content:space-between;margin:1rem 0;padding:1rem 1.5rem}.total-label{color:#fffc;font-size:1rem}.total-value{color:#1db954;font-size:1.5rem;font-weight:700}.quick-actions{display:flex;gap:10px;margin-bottom:1rem}.quick-actions .add-card-btn{flex:1 1}.quick-actions .clear-btn{background:#dc354533;border:1px solid #dc354580;border-radius:10px;color:#dc3545;cursor:pointer;font-size:14px;padding:12px 16px}.edit-card-modal-overlay{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.edit-card-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:16px;max-width:360px;padding:24px;width:100%}.edit-card-modal h3{color:#fff;font-size:1.25rem;margin:0 0 20px;text-align:center}.edit-card-modal .form-field{margin-bottom:16px}.edit-card-modal .form-field label{color:#ffffffb3;display:block;font-size:.75rem;margin-bottom:6px;text-transform:uppercase}.edit-card-modal .form-field input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:16px;padding:12px;width:100%}.edit-card-modal .form-field input:focus{border-color:#667eea;outline:none}.points-display{background:#1db95433;border:1px solid #1db95480;border-radius:8px;color:#1db954;font-size:18px;font-weight:700;padding:12px;text-align:center}.points-buttons{display:flex;gap:8px}.point-btn{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#ffffffb3;cursor:pointer;flex:1 1;font-size:18px;font-weight:700;padding:12px;transition:all .2s}.point-btn:hover{background:#ffffff26}.point-btn.active{background:linear-gradient(135deg,#1db954,#1ed760);border-color:#1db954;color:#fff}.edit-card-modal .modal-actions{display:flex;gap:12px;margin-top:20px}.delete-btn-modal{background:#dc354533;border:1px solid #dc354580;border-radius:10px;color:#dc3545;cursor:pointer;flex:1 1;font-size:14px;padding:14px}.done-btn-modal{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:2 1;font-size:16px;font-weight:600;padding:14px}.add-card-form{background:#ffffff14;border:2px dashed #fff3;border-radius:12px;padding:20px}.add-card-form h3{color:#fff;font-size:16px;margin:0 0 16px}.form-row{margin-bottom:12px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:#ffffffb3;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.form-field input{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;font-size:16px;padding:14px 16px}.form-field input::placeholder{color:#fff6}.form-field input:focus{background:#ffffff26;border-color:#e94560;outline:none}.form-actions{display:flex;gap:12px;margin-top:16px}.cancel-btn{background:#ffffff1a}.cancel-btn,.save-btn{border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;padding:14px}.save-btn{background:linear-gradient(135deg,#e94560,#533483);font-weight:600}.save-btn:disabled{cursor:not-allowed;opacity:.5}.add-card-btn{align-items:center;background:#ffffff0d;border:2px dashed #fff3;border-radius:12px;color:#ffffffb3;cursor:pointer;display:flex;font-size:16px;gap:12px;justify-content:center;padding:20px;transition:all .2s;width:100%}.add-card-btn:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.plus-icon{font-size:24px;font-weight:300}.team-view-footer{background:#0003;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:12px 20px}.last-update,.team-code{color:#fff6;font-size:11px}.team-code{font-family:monospace}@media (max-width:480px){.team-view-header{padding:12px 16px}.team-info h1{font-size:18px}.team-view-main{padding:16px}.start-year-card{padding:16px 24px}.start-year{font-size:42px}.card-display{gap:10px;padding:12px}.card-year{font-size:22px;min-width:55px}.card-title{font-size:14px}.card-artist{font-size:12px}.card-edit-form{flex-wrap:wrap;padding:10px}.card-edit-form input{font-size:13px;padding:8px 10px}.input-year{width:70px}.input-artist{flex:1 1;min-width:100px}.input-title{flex-basis:100%;margin-top:6px}}.new-song-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.new-song-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #e9456080;border-radius:20px;box-shadow:0 20px 60px #e945604d;max-width:400px;padding:24px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{margin-bottom:20px;text-align:center}.modal-header h2{color:#fff;font-size:24px;margin:0}.modal-subtitle{color:#fff9;font-size:14px;margin:8px 0 0}.now-playing-indicator{align-items:center;background:#4ade8026;border-radius:10px;color:#4ade80;display:flex;font-size:14px;gap:10px;justify-content:center;margin-bottom:20px;padding:12px}.pulse-dot{animation:pulse 1.5s ease infinite;background:#4ade80;border-radius:50%;height:10px;width:10px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.modal-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.modal-form .form-field{display:flex;flex-direction:column;gap:6px}.modal-form .form-field label{color:#ffffffb3;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.modal-form .form-field input{background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;font-size:18px;padding:16px}.modal-form .form-field input:focus{background:#ffffff26;border-color:#e94560;outline:none}.modal-form .form-field input::placeholder{color:#ffffff4d}.modal-actions{display:flex;gap:12px}.skip-btn{background:#ffffff1a;border:none;border-radius:12px;color:#ffffffb3;cursor:pointer;flex:1 1;font-size:16px;padding:16px;transition:all .2s}.skip-btn:hover{background:#fff3;color:#fff}.submit-btn{background:linear-gradient(135deg,#e94560,#533483);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:2 1;font-size:16px;font-weight:600;padding:16px;transition:all .2s}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #e9456066;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.cheat-warning-overlay{align-items:center;animation:cheatFadeIn .3s ease;background:#dc3545f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes cheatFadeIn{0%{opacity:0}to{opacity:1}}.cheat-warning-modal{animation:cheatShake .5s ease;padding:40px;text-align:center}@keyframes cheatShake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}.cheat-warning-modal .warning-icon{animation:pulse 1s infinite;display:block;font-size:80px;margin-bottom:20px}.cheat-warning-modal h2{color:#fff;font-size:28px;letter-spacing:2px;margin:0 0 16px;text-transform:uppercase}.cheat-warning-modal p{color:#ffffffe6;font-size:18px;margin:0 0 8px}.cheat-warning-modal .warning-count{color:#fff;font-size:24px;font-weight:700;margin-top:16px}.tab-switch-count{background:#dc354533;border-radius:4px;color:#dc3545;font-size:11px;padding:4px 8px}.spotify-callback{align-items:center;background:linear-gradient(135deg,#1db954,#191414);display:flex;justify-content:center;min-height:100vh}.callback-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:3rem;text-align:center;width:90%}.callback-card h2{color:#333;margin:1rem 0 .5rem}.callback-card p{color:#666;margin-bottom:1.5rem}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1db954;height:50px;margin:0 auto;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.success-icon{animation:scaleIn .3s ease-out;background:#1db954}.error-icon,.success-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto;width:60px}.error-icon{background:#e74c3c}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.callback-card button{background:#1db954;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:background .2s}.callback-card button:hover{background:#1ed760}:root{--primary:#667eea;--primary-dark:#764ba2;--success:#10b981;--warning:#fbbf24;--danger:#f56565;--info:#3b82f6;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-success:linear-gradient(135deg,#10b981,#059669)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9;background-color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;background:var(--gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--gray-400)}::selection{background:#667eea;background:var(--primary);color:#fff}
/*# sourceMappingURL=main.0f845188.css.map*/