:root{font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.bingo-generator-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#232a2d,#181818);overflow:hidden}.bingo-generator-container .generator-header{text-align:center;padding:1.5rem 2rem 1rem;flex-shrink:0}.bingo-generator-container .generator-header .generator-title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:2.5rem;font-weight:900;color:#1db954;margin:0 0 .5rem;letter-spacing:2px;font-family:Circular,Roboto,Arial,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.6666666667);text-transform:uppercase}.bingo-generator-container .generator-header .generator-title .title-icon{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(29,185,84,.2))}.bingo-generator-container .generator-header .generator-subtitle{font-size:1.2rem;color:#b3b3b3;margin:0;font-weight:400;letter-spacing:.5px}.bingo-generator-container .bingo-generator-layout{display:flex;flex:1;height:calc(100vh - 140px);overflow:hidden;padding:0 2rem 2rem;gap:2rem}.bingo-generator-container .bingo-generator-layout .config-panel{width:40%;flex-shrink:0;overflow-y:auto;padding-right:1rem}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiOutlinedInput-root{background:#282c32cc;border-radius:12px;color:#fff}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#1db95444}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#1db954}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#1db954;border-width:2px}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiInputLabel-root{color:#b3b3b3}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiInputLabel-root.Mui-focused{color:#1db954}.bingo-generator-container .bingo-generator-layout .config-panel .MuiTextField-root .MuiFormHelperText-root{color:#8a8a8a}.bingo-generator-container .bingo-generator-layout .config-panel .MuiPaper-root{background:linear-gradient(135deg,#232a2d,#181818)!important;border:1.5px solid #232a2d!important;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiPaper-root .MuiTypography-root{color:#fff}.bingo-generator-container .bingo-generator-layout .config-panel .MuiPaper-root .MuiTypography-root.MuiTypography-body2{color:#b3b3b3}.bingo-generator-container .bingo-generator-layout .config-panel .MuiPaper-root .MuiTypography-root.MuiTypography-h6{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.3rem!important;font-weight:700!important;color:#1db954!important;margin-bottom:1.5rem!important;letter-spacing:2px!important;text-shadow:0 2px 8px rgba(0,0,0,.6666666667)!important;text-transform:uppercase!important;font-family:Circular,Roboto,Arial,sans-serif!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiButton-root{background:linear-gradient(90deg,#1db954,#1ed760)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important;font-size:1.1rem!important;letter-spacing:1px!important;text-transform:uppercase!important;padding:1rem 3rem!important;box-shadow:0 4px 24px #1db95433!important;border:none!important;transition:all .2s ease!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiButton-root:hover{background:linear-gradient(90deg,#1ed760,#1db954)!important;box-shadow:0 6px 32px #1db95444!important;transform:scale(1.02)!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiButton-root:disabled{background:#282c3299!important;color:#666!important;transform:none!important;box-shadow:none!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiAlert-root{border-radius:12px!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiAlert-root.MuiAlert-standardError{background:#ff6b6b1a!important;border:1px solid #ff6b6b!important;color:#ff6b6b!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiAlert-root.MuiAlert-standardError .MuiAlert-icon{color:#ff6b6b!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiAlert-root.MuiAlert-standardWarning{background:#ffc1071a!important;border:1px solid #ffc107!important;color:#ffc107!important}.bingo-generator-container .bingo-generator-layout .config-panel .MuiAlert-root.MuiAlert-standardWarning .MuiAlert-icon{color:#ffc107!important}.bingo-generator-container .bingo-generator-layout .cards-panel{width:60%;display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:18cm;background:linear-gradient(135deg,#232a2d,#181818);border-radius:24px;border:1.5px solid #232a2d;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-panel-header{flex-shrink:0;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(29,185,84,.2666666667);margin-bottom:1rem}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-panel-header .MuiTypography-h6{display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;font-size:1.3rem!important;font-weight:700!important;color:#1db954!important;margin-bottom:1rem!important;letter-spacing:2px!important;text-shadow:0 2px 8px rgba(0,0,0,.6666666667)!important;text-transform:uppercase!important;font-family:Circular,Roboto,Arial,sans-serif!important}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 2rem 2rem}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area::-webkit-scrollbar{width:12px}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area::-webkit-scrollbar-track{background:#282c324d;border-radius:6px}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#1db954,#1ed760);border-radius:6px}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#1ed760,#1db954)}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area .preview-card{width:100%;display:flex;justify-content:center;padding:1.5rem 0;margin-bottom:2rem}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area .preview-card:last-child{margin-bottom:4rem}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;border:2px dashed rgba(29,185,84,.2666666667);border-radius:16px;margin:2rem 0;background:#1db9540d;transition:all .3s ease}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area .empty-state .empty-icon{font-size:3rem;color:#1db954;opacity:.7;margin-bottom:1rem;filter:drop-shadow(0 2px 4px rgba(29,185,84,.2));animation:float 3s ease-in-out infinite}.bingo-generator-container .bingo-generator-layout .cards-panel .cards-scroll-area .empty-state .MuiTypography-root{color:#b3b3b3!important;text-align:center!important;max-width:300px;line-height:1.4}.bingo-card{width:17cm;height:auto;min-height:300px;border:2px solid rgba(29,185,84,.2666666667);background:#fff;padding:.3cm;box-sizing:border-box;box-shadow:0 8px 24px #000a,0 2px 8px #1db95422;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,outline-color .2s ease;margin:0 auto;outline:2px solid #1db954;outline-offset:8px}.bingo-card:hover{transform:scale(1.02);box-shadow:0 12px 32px #000c,0 4px 12px #1db95433;outline-color:#1ed760}.bingo-card .card-header{height:.8cm;display:flex;justify-content:space-between;align-items:center;margin-bottom:.3cm;border-bottom:2px solid #1db954;background:linear-gradient(90deg,rgba(29,185,84,.0666666667) 0%,transparent 100%);padding:0 .3cm;flex-shrink:0}.bingo-card .card-header .card-title{font-size:1.1rem;font-weight:700;color:#1db954}.bingo-card .card-header .card-number{font-size:.9rem;font-style:italic;color:#666;font-weight:600}.bingo-card .card-grid{flex:1;display:grid;gap:.15cm;padding:0;box-sizing:border-box;aspect-ratio:auto}.bingo-card .card-grid .grid-cell{border:1px solid #333;background:#fff;padding:.15cm;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 1px 3px #0000001a;width:100%;height:100%;min-height:100px;max-height:100px;min-width:0}.bingo-card .card-grid .grid-cell.has-song .song-title{font-weight:700;text-align:center;font-size:9pt;line-height:1.1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.1cm;height:35px;max-height:35px;min-height:35px;display:flex;align-items:center;justify-content:center}.bingo-card .card-grid .grid-cell.has-song .song-artist{text-align:center;font-size:8pt;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#555;margin-bottom:.1cm;height:14px;line-height:14px;flex-shrink:0}.bingo-card .card-grid .grid-cell.has-song .song-info{display:flex;justify-content:space-between;align-items:center;font-size:7pt;color:#666;border-top:1px solid #eee;padding-top:.05cm;margin-top:auto;height:14px;flex-shrink:0}.bingo-card .card-grid .grid-cell.has-song .song-info .song-year{margin:0}.bingo-card .card-grid .grid-cell.has-song .song-info .internal-number{font-weight:700;color:#444}.bingo-card .card-grid .grid-cell.empty{background:#f9f9f9;border-style:dashed;border-color:#ddd;min-height:100px;max-height:100px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width: 1024px){.bingo-generator-container .bingo-generator-layout{flex-direction:column;height:auto}.bingo-generator-container .bingo-generator-layout .config-panel{width:100%;max-height:none;margin-bottom:2rem;padding-right:0}.bingo-generator-container .bingo-generator-layout .cards-panel{width:100%;height:60vh;min-width:auto}.bingo-card{width:100%;max-width:17cm}.bingo-card .card-grid .grid-cell{min-height:85px;max-height:85px}.bingo-card .card-grid .grid-cell.has-song .song-title{font-size:8pt;height:30px;max-height:30px;min-height:30px}.bingo-card .card-grid .grid-cell.has-song .song-artist{font-size:7pt;height:12px;line-height:12px}.bingo-card .card-grid .grid-cell.has-song .song-info{font-size:6pt;height:12px}.bingo-card .card-grid .grid-cell.empty{min-height:85px;max-height:85px}}@media screen and (max-width: 768px){.bingo-generator-container .generator-header{padding:1rem}.bingo-generator-container .generator-header .generator-title{font-size:2rem}.bingo-generator-container .generator-header .generator-subtitle{font-size:1rem}.bingo-generator-container .bingo-generator-layout{padding:0 1rem 1rem}.bingo-generator-container .bingo-generator-layout .cards-panel{height:50vh}.bingo-card{width:100%;max-width:calc(100vw - 2rem)}.bingo-card .card-header .card-title{font-size:.9rem}.bingo-card .card-grid{gap:.1cm}.bingo-card .card-grid .grid-cell{padding:.15cm;min-height:75px;max-height:75px}.bingo-card .card-grid .grid-cell.has-song .song-title{font-size:7pt;height:28px;max-height:28px;min-height:28px}.bingo-card .card-grid .grid-cell.has-song .song-artist{font-size:6pt;height:11px;line-height:11px}.bingo-card .card-grid .grid-cell.has-song .song-info{font-size:5pt;height:11px}.bingo-card .card-grid .grid-cell.empty{min-height:75px;max-height:75px}}@media print{body *{visibility:hidden!important}.cards-scroll-area,.cards-scroll-area *{visibility:visible!important}.generator-header,.config-panel,.cards-panel-header{display:none!important}@page{size:A4;margin:1cm}body{margin:0!important;padding:0!important;background:#fff!important;font-family:Arial,sans-serif!important}.cards-scroll-area{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important;background:#fff!important;z-index:9999!important;display:block!important;padding:0!important;margin:0!important;overflow:visible!important}.preview-card{page-break-inside:avoid!important;break-inside:avoid!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0 0 1cm!important;width:100%!important;height:auto!important;display:block!important}.preview-card:last-child{margin-bottom:0!important}.bingo-card{width:17cm!important;height:auto!important;min-height:0!important;border:2px solid black!important;border-radius:0!important;box-shadow:none!important;transform:none!important;transition:none!important;padding:.3cm!important;background:#fff!important;margin:0 auto!important;outline:none!important;outline-offset:0!important}.bingo-card .card-header{height:.8cm!important;border-bottom:2px solid black!important;background:transparent!important;padding:0 .3cm!important;margin-bottom:.2cm!important}.bingo-card .card-header .card-title{color:#000!important;font-size:1.1rem!important;font-weight:700!important}.bingo-card .card-header .card-number{color:#000!important;font-size:1rem!important}.bingo-card .card-grid{gap:.15cm!important;grid-template-rows:repeat(var(--rows),1fr)!important}.bingo-card .card-grid .grid-cell{border:1px solid black!important;background:#fff!important;box-shadow:none!important;padding:.15cm!important;height:2.5cm!important;min-height:2.5cm!important;max-height:2.5cm!important}.bingo-card .card-grid .grid-cell.has-song .song-title{font-size:10pt!important;color:#000!important;line-height:1.1!important}.bingo-card .card-grid .grid-cell.has-song .song-artist{font-size:9pt!important;color:#000!important}.bingo-card .card-grid .grid-cell.has-song .song-info{font-size:8pt!important;color:#000!important;border-top:1px solid black!important}.bingo-card .card-grid .grid-cell.has-song .song-info .song-year,.bingo-card .card-grid .grid-cell.has-song .song-info .internal-number{color:#000!important}.bingo-card .card-grid .grid-cell.empty{background:#fff!important;border:1px dashed black!important}*{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.spotify-player{width:100%;background:#282c32cc;border-radius:16px;padding:1rem;border:1px solid rgba(29,185,84,.2666666667);box-shadow:0 4px 16px #000a;margin-top:1rem}.spotify-player .player-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.8rem}.spotify-player .player-controls .play-pause-btn{background:linear-gradient(135deg,#1db954,#1ed760)!important;color:#fff!important;width:56px!important;height:56px!important;transition:all .2s ease!important;box-shadow:0 4px 16px #1db95433}.spotify-player .player-controls .play-pause-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #1db95444}.spotify-player .player-controls .play-pause-btn:disabled{background:#282c3280!important;color:#666!important;box-shadow:none}.spotify-player .player-controls .play-pause-btn.playing{animation:playing-pulse 2s ease-in-out infinite}.spotify-player .player-controls .play-pause-btn .MuiSvgIcon-root{font-size:2rem}.spotify-player .player-controls .volume-control{position:relative;display:flex;align-items:center}.spotify-player .player-controls .volume-control .volume-btn{background:#1db9541a!important;color:#1db954!important;width:40px!important;height:40px!important;transition:all .2s ease!important}.spotify-player .player-controls .volume-control .volume-btn:hover{background:#1db95433!important;transform:scale(1.05)}.spotify-player .player-controls .volume-control .volume-btn .MuiSvgIcon-root{font-size:1.2rem}.spotify-player .player-controls .volume-control .volume-slider{position:absolute;left:50px;top:50%;transform:translateY(-50%);width:80px;background:#282c32e6;padding:.5rem;border-radius:8px;border:1px solid rgba(29,185,84,.2666666667);box-shadow:0 4px 12px #000a;z-index:10}.spotify-player .player-controls .volume-control .volume-slider .volume-slider-input .MuiSlider-track{background:linear-gradient(90deg,#1db954,#1ed760);border:none}.spotify-player .player-controls .volume-control .volume-slider .volume-slider-input .MuiSlider-thumb{background:#1db954;width:16px;height:16px}.spotify-player .player-controls .volume-control .volume-slider .volume-slider-input .MuiSlider-thumb:hover{box-shadow:0 0 0 8px #1db95429}.spotify-player .player-controls .volume-control .volume-slider .volume-slider-input .MuiSlider-rail{background:#232a2d}.spotify-player .progress-section .progress-bar{margin-bottom:.5rem}.spotify-player .progress-section .progress-bar .progress-slider .MuiSlider-track{background:linear-gradient(90deg,#1db954,#1ed760);border:none;height:6px}.spotify-player .progress-section .progress-bar .progress-slider .MuiSlider-thumb{background:#1db954;width:18px;height:18px}.spotify-player .progress-section .progress-bar .progress-slider .MuiSlider-thumb:hover{box-shadow:0 0 0 8px #1db95429}.spotify-player .progress-section .progress-bar .progress-slider .MuiSlider-thumb.Mui-focusVisible{box-shadow:0 0 0 8px #1db9544d}.spotify-player .progress-section .progress-bar .progress-slider .MuiSlider-rail{background:#232a2d;height:6px}.spotify-player .progress-section .time-display{display:flex;justify-content:space-between;align-items:center}.spotify-player .progress-section .time-display .time-current,.spotify-player .progress-section .time-display .time-duration{color:#b3b3b3;font-size:.8rem;font-weight:500;font-family:Roboto Mono,monospace}.spotify-player .progress-section .time-display .time-current{color:#1db954}.spotify-player .player-status{text-align:center;padding:.5rem}.spotify-player .player-status .status-text{color:#b3b3b3;font-style:italic;display:block;margin-bottom:.25rem}.spotify-player .player-status .status-subtext{color:#888;font-size:.7rem;display:block}@keyframes playing-pulse{0%{box-shadow:0 4px 16px #1db95433}50%{box-shadow:0 4px 20px #1db95455,0 0 20px #1db95433}to{box-shadow:0 4px 16px #1db95433}}.bingo-game{padding:0;max-width:none;width:100vw;height:100vh;min-height:100vh;max-height:100vh;max-width:100vw;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;box-sizing:border-box;overflow:hidden}.bingo-game-grid{display:grid;grid-template-columns:.2fr 1fr .3fr;grid-template-rows:1fr;width:100vw;height:100vh;max-height:100vh;background:#fafbfc;gap:2rem;box-sizing:border-box;padding:80px 2rem 0}.bingo-game-grid-2col{display:grid;grid-template-columns:.5fr .5fr;grid-template-rows:1fr;width:100vw;height:100vh;max-height:100vh;background:linear-gradient(120deg,#121212,#181818);gap:2.5rem;box-sizing:border-box;padding:80px 2rem 2rem;overflow:hidden;font-family:Circular,Roboto,Arial,sans-serif}.bingo-last-songs{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:none}.bingo-last-songs-title{font-size:1.2rem;font-weight:700;color:#1db954;margin-bottom:1.2rem;letter-spacing:1px}.bingo-last-songs-list{display:flex;flex-direction:column;gap:1.2rem;width:100%;align-items:center}.bingo-last-song-card{background:#f8f9fa;border:2px solid rgba(29,185,84,.2);border-radius:12px;box-shadow:0 2px 8px #1eb95412;padding:1rem 1.2rem;min-width:160px;max-width:220px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem}.bingo-song-number{color:#1db954;font-weight:700;font-size:1.1rem}.bingo-song-title{font-weight:700;color:#fff;font-size:1.08rem;letter-spacing:-.5px}.bingo-song-artist{color:#b3b3b3;font-size:.98rem}.bingo-song-year{color:#7e8a99;font-size:.95rem}.bingo-current-song{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;background:linear-gradient(135deg,#232a2d,#181818);border-radius:24px;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset;padding:2rem;min-width:0;overflow:visible!important;border:1.5px solid #232a2d;position:relative;transition:all .3s ease}.bingo-current-song.has-active-song{border-color:#1db954;box-shadow:0 8px 32px #000a,0 2px #1db954 inset,0 0 20px #1db95433;animation:gentle-pulse 3s ease-in-out infinite}.bingo-current-song .bingo-current-header{width:100%;margin-bottom:2rem}.bingo-current-song .bingo-current-header .bingo-current-title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.3rem;font-weight:700;color:#1db954;margin-bottom:1rem;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.6666666667);text-transform:uppercase}.bingo-current-song .bingo-current-header .bingo-current-title .title-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(29,185,84,.2))}.bingo-current-song .bingo-current-header .restored-message{background:#1db9541a;color:#1db954;font-size:.8rem;font-weight:600;padding:.5rem 1rem;border-radius:12px;border:1px solid rgba(29,185,84,.2666666667);text-align:center;margin-bottom:.5rem;animation:fade-in .5s ease}.bingo-current-song .bingo-current-header .bingo-current-progress{display:flex;flex-direction:column;align-items:center;gap:.5rem}.bingo-current-song .bingo-current-header .bingo-current-progress .progress-icon{color:#b3b3b3;font-size:1.2rem}.bingo-current-song .bingo-current-header .bingo-current-progress .progress-text{color:#b3b3b3;font-size:.9rem;font-weight:500;letter-spacing:.5px}.bingo-current-song .bingo-current-header .bingo-current-progress .progress-bar{width:100%;height:6px;background:#232a2d;border-radius:3px;overflow:hidden;box-shadow:inset 0 1px 3px #000a}.bingo-current-song .bingo-current-header .bingo-current-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#1db954,#1ed760);border-radius:3px;transition:width .4s ease;box-shadow:0 0 8px #1db95433}.bingo-current-song .bingo-current-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1;z-index:2}.bingo-current-song .bingo-current-content .bingo-current-number-badge{position:absolute;top:0;right:0;background:linear-gradient(135deg,#1db954,#1ed760);color:#fff;font-size:1.8rem;font-weight:900;padding:.8rem 1.2rem;border-radius:20px;box-shadow:0 4px 16px #1db95433,0 0 20px #1db95422;border:2px solid #1db954;letter-spacing:-1px;animation:badge-glow 3s ease-in-out infinite;z-index:10}.bingo-current-song .bingo-current-content .bingo-current-info{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;margin-top:2rem}.bingo-current-name{display:flex;align-items:center;justify-content:center;gap:.8rem;font-size:2.8rem;font-weight:900;color:#fff;text-align:center;text-shadow:0 4px 32px rgba(29,185,84,.2),0 1px 0 rgba(0,0,0,.6666666667);letter-spacing:-1.5px;background:radial-gradient(circle at 50% 60%,rgba(29,185,84,.1333333333) 0%,transparent 70%);border-radius:1.5rem;padding:.5rem 2rem;position:relative;transition:all .3s ease}.bingo-current-name .info-icon{font-size:2rem;color:#1db954;filter:drop-shadow(0 2px 8px rgba(29,185,84,.2));animation:icon-glow 2s ease-in-out infinite alternate}.bingo-current-artist{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.5rem;color:#eaf6ff;text-align:center;font-weight:700;letter-spacing:.5px;transition:all .3s ease}.bingo-current-artist .info-icon{font-size:1.3rem;color:#b3b3b3;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6666666667))}.bingo-current-year{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.2rem;color:#1db954;font-style:normal;text-align:center;font-weight:700;letter-spacing:1px;transition:all .3s ease}.bingo-current-year .info-icon{font-size:1.1rem;color:#1db954;filter:drop-shadow(0 1px 4px rgba(29,185,84,.2))}.bingo-current-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#7e8a99;font-size:1.2rem;text-align:center;padding:2rem;border:2px dashed #232a2d;border-radius:16px;background:#7e8a990d;transition:all .3s ease}.bingo-current-placeholder .placeholder-icon{font-size:3rem;color:#232a2d;opacity:.7;animation:float 3s ease-in-out infinite}.bingo-current-placeholder span{max-width:300px;line-height:1.4}.bingo-current-btn-container{width:100%;margin-top:auto;padding-top:2rem;z-index:2;display:flex;flex-direction:column;align-items:center}.bingo-current-btn-container .buttons-row{display:flex;gap:1rem;align-items:center;width:100%}.bingo-current-btn-container .restart-btn{background:#282c32cc!important;color:#b3b3b3!important;border:2px solid #232a2d!important;border-radius:50%!important;width:56px!important;height:56px!important;flex-shrink:0;transition:all .2s ease!important}.bingo-current-btn-container .restart-btn:hover{background:#1db9541a!important;color:#1db954!important;border-color:#1db954!important;transform:scale(1.05)!important}.bingo-current-btn-container .restart-btn:disabled{background:#282c324d!important;color:#4a4a4a!important;border-color:#2a2a2a!important}.bingo-current-btn-container .restart-btn.confirming{background:#ff980033!important;color:#ff9800!important;border-color:#ff9800!important;animation:confirm-pulse 1s ease-in-out infinite}.bingo-current-btn-container .restart-btn.confirming:hover{background:#ff98004d!important;color:#ffb74d!important;border-color:#ffb74d!important}.bingo-current-btn-container .restart-btn .MuiSvgIcon-root{font-size:1.5rem}.bingo-history{display:flex;flex-direction:column;align-items:center;height:100%;background:linear-gradient(135deg,#232a2d,#181818);padding:2em;border-radius:24px;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset;border:1.5px solid #232a2d;overflow:hidden}.bingo-history-title{font-size:1.2rem;font-weight:700;color:#1db954;margin-bottom:1.2rem;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.6666666667);text-transform:uppercase}.bingo-history-list{width:100%;flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;align-items:center;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:#1db954 transparent}.bingo-history-list::-webkit-scrollbar{width:8px;background:transparent}.bingo-history-list::-webkit-scrollbar-thumb{background:#1db954;border-radius:8px;border:none}.bingo-history-list::-webkit-scrollbar-track{background:transparent}.bingo-history-item{background:#282c32f2;border-radius:16px;padding:.7rem 1rem;width:97%;text-align:left;box-shadow:0 1px 4px #1db95411;border:1.5px solid transparent;transition:background .2s,border .2s;color:#eaf6ff;font-family:Circular,Roboto,Arial,sans-serif;display:flex;align-items:center;min-height:48px}.bingo-history-item-latest{background:linear-gradient(90deg,#1db95433,#23272b);border:1.5px solid rgba(29,185,84,.6);color:#fff}.bingo-history-row{display:grid;grid-template-columns:auto auto .6fr .4fr auto auto;justify-content:space-around;align-items:center;width:100%;gap:1rem}.bingo-history-sort-number{font-weight:900;color:#1db954;font-size:1.2rem;text-align:right}.bingo-song-number{color:#1db954;font-weight:700;font-size:1.2rem;text-align:right}.bingo-song-title{font-weight:700;color:#fff;font-size:1.2rem;letter-spacing:-.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bingo-song-artist{color:#b3b3b3;font-size:1.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bingo-song-year{color:#7e8a99;font-size:1.2rem;text-align:right}.draw-button{display:block;margin:1.2rem auto;padding:1rem 2.5rem;font-size:1.3rem;background-color:#1db954;border-radius:8px;font-weight:700;letter-spacing:1px;box-shadow:0 2px 8px #1eb9541a;transition:background .2s,box-shadow .2s}.draw-button:hover{background-color:#1ed760;box-shadow:0 4px 16px #1eb95421}.drawn-songs{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;padding:1.2rem .7rem;height:100%;overflow:hidden}.drawn-songs h5,.drawn-songs .MuiTypography-h5{margin-bottom:1.2rem;color:#1db954;font-weight:700}.drawn-songs .songs-list{width:100%;height:100%;max-height:100%;overflow-y:auto;padding:.2rem .2rem 0}.drawn-songs .MuiBox-root{flex-direction:column!important;align-items:center!important;margin-bottom:1.5rem!important;padding:.7rem .5rem!important;width:100%!important}.drawn-songs .MuiTypography-root{text-align:center}.app-header{background:#121212!important;box-shadow:0 2px 12px #000a;border-bottom:1.5px solid #232a2d;padding:.5rem 0!important;margin-bottom:1.2rem}.app-title{color:#1db954!important;font-family:Circular,Roboto,Arial,sans-serif;font-size:2rem!important;font-weight:900!important;letter-spacing:-1px;margin:0!important}.main-nav .MuiTabs-root{background:transparent!important}.main-nav .MuiTab-root{color:#b3b3b3!important;font-weight:700!important;font-size:1.1rem!important;text-transform:uppercase;letter-spacing:1px;border-radius:999px!important;min-height:0!important;padding:.5rem 1.5rem!important;transition:background .2s,color .2s}.main-nav .MuiTab-root.Mui-selected{color:#fff!important;background:linear-gradient(90deg,#1db954,#1ed760)!important;box-shadow:0 2px 8px #1db95433}.main-nav .MuiTab-root:hover{background:#232a2d!important;color:#1db954!important}@keyframes gentle-pulse{0%,to{box-shadow:0 8px 32px #000a,0 2px #1db954 inset,0 0 20px #1db95433}50%{box-shadow:0 8px 32px #000a,0 2px #1db954 inset,0 0 30px #1db95455}}@keyframes icon-glow{0%{filter:drop-shadow(0 2px 8px rgba(29,185,84,.2))}to{filter:drop-shadow(0 2px 12px rgba(29,185,84,.4))}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-glow{0%{box-shadow:0 4px 16px #1db95433,0 0 20px #1db95422}50%{box-shadow:0 4px 16px #1db95433,0 0 30px #1db95455}to{box-shadow:0 4px 16px #1db95433,0 0 20px #1db95422}}@keyframes confirm-pulse{0%{box-shadow:0 0 #ff980066}50%{box-shadow:0 0 0 8px #ff980000}to{box-shadow:0 0 #ff980000}}.bingo-current-btn{flex:1;min-width:0;font-size:1.2rem;font-weight:700;border-radius:999px;letter-spacing:1px;background:linear-gradient(90deg,#1db954,#1ed760)!important;color:#fff!important;box-shadow:0 2px 16px #1db95433;border:none;padding:1.2rem 2rem;transition:background .2s,box-shadow .2s,transform .1s;text-transform:uppercase}.bingo-current-btn:hover{background:linear-gradient(90deg,#1ed760,#1db954)!important;box-shadow:0 4px 24px #1db95444;transform:scale(1.02)}.spotify-auth{padding:2rem;max-width:600px!important;margin:2rem auto!important;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.spotify-auth .title{color:#1db954;margin-bottom:2rem;text-align:center;font-weight:600}.spotify-auth .auth-form{display:flex;flex-direction:column;gap:1.5rem}.spotify-auth .auth-form .input{margin-bottom:.5rem}.spotify-auth .auth-form .error-message{padding:1rem;background-color:#ff00001a;border-radius:8px;margin:1rem 0}.spotify-auth .auth-form .status-message{padding:1rem;background-color:#1db9541a;border-radius:8px;margin:1rem 0;text-align:center}.spotify-auth .auth-form .auth-button{background-color:#1db954;color:#fff;padding:1rem;font-size:1.1rem;font-weight:600;text-transform:none;border-radius:25px;margin-top:1rem}.spotify-auth .auth-form .auth-button:hover{background-color:#1ed760}.spotify-auth .auth-form .auth-button:disabled{background-color:#1db95480}.spotify-login-bg{min-height:100vh;width:100vw;background:linear-gradient(135deg,#232a2d,#181818);display:flex;align-items:center;justify-content:center}.spotify-login-panel{background:linear-gradient(135deg,#232a2d,#181818);border-radius:16px;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset;padding:3rem 2.5rem 2.5rem;min-width:400px;max-width:540px;width:90vw;display:flex;flex-direction:column;align-items:center;justify-content:center}.spotify-login-title{color:#1db954;font-weight:900;margin-bottom:1.5rem;font-family:Circular,Roboto,Arial,sans-serif;letter-spacing:-1px;text-align:center}.spotify-login-desc{color:#fff;margin-bottom:3rem;text-align:center;font-weight:400;font-size:1.1rem;line-height:1.4}.spotify-login-form{width:100%;max-width:450px;display:flex;flex-direction:column;gap:2rem;align-items:center}html,body{margin:0;padding:0;height:100vh;max-height:100vh;overflow:hidden;background:#f8f9fa;font-family:Poppins,sans-serif;border:none!important;border-bottom:none!important}body{margin:0;padding:0;background:#f8f9fa;font-family:Poppins,sans-serif;border:none!important;border-bottom:none!important}.MuiTabs-root,.MuiTab-root,.MuiTabs-flexContainer,.MuiTabs-scroller,header,main,.app-header{border-bottom:none!important}.app{min-height:100vh;max-height:100vh;height:100vh;display:flex;flex-direction:column;border:none!important;border-bottom:none!important;overflow:hidden}.app .title{text-align:center;margin-bottom:2rem;color:#333}.app .tabs-container{margin-bottom:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.app .content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-height:500px}.app main{border:none!important;border-bottom:none!important;flex:1;overflow:hidden}.songs-list-root{width:100vw;height:100vh;max-height:100vh;margin:0;max-width:none;padding:80px 2vw 2em;box-sizing:border-box;display:flex;flex-direction:column;background:linear-gradient(135deg,#232a2d,#181818);border-radius:0;box-shadow:0 8px 32px #000a,0 1.5px #1db95444 inset;overflow:hidden}.songs-list-root .songs-list-header{text-align:center;padding:2rem 2rem 1rem;margin-bottom:1rem}.songs-list-root .songs-list-header .songs-list-title{font-size:2.5rem;font-weight:900;color:#1db954;margin:0 0 .5rem;letter-spacing:-1px;font-family:Circular,Roboto,Arial,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.6666666667)}.songs-list-root .songs-list-header .songs-list-subtitle{font-size:1.2rem;color:#b3b3b3;margin:0;font-weight:400;letter-spacing:.5px}.songs-list-list{flex:1 1 auto;max-height:100%;overflow-y:auto;width:100%;display:flex;flex-direction:column;gap:.7rem;align-items:center;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:#1db954 transparent}.songs-list-list::-webkit-scrollbar{width:8px;background:transparent}.songs-list-list::-webkit-scrollbar-thumb{background:#1db954;border-radius:8px;border:none}.songs-list-list::-webkit-scrollbar-track{background:transparent}.songs-list-item{background:#282c32f2;border-radius:8px;padding:.7rem 1rem;width:97%;text-align:left;box-shadow:0 1px 4px #1db95411;border:1.5px solid transparent;transition:background .2s,border .2s;color:#eaf6ff;font-family:Circular,Roboto,Arial,sans-serif;display:flex;align-items:center;min-height:48px}.songs-list-row{display:grid;grid-template-columns:auto auto .6fr .4fr auto auto;justify-content:space-around;align-items:center;width:100%;gap:1rem}.songs-list-number{font-weight:900;color:#1db954;font-size:1.2rem;text-align:right}.songs-list-title-cell{font-weight:700;color:#fff;font-size:1.2rem;letter-spacing:-.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.songs-list-artist{color:#b3b3b3;font-size:1.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.songs-list-year{color:#7e8a99;font-size:1.2rem;text-align:right}
