body.karaoke-app{overflow:hidden;height:100vh;position:fixed;width:100%;background:linear-gradient(135deg,#0a1f0f 0%,#1a2f1a 100%)}body.fullscreen{padding-bottom:70px}.logo #texte_Convo{display:none!important}.logo{padding-top:3rem!important;height:32px!important;overflow:hidden;box-sizing:border-box}.sticky .logo{padding-top:32px!important}@media screen and (min-width:1200px){.logo{padding-top:4rem!important;height:100px!important}.logo-image,.woocommerce-page .logo-image,.woocommerce .logo-image{height:100px!important}}@media screen and (max-width:1024px){.site-header{height:80px}.logo{padding-top:39px!important;left:0!important;transform:translateX(0)!important}.sticky .logo{padding-top:32px!important}.logo-image,.woocommerce-page .logo-image,.woocommerce .logo-image{height:60px!important}.header-container{max-width:100%}}@media screen and (max-width:768px){.logo{left:0!important;transform:translateX(0)!important}}.convo-app-wrapper.karaoke-app{text-align:center;max-width:850px;margin:0 auto;padding:150px 20px 30px;min-height:calc(100vh - 70px);display:flex;flex-direction:column;box-sizing:border-box}.header-icon-button{background:transparent;border:none;color:var(--text-color);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:all 0.3s ease;position:relative}.header-icon-button:hover,.header-icon-button:focus{color:#2d5f3f;transform:scale(1.1)}.header-icon-button svg{width:24px;height:24px}.header-icon-button.game-switch-link{background:#2d5f3f;border:2px solid #2d5f3f;border-radius:50%;width:28px;height:28px;padding:3px;box-sizing:border-box;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;margin-right:12px}.header-icon-button.game-switch-link svg{width:16px;height:16px;stroke:var(--text-color)}.header-icon-button.game-switch-link:hover{border:2px solid #FFF}.header-icon-button.game-switch-link:hover svg{stroke:#fff}.header-icon-button.fullscreen-link{background:#2d5f3f;background-size:14px;width:28px;height:28px;border:2px solid #2d5f3f;border-radius:50%;padding:3px;box-sizing:border-box;transition:all 0.3s ease;margin-left:5px}body.game-started .woo-icons .header-icon-button.fullscreen-link{gap:0}.header-icon-button.fullscreen-link:hover,.header-icon-button.fullscreen-link.active{border:2px solid #FFF;color:#FFF}.header-icon-button.fullscreen-link svg,.header-icon-button.fullscreen-link:active svg,.header-icon-button.fullscreen-link:focus svg,.header-icon-button.fullscreen-link:hover svg,.header-icon-button.fullscreen-link.active svg{stroke:#FFF}.header-icon-button.restart-link{background:#2d5f3f;background-image:url(/wp-content/themes/convojeu/assets/icons/icone_restart_blanc.svg);background-position:center;background-repeat:no-repeat;background-size:14px;width:28px;height:28px;border:2px solid #2d5f3f;border-radius:50%;padding:3px;box-sizing:border-box;transition:all 0.3s ease}.header-icon-button.restart-link:hover{border:2px solid #FFF;transform:rotate(-360deg);background-image:url(/wp-content/themes/convojeu/assets/icons/icone_restart_blanc.svg)}.header-icon-button.settings-link{background:#2d5f3f;background-image:url(/wp-content/themes/convojeu/assets/icons/icone_configuration_blanc.svg);background-position:center;background-repeat:no-repeat;background-size:14px;width:28px;height:28px;border:2px solid #2d5f3f;border-radius:50%;padding:3px;box-sizing:border-box;transition:all 0.3s ease}.header-icon-button.settings-link:hover{border:2px solid #FFF;background-image:url(/wp-content/themes/convojeu/assets/icons/icone_configuration_blanc.svg)}body:not(.game-started) .settings-link{display:none!important}body:not(.game-started) .woo-icons{display:flex;gap:12px;align-items:center}body.game-started .woo-icons,body.woocommerce-dashboard .woo-icons,body.woocommerce-account .woo-icons{gap:12px}body.logged-in .woo-icons .account-link{background-color:#2d5f3f;border:2px solid #2d5f3f}body.logged-in .woo-icons .account-link svg{color:#FFF}body.logged-in .woo-icons .account-link:hover{background-color:#2d5f3f;border:2px solid #FFF}body.logged-in .woo-icons .account-link:hover svg{color:#FFF}body:not(.game-started) .settings-link{opacity:0;visibility:hidden;pointer-events:none;width:0;height:0;overflow:hidden}@media screen and (max-width:768px){.header-icon-button svg{width:22px;height:22px}.header-icon-button.settings-link{display:flex!important}.singer-input-with-lang{flex-direction:row;align-items:center;gap:8px}.singer-language-buttons{justify-content:flex-end;width:auto;flex-shrink:0}.singer-lang-btn{flex:0 0 auto;min-width:40px!important;height:51px!important;font-size:13px!important}.singer-input-with-lang .input-with-keyboard{flex:1;min-width:0}}.singers-setup-screen{border-radius:20px;padding:40px 30px;color:var(--text-color)}.selection-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:30px;text-align:center}.selection-subtitle{font-size:16px;color:#FFF;margin-top:0;margin-bottom:30px;text-align:center}.singers-count-selector{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.singers-count-btn,.songs-count-btn{min-width:50px;height:50px;border:2px solid rgba(45,95,63,.5);background:rgba(26,47,26,.6);border-radius:12px;font-size:18px;font-weight:600;color:var(--text-color);cursor:pointer;transition:all 0.3s ease;position:relative}.singers-count-btn:hover,.songs-count-btn:hover{border-color:#2d5f3f;background:rgba(45,95,63,.4);box-shadow:0 5px 15px rgba(45,95,63,.3)}.singers-count-btn.selected,.songs-count-btn.selected{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}.singers-count-btn.selected:hover,.songs-count-btn.selected:hover,.language-btn.selected:hover{border-color:#FFFFFF!important}.singers-count-btn::before,.songs-count-btn::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.singers-count-btn.selected::before,.songs-count-btn.selected::before{opacity:1}.singers-names-form{margin-bottom:30px}.form-label,.songs-count-label,.language-selection-label{font-size:16px;color:var(--text-color);margin-bottom:15px;display:block}.singers-inputs-container{display:flex;flex-direction:column;gap:15px}.singer-input-group{display:flex;flex-direction:column;gap:5px}.singer-input-group label{display:none}.singer-input-with-lang{display:flex;align-items:center;gap:10px}.singer-name-input{flex:1;padding:12px 15px!important;border:2px solid rgba(45,95,63,.5)!important;background:rgba(26,47,26,.6)!important;border-radius:10px!important;font-size:16px;transition:all 0.3s ease;color:var(--text-color)!important}.singer-name-input::placeholder{color:rgba(232,245,233,.5)}.singer-name-input:focus{outline:none;border-color:#2d5f3f!important;background:rgba(45,95,63,.3)!important;box-shadow:0 0 15px rgba(45,95,63,.3);color:var(--text-color)!important}.singer-language-buttons{display:flex;gap:6px;flex-shrink:0}.singer-lang-btn{min-width:51px;height:51px;border:2px solid rgba(45,95,63,.5);background:rgba(26,47,26,.6);border-radius:10px;font-size:14px;font-weight:700;color:var(--text-color);cursor:pointer;transition:all 0.3s ease;position:relative;display:flex;align-items:center;justify-content:center}.singer-lang-btn:hover{border-color:#2d5f3f;background:rgba(45,95,63,.4);box-shadow:0 5px 15px rgba(45,95,63,.3)}.singer-lang-btn.selected{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}.singer-lang-btn.selected:hover{border-color:#FFFFFF!important}.singer-lang-btn::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.singer-lang-btn.selected::before{opacity:1}.songs-count-section{margin-bottom:30px}.songs-count-selector{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.language-selection-section{margin-bottom:30px}.language-selection-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:10px}.language-btn{flex:1;max-width:200px;padding:15px 20px;border:2px solid rgba(45,95,63,.5);background:rgba(26,47,26,.6);border-radius:12px;font-size:16px;font-weight:600;color:var(--text-color);cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.language-btn:hover{border-color:#2d5f3f;background:rgba(45,95,63,.4);box-shadow:0 5px 15px rgba(45,95,63,.3)}.language-btn.selected{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}.language-btn::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.language-btn.selected::before{opacity:1}.language-hint{font-size:13px;color:#FFF;text-align:center;font-style:italic}.spotify-connection-inline{margin-top:15px;margin-bottom:20px}.spotify-status-inline{text-align:center}.spotify-connection-section{margin:20px 0;padding:20px;background:rgba(0,0,0,.2);border-radius:15px;border:1px solid rgba(45,95,63,.3)}.spotify-status{text-align:center}.spotify-connect-hint{font-size:16px;color:rgba(232,245,233,.8);margin:0 0 15px 0}.spotify-connect-button{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;font-size:15px;font-weight:600;color:#FFF;background:#1DB954;border:none;border-radius:50px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(29,185,84,.4)}.spotify-connect-button:hover{background:#1ed760;transform:scale(1.02);box-shadow:0 6px 20px rgba(29,185,84,.5)}.spotify-connect-button:active{transform:scale(.98)}.spotify-connect-button svg{flex-shrink:0}.spotify-connection-inline .spotify-connect-button{padding:15px 20px;gap:8px}.spotify-connection-inline .spotify-connect-button svg{width:18px;height:18px}.spotify-connected-info{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#3d7f5f;font-size:22px}.spotify-connected-info svg{flex-shrink:0}.spotify-disconnect-button{padding:6px 14px;font-size:13px;font-weight:500;color:rgba(232,245,233,.7);background:transparent;border:1px solid rgba(232,245,233,.3);border-radius:20px;cursor:pointer;transition:all 0.3s ease;margin-left:10px}.spotify-disconnect-button:hover{color:#FFF;border-color:rgba(232,245,233,.6);background:rgba(255,255,255,.1)}.spotify-free-warning{margin-top:15px;padding:12px 15px;background:rgba(230,126,34,.2);border:1px solid rgba(230,126,34,.4);border-radius:10px;text-align:center}.spotify-free-warning p{color:wheat;font-size:14px;margin:0}.spotify-free-warning .small-text{font-size:12px;opacity:.8;margin-top:5px}@media (max-width:768px){.spotify-connection-section{padding:15px}.spotify-connect-button{padding:12px 24px;font-size:15px}.spotify-connection-inline .spotify-connect-button{padding:10px 18px;font-size:13px;gap:6px}.spotify-connection-inline .spotify-connect-button svg{width:16px;height:16px}.spotify-connected-info{font-size:14px;flex-direction:column;gap:8px}.spotify-disconnect-button{margin-left:0}}.platform-selection-section{margin-bottom:30px;border-radius:15px}.platform-toggle-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.platform-selection-label{font-size:18px;font-weight:600;color:var(--text-color);margin:0;text-align:center}.platform-toggle-container{display:flex;gap:15px;justify-content:center;width:100%}.platform-toggle-btn{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 15px;background:rgba(26,47,26,.6);border:2px solid rgba(45,95,63,.5);border-radius:15px;color:rgba(232,245,233,.7);cursor:pointer;transition:all 0.3s ease;font-size:16px;font-weight:600;position:relative}.platform-toggle-btn svg{flex-shrink:0;opacity:.7;transition:opacity 0.3s ease}.platform-toggle-btn:hover{background:rgba(45,95,63,.4);border-color:#2d5f3f;box-shadow:0 5px 15px rgba(45,95,63,.3)}.platform-toggle-btn.active{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}.platform-toggle-btn.active svg{opacity:1}.platform-toggle-btn.active:hover{border-color:#FFF}.platform-toggle-btn::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.platform-toggle-btn.active::before{opacity:1}.platform-description{margin:20px 0;background:rgba(0,0,0,.2);border-radius:12px;border:1px solid rgba(45,95,63,.3)}.platform-desc-content{display:none;padding:25px 20px 0;border-radius:12px;text-align:center}.platform-desc-content.active{display:block;animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.platform-desc-title{font-size:18px;font-weight:700;color:var(--text-color);margin:0 0 10px 0}.platform-desc-text{font-size:20px;color:var(--text-color);line-height:1.8;font-weight:500;margin-top:0}.platform-hint{font-size:16px;margin:5px 0 0;font-weight:400}.songs-count-info{text-align:center;margin-bottom:20px}.songs-count-text{font-size:17px;color:#3d7f5f;font-weight:500;margin:0;padding:10px 20px;display:inline-block}.songs-count-text span{color:#3d7f5f;font-weight:700;font-size:20px}.songs-count-text em{font-size:14px;font-weight:400;margin:0;padding:0;display:inline-block}.songs-count-text .platform-separator{color:#3d7f5f;font-weight:500;font-size:16px;margin:0 5px}.selection-actions{margin-top:20px;margin-bottom:20px;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}button#continue_to_list_mode_button{background:none;border:none;color:#3d7f5f;font-weight:400;font-size:20px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;text-align:center;text-decoration:underline;padding:0;margin:0 auto 5px}button#continue_to_list_mode_button:hover{color:var(--text-color)}.start-game-button,.back-button{padding:20px 30px;border:none;border-radius:12px;font-size:25px;font-weight:400;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:10px;border:1px solid #000;margin-top:1rem}.start-game-button{background:#000;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.3);flex:1;line-height:1.45;min-width:200px;max-width:fit-content}.start-game-button.mode-button{flex:1;max-width:fit-content}.start-game-button svg{flex-shrink:0;width:24px;height:24px;transition:transform 0.3s ease,color 0.3s ease;fill:none;stroke:currentColor}.start-game-button:hover:not(:disabled){background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);box-shadow:0 10px 30px rgba(45,95,63,.5)}.start-game-button:hover:not(:disabled) svg{animation:playIconSpin 0.6s ease-in-out;transform:scale(1.2) rotate(360deg)}@keyframes playIconSpin{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.3) rotate(180deg)}100%{transform:scale(1.2) rotate(360deg)}}.start-game-button:disabled{opacity:.5;cursor:not-allowed}.back-button{background:rgba(0,0,0,.2);color:var(--text-color);border:2px solid rgba(255,255,255,.5)}.back-button:hover{background:rgba(45,95,63,.3);border-color:#2d5f3f;box-shadow:0 5px 15px rgba(45,95,63,.3)}.edition-selection-screen,.categories-selection-screen{border-radius:20px;padding:40px 30px}.edition-selection-content{width:100%}.editions-grid{display:grid;gap:25px;margin-bottom:40px;justify-content:center}@media (max-width:480px){.editions-grid{grid-template-columns:1fr;max-width:250px;margin-left:auto;margin-right:auto;gap:20px;margin-bottom:20px}}@media (min-width:481px) and (max-width:959px){.editions-grid{grid-template-columns:repeat(2,1fr);max-width:590px;margin-left:auto;margin-right:auto}}@media (min-width:960px){.editions-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:885px;margin-left:auto;margin-right:auto}}.categories-selection-content{width:100%}.editions-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.edition-card{background:linear-gradient(135deg,rgba(26,47,26,.6) 0%,rgba(10,31,15,.8) 100%);border:2px solid rgba(45,95,63,.6);color:#FFF;border-radius:15px;padding:15px 20px;position:relative;transition:all 0.3s ease;cursor:pointer;backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:space-between}.edition-card.owned{border-color:#2d5f3f;animation:pulseGlow 3s ease-in-out infinite}.edition-card.owned:nth-child(1){animation-delay:0s}.edition-card.owned:nth-child(2){animation-delay:0.4s}.edition-card.owned:nth-child(3){animation-delay:0.8s}.edition-card.owned:nth-child(4){animation-delay:1.2s}.edition-card.owned:nth-child(5){animation-delay:1.6s}.edition-card.owned:nth-child(6){animation-delay:2s}@keyframes pulseGlow{0%,100%{box-shadow:0 0 8px rgba(45,95,63,.25);transform:scale(1)}50%{box-shadow:0 0 15px rgba(45,95,63,.4),0 0 25px rgba(45,95,63,.25);transform:scale(1.01)}}.edition-card.owned.selected{animation:none}.edition-card.locked{opacity:.7}.edition-card.locked h3{margin-bottom:10px}@media (hover:hover) and (pointer:fine){.edition-card.owned:not(.selected):hover{background:linear-gradient(135deg,rgba(45,95,63,.5) 0%,rgba(26,77,46,.6) 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}}.edition-card.selected{border-color:#3d7f5f;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);box-shadow:0 8px 25px rgba(45,95,63,.5)}.edition-card.selected:hover{border-color:#FFFFFF!important}@media (hover:hover) and (pointer:fine){.edition-card.locked:hover{border-color:#FFF;box-shadow:0 5px 15px rgba(45,95,63,.3)}}.edition-card.selected .edition-description{color:var(--text-color)}.unlock-link{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10}.edition-card-content{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;border:none;outline:none}.edition-card-content h3{font-size:1.25rem}@media screen and (max-width:768px){.edition-card-content h3{font-size:1rem}}.edition-title{font-size:1.25rem;font-weight:700;margin:0}.edition-image{margin:15px 0}.edition-image img{max-width:80px;height:auto;border-radius:8px}.edition-description{color:#FFF;opacity:.9;line-height:1.4;margin-bottom:15px}.purchase-info{margin-top:auto;padding-bottom:15px}.purchase-text{display:inline-flex;align-items:center;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border:1px solid #3d7f5f;padding:8px 16px;border-radius:10px;font-size:.9rem;font-weight:700}.edition-card.locked .purchase-text{color:#000}#settings_lightbox .edition-button.locked .lock-icon{filter:invert(100%)}@media (hover:hover) and (pointer:fine){.edition-card.locked:hover .purchase-text{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:#000;border-color:#000}.edition-card.locked:hover .purchase-text .lock-icon{filter:brightness(1.2)}}@media screen and (max-width:768px){.purchase-text{font-size:.7rem;padding:6px 12px 5px}}.lock-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;vertical-align:middle}.lock-icon img,.lock-icon svg{width:15px;height:15px;display:block;margin-right:5px}@media screen and (max-width:768px){.lock-icon img,.lock-icon svg{width:13px;height:13px;margin-right:4px}}.selection-indicator{position:absolute;top:-3px;right:-3px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:700;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.edition-card.selected .selection-indicator{opacity:1}.checkmark{color:var(--text-color);font-size:18px;font-weight:700}.no-editions{text-align:center;color:#999;padding:40px 20px;font-size:16px}.karaoke-container{max-width:800px;margin:0 auto}.karaoke-display{background:linear-gradient(135deg,rgba(26,47,26,.95) 0%,rgba(10,31,15,.95) 100%);border-radius:20px;padding:40px 30px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(0,0,0,.4);border:1px solid rgba(45,95,63,.3);margin-bottom:30px}.singer-name-display{text-align:center;margin-bottom:10px}.singer-name-display h2{font-size:38px;font-weight:600;color:var(--text-color);margin:0 0 5px 0!important;text-shadow:0 2px 10px rgba(45,95,63,.5);letter-spacing:1px}.contraintes_container .singer-contrainte{font-size:20px;color:#3d7f5f;font-weight:400;margin-top:10px;font-style:italic}.singer-name-display .singer-contrainte{position:relative;display:inline-block;margin:3px .5rem 10px;padding:0 20px}.singer-name-display .singer-contrainte em{position:relative;display:inline-block;background:linear-gradient(90deg,#2d5f3f 0%,#2d5f3f 33%,#5FD68A 33%,#5FD68A 66%,#2d5f3f 66%,#2d5f3f 100%);background-size:325% 100%;background-position:0% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:27px;font-weight:600;font-style:normal}.singer-name-display .singer-contrainte.sweep-active em{animation:contrainte-text-sweep 0.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes contrainte-text-sweep{0%{background-position:100% 0}100%{background-position:0% 0}}@keyframes contrainte-line-flash{0%,100%{box-shadow:none}20%,80%{box-shadow:0 0 12px rgba(95,214,138,.8),0 0 20px rgba(95,214,138,.4)}50%{box-shadow:0 0 16px rgba(95,214,138,1),0 0 28px rgba(95,214,138,.6)}}@media screen and (max-width:768px){.singer-name-display .singer-contrainte::after{height:1px}}.karaoke-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.karaoke-card{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-radius:15px;padding:25px 20px;text-align:center;color:var(--text-color);box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 20px rgba(45,95,63,.3);border:1px solid rgba(61,127,95,.3)}.card-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;opacity:.9}.card-content{font-size:20px;font-weight:700;margin:0}.choix-mode .choix-display{border-radius:20px;padding:30px 30px}.choix-instruction{font-size:16px;color:#FFF;text-align:center;margin:0 0 25px 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;line-height:1.6}.reload-choices-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border:2px solid #3d7f5f;border-radius:16px;color:var(--text-color);font-size:13px;font-weight:700;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4);position:relative;vertical-align:middle;margin:0 2px}.reload-choices-btn svg{flex-shrink:0;stroke:var(--text-color);transition:transform 0.3s ease;width:14px;height:14px}.reload-choices-btn .reload-count{font-size:12px;font-weight:700;color:var(--text-color);line-height:1}.reload-choices-btn:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);border-color:#FFF;box-shadow:0 5px 15px rgba(45,95,63,.6);transform:scale(1.05)}.reload-choices-btn:hover svg{transform:rotate(-180deg)}.reload-choices-btn:active{transform:scale(.98)}.reload-choices-btn.used{background:rgba(45,95,63,.2);border-color:rgba(45,95,63,.3);opacity:.5;cursor:not-allowed;box-shadow:none}.reload-choices-btn.used svg,.reload-choices-btn.used .reload-count{opacity:.6}.reload-choices-btn.used:hover{background:rgba(45,95,63,.2);border-color:rgba(45,95,63,.3);transform:none;box-shadow:none}.reload-choices-btn.used:hover svg{transform:none}.song-choices-container{display:flex;flex-direction:column;gap:15px;margin-top:30px}.song-choice-card{display:flex;align-items:center;background:rgba(45,95,63,.15);gap:20px;padding:20px;border:2px solid rgba(45,95,63,.5);border-radius:15px;transition:all 0.3s ease;flex-wrap:wrap}.song-choice-card.inactive{opacity:.5;background:rgba(45,95,63,.08);border-color:rgba(45,95,63,.3);pointer-events:none}.choice-number{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.choice-info{flex:1;min-width:200px}.choice-artist{font-size:25px;font-weight:600;color:var(--text-color);margin:0 0 8px 0}.choice-song{font-size:20px;color:#FFF;margin:0;display:block;text-align:center}.choice-tonality{display:inline-block;font-size:15px;font-weight:300;color:rgba(232,245,233,.8);padding:4px 12px;border-radius:10px;margin-top:4px;border:1px solid rgba(45,95,63,.7)}.sent-badge{display:inline-block;font-size:13px;color:#FFF;background:rgba(45,95,63,.2);padding:4px 10px;border-radius:8px;font-weight:600;margin-top:5px}.sent-by-me-badge{display:inline-block;font-size:13px;color:#FFF;background:rgba(45,95,63,.15);padding:4px 10px;border-radius:8px;font-weight:600;margin-top:5px;font-style:italic}.choice-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;flex-shrink:0}.choice-select-btn{padding:15px 25px;border:none;border-radius:10px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s ease;flex-shrink:0;box-shadow:0 3px 10px rgba(45,95,63,.3);width:100%}.choice-select-btn:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);box-shadow:0 5px 20px rgba(45,95,63,.5)}.choice-select-btn:disabled{background:rgba(45,95,63,.2);color:#FFF;cursor:not-allowed;box-shadow:none;opacity:.6}.choice-extra-actions{display:flex;gap:10px;align-items:center;justify-content:center;width:100%}.send-choice-btn,.delete-choice-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border:0;border-radius:10px;color:var(--text-color);font-size:13px;font-weight:700;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4);position:relative;flex:1}.send-choice-btn svg,.delete-choice-btn svg{flex-shrink:0;stroke:var(--text-color);transition:transform 0.3s ease;width:14px;height:14px}.send-choice-btn .send-count,.delete-choice-btn .delete-count{font-size:12px;font-weight:700;color:var(--text-color);line-height:1}.send-choice-btn:hover,.delete-choice-btn:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);border-color:#FFF;box-shadow:0 5px 15px rgba(45,95,63,.6);transform:scale(1.02)}.send-choice-btn:hover svg{transform:translateX(2px)}.delete-choice-btn:hover svg{transform:scale(1.1)}.send-choice-btn:active,.delete-choice-btn:active{transform:scale(.98)}.send-choice-btn.used,.delete-choice-btn.used{background:rgba(45,95,63,.2);border-color:rgba(45,95,63,.3);opacity:.5;cursor:not-allowed;box-shadow:none}.send-choice-btn.used svg,.send-choice-btn.used .send-count,.delete-choice-btn.used svg,.delete-choice-btn.used .delete-count{opacity:.6}.send-choice-btn.used:hover,.delete-choice-btn.used:hover{background:rgba(45,95,63,.2);border-color:rgba(45,95,63,.3);transform:none;box-shadow:none}.send-choice-btn.used:hover svg,.delete-choice-btn.used:hover svg{transform:none}.send-to-select{padding:8px 12px;border:2px solid #3d7f5f;background:rgba(26,47,26,.9);border-radius:10px;color:var(--text-color);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.3s ease;flex:1;box-shadow:0 2px 8px rgba(45,95,63,.4)}.send-to-select:focus{outline:none;border-color:#FFF;box-shadow:0 0 15px rgba(45,95,63,.5)}.send-to-select option{background:#1a2f1a;color:var(--text-color);padding:8px}.deleted-badge{display:inline-block;font-size:13px;color:#d32f2f;background:rgba(211,47,47,.15);padding:4px 10px;border-radius:8px;font-weight:600;margin-top:5px;font-style:italic}.song-choice-card.deleted{opacity:.5;background:rgba(45,95,63,.08);border-color:rgba(45,95,63,.3);pointer-events:none}.question-navigation{display:flex;align-items:center;justify-content:center;gap:20px;border-radius:15px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.4);border:1px solid #333;color:var(--text-color)}.nav-button{width:50px;height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);font-size:24px;font-weight:700;cursor:pointer;transition:all 0.3s ease;box-shadow:0 3px 10px rgba(45,95,63,.3)}.nav-button:hover:not(:disabled){transform:scale(1.1);background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);box-shadow:0 5px 20px rgba(45,95,63,.5)}.nav-button:disabled{opacity:.3;cursor:not-allowed}.question-counter{font-size:20px;font-weight:600;color:var(--text-color);min-width:80px;text-align:center}.singing-screen{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.4);border:1px solid #333;text-align:center;color:var(--text-color)}.singing-content{display:flex;flex-direction:column;align-items:center;gap:20px}.singing-animation{position:relative;display:flex;align-items:center;justify-content:center;height:100px;margin-bottom:10px}.music-waves{position:absolute;display:flex;align-items:flex-end;gap:5px;height:40px;bottom:10px;left:50%;transform:translateX(-50%);z-index:1}.music-waves span{display:block;width:8px;background:rgba(255,255,255,.8);border-radius:4px;animation:wave 1s ease-in-out infinite}.music-waves span:nth-child(1){height:20px;animation-delay:0s}.music-waves span:nth-child(2){height:35px;animation-delay:0.1s}.music-waves span:nth-child(3){height:25px;animation-delay:0.2s}.music-waves span:nth-child(4){height:40px;animation-delay:0.3s}.music-waves span:nth-child(5){height:15px;animation-delay:0.4s}@keyframes wave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.5)}}.singing-singer-name{font-size:36px;font-weight:700;margin:0;color:var(--text-color);text-shadow:0 2px 15px rgba(0,0,0,.3)}.singing-label{font-size:18px;opacity:.9;margin:0}.singing-song-info{background:rgba(10,31,15,.6);backdrop-filter:blur(10px);border-radius:15px;padding:25px 40px;margin:20px 0;width:100%;max-width:400px;border:1px solid rgba(61,127,95,.4)}.singing-artist{font-size:24px;font-weight:700;margin:0 0 8px 0;color:var(--text-color)}.singing-song-title{font-size:18px;opacity:.9;margin:0}.complete-song-button{padding:18px 50px;border:none;border-radius:50px;background:linear-gradient(135deg,var(--text-color) 0%,#FFFFFF 100%);color:#1a4d2e;font-size:20px;font-weight:700;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:12px;margin-top:20px;box-shadow:0 10px 30px rgba(0,0,0,.4)}.complete-song-button:hover{background:linear-gradient(135deg,#ffffff 0%,var(--text-color) 100%);box-shadow:0 15px 40px rgba(232,245,233,.3)}.complete-song-button svg{stroke:#1a4d2e}.singing-counter{font-size:16px;opacity:.7;margin-top:15px}.end-game-screen{border-radius:20px;padding:0 30px 30px;text-align:center}.end-game-title{font-size:48px;margin-bottom:15px;color:var(--text-color);text-shadow:0 2px 15px rgba(45,95,63,.5)}.end-game-subtitle{font-size:18px;color:#FFF;margin-bottom:40px}.voting-section{background:rgba(45,95,63,.15);border:2px solid rgba(45,95,63,.3);border-radius:15px;padding:30px 25px;margin:30px 0}.voting-title{font-size:24px;font-weight:700;color:var(--text-color);margin:0 0 10px 0;text-shadow:0 2px 10px rgba(45,95,63,.5)}.voting-subtitle{font-size:15px;color:#FFF;margin:0 0 25px 0;opacity:.9}.qr-code-container{display:flex;justify-content:center;align-items:center;min-height:250px;background:var(--text-color);border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 5px 20px rgba(0,0,0,.3)}.qr-code-container img{max-width:100%;height:auto;border-radius:8px}.voting-status{background:rgba(26,47,26,.6);border-radius:10px;padding:15px 20px;margin-top:20px}.voting-status p{margin:0;font-size:21px;font-weight:600;color:#3d7f5f}.voting-status span{font-size:24px;color:#3d7f5f;font-weight:700}.voting-results{margin-top:30px;animation:fadeIn 0.5s ease}.results-title{font-size:26px;font-weight:700;color:var(--text-color);margin:0 0 25px 0;text-shadow:0 2px 10px rgba(45,95,63,.5)}.results-list{display:flex;flex-direction:column;gap:15px}.result-item{display:flex;align-items:center;gap:15px;background:rgba(26,47,26,.6);border:2px solid rgba(45,95,63,.5);border-radius:12px;padding:15px 20px;transition:all 0.3s ease;opacity:0;transform:translateY(20px)}.result-item:first-child{background:linear-gradient(135deg,rgba(45,95,63,.4) 0%,rgba(26,77,46,.4) 100%);border-color:#2d5f3f;box-shadow:0 5px 20px rgba(45,95,63,.3)}.result-rank{font-size:36px;flex-shrink:0;width:50px;text-align:center}.result-info{flex:1;text-align:left}.result-name{font-size:20px;font-weight:700;color:var(--text-color);margin-bottom:5px}.result-votes{font-size:14px;color:#FFF;opacity:.8}.result-bar-container{width:100px;height:8px;background:rgba(45,95,63,.3);border-radius:4px;overflow:hidden;flex-shrink:0}.result-bar{height:100%;background:linear-gradient(90deg,#2d5f3f 0%,#3d7f5f 100%);border-radius:4px;transition:width 0.5s ease}.end-game-actions{display:flex;flex-direction:column;gap:15px;padding-bottom:30px}.restart-game-button{padding:15px 30px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:10px;max-width:400px;margin:0 auto}.restart-game-button.primary{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.3)}.restart-game-button.secondary{background:rgba(45,95,63,.2);color:var(--text-color);border:2px solid rgba(45,95,63,.5)}.restart-game-button:hover{box-shadow:0 10px 30px rgba(45,95,63,.4)}.restart-game-button.primary:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%)}.restart-game-button.secondary:hover{background:rgba(45,95,63,.3);border-color:#2d5f3f}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);backdrop-filter:blur(5px);z-index:2000;display:none;align-items:center;justify-content:center;padding:45px 30px}.lightbox-overlay.hide-cursor,.lightbox-overlay.hide-cursor *{cursor:none!important}.track-info-mini.hidden,.player-buttons.hidden{transform:translateY(100%);max-height:0;height:0;margin:0;padding:0;gap:0}.sdk-player-controls:has(.track-info-mini.hidden):has(.player-buttons.hidden),.local-player-controls:has(.track-info-mini.hidden):has(.player-buttons.hidden){gap:0;min-height:0}.lightbox-content{background:linear-gradient(135deg,rgba(26,47,26,.98) 0%,rgba(10,31,15,.98) 100%);border-radius:20px;max-width:800px;max-height:calc(100vh - 80px);width:100%;position:relative;padding:40px 30px;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 40px rgba(45,95,63,.3)}.lightbox-content::-webkit-scrollbar{width:12px}.lightbox-content::-webkit-scrollbar-track{background:rgba(45,95,63,.1);border-radius:10px;margin:5px 0}.lightbox-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-radius:20px;border:2px solid rgba(26,47,26,.5)}.lightbox-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%)}.lightbox-content{scrollbar-width:thin;scrollbar-color:#2d5f3f rgba(26,47,26,.5)}.close-lightbox{position:absolute;right:15px;top:15px;background:rgba(45,95,63,.3);color:var(--text-color);border:2px solid rgba(45,95,63,.5);border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1;cursor:pointer;display:flex;justify-content:center;align-items:center;padding:0;box-sizing:border-box;transition:all 0.3s ease;z-index:2100}.close-lightbox:hover{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border-color:#3d7f5f;transform:rotate(90deg);box-shadow:0 5px 15px rgba(45,95,63,.4)}.app-settings-section{margin-bottom:25px}.settings-options{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:flex-start}.setting-option{display:flex;align-items:center;gap:10px}.setting-label{color:var(--text-color);font-size:16px;font-weight:500}.lightbox-setting-button{background:rgba(45,95,63,.2);color:var(--text-color);border:2px solid rgba(45,95,63,.5);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-sizing:border-box;transition:all 0.3s ease}.lightbox-setting-button.active{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border-color:#3d7f5f;box-shadow:0 3px 10px rgba(45,95,63,.4)}.lightbox-setting-button:hover{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border-color:#3d7f5f;transform:scale(1.05)}.section-title{font-size:20px;color:var(--text-color);margin:25px 0 15px;text-align:left;font-weight:700}h3.section-title{font-size:28px;margin-top:0;padding-right:50px;margin-bottom:25px;text-shadow:0 2px 10px rgba(45,95,63,.5)}.categories-subtitle{font-size:14px;color:#FFF;margin:0 0 20px 0;text-align:left}.category-buttons-container,.contrainte-buttons-container,.edition-buttons-container{display:flex;flex-wrap:wrap;gap:12px;padding:10px 0;justify-content:flex-start;margin-bottom:35px;padding-bottom:35px;border-bottom:2px solid #f0f0f0}.categories-selection-screen .category-buttons-container{justify-content:center;margin-bottom:0;border-bottom:none}.categories-selection-screen .songs-count-info{margin-top:0;margin-bottom:30px}.categories-selection-screen .contraintes-section{border-top:none;padding-top:0;background:rgba(45,95,63,.15);padding:20px;border-radius:15px;margin-top:0;border:1px solid rgba(45,95,63,.3)}.lightbox-contraintes{background:rgba(45,95,63,.15);padding:20px;border-radius:15px;margin-top:10px;border:1px solid rgba(45,95,63,.3)}.contraintes-toggle-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.lightbox-contraintes .contraintes-toggle-header{align-items:center}.contraintes-label{font-size:18px;font-weight:600;color:var(--text-color);margin:0;flex:1}.lightbox-overlay .contraintes-label{color:#333}.contraintes-subtitle{font-size:16px;color:#FFF;margin:0 0 20px 0;text-align:left}.lightbox-overlay .contraintes-subtitle{color:#FFF}.categories-selection-screen .contraintes-subtitle{text-align:center}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:rgba(45,95,63,.3);transition:all 0.4s ease;border-radius:34px;box-shadow:0 2px 8px rgba(0,0,0,.3)}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background:linear-gradient(135deg,var(--text-color) 0%,#FFFFFF 100%);transition:all 0.4s ease;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.3)}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-switch:hover .toggle-slider{box-shadow:0 3px 12px rgba(45,95,63,.4)}.toggle-switch input:checked+.toggle-slider:hover{box-shadow:0 3px 12px rgba(45,95,63,.6)}.toggle-slider:after{content:'✕';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#FFF;font-size:16px;font-weight:700;transition:opacity 0.3s ease}.toggle-switch input:checked+.toggle-slider:after{content:'✓';left:8px;right:auto;color:var(--text-color)}.contraintes-list{overflow:hidden;max-height:0;opacity:0;transition:max-height 0.4s ease,opacity 0.3s ease,margin 0.3s ease;margin-bottom:0}.contraintes-list[style*="display: block"]{max-height:2000px;opacity:1;margin-bottom:30px}.contraintes-list .contrainte-buttons-container{border-bottom:none;margin-bottom:0;padding-bottom:0;padding-top:10px}.categories-selection-screen .contraintes-list .contrainte-buttons-container{justify-content:center}.category-button,.contrainte-button,.edition-button{background:rgba(26,47,26,.6);color:var(--text-color);border-radius:10px;border:2px solid rgba(45,95,63,.6);padding:14px 24px;cursor:pointer;font-size:16px;font-weight:600;transition:all 0.3s ease;position:relative;display:flex;align-items:center;gap:10px;min-height:48px}.edition-button.locked{opacity:.6;cursor:pointer}.edition-button.locked:hover{opacity:.8;background:rgba(45,95,63,.3)}.category-button::before,.contrainte-button::before,.edition-button::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.category-button:hover,.contrainte-button:hover,.edition-button:hover{background:rgba(45,95,63,.4);border-color:#2d5f3f;box-shadow:0 5px 15px rgba(45,95,63,.3)}.category-button.selected,.contrainte-button.selected,.edition-button.selected{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border-color:#3d7f5f;box-shadow:0 5px 15px rgba(45,95,63,.4)}.category-button.selected:hover,.contrainte-button.selected:hover,.edition-button.selected:hover{border-color:#FFF}.category-button.selected::before,.contrainte-button.selected::before,.edition-button.selected::before{opacity:1}.edition-button.locked .lock-icon{margin-left:auto}.apply-settings-button{padding:15px 30px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);border-radius:12px;border:none;font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s ease;margin-top:20px;display:block;width:100%;box-shadow:0 5px 20px rgba(45,95,63,.3)}.apply-settings-button:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);box-shadow:0 10px 30px rgba(45,95,63,.5)}.lyrics-loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(10,31,20,.98) 0%,rgba(5,20,10,.98) 100%);backdrop-filter:blur(15px);z-index:10002;transition:opacity 0.3s ease}.lyrics-loader-spinner{display:flex;flex-direction:column;align-items:center;gap:30px}.spinner{width:80px;height:80px;border:6px solid rgba(232,245,233,.2);border-top-color:#2d5f3f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{font-size:20px;font-weight:600;color:var(--text-color);text-shadow:0 2px 10px rgba(0,0,0,.3);margin:0}.lyrics-player-container{display:none;flex-direction:column;width:100%;height:100%;background:linear-gradient(135deg,#0a1f14 0%,#1a4d2e 100%);overflow:hidden;border-radius:20px}.local-audio-player-container{background:linear-gradient(135deg,#0a1f14 0%,#1a4d2e 100%)}.lyrics-sync-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:15px;background:rgba(0,0,0,.3);border-bottom:2px solid rgba(45,95,63,.5)}.lyrics-play-button{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border:3px solid rgba(232,245,233,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 20px rgba(45,95,63,.4)}.lyrics-play-button svg{color:#FFF;margin-left:3px}.lyrics-play-button.playing svg{margin-left:0}.lyrics-play-button:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);border-color:rgba(232,245,233,.6);transform:scale(1.05);box-shadow:0 6px 30px rgba(45,95,63,.6)}.lyrics-play-button:active{transform:scale(.95)}.sync-hint{font-size:16px;font-weight:500;color:rgba(232,245,233,.8);margin:0;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.lyrics-display-area{flex:1;overflow:hidden;position:relative;padding:40px 20px}.lyrics-source-badge{position:absolute;bottom:15px;right:15px;font-size:11px;color:rgba(232,245,233,.4);background:rgba(0,0,0,.3);padding:4px 10px;border-radius:12px;backdrop-filter:blur(5px);font-weight:500;letter-spacing:.3px;z-index:10;pointer-events:none;transition:opacity 0.3s ease}.lyrics-source-badge:hover{opacity:.8}.tonality-badge{display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:rgba(232,245,233,.9);padding:5px 12px;border-radius:10px;backdrop-filter:blur(5px);font-weight:300;letter-spacing:.5px;transition:all 0.3s ease;border:1px solid rgba(45,95,63,.9);white-space:nowrap;margin-top:4px;gap:4px}.tonality-badge .tonality-type{font-size:12px;color:rgba(232,245,233,.9)}.lyrics-scroller{height:100%;overflow-y:auto;padding:20px 40px;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%)}.lyrics-scroller::-webkit-scrollbar{display:none}.lyrics-scroller{-ms-overflow-style:none;scrollbar-width:none}.lyrics-line{font-size:32px;font-weight:600;color:rgba(232,245,233,.4);text-align:center;margin:25px 0;line-height:1.6;transition:all 0.3s ease;text-shadow:0 2px 8px rgba(0,0,0,.3)}.lyrics-line.active{font-size:42px;font-weight:700;color:#FFF;transform:scale(1.05);text-shadow:0 4px 20px rgba(61,127,95,.8),0 2px 10px rgba(0,0,0,.5)}.lyrics-line.past{color:rgba(232,245,233,.25);font-size:28px}.no-lyrics{text-align:center;font-size:24px;color:rgba(232,245,233,.6);padding:60px 20px}.sdk-player-controls{display:flex;flex-direction:column;gap:15px;padding:15px;width:100%}.track-info-mini{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;transition:transform 0.4s cubic-bezier(.4,0,.2,1),max-height 0.4s cubic-bezier(.4,0,.2,1);transform:translateY(0);max-height:200px;overflow:hidden}.track-info-mini strong{font-size:16px;color:#FFF}.track-info-mini span{font-size:15px;color:rgba(232,245,233,.7)}.player-buttons{display:flex;justify-content:center;gap:10px;transition:transform 0.4s cubic-bezier(.4,0,.2,1),max-height 0.4s cubic-bezier(.4,0,.2,1);transform:translateY(0);max-height:100px;overflow:hidden}.player-buttons:not(.hidden){overflow:visible}.sdk-play-button,.sdk-pause-button{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#1DB954;border:none;border-radius:50%;color:#FFF;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(29,185,84,.4)}.sdk-play-button:hover,.sdk-pause-button:hover{background:#1ed760;transform:scale(1.05)}.sdk-play-button:active,.sdk-pause-button:active{transform:scale(.95)}.player-progress-volume{display:flex;align-items:center;gap:15px;width:100%}.player-progress{display:flex;align-items:center;gap:10px;flex:1}.player-progress span{font-size:12px;color:rgba(232,245,233,.7);min-width:40px;text-align:center}.progress-bar-container{flex:1;height:6px;background:rgba(255,255,255,.2);border-radius:3px;overflow:visible;cursor:pointer;position:relative;transition:height 0.2s ease}.progress-bar-container:hover{height:8px}.progress-bar-container::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.1);opacity:0;transition:opacity 0.2s ease;pointer-events:none;border-radius:3px}.progress-bar-container:hover::after{opacity:1}.progress-bar{height:100%;width:0%;background:#1DB954;border-radius:3px;transition:width 0.1s linear;position:relative}.progress-bar::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.3);opacity:0;transition:opacity 0.2s ease}.progress-bar-container:hover .progress-bar::after{opacity:1}.player-volume{display:flex;align-items:center;gap:8px;min-width:100px}.volume-icon{color:rgba(232,245,233,.7);flex-shrink:0}.volume-slider{-webkit-appearance:none;appearance:none;width:80px;height:6px;background:rgba(255,255,255,.2);border-radius:3px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#1DB954;border-radius:50%;cursor:pointer;transition:transform 0.2s ease,background 0.2s ease}.volume-slider::-webkit-slider-thumb:hover{background:#1ed760;transform:scale(1.15)}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:#1DB954;border-radius:50%;cursor:pointer;border:none;transition:transform 0.2s ease,background 0.2s ease}.volume-slider::-moz-range-thumb:hover{background:#1ed760;transform:scale(1.15)}.volume-slider::-moz-range-track{height:6px;background:rgba(255,255,255,.2);border-radius:3px}@media (max-width:768px){.player-progress-volume{flex-direction:column;gap:10px}.player-volume{width:100%;justify-content:center}.volume-slider{width:120px}}.fallback-player-message{display:flex;flex-direction:column;align-items:center;gap:12px;padding:15px;text-align:center}.fallback-player-message p{font-size:14px;color:rgba(232,245,233,.8);margin:0}.manual-sync-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;color:#FFF;background:#1DB954;border:none;border-radius:50px;cursor:pointer;transition:all 0.3s ease}.manual-sync-button:hover{background:#1ed760;transform:scale(1.02)}.manual-sync-button.playing{background:#e67e22}.manual-sync-button.playing:hover{background:#d35400}.mini-player-controls.sdk-mode{background:rgba(0,0,0,.4)}.mini-player-controls.fallback-mode{padding-top:0}.mini-player-controls{background:rgba(0,0,0,.5);padding:0;border-top:2px solid rgba(45,95,63,.5)}.mini-player-controls iframe{display:block;width:100%;height:80px;border:none}.lightbox-overlay.lyrics-mode{overflow:hidden}.lightbox-overlay.lyrics-mode .lightbox-content{width:100%;height:100%;max-width:100%;max-height:100%;padding:0;background:transparent;border-radius:0;overflow:hidden}.lightbox-overlay.lyrics-mode .close-lightbox{position:fixed;top:20px;right:20px;z-index:10001;background:rgba(0,0,0,.8);color:#fff;border:2px solid rgba(255,255,255,.3);width:50px;height:50px;border-radius:50%;font-size:32px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;backdrop-filter:blur(10px)}.lightbox-overlay.lyrics-mode .close-lightbox:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6);transform:scale(1.1)}@keyframes lyricsSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lyrics-line{animation:lyricsSlideIn 0.3s ease-out}.spotify-fallback-container{display:none;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:400px;padding:40px 20px}.fallback-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:500px;gap:20px}.fallback-icon{font-size:80px;margin-bottom:10px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.fallback-title{font-size:28px;font-weight:700;color:var(--text-color);margin:0;text-shadow:0 2px 10px rgba(45,95,63,.5)}.fallback-message{font-size:16px;color:rgba(232,245,233,.9);margin:0;line-height:1.6}.fallback-message strong{color:#FFF;font-weight:600}.fallback-instruction{font-size:15px;color:rgba(232,245,233,.8);margin:10px 0 0 0;font-style:italic}.spotify-open-button{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;font-size:18px;font-weight:600;color:#FFF;background:#1DB954;border:none;border-radius:50px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 6px 20px rgba(29,185,84,.4);margin-top:10px}.spotify-open-button:hover{background:#1ed760;transform:scale(1.05);box-shadow:0 8px 25px rgba(29,185,84,.5)}.spotify-open-button:active{transform:scale(.98)}.spotify-open-button svg{flex-shrink:0}.fallback-close-button{padding:12px 24px;font-size:15px;font-weight:500;color:rgba(232,245,233,.8);background:transparent;border:2px solid rgba(232,245,233,.3);border-radius:50px;cursor:pointer;transition:all 0.3s ease;margin-top:5px}.fallback-close-button:hover{color:#FFF;border-color:rgba(232,245,233,.6);background:rgba(255,255,255,.1)}@media (max-width:768px){.spotify-fallback-container{min-height:350px;padding:30px 15px}.fallback-icon{font-size:60px}.fallback-title{font-size:22px}.fallback-message{font-size:15px}.fallback-instruction{font-size:14px}.spotify-open-button{padding:16px 32px;font-size:16px;gap:10px}.spotify-open-button svg{width:20px;height:20px}.fallback-close-button{padding:10px 20px;font-size:14px}}@media (max-width:768px){.lyrics-play-button{width:60px;height:60px}.lyrics-play-button svg{width:28px;height:28px}.sync-hint{font-size:14px}.lyrics-sync-controls{padding:15px;gap:10px}.lyrics-line{font-size:24px;margin:20px 0;line-height:1.3}.lyrics-line.active{font-size:32px}.lyrics-line.past{font-size:20px}.lyrics-scroller{padding:15px 20px}.spinner{width:60px;height:60px;border-width:5px}.loader-text{font-size:18px}.lightbox-overlay.lyrics-mode .close-lightbox{top:10px;right:10px;width:45px;height:45px;font-size:28px}.lyrics-source-badge{font-size:10px;padding:3px 8px;bottom:10px;right:10px}.tonality-badge{font-size:9px;padding:4px 10px;margin-top:3px}}@media (max-width:768px){.convo-app-wrapper.karaoke-app{padding:100px 10px 30px}.singers-setup-screen,.edition-selection-screen,.end-game-screen{padding:30px 20px}.selection-title{font-size:24px}.karaoke-cards{grid-template-columns:1fr}.language-selection-buttons{flex-direction:column}.language-btn{max-width:100%}.platform-toggle-header{gap:12px}.platform-selection-label{font-size:16px}.platform-toggle-container{flex-direction:column;gap:12px}.platform-toggle-btn{max-width:100%;padding:18px 15px;font-size:15px}.platform-toggle-btn svg{width:28px;height:28px}.platform-desc-content{padding:20px 25px 5px 25px}.platform-desc-title{font-size:15px}.platform-desc-text{font-size:15px}.platform-hint{font-size:14px}.song-choice-card{flex-direction:column;text-align:center;gap:15px}.choice-info{min-width:auto;width:100%}.choice-tonality{font-size:11px;padding:3px 10px}.choice-actions{width:100%}.choice-select-btn{width:100%;font-size:16px;padding:12px 20px}.send-choice-btn,.delete-choice-btn{font-size:12px;padding:6px 10px}.send-choice-btn svg,.delete-choice-btn svg{width:12px;height:12px}.send-to-select{font-size:13px;padding:6px 10px}.choice-extra-actions{gap:8px}.sent-badge{font-size:12px;padding:3px 8px}.singing-screen{padding:20px}.singing-singer-name{font-size:28px}.singing-song-info{padding:20px 25px}.singing-artist{font-size:20px}.complete-song-button{padding:15px 40px;font-size:18px}.mic-icon{font-size:48px}.singing-animation{height:80px}.singer-name-display .singer-contrainte{font-size:16px;padding:10px 20px;margin-top:12px}.voting-section{padding:20px 15px}.voting-title{font-size:20px}.voting-subtitle{font-size:13px}.qr-code-container{min-height:200px;padding:15px}.results-title{font-size:22px}.result-item{padding:12px 15px;gap:10px}.result-rank{font-size:28px;width:40px}.result-name{font-size:18px}.result-votes{font-size:13px}.result-bar-container{width:80px}.choix-instruction{font-size:14px;gap:4px}.reload-choices-btn{font-size:11px;padding:3px 6px;gap:3px;border-radius:12px}.reload-choices-btn svg{width:12px;height:12px}.reload-choices-btn .reload-count{font-size:10px}.lightbox-overlay{padding:20px 15px}.lightbox-content{padding:30px 20px;max-height:calc(100vh - 60px)}.close-lightbox{right:10px;top:10px;width:36px;height:36px;font-size:24px}h3.section-title{font-size:22px;padding-right:40px}.section-title{font-size:18px}.settings-options{flex-direction:column;align-items:stretch;gap:10px}.setting-option{justify-content:space-between;padding:5px 0}.category-button,.contrainte-button,.edition-button{padding:12px 18px;font-size:15px;min-height:44px}.editions-grid{grid-template-columns:1fr;gap:15px;max-width:250px;margin-left:auto;margin-right:auto}.songs-count-text{font-size:13px;padding:10px 16px;line-height:1.6}.songs-count-text span{font-size:15px}.songs-count-text .platform-separator{font-size:12px;margin:0 6px;display:block;margin-top:4px}}.list-mode-screen{border-radius:20px;padding:40px 30px;color:var(--text-color)}.list-mode-content{width:100%}.list-filters{margin-bottom:25px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.list-search-input{flex:1;min-width:250px;padding:15px 20px!important;border:2px solid rgba(45,95,63,.5)!important;background:rgba(26,47,26,.6)!important;border-radius:12px!important;font-size:16px;transition:all 0.3s ease;color:var(--text-color)!important;box-sizing:border-box}.list-search-input::placeholder{color:rgba(232,245,233,.5)}.list-search-input:focus{outline:none;border-color:#2d5f3f!important;background:rgba(45,95,63,.3)!important;box-shadow:0 0 15px rgba(45,95,63,.3)}.list-language-buttons{display:flex;gap:6px;flex-shrink:0}.list-filters .list-lang-btn{min-width:57px;height:57px;border:2px solid rgba(45,95,63,.5);background:rgba(26,47,26,.6);border-radius:10px;font-size:14px;font-weight:700;color:var(--text-color);cursor:pointer;transition:all 0.3s ease;position:relative;display:flex;align-items:center;justify-content:center}.list-lang-btn:hover{border-color:#2d5f3f;background:rgba(45,95,63,.4);box-shadow:0 5px 15px rgba(45,95,63,.3)}.list-lang-btn.selected{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-color:#3d7f5f;color:var(--text-color);box-shadow:0 5px 20px rgba(45,95,63,.4)}.list-lang-btn.selected:hover{border-color:#FFFFFF!important}.list-lang-btn::before{content:'✓';position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);color:var(--text-color);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;opacity:0;transition:opacity 0.3s ease;box-shadow:0 2px 8px rgba(45,95,63,.4)}.list-lang-btn.selected::before{opacity:1}.list-songs-container{display:flex;flex-direction:column;gap:15px;margin-bottom:30px;max-height:360px;overflow-y:auto;padding-right:10px}.list-songs-container::-webkit-scrollbar{width:10px}.list-songs-container::-webkit-scrollbar-track{background:rgba(45,95,63,.1);border-radius:10px}.list-songs-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border-radius:10px;border:2px solid rgba(26,47,26,.5)}.list-songs-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%)}.list-song-card{display:flex;align-items:center;background:rgba(45,95,63,.15);gap:20px;padding:20px;border:2px solid rgba(45,95,63,.5);border-radius:15px;transition:all 0.3s ease}.list-song-card:hover{background:rgba(45,95,63,.25);border-color:#2d5f3f;box-shadow:0 5px 15px rgba(45,95,63,.3)}.list-song-info{flex:1;min-width:0}.list-song-artist{font-size:20px;font-weight:600;color:var(--text-color);margin:0 0 5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-song-title{font-size:16px;color:#FFF;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-song-tonality{display:inline-block;font-size:15px;font-weight:300;color:rgba(232,245,233,.8);padding:3px 10px;border-radius:8px;margin-left:8px;vertical-align:middle;border:1px solid rgba(45,95,63,.7)}.list-song-title .instrumental-badge{display:inline-block;vertical-align:middle}.list-song-meta{display:none}.list-song-badge{display:none}.list-song-actions{display:flex;gap:10px;flex-shrink:0}.list-play-button{padding:12px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);color:var(--text-color);font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 3px 10px rgba(45,95,63,.3);white-space:nowrap}.list-play-button:hover{background:linear-gradient(135deg,#3d7f5f 0%,#2a6d4e 100%);box-shadow:0 5px 20px rgba(45,95,63,.5);transform:translateY(-2px)}.list-play-button:active{transform:translateY(0)}.no-songs-message{text-align:center;padding:60px 20px;color:rgba(232,245,233,.6);font-size:18px}@media (max-width:768px){.list-mode-screen{padding:30px 20px}.list-filters{flex-direction:column;align-items:stretch;gap:10px}.list-search-input{width:100%;min-width:auto}.list-language-buttons{justify-content:center;width:100%}.list-lang-btn{flex:1;max-width:80px}.list-song-card{flex-direction:column;text-align:center;gap:15px;padding:15px}.list-song-info{width:100%}.list-song-artist{font-size:18px;white-space:normal;text-align:center}.list-song-title{font-size:15px;white-space:normal;text-align:center}.list-song-tonality{font-size:10px;padding:2px 8px;margin-left:6px}.list-song-meta{justify-content:center}.list-song-actions{width:100%}.list-play-button{width:100%;padding:12px 20px;font-size:15px}.list-songs-container{max-height:275px}.start-game-button.mode-button{flex:1 1 100%;max-width:100%}}.local-audio-player-container{width:100%;height:100%;display:flex;flex-direction:column}.local-player-controls{display:flex;flex-direction:column;gap:15px;padding:20px;background:rgba(0,0,0,.4);border-top:2px solid rgba(45,95,63,.5)}.local-play-button,.local-pause-button{background:linear-gradient(135deg,#2d5f3f 0%,#1a4d2e 100%);border:none;border-radius:50%;width:60px;height:60px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(45,95,63,.4)}.local-play-button:hover,.local-pause-button:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(45,95,63,.6)}.local-play-button:active,.local-pause-button:active{transform:scale(.98)}.player-volume-dual{display:flex;gap:30px;align-items:center;justify-content:center;flex-wrap:wrap}.player-volume-dual .player-volume{display:flex;align-items:center;gap:10px;padding:10px 15px;background:rgba(45,95,63,.2);border-radius:8px;border:1px solid rgba(45,95,63,.4)}.volume-label{font-size:14px;font-weight:600;color:rgba(232,245,233,.9)}@media (max-width:768px){.player-volume-dual{flex-direction:column;gap:15px;width:100%}.player-volume-dual .player-volume{width:100%;justify-content:space-between}.local-play-button,.local-pause-button{width:50px;height:50px}.local-play-button svg,.local-pause-button svg{width:24px;height:24px}}