:root{--bg-primary: #0a0a14;--bg-secondary: #121224;--bg-card: rgba(22, 22, 42, .75);--bg-card-hover: rgba(30, 30, 60, .85);--border-glass: rgba(255, 255, 255, .08);--border-neon: rgba(121, 40, 202, .35);--accent-magenta: #ff007f;--accent-purple: #7928ca;--accent-cyan: #00f2fe;--accent-green: #00f076;--accent-amber: #ffaa00;--accent-red: #ff3366;--grad-primary: linear-gradient(135deg, #ff007f 0%, #7928ca 50%, #00f2fe 100%);--grad-fire: linear-gradient(135deg, #ff0844 0%, #ffb199 100%);--grad-pass: linear-gradient(135deg, #434343 0%, #1c1c1c 100%);--grad-glow: radial-gradient(circle at 50% 0%, rgba(121, 40, 202, .25), transparent 70%);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--font-display: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--shadow-neon-pink: 0 0 20px rgba(255, 0, 127, .35);--shadow-neon-cyan: 0 0 20px rgba(0, 242, 254, .35);--shadow-card: 0 12px 36px rgba(0, 0, 0, .45)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-main);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(ellipse at 15% 10%,rgba(255,0,127,.12) 0%,transparent 40%),radial-gradient(ellipse at 85% 20%,rgba(0,242,254,.12) 0%,transparent 40%),radial-gradient(ellipse at 50% 85%,rgba(121,40,202,.15) 0%,transparent 50%);background-attachment:fixed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0a0a1480}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple)}h1,h2,h3,h4,h5,.font-display{font-family:var(--font-display);letter-spacing:-.02em}.glass-panel{background:var(--bg-card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-glass);border-radius:20px;box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{border-color:#ffffff26}.text-gradient{background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.badge-neon{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;font-size:.8rem;font-weight:600;background:#7928ca40;border:1px solid rgba(121,40,202,.5);color:#d8b4fe}.badge-live{background:#ff007f33;border:1px solid var(--accent-magenta);color:#f9c;animation:pulse-live 2s infinite}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.6}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad-primary);color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:700;padding:14px 28px;border-radius:14px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px #ff007f59}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 25px #ff007f80}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:var(--text-main);font-family:var(--font-display);font-size:1rem;font-weight:600;padding:12px 24px;border-radius:14px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.btn-danger{background:#f363;border:1px solid var(--accent-red);color:#ff809b}.btn-danger:hover{background:#ff336659}.vinyl-record{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#252530,#11111d 40%,#08080f,#000);border:3px solid rgba(255,255,255,.1);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #000c,0 0 15px #ff007f33}.vinyl-spinning{animation:spin-record 12s linear infinite}@keyframes spin-record{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vinyl-art{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #000}.vinyl-center-hole{width:14px;height:14px;background:#0a0a14;border-radius:50%;position:absolute}.reaction-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:9999}.floating-emoji{position:absolute;font-size:2.8rem;animation:float-up-fade 2.5s cubic-bezier(.2,.8,.2,1) forwards}@keyframes float-up-fade{0%{opacity:0;transform:translateY(100vh) scale(.6) rotate(0)}20%{opacity:1;transform:translateY(70vh) scale(1.2) rotate(15deg)}80%{opacity:.9;transform:translateY(20vh) scale(1) rotate(-15deg)}to{opacity:0;transform:translateY(-50px) scale(.8) rotate(30deg)}}.wave-bars{display:flex;align-items:flex-end;gap:3px;height:24px}.wave-bar{width:4px;background:var(--accent-cyan);border-radius:2px;animation:wave 1.2s ease-in-out infinite alternate}.wave-bar:nth-child(1){height:30%;animation-delay:.1s;background:var(--accent-magenta)}.wave-bar:nth-child(2){height:70%;animation-delay:.3s;background:var(--accent-purple)}.wave-bar:nth-child(3){height:100%;animation-delay:.5s;background:var(--accent-cyan)}.wave-bar:nth-child(4){height:50%;animation-delay:.2s;background:var(--accent-green)}.wave-bar:nth-child(5){height:80%;animation-delay:.4s;background:var(--accent-magenta)}@keyframes wave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.input-glass{width:100%;padding:14px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-family:var(--font-body);font-size:1rem;outline:none;transition:all .2s}.input-glass:focus{border-color:var(--accent-cyan);background:#ffffff14;box-shadow:0 0 12px #00f2fe40}.input-glass::placeholder{color:var(--text-dim)}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}.app-header{display:flex;align-items:center;justify-content:space-between;padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:12px;padding-left:calc(18px + env(safe-area-inset-left,0px));padding-right:calc(18px + env(safe-area-inset-right,0px));background:#0a0a14f0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass);position:sticky;top:0;z-index:1000;width:100%}@media(max-width:600px){.app-header{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:10px;padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}.hide-on-mobile{display:none!important}}@media(max-width:480px){.hide-on-xs{display:none!important}}.host-toolbar-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:42px!important;width:196px!important;padding:0 14px!important;border-radius:12px!important;font-size:.9rem!important;font-weight:700!important;box-sizing:border-box!important;white-space:nowrap!important;cursor:pointer!important;flex-shrink:0!important;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease!important}@media(max-width:600px){.host-toolbar-btn{padding:0 10px!important;font-size:.85rem!important;height:38px!important;width:auto!important;min-width:0!important;flex:1 1 auto}}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;white-space:normal}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;white-space:normal}@media(max-width:480px){.search-modal-panel,.queue-drawer-panel{padding-left:12px!important;padding-right:12px!important}}@media(min-width:768px){.hide-on-desktop{display:none!important}}.queued-fade-out{animation:queuedFadeOut .65s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes queuedFadeOut{0%{opacity:1;max-height:90px;transform:scale(1) translateY(0);margin-bottom:0;padding-top:10px;padding-bottom:10px}30%{opacity:.95;background:#00f0761f;border-color:#00f07673;transform:scale(1.01)}to{opacity:0;max-height:0px;transform:scale(.9) translateY(-14px);margin-bottom:-10px;padding-top:0;padding-bottom:0;border-color:transparent}}.karaoke-glow{box-shadow:0 0 25px #ff007f73;border-color:var(--accent-magenta)!important}.karaoke-singer-spotlight{display:flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;background:#ff007f38;border:1.5px solid var(--accent-magenta);box-shadow:0 0 20px #ff007f66}.player-host-fullscreen{position:static!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;width:0!important;height:0!important;overflow:visible!important}body.stage-fullscreen-active{overflow:hidden!important}@media(min-width:900px){#card-pwa-install-banner{display:none!important}}.hide-on-desktop{display:none!important}@media(max-width:899px){.hide-on-desktop{display:flex!important}.hide-on-mobile{display:none!important}}@media(min-width:900px){.hide-on-mobile{display:flex!important}}.host-page-container{max-width:1440px;margin:0 auto;padding:20px 24px;min-height:calc(100vh - 70px);width:100%;box-sizing:border-box}.host-main-content{width:100%;min-width:0}.host-mobile-controls-row{display:flex;gap:8px;width:100%}.host-mobile-controls-row .host-toolbar-btn{flex:1 1 0!important;width:auto!important;min-width:0!important;padding:0 6px!important;font-size:.78rem!important;height:38px!important;gap:4px!important}@media(min-width:900px){.host-responsive-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:20px;align-items:start;width:100%}.host-column-left,.host-column-right{display:flex;flex-direction:column;gap:20px}}@media(max-width:899px){.host-page-container{padding:14px 16px calc(85px + env(safe-area-inset-bottom,12px));max-width:500px}.host-responsive-layout{display:flex;flex-direction:column;gap:16px;width:100%}.host-column-left,.host-column-right{display:contents}.card-item-now-playing{order:1}.card-item-audio-engine{order:2}.card-item-party-members{order:3}.card-item-party-rotation{order:4}.card-item-personal-queue{order:5}}.now-playing-card{background:#0f1123d1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,0,127,.45);box-shadow:0 0 25px #ff007f1f,inset 0 0 20px #00f2fe0a;border-radius:20px;padding:22px;position:relative;display:flex;flex-direction:column;gap:16px}.avatar-circle-gradient{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #00000059;border:1.5px solid rgba(255,255,255,.25)}.host-crown-badge{font-size:.7rem;font-weight:700;color:gold;background:#ffd7001f;border:1px solid rgba(255,215,0,.3);padding:2px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.audio-engine-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.audio-engine-btn{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:10px 16px!important;border-radius:12px!important;font-size:.9rem!important;font-weight:700!important;cursor:pointer!important;transition:all .2s ease!important}@media(max-width:899px){.audio-engine-actions{flex-direction:row;gap:10px}.audio-engine-actions .audio-engine-btn{flex:1;min-width:0;padding:8px 10px!important;font-size:.8rem!important}}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#0a0b18f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-around;padding:8px 12px calc(8px + env(safe-area-inset-bottom,8px))}@media(min-width:900px){.mobile-bottom-nav{display:none!important}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-dim);font-size:.72rem;font-weight:600;background:transparent;border:none;cursor:pointer;padding:4px 12px;border-radius:8px;transition:all .2s ease}.mobile-nav-item.active{color:var(--accent-cyan)}.party-member-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);cursor:default}.party-rotation-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.party-rotation-item.now-playing{background:#00f2fe0f;border:1px solid rgba(0,242,254,.4);box-shadow:0 0 15px #00f2fe1a}
