@supports (-webkit-appearance:none){.hero-content{-webkit-box-pack:justify;-webkit-box-align:start}.hero-text{-webkit-box-orient:vertical;-webkit-box-direction:normal}}.app-shell{width:min(100%,1080px);margin:0 auto;padding:1.5rem 1rem 4rem;min-height:100vh;overflow-anchor:none}.status-hero{position:relative;border-radius:28px;padding:2.6rem 2rem 2.4rem;background:linear-gradient(150deg,#0f172ad9,#0f172a99);color:#fff;margin-bottom:3rem;overflow:hidden;box-shadow:0 34px 70px #0f172a59;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 55%);pointer-events:none}.hero-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.5) 0%,transparent 60%);background:linear-gradient(135deg,color-mix(in srgb,var(--hero-accent, #6366f1) 50%,transparent) 0%,transparent 60%);opacity:.85;-webkit-filter:blur(20px);filter:blur(20px);pointer-events:none}.hero-cover{width:140px;height:140px;border-radius:12px;background-size:cover;background-position:center;box-shadow:0 18px 36px #0206171f;flex-shrink:0;border:2px solid rgba(255,255,255,.06)}.hero-content{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:clamp(1.5rem,3vw,3.5rem);z-index:1}.hero-text{display:flex;flex-direction:column;gap:.75rem;max-width:60%;min-width:0}.hero-now-cover{width:160px;height:160px;border-radius:12px;background-size:cover;background-position:center;box-shadow:0 18px 36px #0206171f;flex-shrink:0;margin-right:1rem}.hero-label{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#ffffffc7}.status-hero h1{margin:0;font-size:clamp(2.2rem,4vw,3rem);letter-spacing:-.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hero-subtitle{margin:0;color:#fffc;font-size:1.05rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-meta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.5rem}.hero-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600}.hero-pill-active{background:#22c55e26;color:#bbf7d0}.hero-pill-finished{background:linear-gradient(135deg,#fbbf2440,#f59e0b4d);border:1.5px solid rgba(251,191,36,.4);color:#fde68a;box-shadow:0 4px 12px #fbbf2433;animation:hero-pill-glow 2s ease-in-out infinite;position:relative;overflow:hidden}.hero-pill-finished:before{content:"🏆 "}.hero-pill-finished:after{content:"";position:absolute;inset:-50%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%) rotate(25deg);animation:hero-pill-shine 3s ease-in-out infinite}@keyframes hero-pill-glow{0%,to{box-shadow:0 4px 12px #fbbf2433}50%{box-shadow:0 6px 20px #fbbf2466}}@keyframes hero-pill-shine{0%{transform:translate(-100%) rotate(25deg)}20%,to{transform:translate(200%) rotate(25deg)}}.hero-pill-idle{background:#94a3b840;color:#ffffffc2}.hero-queue{font-size:.9rem;color:#ffffffc7}.hero-status-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:1.4rem}.hero-countdown{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:24px;background:linear-gradient(135deg,#6366f126,#8b5cf626);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #6366f133,0 2px 8px #0000001a,inset 0 1px #ffffff26;transition:all .3s ease}.hero-countdown:hover{transform:translateY(-2px);box-shadow:0 12px 40px #6366f14d,0 4px 12px #00000026,inset 0 1px #fff3}.hero-countdown-info{display:flex;flex-direction:column;gap:.25rem;font-variant-numeric:tabular-nums}.hero-countdown-info strong{font-size:2rem;font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,#fff,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 8px rgba(99,102,241,.3)}.hero-countdown-info span{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#fffc}.hero-buttons{display:flex;flex-direction:column;gap:.65rem;align-items:stretch}.accent-button{background:linear-gradient(135deg,#ff8a8a,#ff4d4d);box-shadow:0 12px 24px #ff6d6d59}.accent-button:not(:disabled):hover{transform:translateY(-1px) scale(1.01)}.primary-button,.ghost-button{border-radius:999px;border:none;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.primary-button{background:linear-gradient(135deg,#5c6cff,#8a73ff);color:#fff;box-shadow:0 8px 20px #5f6cff40}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.primary-button:not(:disabled):hover{transform:translateY(-1px)}.ghost-button{background:#5c6cff1a;color:#4c51bf}.ghost-button.ghost-danger{background:#ef44441f;color:#b91c1c}.ghost-button:disabled{opacity:.45;cursor:not-allowed}.ghost-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #5c6cff66}.ghost-button.ghost-danger:not(:disabled):hover{box-shadow:inset 0 0 0 1px #ef444480}.ghost-button.ghost-link{text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.connection-indicator{margin-top:.75rem;font-size:.85rem;font-weight:500;padding:.2rem .65rem;border-radius:999px;display:inline-flex;align-items:center;gap:.5rem;background:#e2e8f0e6;color:#0f172a;box-shadow:0 4px 12px #0f172a14}.connection-indicator .indicator-dot{width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block}.connection-indicator .badge-detail{font-weight:400;font-size:.8em;opacity:.9}.connection-indicator.status-ok{background:#bbf7d0e6;color:#166534}.connection-indicator.status-warning{background:#fef9c3f5;color:#92400e}.connection-indicator.status-error{background:#fee2e2f5;color:#b91c1c}.status-header{margin-top:1rem}.status-main{display:flex;align-items:center;gap:1rem}.status-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px;min-height:92px;border-radius:18px;background:linear-gradient(135deg,#6366f124,#5c6cff0f);color:#0f172a;box-shadow:0 12px 30px #0f172a0f;font-weight:800}.status-countdown strong{font-size:1.25rem}.status-countdown .status-phase{font-size:.75rem;color:#475569}.status-countdown{position:relative;padding:8px;display:flex;align-items:center;gap:12px}.progress-ring{flex:0 0 auto;display:block;filter:drop-shadow(0 4px 12px rgba(99,102,241,.4))}.progress-ring-bg{stroke:#ffffff26;stroke-width:8}.progress-ring-circle{transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease-out;opacity:1;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}.progress-ring-circle.active{filter:drop-shadow(0 0 12px rgba(255,255,255,.8));animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}50%{opacity:.95;filter:drop-shadow(0 0 16px rgba(255,255,255,.9))}}.status-countdown-inner{display:flex;flex-direction:column;gap:2px}.status-countdown-inner strong{font-size:1.15rem}.status-info .status-title{font-weight:800;font-size:1.05rem}.status-info .status-sub{color:#475569;font-size:.92rem}.status-countdown.pulse{animation:pulse 1.2s ease-in-out infinite}.connection-connected{background:#22c55e26;color:#15803d}.connection-connecting{background:#3b82f626;color:#1d4ed8}.connection-disconnected{background:#ef44442e;color:#b91c1c}.status-hero .connection-indicator{background:#ffffff2e;color:#ffffffd9;box-shadow:0 10px 24px #0f172a59}.content-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:start;margin-top:1.25rem;padding-top:.75rem;padding-bottom:3rem}.voting-status-marquee{margin:.5rem 0 0;padding:.75rem 1rem;border-radius:14px;background:linear-gradient(90deg,#5c6cff1f,#6366f10f);color:#0f172a;font-weight:700;letter-spacing:.01em;display:block;position:relative;overflow:hidden;pointer-events:none;height:44px}.voting-status-marquee .marquee-inner{display:inline-block;white-space:nowrap;position:absolute;will-change:transform;animation:marquee 12s linear infinite;left:100%;top:50%;transform:translateY(-50%)}@keyframes marquee{0%{transform:translate(0) translateY(-50%)}to{transform:translate(-200%) translateY(-50%)}}.timer-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.5rem .9rem;color:#fff;background:linear-gradient(90deg,#5c6cff,#8a73ff);box-shadow:0 8px 28px #5c6cff47}.timer-pill-active{animation:pulse 1.2s ease-in-out infinite;box-shadow:0 10px 32px #22c55e2e,0 0 0 4px #22c55e0f}.timer-pill-idle{background:#94a3b82e;color:#334155}.timer-pill-finished{background:#ffab002e;color:#b45309}.card{background:linear-gradient(180deg,#fffffffa,#fff);border-radius:14px;padding:1.25rem;box-shadow:0 18px 40px #02061714;display:flex;flex-direction:column;gap:1rem;border:1px solid rgba(15,23,42,.04)}.card h2{margin:0;font-size:1.3rem}.badge-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#6366f11f;color:#4338ca}.stats-card{gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.2rem}.stat-item{display:flex;flex-direction:column;gap:.35rem;padding:.8rem .9rem;border-radius:14px;background:linear-gradient(180deg,#f1f5ff99,#f8faffe6);border:1px solid rgba(99,102,241,.08)}.stat-label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#475569}.stat-value{font-size:1.8rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.stat-sub{font-size:.85rem;color:#64748b}.stats-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#e2e8ffb3}.stats-bar-segment{height:100%}.stats-bar-queued{background:#6366f173}.stats-bar-performing{background:#22c55eb3}.stats-bar-completed{background:#f97316bf}.stats-bar-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.9rem;font-size:.85rem;color:#475569}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px}.legend-queued{background:#6366f1f2}.legend-performing{background:#22c55ee6}.legend-completed{background:#f97316e6}.stats-chart{display:flex;flex-direction:column;gap:.55rem}.stats-chart svg{width:100%;height:120px}.stats-chart-line{fill:none;stroke:#6366f1;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.stats-chart-fill{fill:#6366f12e;stroke:none}.stats-chart-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#475569}.song-form{display:grid;gap:.9rem}.song-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;color:#1e293b}.song-form input{border-radius:12px;border:1px solid #cbd5f5;padding:.7rem .95rem;transition:border-color .15s ease,box-shadow .15s ease}.song-form input:focus{border-color:#5c6cff;outline:none;box-shadow:0 0 0 4px #5c6cff26}.platform-picker{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.platform-toggle-grid{display:flex;flex-wrap:wrap;gap:.5rem}.platform-toggle{border:1px solid rgba(148,163,184,.6);border-radius:999px;padding:.3rem .85rem;background:#fff;font-weight:600;color:#475569;display:inline-flex;align-items:center;gap:.45rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.platform-toggle img{height:18px;width:auto}.platform-toggle.active{background:#6366f11f;border-color:#6366f1;color:#312e81}.platform-toggle:disabled{opacity:.55;cursor:not-allowed}.platform-picker-label{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.platform-pill{border-radius:999px;border:1px solid rgba(99,102,241,.28);background:#fffffff2;padding:.35rem .9rem;font-size:.85rem;font-weight:600;color:#312e81;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;display:flex;align-items:center;justify-content:center}.platform-pill img{display:block}.platform-pill:hover{transform:translateY(-1px);box-shadow:0 12px 20px #6366f12e}.platform-pill.active{background:linear-gradient(135deg,#6366f133,#6366f159);border-color:#6366f180;color:#1e1b4b;box-shadow:0 14px 24px #6366f147}.suggestions-list{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border-radius:12px;box-shadow:0 12px 28px #0206171f;z-index:220;list-style:none;margin:0;padding:.35rem;max-height:320px;overflow:auto;border:1px solid rgba(15,23,42,.04)}.suggestions-list li{padding:.25rem;border-radius:8px;cursor:pointer}.suggestions-list li:hover{background:#6366f10a}.suggestion-item{display:flex;gap:.6rem;align-items:center}.suggestion-cover{width:48px;height:48px;border-radius:8px;background-size:cover;background-position:center;flex-shrink:0}.suggestion-cover-empty{background:linear-gradient(135deg,#eef2ff,#fff);border:1px solid rgba(148,163,184,.06)}.suggestion-meta strong{display:block;font-size:.95rem}.suggestion-meta small{display:block;color:#64748b}.suggestion-platform small{color:#94a3b8;font-size:.8rem}.suggestions-list li.highlighted{background:#6366f114}.small-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(92,108,255,.18);border-top-color:#5c6cffe6;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}.suggest-error{margin-top:6px;color:#b91c1c;font-size:.85rem}.voting-card{position:relative}.voting-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem}.timer-pill{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:#5c6cff14;color:#1e1b4b;border-radius:16px;padding:.55rem .85rem}.timer-pill strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.voting-controls{display:grid;gap:.9rem}.voting-controls label{font-weight:600;color:#1e293b;display:flex;flex-direction:column;gap:.35rem}.voting-controls input{width:100%;border-radius:12px;border:1px solid #cbd5f5;padding:.6rem .85rem}.info-text{margin:.25rem 0 0;font-size:.9rem;color:#475569;background:#94a3b82e;padding:.6rem .8rem;border-radius:12px}.button-row{display:flex;flex-direction:row;gap:.75rem;flex-wrap:wrap}.button-row>button{min-width:140px}.winner-banner{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem;border-radius:16px;background:linear-gradient(135deg,#fbbf2426,#f59e0b40,#d9770633);border:2px solid rgba(251,191,36,.3);box-shadow:0 8px 24px #fbbf2433,inset 0 1px #ffffff1a;position:relative;overflow:hidden;animation:winner-banner-entrance .6s cubic-bezier(.34,1.56,.64,1)}.winner-banner:before{content:"";position:absolute;inset:-50%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transform:translate(-100%) rotate(25deg);animation:winner-banner-shine 3s ease-in-out infinite}.winner-label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#b45309;display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.winner-label:before{content:"🏆";-webkit-text-fill-color:initial;background:none;animation:trophy-wiggle 1.5s ease-in-out infinite}@keyframes winner-banner-entrance{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes winner-banner-shine{0%{transform:translate(-100%) rotate(25deg)}20%,to{transform:translate(200%) rotate(25deg)}}@keyframes trophy-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.leaderboard{margin-top:1rem;background:linear-gradient(180deg,#6366f10f,#6366f105);border-radius:12px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.6rem;border:1px solid rgba(99,102,241,.08)}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.leaderboard-header h3{margin:0;font-size:1.05rem}.leaderboard ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.leaderboard li{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:10px;background:#fffffff2;transition:all .3s cubic-bezier(.4,0,.2,1)}.leaderboard li:first-child{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1.5px solid rgba(251,191,36,.3);box-shadow:0 4px 12px #fbbf2433;position:relative;overflow:hidden}.leaderboard li:first-child:before{content:"";position:absolute;inset:-50%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%) rotate(25deg);animation:leaderboard-shine 4s ease-in-out infinite}.leaderboard-position{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #f9731647;font-variant-numeric:tabular-nums;position:relative}.leaderboard li:first-child .leaderboard-position{background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);box-shadow:0 10px 24px #fbbf2473,inset 0 1px #ffffff4d;color:#78350f;text-shadow:0 1px 2px rgba(255,255,255,.2);animation:position-pulse 2s ease-in-out infinite}.leaderboard li:first-child .leaderboard-position:after{content:"👑";position:absolute;top:-.6em;right:-.4em;font-size:.7em;animation:crown-bob 2s ease-in-out infinite}@keyframes leaderboard-shine{0%{transform:translate(-100%) rotate(25deg)}20%,to{transform:translate(200%) rotate(25deg)}}@keyframes position-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes crown-bob{0%,to{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-3px) rotate(-5deg)}}.leaderboard-info{display:flex;flex-direction:column;gap:.1rem}.leaderboard-info strong{font-size:.98rem}.leaderboard-info small{color:#475569}.leaderboard-votes{font-weight:600;color:#334155}.live-indicator{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:999px;background:#f871712e;color:#b91c1c;font-weight:600;font-size:.85rem;animation:pulse 1.4s ease-in-out infinite}.queue-card .section-header,.now-playing .section-header,.completed-card .section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.counter{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.2rem .65rem;border-radius:999px;background:#94a3b84d;color:#0f172a;font-weight:600}.empty-state{margin:1.1rem 0 0;color:#64748b}.song-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.song-list .queue-platform-divider{display:flex;align-items:center;gap:.75rem;padding:.2rem .25rem;margin:0;background:none;border:none;color:#475569;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:color .2s ease}.song-list .queue-platform-divider:before,.song-list .queue-platform-divider:after{content:"";flex:1;height:1px;background:#94a3b859;transition:background .2s ease}.song-list .queue-platform-divider.active{color:var(--section-color, #1f2937)}.song-list .queue-platform-divider.active:before,.song-list .queue-platform-divider.active:after{background:color-mix(in srgb,var(--section-color, #1f2937) 35%,transparent)}.queue-platform-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .65rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#94a3b81f;color:inherit;text-transform:none;letter-spacing:normal;font-weight:600;transition:border .2s ease,background .2s ease}.queue-platform-chip .queue-platform-chip.selectable{cursor:pointer}.queue-platform-divider.active .queue-platform-chip{border-color:color-mix(in srgb,var(--section-color, #1f2937) 65%,transparent);background:color-mix(in srgb,var(--section-color, #1f2937) 15%,transparent)}.queue-platform-chip img{height:16px;width:auto}.queue-platform-chip .platform-dot{width:10px;height:10px;border-radius:999px;background:var(--section-color, #475569)}.queue-platform-divider.active .platform-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--section-color, #1f2937) 20%,transparent)}.current-session-badge{margin-left:.5rem;padding:.1rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;color:var(--section-color, #1f2937);background:color-mix(in srgb,var(--section-color, #1f2937) 18%,transparent);text-transform:uppercase;letter-spacing:.06em}@supports not (color-mix(in srgb,red 50%,transparent)){.song-list .queue-platform-divider.active:before,.song-list .queue-platform-divider.active:after{background:#1e40af59}.queue-platform-divider.active .queue-platform-chip{border-color:#1e40af99;background:#1e40af1f}.queue-platform-divider.active .platform-dot{box-shadow:0 0 0 4px #1e40af26}.current-session-badge{color:#1e293b;background:#1e40af1f}}.song-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:1rem 1.15rem;border-radius:18px;background:#fffffff2;border:1px solid rgba(148,163,184,.2);box-shadow:0 16px 32px #0f172a14;transform:translateY(0);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.song-card-main{display:flex;gap:.85rem;align-items:center}.song-cover-small{width:64px;height:64px;border-radius:8px;background-size:cover;background-position:center;background-color:#94a3b814;box-shadow:0 10px 20px #0206170f;flex-shrink:0}.song-card-text h3{margin:0 0 .2rem}.song-card-text p{margin:0;color:#475569}.song-card-reason{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;padding:.25rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.25;background:#94a3b838;color:#1f2937;border:1px solid rgba(148,163,184,.35)}.song-card-reason span[aria-hidden]{font-size:1rem;line-height:1}.song-card-reason.reason-duplicateSong,.song-card-reason.reason-duplicateBoth{background:#ef44441f;color:#7f1d1d;border-color:#ef44444d}.song-card-reason.reason-duplicateTeam{background:#0ea5e924;color:#075985;border-color:#0ea5e942}.song-card-reason.reason-duplicateBoth{box-shadow:inset 0 0 0 1px #ef44442e}.song-platform small a{text-decoration:none;color:#4c51bf;margin-left:.35rem}.song-card:hover{transform:translateY(-3px);box-shadow:0 20px 36px #0f172a1f}.song-card h3{margin:0 0 .2rem;font-size:1.05rem}.song-card p{margin:0;color:#475569}.song-rank{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;box-shadow:0 8px 16px #6366f14d}.song-card-actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.vote-buttons{display:flex;align-items:center;gap:.4rem}.vote-buttons.jodel-style{display:flex;align-items:center;gap:.5rem;background:#00000008;border-radius:20px;padding:.3rem .6rem}.vote-btn{border:none;background:transparent;font-size:1.3rem;cursor:pointer;padding:.3rem .5rem;border-radius:8px;transition:all .2s ease;opacity:.4;line-height:1;font-weight:700;color:#64748b}.vote-btn:hover:not(:disabled){opacity:1;transform:scale(1.15)}.vote-btn:disabled{cursor:not-allowed;opacity:.15}.vote-btn.active{opacity:1}.vote-btn.vote-up.active{color:#ff6b35;text-shadow:0 0 8px rgba(255,107,53,.4)}.vote-btn.vote-down.active{color:#4a90e2;text-shadow:0 0 8px rgba(74,144,226,.4)}.vote-score{font-weight:700;font-size:1rem;min-width:2.5rem;text-align:center;color:#1e293b;font-variant-numeric:tabular-nums}.vote-btn:disabled.active{opacity:.9;filter:grayscale(10%)}.vote-count{font-weight:700;font-size:.95rem;min-width:1.5rem;text-align:center}.vote-count.upvotes{color:#22c55e}.vote-count.downvotes{color:#ef4444}.song-card-actions button{border-radius:999px;border:none;padding:.45rem 1rem;background:#eef2ff;color:#4c51bf;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.song-card-actions button:disabled{opacity:.4;cursor:not-allowed}.song-card-actions button:not(:disabled):hover{background:#5c6cff33;transform:translateY(-1px)}.song-card-badge{position:absolute;top:14px;right:14px;padding:.35rem .85rem;border-radius:999px;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);border:1.5px solid rgba(253,230,138,.8);color:#78350f;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 0 20px #fbbf2480,0 8px 16px #f59e0b66,inset 0 1px #ffffff4d;text-shadow:0 1px 2px rgba(255,255,255,.2);animation:badge-glow 2s ease-in-out infinite;z-index:10;display:inline-flex;align-items:center;gap:.3rem}.song-card-badge:before{content:"🏆";font-size:1.1em;animation:trophy-shake 1.5s ease-in-out infinite}@keyframes badge-glow{0%,to{box-shadow:0 0 20px #fbbf2480,0 8px 16px #f59e0b66,inset 0 1px #ffffff4d}50%{box-shadow:0 0 30px #fbbf24b3,0 12px 24px #f59e0b99,inset 0 1px #fff6}}@keyframes trophy-shake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-8deg)}20%,40%,60%,80%{transform:rotate(8deg)}}.song-card-leader{border-color:#f43f5e66;box-shadow:0 22px 40px #f43f5e38}.vote-count{font-weight:700;color:#0f172a}.song-card-winner{border:2px solid rgba(251,191,36,.6);box-shadow:0 20px 40px #fbbf2440,0 8px 16px #f59e0b33,inset 0 1px #ffffff1a;background:linear-gradient(135deg,#fbbf2414,#f59e0b0d)}.song-card-winner .song-rank{background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);box-shadow:0 12px 28px #fbbf2480,inset 0 1px #ffffff4d;color:#78350f;text-shadow:0 1px 2px rgba(255,255,255,.2);font-weight:800;position:relative}.song-card-winner .song-rank:after{content:"👑";position:absolute;top:-.5em;right:-.3em;font-size:.6em;animation:crown-float 2s ease-in-out infinite}.song-card-winner{position:relative;overflow:hidden}.song-card-winner:before{content:"";position:absolute;inset:-40% -20%;background:linear-gradient(120deg,#fff0,#fbbf2426 30%,#ffffff40,#fbbf2426 70%,#fff0);transform:rotate(-25deg) translate(-100%);pointer-events:none;animation:winner-shine 3s ease-in-out infinite;mix-blend-mode:overlay}.song-card-winner:after{content:"✨";position:absolute;top:1rem;right:1rem;font-size:1.2rem;opacity:.7;animation:sparkle-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes winner-shine{0%{transform:rotate(-25deg) translate(-120%);opacity:0}20%{opacity:.9}30%{transform:rotate(-25deg) translate(-20%);opacity:1}60%{transform:rotate(-25deg) translate(20%);opacity:.8}to{transform:rotate(-25deg) translate(120%);opacity:0}}@keyframes crown-float{0%,to{transform:translateY(0) rotate(-15deg)}50%{transform:translateY(-4px) rotate(-10deg)}}@keyframes sparkle-pulse{0%,to{opacity:.4;transform:scale(.9) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.vote-meter{width:100%;height:12px;border-radius:999px;background:#94a3b81f;overflow:hidden;position:relative;margin-top:.5rem}.vote-meter-bar{height:100%;width:var(--vote-ratio, 0%);max-width:100%;background:linear-gradient(90deg,#f97316,#ef4444);border-radius:inherit;transition:width .45s cubic-bezier(.2,.9,.2,1),background .3s;box-shadow:0 6px 16px #ef44441f inset}.vote-meter-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff1f,#ffffff0d,#ffffff1f);transform:translate(-120%);pointer-events:none;transition:transform .6s ease}.vote-meter-bar.shimmer:after{transform:translate(120%);transition:transform .6s cubic-bezier(.2,.9,.2,1)}.song-card.voted{transform:translateY(-6px) scale(1.02);box-shadow:0 26px 50px #0f172a24}.vote-meter{position:relative}.now-playing-cover{width:140px;height:140px;border-radius:12px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}.now-playing-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;font-size:2rem;font-weight:800}.now-playing-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000026,#0000000d);mix-blend-mode:overlay}.now-playing-info{margin-top:.5rem}.song-admin-controls{display:inline-flex;gap:.35rem;margin-left:.6rem}.song-admin-controls button{width:36px;height:36px;border-radius:8px;background:#94a3b814;border:none;cursor:pointer;font-weight:700}.song-admin-controls button:disabled{opacity:.45;cursor:not-allowed}.performing-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;border-radius:16px;background:linear-gradient(135deg,#facc152e,#fef3c7a6)}.performing-card h3{margin:0 0 .2rem}.completed-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.completed-list li{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .9rem;border-radius:12px;background:#f1f5f9cc}.completed-list strong{font-size:1rem}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%) translateY(12px);background:#0f172aeb;color:#fff;padding:.8rem 1.3rem;border-radius:999px;box-shadow:0 10px 30px #0f172a59;font-size:.9rem;z-index:1200;width:calc(100% - 2rem);text-align:center;max-width:420px;opacity:0;animation:toast-in .36s cubic-bezier(.2,.9,.25,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(18px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.beamer-shell .toast{bottom:48px;max-width:980px;width:min(96%,1200px);font-size:1.35rem;padding:1rem 1.6rem;border-radius:18px;box-shadow:0 28px 80px #02061773}.feedback-panel{display:flex;flex-direction:column;gap:.75rem}.feedback-panel-loading{display:flex;align-items:center;gap:.5rem;color:#475569;font-size:.9rem;padding:.4rem 0}.feedback-inbox-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.feedback-item{border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:.85rem 1rem;background:#f8fafca6}.feedback-item-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;color:#475569}.feedback-pill-set{display:flex;flex-wrap:wrap;gap:.35rem}.feedback-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;background:#3b82f61a;color:#1d4ed8;font-weight:600}.feedback-pill.rating-pill{background:#10b9811a;color:#047857}.feedback-message{margin:.55rem 0 0;font-size:.95rem;color:#0f172a;white-space:pre-line}.feedback-context{margin-top:.65rem;border-top:1px dashed rgba(148,163,184,.5);padding-top:.5rem}.feedback-context strong{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:.25rem}.feedback-context dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.35rem .75rem}.feedback-context-row{display:flex;flex-direction:column;font-size:.8rem}.feedback-context-row dt{font-weight:600;color:#475569}.feedback-context-row dd{margin:0;color:#0f172a}.feedback-timestamp{font-size:.8rem;color:#94a3b8}.feedback-updated-label{margin-top:.75rem;font-size:.8rem;color:#94a3b8}.floating-add-button{position:fixed;right:20px;bottom:90px;width:64px;height:64px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff8a8a,#ff4d4d);color:#fff;font-size:2rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px #ff6d6d73;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;z-index:120}.floating-add-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.floating-add-button:not(:disabled):hover{transform:translateY(-2px) scale(1.02)}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:200}.modal-card{background:#fff;border-radius:20px;width:min(480px,100%);padding:1.8rem 1.6rem 2rem;box-shadow:0 28px 60px #0f172a40;display:flex;flex-direction:column;gap:1rem}.settings-modal-card{background:#fff;border-radius:14px;width:min(420px,100%);padding:1.25rem 1.2rem;box-shadow:0 28px 60px #0f172a40;display:flex;flex-direction:column;gap:.9rem}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal-header h2{margin:0;font-size:1.45rem}.modal-step-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0}.modal-close{width:36px;height:36px;border-radius:50%;background:#94a3b82e;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0}.modal-subline{margin:0;color:#475569}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.modal-field-error{margin:.35rem 0 0;color:#dc2626;font-size:.85rem;font-weight:600}.modal-card input.input-error{border-color:#dc2626!important;box-shadow:0 0 0 4px #dc262626!important}.modal-card label.input-error-label{color:#b91c1c}.modal-card label.input-error-label input{border-color:#dc2626!important}.access-overlay{background:#0f172ab3;z-index:230}.access-modal-card{background:#fff;border-radius:20px;width:min(420px,100%);padding:1.6rem 1.5rem 1.8rem;box-shadow:0 28px 60px #0f172a4d;display:flex;flex-direction:column;gap:1rem}.modal-header-actions{display:flex;align-items:center;gap:.75rem}.access-form{display:grid;gap:.85rem}.access-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#1e293b}.access-form input{border-radius:12px;border:1px solid #cbd5f5;padding:.7rem .95rem}.access-form input:focus{border-color:#5c6cff;outline:none;box-shadow:0 0 0 4px #5c6cff26}.access-error{margin:0;color:#dc2626;font-size:.85rem}.access-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.access-status{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.access-status-ok{background:#22c55e2e;color:#0f766e}.dj-access-pill{margin-top:.75rem;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600}.dj-access-ok{background:#22c55e2e;color:#0f766e}.dj-access-locked{background:#f8717133;color:#b91c1c}.confetti-overlay{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:250}.confetti-piece{position:absolute;top:-5vh;width:14px;height:20px;border-radius:4px;opacity:.9;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite;box-shadow:0 4px 8px #00000026}.celebration-message{position:absolute;top:15%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#fbbf24f2,#f59e0bf2);border:2px solid rgba(253,230,138,.8);padding:1rem 2rem;border-radius:999px;color:#78350f;font-weight:800;font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 0 40px #fbbf2499,0 20px 40px #f59e0b66,inset 0 2px #ffffff4d;text-shadow:0 1px 3px rgba(255,255,255,.3);animation:celebration-bounce .8s cubic-bezier(.34,1.56,.64,1),celebration-glow 2s ease-in-out infinite .8s;display:flex;align-items:center;gap:.5rem}.celebration-message:before{content:"🏆";font-size:1.5em;animation:celebration-trophy-spin 1s ease-in-out infinite}.celebration-message:after{content:"✨";font-size:1.3em;animation:celebration-sparkle 1.5s ease-in-out infinite}@keyframes celebration-bounce{0%{transform:translate(-50%) scale(.5) translateY(-50px);opacity:0}60%{transform:translate(-50%) scale(1.1) translateY(0);opacity:1}80%{transform:translate(-50%) scale(.95) translateY(0)}to{transform:translate(-50%) scale(1) translateY(0);opacity:1}}@keyframes celebration-glow{0%,to{box-shadow:0 0 40px #fbbf2499,0 20px 40px #f59e0b66,inset 0 2px #ffffff4d}50%{box-shadow:0 0 60px #fbbf24e6,0 24px 48px #f59e0b99,inset 0 2px #fff6}}@keyframes celebration-trophy-spin{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-15deg) scale(1.1)}75%{transform:rotate(15deg) scale(1.1)}}@keyframes celebration-sparkle{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.3) rotate(180deg);opacity:1}}.loading-card{background:#ffffffeb;border-radius:16px;padding:2.5rem 1.8rem;box-shadow:0 18px 32px #0f172a1f;display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(92,108,255,.2);border-top-color:#5c6cffd9;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #22c55e4d}50%{transform:scale(1.02);box-shadow:0 0 0 10px #22c55e00}}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0) scale(1);opacity:0}10%{opacity:1}50%{transform:translateY(50vh) rotate(180deg) scale(1.2);opacity:1}to{transform:translateY(110vh) rotate(360deg) scale(.8);opacity:0}}@media(min-width:768px){.content-grid{gap:1.75rem;grid-template-columns:1fr;margin-top:.75rem}.status-hero{padding:3rem 2.4rem 2.6rem}.hero-content{align-items:center}.hero-side{align-items:flex-end}.hero-buttons{flex-direction:row}.hero-buttons>*{flex:1}.card{border-radius:20px;padding:1.75rem;gap:1.25rem}.button-row{flex-direction:row;flex-wrap:wrap}.button-row>button{width:auto}.voting-card-header{align-items:center}.timer-pill{align-items:flex-end;padding:.6rem .9rem}.timer-pill strong{font-size:1.35rem}.winner-banner{flex-direction:row;align-items:center}.performing-card{flex-direction:row;align-items:center;justify-content:space-between}.song-card{gap:1.35rem;padding:1.1rem 1.4rem}.song-card-actions{flex-direction:column;align-items:flex-end;gap:.5rem}.toast{width:auto;min-width:280px;text-align:left}}.app-footer{position:fixed;left:0;right:0;bottom:78px;display:flex;justify-content:center;pointer-events:none;z-index:125}.footer-connection{pointer-events:auto;background:#0f172ae6;color:#fff;padding:.45rem .9rem;border-radius:999px;box-shadow:0 12px 30px #0f172a59;font-weight:700}@media(max-width:420px){.app-shell{padding-bottom:6.5rem}.app-footer{bottom:96px}}.hero-buttons .ghost-button{background:#0f172a4d;color:#ffffffd9}.hero-buttons .ghost-button.ghost-danger{color:#feb2b2}.hero-buttons .primary-button{box-shadow:0 18px 32px #ff6d6d40}.hero-status-row .ghost-button{background:#0f172a47;color:#ffffffd9}.hero-status-row .ghost-button.ghost-danger{color:#fecaca}.content-grid .card:first-of-type{position:relative;z-index:3}.floating-card{box-shadow:0 22px 40px #0f172a2e}@media(max-width:768px){.status-hero{padding:2rem 1.4rem 2.2rem;margin-bottom:2.5rem}.hero-content{flex-direction:column;align-items:stretch;gap:2rem}.hero-now-cover{display:none}.hero-text{max-width:100%}.hero-side{align-items:stretch}.hero-countdown{justify-content:space-between}.hero-buttons{flex-direction:column}.hero-status-row{flex-direction:column;align-items:flex-start}.content-grid{margin-top:.5rem}}@media(max-width:640px){.app-shell{padding:1.25rem .85rem 6.5rem}.status-hero{padding:1.6rem 1.1rem 1.8rem;border-radius:22px;margin-bottom:2rem}.hero-content{gap:1.6rem}.hero-text{gap:.6rem}.hero-countdown{width:100%;justify-content:space-between;gap:.5rem}.hero-countdown-info strong{font-size:1.25rem}.hero-buttons{flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:.5rem}.hero-buttons .primary-button,.hero-buttons .ghost-button,.hero-buttons .accent-button{flex:1 1 calc(50% - .25rem);min-width:0;text-align:center}.content-grid{gap:1.1rem;margin-top:.75rem}.card{border-radius:18px;padding:1.1rem 1rem}.queue-card .section-header{flex-direction:column;gap:.4rem;align-items:flex-start}.song-list{gap:.6rem}.song-card{grid-template-columns:44px 1fr;grid-template-rows:auto auto;align-items:flex-start;padding:.9rem .85rem;gap:.7rem;overflow:visible}.song-rank{width:32px;height:32px;border-radius:10px;font-size:.9rem;margin-top:.1rem}.song-card-main{grid-column:1 / -1;gap:.65rem}.song-cover-small{width:56px;height:56px}.song-card-actions{grid-column:1 / -1;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.35rem .6rem;margin-top:.35rem}.song-card-actions .vote-count,.song-card-actions .duplicate-flag{order:1}.song-card-actions button{flex:1 1 140px;padding:.55rem .8rem;order:2}.button-row{flex-direction:column;align-items:stretch}.button-row>button{min-width:0;width:100%}}.dj-panel-grid{display:grid;gap:.75rem}.dj-stats-card,.dj-voting-card,.dj-queue-management-card,.dj-settings-card,.dj-system-card,.dj-filter-card,.dj-ticker-card{animation:fadeInUp .4s ease}.dj-voting-content,.dj-queue-management-content,.dj-settings-content,.dj-system-content,.dj-filter-content,.dj-ticker-content{display:flex;flex-direction:column;gap:.75rem}.dj-filter-helper{font-size:.85rem;color:#64748b;margin:0}.filter-word-add-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-word-input{flex:1 1 220px;min-width:0;padding:.55rem .75rem;border:1px solid rgba(148,163,184,.5);border-radius:.5rem;font-size:.9rem;transition:border-color .2s ease}.filter-word-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 1px #6366f140}.filter-word-input:disabled{background:#f8fafc;cursor:not-allowed}.filter-word-error{color:#dc2626;font-size:.85rem}.filter-word-loading{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569}.filter-word-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.filter-word-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:#eef2ff;color:#1e293b;font-weight:600}.filter-word-pill button{border:none;background:transparent;color:#dc2626;font-size:1rem;line-height:1;padding:0;cursor:pointer}.filter-word-pill button:disabled{opacity:.5;cursor:not-allowed}.dj-ticker-content .toggle-field{justify-content:space-between}.ticker-textarea{width:100%;min-height:90px;resize:vertical;padding:.75rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.5);font-size:.95rem;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease}.ticker-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 1px #6366f140}.dj-stats-row{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.dj-stat{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;border-radius:12px;background:linear-gradient(180deg,#f8f9fae6,#fff);border:1px solid rgba(226,232,240,.8);text-align:center;min-width:80px;flex:1;transition:all .2s ease}.dj-stat:hover{border-color:#6366f14d;box-shadow:0 2px 8px #6366f114}.dj-stat strong{font-size:1.4rem;color:#6366f1;font-weight:700}.dj-stat span{color:#64748b;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.dj-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.dj-controls label{display:inline-flex;gap:.5rem;align-items:center;color:#334155;font-weight:600}.toggle-field{display:inline-flex;align-items:center;gap:.65rem;font-weight:600;color:#334155}.toggle-label{white-space:nowrap}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .4rem .2rem .25rem;background:transparent;border:none;cursor:pointer;border-radius:999px;transition:background .2s ease;font-weight:600;color:#0f172a}.toggle-switch:focus-visible{outline:2px solid rgba(79,70,229,.4);outline-offset:3px}.toggle-switch .toggle-track{display:inline-block;width:44px;height:24px;border-radius:999px;background:#94a3b866;box-shadow:inset 0 0 0 1px #94a3b88c;transition:background .2s ease}.toggle-switch .toggle-thumb{position:absolute;width:20px;height:20px;border-radius:50%;left:6px;top:50%;background:#fff;box-shadow:0 6px 14px #0f172a38;transform:translateY(-50%);transition:transform .2s ease}.toggle-switch .toggle-text{font-size:.85rem;color:#64748b;min-width:1.7rem;text-align:center}.toggle-switch.active .toggle-track{background:linear-gradient(135deg,#38bdf8bf,#3b82f6e6);box-shadow:inset 0 0 0 1px #2563eb66}.toggle-switch.active .toggle-thumb{transform:translate(18px,-50%)}.toggle-switch.active .toggle-text{color:#2563eb}.toggle-switch.disabled,.toggle-switch:disabled{opacity:.55;cursor:not-allowed}.dj-access-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.dj-access-pill{display:inline-flex;gap:.6rem;align-items:center;padding:.4rem .6rem;border-radius:999px;background:#94a3b814}.dj-access-value{font-family:monospace;font-size:.9rem;color:#0f172a;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-content{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 40px #6366f199}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes successPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.song-card{animation:fadeInUp .4s cubic-bezier(.34,1.56,.64,1) forwards}.song-card:nth-child(1){animation-delay:.05s}.song-card:nth-child(2){animation-delay:.1s}.song-card:nth-child(3){animation-delay:.15s}.song-card:nth-child(4){animation-delay:.2s}.song-card:nth-child(5){animation-delay:.25s}.hero-pill-active{animation:glowPulse 2s ease-in-out infinite}button{transition:all .2s cubic-bezier(.4,0,.2,1)}button:active{transform:scale(.95)}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.toast{animation:slideInLeft .3s cubic-bezier(.34,1.56,.64,1)}.hero-text h1,.hero-text p{transition:all .4s cubic-bezier(.4,0,.2,1)}.card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-4px)}.vote-count{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.song-card[data-status=performing]{animation:glowPulse 2s ease-in-out infinite;border-color:#6366f180}.song-card-badge{animation:successPop .5s cubic-bezier(.34,1.56,.64,1)}input:focus,textarea:focus,select:focus{transform:scale(1.01);transition:all .2s ease}.modal-backdrop{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.song-rank{transition:all .3s cubic-bezier(.4,0,.2,1)}.song-card:nth-child(1) .song-rank{animation:scaleBounce 2s ease-in-out infinite}.song-cover-small,.hero-cover{transition:opacity .3s ease,transform .3s ease}.song-cover-small:hover,.hero-cover:hover{transform:scale(1.05)}.dj-stat{animation:fadeInUp .5s cubic-bezier(.34,1.56,.64,1) forwards}.dj-stat:nth-child(1){animation-delay:.1s}.dj-stat:nth-child(2){animation-delay:.2s}.dj-stat:nth-child(3){animation-delay:.3s}.dj-stat:nth-child(4){animation-delay:.4s}.progress-ring-circle{transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1)}.song-card.drag-over{animation:glowPulse .8s ease-in-out infinite;border-color:#6366f199;transform:scale(1.02)}.platform-pill{transition:all .2s cubic-bezier(.4,0,.2,1)}.platform-pill:hover{transform:translateY(-2px)}.platform-pill.active{animation:scaleBounce .5s cubic-bezier(.34,1.56,.64,1)}.connection-status.connected{animation:successPop .5s cubic-bezier(.34,1.56,.64,1)}.connection-status.disconnected{animation:shake .5s ease}*{-webkit-tap-highlight-color:transparent}.hero-countdown-info strong{transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header{animation:slideInLeft .4s cubic-bezier(.34,1.56,.64,1)}.empty-state{animation:fadeInUp .6s ease}input[type=checkbox]{transition:all .2s ease}button.accent-button:hover{animation:scaleBounce .6s ease-in-out}.spinner{animation:spin .8s linear infinite,glowPulse 1.5s ease-in-out infinite}.feedback-fab{position:fixed;bottom:24px;right:24px;display:inline-flex;align-items:center;gap:.35rem;border:none;border-radius:999px;background:#0f172ad9;color:#f8fafc;padding:.65rem 1.1rem;font-weight:600;box-shadow:0 18px 35px #0f172a40;cursor:pointer;z-index:100;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.feedback-fab:hover{transform:translateY(-1px);box-shadow:0 22px 45px #1e40af4d;background:#2563ebe6}.feedback-fab span:first-child{font-size:1.25rem}.feedback-modal{max-width:480px;width:min(90vw,480px);display:flex;flex-direction:column;gap:1rem}.feedback-category-row{display:flex;flex-wrap:wrap;gap:.5rem}.feedback-category-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#94a3b81f;color:#0f172a;cursor:pointer;transition:all .2s ease}.feedback-category-pill.active{background:#3b82f629;border-color:#3b82f699;color:#1e3a8a}.feedback-category-pill span:first-child{font-size:1.1rem}.feedback-text-label textarea{width:100%;border-radius:12px;border:1px solid rgba(148,163,184,.4);padding:.75rem;font-size:.95rem;resize:vertical;min-height:130px;background:#f8fafcbf;color:#0f172a}.feedback-text-label textarea:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f640}.feedback-rating-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.feedback-rating-buttons{display:inline-flex;gap:.4rem}.feedback-rating-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(148,163,184,.4);background:#f1f5f9cc;color:#0f172a;font-weight:600;cursor:pointer;transition:all .2s ease}.feedback-rating-btn.selected{background:#3b82f62e;border-color:#3b82f699;color:#1d4ed8}.feedback-privacy-hint{font-size:.8rem;color:#475569e6;margin:0}.feedback-modal .modal-actions{margin-top:.5rem}.feedback-modal .modal-actions .primary-button[disabled]{opacity:.7;cursor:progress}@media(max-width:640px){.feedback-fab{bottom:16px;right:16px;padding:.6rem .9rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
