:root{--bg: #0d0b1e;--bg-2: #171331;--panel: rgba(255, 255, 255, .05);--panel-border: rgba(255, 255, 255, .09);--text: #f4f2ff;--text-dim: rgba(244, 242, 255, .55);--accent: #ff5d73;--spotify: #1db954;--radius: 20px;--font-display: "Fraunces", Georgia, serif;--font-body: "Outfit", -apple-system, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{background:var(--bg-2)}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(1100px 600px at 15% -10%,rgba(167,139,250,.16),transparent 60%),radial-gradient(900px 550px at 85% 110%,rgba(255,93,115,.14),transparent 60%),radial-gradient(700px 500px at 90% -5%,rgba(45,212,191,.1),transparent 55%),linear-gradient(160deg,var(--bg) 0%,var(--bg-2) 100%);background-attachment:fixed;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}button{font-family:inherit;color:inherit;border:none;background:none;cursor:pointer}input{font-family:inherit}h1,h2{font-family:var(--font-display);letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-weight:700;font-size:1.05rem;padding:.8rem 1.6rem;transition:transform .12s ease,filter .2s ease,box-shadow .2s ease}.icon-btn{display:inline-flex;align-items:center;justify-content:center}.icon-spin{animation:spin 1.1s linear infinite}.gear-icon{transition:transform .4s ease}.icon-btn:hover .gear-icon{transform:rotate(90deg)}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.4;pointer-events:none}.btn.start{background:linear-gradient(135deg,#ff5d73,#a78bfa);color:#fff;font-size:1.25rem;padding:1rem 3rem;box-shadow:0 12px 34px #ff5d7359}.btn.spotify{background:var(--spotify);color:#04240f}.btn.ghost{background:var(--panel);border:1px solid var(--panel-border);color:var(--text-dim)}.icon-btn{font-size:1.3rem;opacity:.55;padding:.5rem;transition:opacity .2s}.icon-btn:hover{opacity:1}.link-btn{color:var(--text-dim);text-decoration:underline;font-size:.9rem}.hint{color:var(--text-dim);font-size:.88rem;line-height:1.45}.settings{height:100%;display:flex;flex-direction:column;align-items:center;padding:max(1.4rem,env(safe-area-inset-top)) 2rem max(1.4rem,env(safe-area-inset-bottom));gap:1.2rem;overflow-y:auto}.settings-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem}.settings-hero h1{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:800;background:linear-gradient(100deg,#ff5d73,#fbbf24 45%,#2dd4bf 80%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.12em}.settings-hero p{color:var(--text-dim);font-size:1rem}.logo-disc{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,#2b2b2b,#111 70%);border:2px solid rgba(255,255,255,.15);display:grid;place-items:center;animation:spin 9s linear infinite;box-shadow:0 8px 26px #00000080;background-image:repeating-radial-gradient(circle,#181818 0,#181818 2px,#222 2px,#222 4px)}.logo-disc-label{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff5d73,#a78bfa)}.auth-banner{background:#1db95426;border:1px solid rgba(29,185,84,.4);padding:.6rem 1.2rem;border-radius:12px;font-size:.95rem;cursor:pointer}.auth-banner-close{opacity:.6;margin-left:.6rem}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,350px));gap:1.1rem;width:100%;max-width:1120px;justify-content:center}.settings-grid.cols-2{grid-template-columns:minmax(260px,340px) minmax(340px,680px)}.settings-grid.cols-2 .playlist-grid{grid-template-columns:repeat(3,1fr)}.spotify-strip{width:100%;max-width:1120px}@media(max-width:900px){.settings-grid,.settings-grid.cols-2{grid-template-columns:minmax(0,480px)}}.mode-selector{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.mode-option{display:inline-flex;align-items:center;gap:.7rem;padding:.6rem 1.2rem;border-radius:16px;border:1.5px solid var(--panel-border);background:var(--panel);color:var(--text-dim);text-align:left;transition:all .18s ease}.mode-option span{display:flex;flex-direction:column;line-height:1.25}.mode-option strong{font-size:.95rem;color:var(--text)}.mode-option small{font-size:.72rem}.mode-option.active{border-color:#a78bfa;background:#a78bfa21;color:#c4b5fd;box-shadow:0 6px 22px #a78bfa40}.qr-block{display:flex;flex-direction:column;align-items:center;gap:.4rem}.qr-card{width:150px;height:150px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:6px;box-shadow:0 10px 30px #00000080}.qr-card img{width:100%;height:100%;display:block}.qr-loading{color:#0d0b1e}.qr-error{color:#b91c1c}.qr-caption{font-size:.78rem;color:var(--text-dim)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:1.3rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:.9rem}.panel h2{font-size:1.15rem;font-weight:600}.panel h2.mt{margin-top:.4rem}.segmented{display:flex;background:#00000040;border-radius:14px;padding:4px;gap:4px}.segment{flex:1;padding:.65rem 0;border-radius:11px;font-size:1.15rem;font-weight:700;color:var(--text-dim);transition:all .18s ease}.segment.active{background:linear-gradient(135deg,#ff5d73,#a78bfa);color:#fff;box-shadow:0 4px 14px #ff5d7359}.slider-row{display:flex;align-items:center;gap:1rem}.slider-value{font-family:var(--font-display);font-weight:800;font-size:1.5rem;min-width:2.2rem;text-align:center;background:linear-gradient(135deg,#ff5d73,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}input[type=range]{flex:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:10px;border-radius:999px;background:#00000059;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff5d73,#a78bfa);border:3px solid #fff;box-shadow:0 4px 14px #ff5d7373}input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#ff5d73,#a78bfa);border:3px solid #fff;box-shadow:0 4px 14px #ff5d7373}.team-names{display:flex;flex-direction:column;gap:.55rem}.team-name-row{display:flex;align-items:center;gap:.6rem}.team-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 10px currentColor}.team-name-row input,.text-input{flex:1;width:100%;background:#00000040;border:1px solid var(--panel-border);border-radius:11px;padding:.6rem .9rem;color:var(--text);font-size:1rem;outline:none}.team-name-row input:focus,.text-input:focus{border-color:#a78bfa99}.playlist-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.playlist-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;background:#00000038;border:1.5px solid var(--panel-border);border-radius:16px;padding:.85rem;transition:all .18s ease;cursor:pointer}.panel-head{display:flex;justify-content:space-between;align-items:center}.add-list-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1.5px dashed rgba(167,139,250,.55);color:#c4b5fd;background:#a78bfa1a;transition:all .18s ease}.add-list-btn:hover{background:#a78bfa38;border-style:solid}.playlist-edit{position:absolute;top:.5rem;right:.5rem;font-size:1rem;opacity:.6;padding:.3rem}.playlist-edit:hover{opacity:1}.playlist-card.active{border-color:#a78bfa;background:#a78bfa21;box-shadow:0 6px 22px #a78bfa40}.playlist-icon{color:#a78bfa}.playlist-card.active .playlist-icon{color:#c4b5fd}.new-list-icons{color:var(--text-dim)}.playlist-name{font-weight:700;font-size:1rem}.playlist-desc{font-size:.75rem;color:var(--text-dim);line-height:1.3}.playlist-count{font-size:.72rem;color:var(--text-dim);margin-top:.2rem}.spotify-head{display:flex;justify-content:space-between;align-items:center}.status-pill{font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:.22rem .65rem;border-radius:999px;vertical-align:middle;margin-left:.4rem}.status-pill.ok{background:#1db95433;color:#6ee7a0}.status-pill.off{background:#ffffff17;color:var(--text-dim)}.spotify-config{display:flex;flex-direction:column;gap:.7rem}.board{height:100%;display:grid;gap:12px;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.board.teams-2{grid-template-areas:"z0" "hub" "z1";grid-template-rows:1fr auto 1fr}.board.teams-3{grid-template-areas:"z0 z1" "hub hub" "z2 z2";grid-template-rows:1fr auto 1fr;grid-template-columns:1fr 1fr}.board.teams-4{grid-template-areas:"z0 z1" "hub hub" "z2 z3";grid-template-rows:1fr auto 1fr;grid-template-columns:1fr 1fr}.team-zone:nth-of-type(1){grid-area:z0}.team-zone:nth-of-type(2){grid-area:z1}.team-zone:nth-of-type(3){grid-area:z2}.team-zone:nth-of-type(4){grid-area:z3}.team-zone{background:var(--team-soft);border:1.5px solid transparent;border-radius:var(--radius);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.6rem;min-height:0;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.team-zone.flipped{transform:rotate(180deg)}.team-zone.current{border-color:var(--team-color);box-shadow:0 0 0 1px var(--team-color),0 0 34px var(--team-glow)}.team-header{display:flex;align-items:center;gap:.7rem}.team-badge{font-weight:800;font-size:1.05rem;color:var(--team-color);letter-spacing:.02em}.team-score{font-family:var(--font-display);font-weight:800;font-size:1.15rem}.team-score small{color:var(--text-dim);font-size:.75rem}.turn-chip{margin-left:auto;background:var(--team-color);color:#0d0b1e;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:.28rem .7rem;border-radius:999px;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.timeline{display:flex;align-items:center;gap:.45rem;overflow-x:auto;flex:1;padding:.3rem .1rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.timeline-item{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.timeline-empty{color:var(--text-dim);font-size:.85rem;font-style:italic}.slot{display:inline-flex;align-items:center;justify-content:center;width:44px;height:120px;flex-shrink:0;border-radius:12px;border:2px dashed color-mix(in srgb,var(--team-color) 55%,transparent);color:var(--team-color);background:color-mix(in srgb,var(--team-color) 8%,transparent);animation:slot-pulse 1.6s ease-in-out infinite;transition:all .18s ease}@keyframes slot-pulse{0%,to{border-color:color-mix(in srgb,var(--team-color) 35%,transparent)}50%{border-color:color-mix(in srgb,var(--team-color) 85%,transparent)}}.slot.selected{width:78px;border-style:solid;border-color:var(--team-color);background:color-mix(in srgb,var(--team-color) 22%,transparent);animation:none;box-shadow:0 0 18px var(--team-glow)}.slot-ghost{font-family:var(--font-display);font-weight:800;font-size:1.6rem}.team-tokens{display:inline-flex;align-items:center;gap:.25rem;color:#fbbf24;font-weight:700;font-size:.9rem}.timeline-link{color:var(--text-dim);opacity:.5;font-size:1.1rem;transform:rotate(180deg)}.card{width:116px;aspect-ratio:3 / 4;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--team-color, #a78bfa) 88%,white 12%),color-mix(in srgb,var(--team-color, #a78bfa) 70%,black 30%));color:#14102b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.5rem .45rem;gap:.25rem;box-shadow:0 6px 16px #00000059;animation:card-in .45s cubic-bezier(.2,1.4,.4,1)}@keyframes card-in{0%{transform:translateY(18px) scale(.7) rotate(-6deg);opacity:0}}.card-year{font-family:var(--font-display);font-weight:800;font-size:1.85rem;line-height:1}.card-title{font-size:.62rem;font-weight:700;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-artist{font-size:.58rem;opacity:.75;line-height:1.15;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card.large{width:170px;border-radius:18px;background:linear-gradient(160deg,#fdfbff,#d9d2f5);box-shadow:0 18px 44px #00000080}.card.large .card-year{font-size:3rem;background:linear-gradient(135deg,#ff5d73,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.card.large .card-title{font-size:.85rem}.card.large .card-artist{font-size:.78rem}.card-movie{font-size:.56rem;font-weight:700;font-style:italic;opacity:.85;line-height:1.15;border-top:1px solid rgba(20,16,43,.25);padding-top:.2rem;margin-top:.1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card.large .card-movie{font-size:.74rem}.hub{grid-area:hub;display:flex;align-items:center;gap:1.4rem;background:#0a0818b8;border:1px solid var(--panel-border);border-radius:var(--radius);padding:.9rem 1.4rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);min-height:148px;box-shadow:0 16px 50px #00000073}.hub.flipped{transform:rotate(180deg)}.hub-exit{align-self:flex-start}.hub-left{display:flex;flex-direction:column;gap:.18rem;min-width:150px}.hub-turn-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.hub-turn-team{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--team-color);line-height:1.1}.hub-deck{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.85rem;margin-top:.3rem}.hub-warn{font-size:.75rem;color:#fbbf24}.hub-center{flex:1;display:flex;justify-content:center;align-items:center}.btn.draw{background:linear-gradient(135deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#a78bfa 45%));color:#0d0b1e;font-size:1.3rem;padding:1rem 2.6rem;box-shadow:0 10px 30px color-mix(in srgb,var(--team-color) 45%,transparent)}.draw-icon{animation:note-bounce 1.6s ease-in-out infinite}@keyframes note-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px) rotate(-6deg)}}.guessing{display:flex;align-items:center;gap:1.6rem}.vinyl{width:96px;height:96px;border-radius:50%;background-image:repeating-radial-gradient(circle,#161616 0,#161616 2px,#232323 2px,#232323 4px);border:2px solid rgba(255,255,255,.14);display:grid;place-items:center;box-shadow:0 10px 30px #0000008c;flex-shrink:0}.vinyl.spinning{animation:spin 2.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.vinyl-label{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--team-color, #ff5d73),#a78bfa);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:#0d0b1e}.guessing-controls{display:flex;align-items:center;gap:.9rem}.btn.play-toggle{width:74px;height:74px;border-radius:50%;padding:0;font-size:1.7rem;background:#fff;color:#0d0b1e;box-shadow:0 10px 28px #ffffff38}.btn.reveal{background:linear-gradient(135deg,#fbbf24,#ff5d73);color:#0d0b1e;font-size:1.1rem}.guessing-hint{color:var(--text-dim);font-size:.85rem;max-width:200px;line-height:1.35}.guessing-hint.wide{max-width:420px}.idle-area{display:flex;align-items:center;gap:1.4rem}.claim-area,.place-area{display:flex;flex-direction:column;gap:.6rem}.claim-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.btn.claim{background:color-mix(in srgb,var(--claim-color) 22%,transparent);border:1.5px solid var(--claim-color);color:var(--claim-color);font-size:.98rem;padding:.6rem 1.3rem}.btn.claim:disabled{opacity:.25}.result-banner{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.98rem;padding:.5rem 1rem;border-radius:12px}.result-banner.ok{background:#34d39926;border:1px solid rgba(52,211,153,.5);color:#6ee7a0}.result-banner.ko{background:#ff5d7324;border:1px solid rgba(255,93,115,.5);color:#ff8296}.bonus-q{display:inline-flex;align-items:center;gap:.4rem;font-size:.92rem;color:var(--text)}.bonus-q svg{color:#fbbf24}.verdict-buttons{display:flex;gap:.7rem}.revealed{display:flex;align-items:center;gap:1.8rem}.reveal-card-wrap{perspective:700px}.reveal-card-wrap .card{animation:flip-in .55s cubic-bezier(.2,1.2,.4,1)}@keyframes flip-in{0%{transform:rotateY(95deg) scale(.85);opacity:0}}.verdict{display:flex;flex-direction:column;gap:.7rem}.btn.correct{background:linear-gradient(135deg,#34d399,#2dd4bf);color:#052e22;font-size:1.15rem;padding:.85rem 2.2rem}.btn.wrong{background:#ff5d7329;border:1.5px solid rgba(255,93,115,.55);color:#ff8296;font-size:1.15rem;padding:.85rem 2.2rem}@media(max-width:740px){.settings{padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));gap:1rem}.settings-hero h1{font-size:clamp(1.1rem,6.5vw,1.7rem);letter-spacing:.07em}.mode-selector{width:100%}.mode-option{flex:1 1 100%}.playlist-grid,.settings-grid.cols-2 .playlist-grid{grid-template-columns:1fr 1fr}.board{overflow-y:auto;gap:10px;-webkit-overflow-scrolling:touch}.board.teams-2{grid-template-areas:"z0" "hub" "z1";grid-template-rows:auto auto auto}.board.teams-3{grid-template-areas:"z0" "z1" "hub" "z2";grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.board.teams-4{grid-template-areas:"z0" "z1" "hub" "z2" "z3";grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto}.team-zone{min-height:148px}.hub{position:relative;flex-direction:column;align-items:stretch;gap:.8rem;padding:.8rem 1rem;min-height:0}.hub-exit{position:absolute;top:.5rem;right:.5rem;align-self:auto}.hub-left{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:.8rem;row-gap:.15rem;width:100%;min-width:0}.hub-turn-team{font-size:1.2rem}.hub-center{width:100%}.idle-area,.guessing,.revealed{flex-wrap:wrap;justify-content:center;gap:.9rem}.guessing-hint,.guessing-hint.wide{max-width:none;text-align:center}.claim-buttons,.verdict-buttons{justify-content:center}.vinyl{width:72px;height:72px}.btn.play-toggle{width:60px;height:60px}.qr-card{width:132px;height:132px}.btn.draw{font-size:1.1rem;padding:.85rem 1.8rem}.card.large{width:140px}.winner-panel{padding:1.8rem 1.6rem;margin:0 1rem}}.blind{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;padding:2rem;text-align:center}.blind-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:.14em;background:linear-gradient(100deg,#ff5d73,#fbbf24 45%,#2dd4bf 80%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.6rem}.logo-disc.blind-logo{width:34px;height:34px}.logo-disc.blind-logo .logo-disc-label{width:12px;height:12px}.blind-vinyl{width:170px;height:170px}.blind-vinyl .vinyl-label{width:64px;height:64px;font-size:2rem}.blind-title{font-family:var(--font-display);font-size:1.6rem;background:linear-gradient(100deg,#ff5d73,#fbbf24 45%,#2dd4bf 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.blind-play{width:88px;height:88px}.blind-hint{max-width:320px}.btn.scan-btn{background:#a78bfa26;border:1.5px solid rgba(167,139,250,.55);color:#c4b5fd;margin-top:.4rem}.scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05040eeb;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem}.scan-close{position:absolute;top:max(1rem,env(safe-area-inset-top));right:1rem;color:var(--text)}.scan-frame{width:min(78vw,340px);aspect-ratio:1;border-radius:22px;overflow:hidden;border:3px solid rgba(167,139,250,.8);box-shadow:0 0 40px #a78bfa4d}.scan-frame video{width:100%;height:100%;object-fit:cover}.toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:#ff5d7324;border:1px solid rgba(255,93,115,.5);color:#ffd7dd;padding:.8rem 1.4rem;border-radius:14px;font-size:.92rem;max-width:min(560px,88vw);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:60;cursor:pointer;animation:toast-in .3s ease}@keyframes toast-in{0%{transform:translate(-50%,14px);opacity:0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05040ea6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:70}.modal{background:#1c1838;border:1px solid var(--panel-border);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.8rem;min-width:320px;max-width:88vw}.modal h3{font-family:var(--font-display);font-size:1.3rem}.btn.device{background:#ffffff12;border:1px solid var(--panel-border);text-align:left;font-weight:600}.modal.editor{width:min(680px,92vw);max-height:88vh;overflow-y:auto;gap:.7rem;-webkit-overflow-scrolling:touch}.editor-head{display:flex;justify-content:space-between;align-items:center}.editor h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-top:.4rem}.icon-picker{display:flex;flex-wrap:wrap;gap:.45rem}.icon-choice{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1.5px solid var(--panel-border);background:#00000038;color:var(--text-dim);transition:all .15s ease}.icon-choice.active{border-color:#a78bfa;background:#a78bfa26;color:#c4b5fd;box-shadow:0 4px 14px #a78bfa40}.modal.login{min-width:340px}.modal.login h3{display:flex;align-items:center;gap:.5rem}.search-row{display:flex;gap:.6rem}.search-row .text-input{flex:1}.results{display:flex;flex-direction:column;gap:.35rem}.result-row{display:flex;align-items:center;gap:.7rem;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:12px;padding:.45rem .7rem;text-align:left;transition:background .15s}.result-row:not(:disabled):hover{background:#ffffff1a}.result-row:disabled{opacity:.45}.result-row img{width:40px;height:40px;border-radius:8px;flex-shrink:0}.result-main,.song-main{display:flex;flex-direction:column;min-width:0;flex:1}.result-title{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-sub{font-size:.78rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-add{font-size:1.25rem;font-weight:700;color:#6ee7a0}.manual-add .manual-link{margin-top:.5rem;margin-bottom:.4rem}.start-row{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;justify-content:center}.rules-picker{display:flex;align-items:center;gap:.8rem}.segmented.mini{padding:3px}.segmented.mini .segment{font-size:.85rem;padding:.45rem .9rem;flex:none}.btn.redeem{font-size:.75rem;font-weight:700;padding:.3rem .7rem;gap:.2rem;background:#fbbf2424;border:1.5px solid rgba(251,191,36,.55);color:#fbbf24}.rules-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem;color:var(--text-dim);font-size:.9rem;line-height:1.45}.rules-list strong{color:var(--text)}.rules-list svg{color:#fbbf24;vertical-align:-2px}.start-count{font-size:.72rem;font-weight:600;opacity:.85;background:#0003;padding:.2rem .6rem;border-radius:999px}.manual-add summary{cursor:pointer;color:var(--text-dim);font-size:.9rem}.manual-row{display:flex;gap:.5rem;margin-top:.6rem}.year-input{flex:0 0 76px;text-align:center}.song-list{display:flex;flex-direction:column;gap:.35rem}.song-row{display:flex;align-items:center;gap:.7rem;background:#00000038;border-radius:12px;padding:.35rem .5rem}.song-row .year-input{flex:0 0 68px;padding:.4rem .3rem}.version-fixed{color:#6ee7a0}.modal.version-picker{width:min(560px,92vw);max-height:82vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.editor-error{color:#ff8296;font-size:.88rem}.editor-foot{display:flex;justify-content:flex-end;gap:.8rem;margin-top:.5rem;position:sticky;bottom:0}.editor-save{font-size:1.05rem;padding:.8rem 2rem}.winner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05040ec7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;z-index:80}.winner-panel{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.7rem;background:#ffffff0f;border:1px solid var(--panel-border);border-radius:28px;padding:2.6rem 3.4rem;animation:winner-in .5s cubic-bezier(.2,1.3,.4,1);box-shadow:0 0 60px color-mix(in srgb,var(--team-color) 35%,transparent)}@keyframes winner-in{0%{transform:scale(.7);opacity:0}}.winner-trophy{color:#fbbf24;filter:drop-shadow(0 0 18px rgba(251,191,36,.55));animation:trophy-pop .7s cubic-bezier(.2,1.5,.4,1),trophy-glow 2.2s ease-in-out .7s infinite}@keyframes trophy-pop{0%{transform:scale(0) rotate(-20deg)}70%{transform:scale(1.15) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes trophy-glow{0%,to{filter:drop-shadow(0 0 10px rgba(251,191,36,.35));transform:translateY(0)}50%{filter:drop-shadow(0 0 24px rgba(251,191,36,.75));transform:translateY(-4px)}}.winner-panel h2{font-size:2.2rem;color:var(--team-color)}.winner-panel p{color:var(--text-dim);margin-bottom:.8rem}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.confetto{position:absolute;top:-14px;left:calc(var(--i) * 2.5%);width:9px;height:15px;border-radius:2px;background:hsl(calc(var(--i) * 47),85%,62%);animation:fall calc(2.6s + (var(--i) - 20) * .06s) linear infinite;animation-delay:calc(var(--i) * -.17s)}@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}.score-toggles{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:.9rem}.score-toggle{display:flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:14px;border:1px solid var(--panel-border);background:#00000040;color:var(--text-dim);font-size:1rem;font-weight:700;transition:all .18s ease}.score-toggle small{font-size:.8rem;opacity:.7}.score-toggle.on{background:linear-gradient(135deg,#22c55e,#4ade80);border-color:transparent;color:#06210f;box-shadow:0 4px 16px #22c55e59}.score-toggle.auto{cursor:default;opacity:.85}.score-toggle.auto.on{opacity:1}
