@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-vietnamese-400-normal-B6gKbkHm.woff2) format("woff2"),url(/assets/bungee-vietnamese-400-normal-CmjDSWyd.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-ext-400-normal-DWzJMwsA.woff2) format("woff2"),url(/assets/bungee-latin-ext-400-normal-DXe9_7Rr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-400-normal-Dfnurram.woff2) format("woff2"),url(/assets/bungee-latin-400-normal-DA8IEVW_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #020a06;--bg-2: #04140c;--bg-3: #072016;--green: #39ff88;--green-2: #00d26a;--green-3: #0b8f4d;--lime: #c6ff3d;--mint: #a7ffd6;--text: #eafff3;--muted: #8fb8a3;--danger: #ff5c7a;--warn: #ffd166;--glass: rgba(10, 40, 25, .55);--glass-strong: rgba(6, 28, 17, .82);--line: rgba(57, 255, 136, .16);--line-strong: rgba(57, 255, 136, .38);--glow: 0 0 24px rgba(57, 255, 136, .45), 0 0 64px rgba(57, 255, 136, .18);--radius: 20px;--radius-sm: 12px;--font-display: "Bungee", "Impact", system-ui, sans-serif;--font: "Outfit Variable", "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}::selection{background:var(--green);color:#001a0b}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:8px}kbd{font-family:var(--font);font-size:.8em;font-weight:700;padding:.1em .5em;border-radius:6px;border:1px solid var(--line-strong);background:#39ff8814;color:var(--mint)}.muted{color:var(--muted)}.warn{color:var(--warn)}.gradient-text{background:linear-gradient(92deg,var(--lime),var(--green) 45%,#00ffc8);-webkit-background-clip:text;background-clip:text;color:transparent}.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 20px 60px #00000073,inset 0 1px #ffffff0a}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.app{position:relative;min-height:100vh;isolation:isolate}.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,rgba(57,255,136,.12),transparent 55%),linear-gradient(180deg,var(--bg-2),var(--bg) 60%)}.aurora:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(57,255,136,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(57,255,136,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,black 10%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0%,black 10%,transparent 70%)}.aurora span{position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 26s ease-in-out infinite alternate}.aurora span:nth-child(1){background:#00d26a;top:-25vmax;left:-15vmax}.aurora span:nth-child(2){background:#9dff00;opacity:.16;top:20vh;right:-25vmax;animation-duration:32s;animation-delay:-8s}.aurora span:nth-child(3){background:#00ffc8;opacity:.12;bottom:-30vmax;left:20vw;animation-duration:38s;animation-delay:-16s}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(8vw,6vh) scale(1.15)}to{transform:translate(-6vw,10vh) scale(.95)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:.7em 1.3em;font-weight:700;font-size:.98rem;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s,border-color .2s,color .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green) 55%,var(--green-2));box-shadow:0 8px 26px #39ff8859}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 34px #39ff888c}.btn--ghost{background:#39ff880f;border-color:var(--line-strong);color:var(--text)}.btn--ghost:hover:not(:disabled){background:#39ff8824;border-color:var(--green)}.btn--text{background:none;border:none;padding:.2em .3em;color:var(--green);font-weight:600}.btn--text:hover{text-decoration:underline}.btn--danger{background:#ff5c7a26;border-color:#ff5c7a99;color:#ffd0d9}.btn--sm{padding:.45em .95em;font-size:.86rem}.btn--lg{padding:.9em 1.7em;font-size:1.1rem}.btn--block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#39ff880d;color:var(--text);cursor:pointer;font-size:1.2rem;font-weight:700;transition:background .2s,border-color .2s,transform .2s var(--ease),color .2s}.icon-btn:hover:not(:disabled){background:#39ff8829;border-color:var(--green);color:var(--green)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn--sm{width:32px;height:32px}.text-input{width:100%;padding:.8em 1em;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:#00000059;color:var(--text);font:inherit;transition:border-color .2s,box-shadow .2s}.text-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px #39ff8826}.text-input--sm{width:auto;padding:.5em .8em;font-size:.9rem}select.text-input option{background:var(--bg-3)}.textarea{resize:vertical;min-height:160px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;justify-content:center}.chip{border:1px solid var(--line-strong);background:#39ff8814;border-radius:999px;padding:.35em .9em;cursor:pointer;font-weight:600;transition:background .2s,transform .2s var(--ease)}.chip:hover{background:#39ff8833;transform:translateY(-1px)}.mini-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.logo{display:flex;align-items:center;gap:14px}.logo__badge{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green-2));box-shadow:var(--glow);transform:rotate(-6deg);transition:transform .4s var(--ease)}.logo:hover .logo__badge{transform:rotate(6deg) scale(1.05)}.logo__text{display:flex;flex-direction:column;line-height:1}.logo__neon{font-family:var(--font-display);font-size:1.45rem;color:#eaffef;text-shadow:0 0 4px #fff,0 0 10px var(--green),0 0 22px var(--green),0 0 44px var(--green-2);letter-spacing:.02em}.logo__sub{margin-top:5px;font-family:var(--font-display);font-size:.78rem;letter-spacing:.32em;color:var(--lime);opacity:.9}.flicker{animation:flicker 6s infinite}@keyframes flicker{0%,18%,22%,25%,53%,57%,to{opacity:1}20%,24%,55%{opacity:.25;text-shadow:none}}.logo--compact .logo__badge{width:40px;height:40px;border-radius:12px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,4vw,48px);background:linear-gradient(180deg,rgba(2,10,6,.92),rgba(2,10,6,.6) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.queue-btn .count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--green);color:#00210f;font-size:.78rem;font-weight:800;animation:pop .4s var(--ease)}.home{padding:0 clamp(16px,4vw,48px) 40px;max-width:1440px;margin:0 auto}.hero{text-align:center;padding:clamp(32px,7vh,80px) 0 clamp(24px,5vh,56px)}.hero__eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);background:#39ff8812;color:var(--mint);font-weight:600;font-size:.9rem;animation:rise .8s var(--ease) both}.hero__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,7.5vw,6rem);line-height:1.02;margin:22px 0 16px;letter-spacing:.01em;text-shadow:0 10px 40px rgba(0,0,0,.5);animation:rise .8s .08s var(--ease) both}.hero__title .gradient-text{filter:drop-shadow(0 0 28px rgba(57,255,136,.45))}.hero__lead{max-width:640px;margin:0 auto 32px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.55;animation:rise .8s .16s var(--ease) both}.omnibox{display:flex;align-items:center;gap:10px;max-width:820px;margin:0 auto;padding:8px 8px 8px 22px;border-radius:999px;background:#03140bcc;border:1.5px solid var(--line-strong);box-shadow:0 0 0 6px #39ff880d,0 20px 60px #00000080;transition:border-color .25s,box-shadow .3s;animation:rise .8s .24s var(--ease) both}.omnibox:focus-within{border-color:var(--green);box-shadow:0 0 0 6px #39ff8824,var(--glow),0 20px 60px #00000080}.omnibox--url{border-color:var(--lime)}.omnibox__icon{color:var(--green);display:grid}.omnibox input{flex:1;min-width:0;border:none;background:none;color:var(--text);font:inherit;font-size:1.12rem;padding:12px 0}.omnibox input:focus{outline:none}.omnibox input::placeholder{color:#6c907d}.omnibox__go{padding:.9em 1.5em}.hero__meta{margin-top:18px;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px;font-size:.9rem;color:var(--mint);animation:rise .8s .32s var(--ease) both}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);margin-right:4px}.status-dot.is-on{background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.4}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.section{margin-top:48px;animation:rise .7s var(--ease) both;scroll-margin-top:100px}.section__head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.section__head h2{margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:800;letter-spacing:-.01em}.section__tools{display:flex;gap:10px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.row-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,260px);gap:20px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.row-scroll>*{scroll-snap-align:start}.card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);background:linear-gradient(180deg,#0c2c1cb3,#05160dd9);border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s var(--ease)}.card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 22px 50px #00000080,0 0 40px #39ff881f}.card--ready{border-color:#39ff884d}.cover{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--z, 1))}.card__art{position:relative;display:block;aspect-ratio:1 / 1;border:none;padding:0;cursor:pointer;background:var(--bg-3);overflow:hidden}.card__art img{transition:transform .6s var(--ease),filter .4s}.card:hover .card__art img{transform:scale(calc(var(--z, 1) * 1.07));filter:saturate(1.2) brightness(.75)}.card__placeholder{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:2.6rem;color:var(--green);background:radial-gradient(circle at 30% 20%,rgba(198,255,61,.35),transparent 60%),linear-gradient(135deg,#0b3a22,#03140b)}.card__play{position:absolute;inset:0;margin:auto;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green));box-shadow:var(--glow);opacity:0;transform:scale(.6);transition:opacity .3s,transform .35s var(--ease)}.card:hover .card__play,.card__art:focus-visible .card__play{opacity:1;transform:scale(1)}.card__badge,.card__ready,.card__rank{position:absolute;font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card__badge{right:10px;bottom:10px;background:#000000a6}.card__ready{left:10px;top:10px;background:var(--green);color:#00210f;box-shadow:0 0 16px #39ff8899}.card__rank{right:10px;top:10px;font-family:var(--font-display);background:#0009;color:var(--lime);font-size:.85rem}.card__body{padding:14px 16px 6px;flex:1}.card__title{margin:0;font-size:1.05rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__subtitle{margin:4px 0 0;color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{display:inline-block;margin-top:10px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:var(--mint);background:#39ff881a;border:1px solid var(--line)}.tag--good{color:var(--green)}.tag--meh{color:var(--warn);background:#ffd16614;border-color:#ffd16640}.tag--bad{color:#ff9db0;background:#ff5c7a14;border-color:#ff5c7a40}.card__actions{display:flex;align-items:center;gap:8px;padding:10px 16px 16px}.card__delete{margin-left:auto;opacity:.5}.card:hover .card__delete{opacity:1}.card--skeleton{min-height:270px;background:linear-gradient(100deg,#0c2c1c80 30%,#39ff8814,#0c2c1c80 70%);background-size:300% 100%;animation:shimmer 1.6s infinite linear}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px;color:var(--mint)}.empty p{margin:4px 0;max-width:340px}.empty--wide{border:1.5px dashed var(--line-strong);border-radius:var(--radius)}.empty--wide p{max-width:520px}.footer{margin-top:70px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.85rem}.footer>span:first-child{font-family:var(--font-display);color:var(--green)}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#000603b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .25s ease both}.modal{position:relative;width:min(440px,100%);padding:32px 28px 28px;border-radius:28px;text-align:center;background:var(--glass-strong)}.modal--wide{width:min(560px,100%)}.modal__close{position:absolute;top:14px;right:14px}.modal__icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green-2));box-shadow:var(--glow);margin-bottom:14px}.modal__title{margin:0 0 6px;font-family:var(--font-display);font-weight:400;font-size:1.6rem}.modal__subtitle{margin:0 0 20px;color:var(--muted)}.modal .btn--block{margin-top:16px}.tabs{display:inline-flex;padding:4px;border-radius:999px;background:#00000059;border:1px solid var(--line);margin-bottom:18px}.tab{border:none;background:none;padding:.5em 1.1em;border-radius:999px;cursor:pointer;font-weight:600;color:var(--muted)}.tab.is-active{background:var(--green);color:#00210f}.form-grid{display:grid;gap:12px;text-align:left}.form-grid label span{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--mint)}.form-error{color:#ff9db0;margin:12px 0 0}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#010804cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade .3s ease both}.overlay__bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(60px) saturate(1.4) brightness(.35);opacity:.8;z-index:-1}.overlay__panel{position:relative;width:min(520px,100%);padding:36px 32px 28px;border-radius:32px;text-align:center;background:var(--glass-strong)}.overlay__close{position:absolute;top:16px;right:16px}.overlay__heading h2{margin:10px 0 4px;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800}.overlay__artist{margin:0;color:var(--mint);font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay__error{color:#ffb3c1}.overlay__note{margin:14px auto 0;max-width:380px;font-size:.9rem;color:var(--mint);line-height:1.45}.overlay__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}.vinyl{position:relative;width:168px;height:168px;margin:0 auto 18px}.vinyl__disc{position:absolute;inset:14px;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:var(--green);background:repeating-radial-gradient(circle,#0a1a12 0 2px,#050d09 2px 4px);box-shadow:0 0 0 4px #020a06,0 18px 50px #0009,0 0 50px #39ff8840}.vinyl__disc img{border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 9%,black 10%);mask:radial-gradient(circle,transparent 9%,black 10%)}.vinyl--spin .vinyl__disc{animation:spin 3.2s linear infinite}.vinyl__ring{position:absolute;inset:0;transform:rotate(-90deg)}.vinyl__track{fill:none;stroke:#39ff881f;stroke-width:5}.vinyl__progress{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-dasharray:352;transition:stroke-dashoffset .8s var(--ease);filter:drop-shadow(0 0 6px var(--green))}.progress{height:10px;border-radius:999px;margin-top:24px;background:#39ff881a;overflow:hidden}.progress__bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--green),var(--lime));background-size:200% 100%;animation:shimmer-bar 2s linear infinite;box-shadow:0 0 18px #39ff8899;transition:width .8s var(--ease)}@keyframes shimmer-bar{to{background-position:-200% 0}}.progress__meta{display:flex;justify-content:space-between;margin-top:8px;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.progress__meta span:first-child{color:var(--green);font-weight:700}.steps{list-style:none;padding:0;margin:22px auto 0;display:grid;gap:10px;text-align:left;max-width:300px}.steps__item{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:500;transition:color .3s}.steps__dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid rgba(57,255,136,.25);flex-shrink:0;transition:all .3s var(--ease)}.steps__item--done{color:var(--mint)}.steps__item--done .steps__dot{background:var(--green);border-color:var(--green);color:#00210f}.steps__item--active{color:var(--text);font-weight:700}.steps__item--active .steps__dot{border-color:var(--green);box-shadow:0 0 0 4px #39ff8826;background:radial-gradient(circle,var(--green) 35%,transparent 40%);animation:pulse 1.2s infinite}.tip{margin:22px 0 0;font-size:.9rem;color:var(--mint);min-height:2.6em;animation:fade .6s ease both}.job-tray{position:fixed;left:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;gap:10px}.job-pill{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:999px;cursor:pointer;text-align:left;max-width:340px;animation:rise .5s var(--ease) both;transition:transform .2s var(--ease)}.job-pill:hover{transform:translateY(-2px)}.job-pill__ring{--p: 0;display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;color:var(--green);background:radial-gradient(circle,var(--bg-2) 58%,transparent 60%),conic-gradient(var(--green) calc(var(--p) * 360deg),rgba(57,255,136,.15) 0)}.job-pill__text{display:flex;flex-direction:column;min-width:0;font-size:.82rem}.job-pill__text strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-pill__text span{color:var(--muted)}.drawer-backdrop{position:fixed;inset:0;z-index:45;background:#0006038c;opacity:0;pointer-events:none;transition:opacity .3s}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:46;width:min(420px,100vw);display:flex;flex-direction:column;padding:24px;border-radius:28px 0 0 28px;background:var(--glass-strong);transform:translate(105%);transition:transform .45s var(--ease)}.drawer.is-open{transform:none}.drawer__header{display:flex;justify-content:space-between;align-items:flex-start}.drawer__header h2{margin:6px 0 16px;font-family:var(--font-display);font-weight:400;font-size:1.8rem}.queue-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;display:grid;align-content:start;gap:10px}.queue-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:#39ff880a;border:1px solid var(--line);animation:rise .4s var(--ease) both}.queue-item--next{border-color:var(--green);background:#39ff881a;box-shadow:0 0 24px #39ff881f}.queue-item--pending{opacity:.75}.queue-item__cover{width:64px;height:64px;border-radius:12px;overflow:hidden;flex-shrink:0}.queue-item__cover--pending{display:grid;place-items:center;background:var(--bg-3);color:var(--green)}.queue-item__info{display:flex;flex-direction:column;min-width:0;flex:1}.queue-item__singer{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:800;font-size:.9rem}.queue-item__title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item__artist{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item__actions{display:flex;flex-direction:column;gap:2px}.queue-item__actions .icon-btn{width:26px;height:26px;border:none}.drawer__footer{display:grid;gap:6px;padding-top:16px;justify-items:center}.toasts{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 40px))}.toast{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;border-radius:16px;background:var(--glass-strong);animation:toast-in .45s var(--ease) both;border-left:4px solid var(--green)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--mint)}.toast__msg{flex:1;font-weight:500}@keyframes toast-in{0%{opacity:0;transform:translate(40px) scale(.96)}}.stage{position:fixed;inset:0;z-index:30;overflow:hidden;background:#010604;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}.stage--idle{cursor:none}.stage__bg{position:absolute;inset:-80px;background-size:cover;background-position:center;filter:blur(70px) saturate(1.5) brightness(.32);transform:scale(1.1);animation:breathe 18s ease-in-out infinite alternate}@keyframes breathe{to{transform:scale(1.25) rotate(2deg)}}.stage__tint{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 20%,rgba(1,6,4,.75) 85%),linear-gradient(180deg,#00281459,#0003)}.stage__tint:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#0f7a3f,#0a4d2a 55%,#2f6b00);mix-blend-mode:color;opacity:.85}.app--stage .toasts{top:84px;bottom:auto}.visualizer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.stage__top,.stage__controls{position:relative;z-index:3;transition:opacity .5s var(--ease),transform .5s var(--ease)}.stage--idle .stage__top{opacity:0;transform:translateY(-20px)}.stage--idle .stage__controls{opacity:0;transform:translateY(30px)}.stage__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,3vw,36px)}.stage__now{display:flex;align-items:center;gap:12px;min-width:0;font-weight:700;font-size:1.05rem}.stage__song{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage__top-right{display:flex;align-items:center;gap:10px}.singer-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--green);color:#00210f;font-weight:800;box-shadow:0 0 20px #39ff8880;flex-shrink:0}.up-next{color:var(--mint);font-size:.92rem;white-space:nowrap}.stage__center{position:relative;z-index:2;display:grid;place-items:center;min-height:0;padding:0 clamp(16px,4vw,60px)}.flash{position:absolute;top:10%;left:50%;transform:translate(-50%);padding:10px 22px;border-radius:999px;background:#0009;border:1px solid var(--line-strong);font-weight:700;color:var(--green);animation:pop .3s var(--ease)}.intro{display:flex;flex-direction:column;align-items:center;text-align:center}.intro__cover{width:clamp(140px,22vh,240px);aspect-ratio:1;overflow:hidden;border-radius:28px;box-shadow:0 30px 80px #0009,0 0 80px #39ff8840;margin-bottom:24px;animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px) rotate(-1deg)}}.intro__singer{font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:800;color:var(--green);text-shadow:0 0 20px rgba(57,255,136,.6);margin-bottom:6px}.intro__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,6vw,5rem);line-height:1.05;margin:0;max-width:18ch;text-shadow:0 0 40px rgba(57,255,136,.35)}.intro__artist{margin-top:10px;font-size:clamp(1.1rem,2.4vw,1.7rem);color:var(--mint)}.intro__hint{margin-top:18px;color:var(--muted)}.play-orb{margin-top:32px;display:grid;place-items:center;width:108px;height:108px;padding-left:8px;border-radius:50%;border:none;cursor:pointer;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green) 60%,var(--green-2));box-shadow:0 0 #39ff8880,var(--glow);animation:orb 2s infinite;transition:transform .25s var(--ease)}.play-orb:hover{transform:scale(1.08)}@keyframes orb{0%{box-shadow:0 0 #39ff888c,var(--glow)}to{box-shadow:0 0 0 34px #39ff8800,var(--glow)}}.loader{display:grid;justify-items:center;gap:16px;color:var(--mint)}.loader__ring{--p: 0;display:grid;place-items:center;width:120px;height:120px;border-radius:50%;font-weight:800;font-size:1.4rem;color:var(--green);background:radial-gradient(circle,#010604 62%,transparent 64%),conic-gradient(var(--green) calc(var(--p) * 360deg),rgba(57,255,136,.12) 0);filter:drop-shadow(0 0 18px rgba(57,255,136,.35))}.lyrics{position:relative;width:100%;height:100%;max-width:1500px}.lyrics__stack{position:absolute;inset:0}.lyric-line{position:absolute;left:0;right:0;margin:0;text-align:center;font-weight:800;font-size:clamp(2rem,5.4vw,5.8rem);line-height:1.12;letter-spacing:-.01em;transform-origin:center center;transition:top .7s var(--ease),transform .7s var(--ease),opacity .7s var(--ease);filter:drop-shadow(0 6px 22px rgba(0,0,0,.7));text-wrap:balance;will-change:top,transform,opacity}.lyric-line--gone{top:0%;transform:translateY(-60%) scale(.5);opacity:0}.lyric-line--past{top:14%;transform:translateY(-50%) scale(.56);opacity:.35}.lyric-line--current{top:43%;transform:translateY(-50%) scale(1);opacity:1}.lyric-line--next{top:70%;transform:translateY(-50%) scale(.66);opacity:.62}.lyric-line--later{top:86%;transform:translateY(-50%) scale(.52);opacity:.28;animation:fade .7s ease both}.lyric-line.is-upcoming{opacity:.85}.word{--p: 0;background-image:linear-gradient(90deg,transparent calc(var(--p) * 100%),#f4fff8 calc(var(--p) * 100% + 1px)),linear-gradient(180deg,var(--lime) 10%,var(--green) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}.lyric-line--past .word,.lyric-line--gone .word{background-image:linear-gradient(90deg,var(--green),var(--green))}.is-singing .word.is-lit{filter:drop-shadow(0 0 14px rgba(57,255,136,.75))}.is-singing .word.is-active{display:inline-block;animation:bounce-word .35s var(--ease)}@keyframes bounce-word{40%{transform:translateY(-.06em) scale(1.04)}}.countdown{display:flex;justify-content:center;gap:.35em;margin-bottom:.3em}.countdown__dot{width:.32em;height:.32em;border-radius:50%;background:#39ff882e;transition:background .3s,transform .3s var(--ease),box-shadow .3s}.countdown__dot.is-on{background:var(--green);box-shadow:0 0 18px var(--green);transform:scale(1.1)}.lyrics__banner,.lyrics__break{position:absolute;left:0;right:0;top:8%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--mint);font-size:clamp(1rem,1.6vw,1.3rem);font-weight:600;z-index:1}.lyrics__banner-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.4rem);color:var(--text);text-shadow:0 0 30px rgba(57,255,136,.4)}.lyrics__banner-artist{font-size:clamp(1.1rem,2vw,1.6rem)}.lyrics__banner-hint{color:var(--muted);font-variant-numeric:tabular-nums}.notes{display:flex;gap:16px;color:var(--green)}.notes svg{animation:note 1.6s ease-in-out infinite;filter:drop-shadow(0 0 10px var(--green))}.notes svg:nth-child(2){animation-delay:.25s}.notes svg:nth-child(3){animation-delay:.5s}@keyframes note{50%{transform:translateY(-12px) rotate(-8deg)}}.plain-lyrics{width:min(900px,100%);height:100%;display:flex;flex-direction:column;padding:10px 0 20px}.plain-lyrics__note{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:10px}.plain-lyrics__scroll{flex:1;overflow:hidden;text-align:center;font-size:clamp(1.5rem,3.2vw,2.8rem);font-weight:700;line-height:1.35;-webkit-mask-image:linear-gradient(transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(transparent,black 18%,black 82%,transparent);padding:30vh 0;scroll-behavior:smooth}.plain-lyrics__scroll p{margin:.15em 0}.no-lyrics{text-align:center}.no-lyrics h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,4rem);margin:0 0 10px}.no-lyrics p{color:var(--mint);font-size:1.3rem}.stage__controls{margin:0 clamp(10px,2vw,28px) clamp(10px,2vw,22px);padding:14px 22px 16px;border-radius:24px;background:#03120ab8}.seek{display:flex;align-items:center;gap:14px}.seek__time{font-variant-numeric:tabular-nums;font-size:.88rem;color:var(--mint);min-width:42px;text-align:center}.seek__track{position:relative;flex:1;height:8px;border-radius:999px;background:#39ff881f}.seek__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--green),var(--lime));box-shadow:0 0 14px #39ff8899}.seek__tick{position:absolute;top:50%;width:2px;height:4px;margin-top:-2px;border-radius:1px;background:#ffffff40;pointer-events:none}.seek__track input{position:absolute;inset:-8px 0;width:100%;margin:0;opacity:0;cursor:pointer}.seek__track:hover{height:10px}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;flex-wrap:wrap}.controls-group{display:flex;align-items:center;gap:12px}.controls-group--sliders{gap:24px}.play-btn{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green));box-shadow:var(--glow);transition:transform .2s var(--ease)}.play-btn:hover{transform:scale(1.07)}.slider{display:flex;align-items:center;gap:10px;color:var(--mint);font-size:.88rem;font-weight:600}.slider__value{min-width:38px;font-variant-numeric:tabular-nums;color:var(--green)}.slider input[type=range]{--v: 0;-webkit-appearance:none;appearance:none;width:130px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--green) calc(var(--v) * 100%),rgba(57,255,136,.15) 0);cursor:pointer}.slider input[type=range]:disabled{opacity:.4}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#eaffef;box-shadow:0 0 0 4px #39ff884d}.slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:#eaffef;box-shadow:0 0 0 4px #39ff884d}.offset{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--line)}.offset__value{min-width:70px;text-align:center;font-size:.85rem;font-weight:600;color:var(--mint);font-variant-numeric:tabular-nums}.shortcut-help{position:absolute;z-index:10;top:80px;right:clamp(16px,3vw,36px);padding:20px 24px;border-radius:20px;background:var(--glass-strong);min-width:280px}.shortcut-help h3{margin:0 0 12px}.shortcut-help dl{margin:0;display:grid;gap:8px}.shortcut-help dl div{display:flex;justify-content:space-between;gap:20px}.shortcut-help dd{margin:0;color:var(--mint)}.encore{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.encore__emoji{font-size:clamp(3rem,8vw,6rem);animation:float 3s ease-in-out infinite}.encore__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,6.5vw,5.4rem);margin:0;background:linear-gradient(92deg,var(--lime),var(--green) 50%,#00ffc8);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(57,255,136,.5))}.encore__sub{margin:0 0 20px;font-size:1.2rem;color:var(--mint)}.encore__next{display:flex;align-items:center;gap:16px;padding:14px 18px 14px 14px;border-radius:22px;text-align:left;margin-bottom:18px;min-width:min(440px,90vw)}.encore__next-cover{width:72px;height:72px;border-radius:14px;overflow:hidden;flex-shrink:0}.encore__next-singer{display:flex;align-items:center;gap:6px;font-size:1.3rem;font-weight:800;color:var(--green)}.encore__count{margin-left:auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid var(--green);font-family:var(--font-display);font-size:1.3rem;color:var(--green);animation:pulse 1s infinite}.encore__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-20px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg);opacity:.3}}.stage--error{display:grid;place-items:center}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.fade-in{animation:fade .6s ease both}.pop-in{animation:pop-in .5s var(--ease) both}@keyframes pop-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}@media(max-width:760px){.logo__neon{font-size:1.1rem}.logo__sub{font-size:.62rem}.logo__badge{width:42px;height:42px}.omnibox{flex-wrap:wrap;border-radius:24px;padding:10px 10px 10px 18px}.omnibox__go{width:100%}.hide-sm,.up-next,.slider__label,.stage__song,.help-btn{display:none}.stage__top{gap:8px}.stage__now{flex:1;justify-content:center}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.card__actions{flex-wrap:wrap}.controls-group--sliders{order:3;width:100%;justify-content:space-between}.slider input[type=range]{width:100px}.job-tray{left:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.topbar__actions{display:flex;align-items:center;gap:10px}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;font-weight:800;color:#00210f;background:linear-gradient(135deg,var(--lime),var(--green-2));box-shadow:0 0 0 2px #39ff8880,0 0 18px #39ff8859}.avatar img{width:100%;height:100%;object-fit:cover}.user-menu{position:relative}.user-menu__trigger{display:flex;align-items:center;gap:10px;padding:4px 14px 4px 4px;border-radius:999px;border:1px solid var(--line-strong);background:#39ff880f;cursor:pointer;font-weight:700;transition:background .2s,border-color .2s}.user-menu__trigger:hover{background:#39ff8824;border-color:var(--green)}.user-menu__name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__panel{position:absolute;right:0;top:calc(100% + 10px);z-index:30;min-width:250px;padding:8px;border-radius:18px;background:var(--glass-strong)}.user-menu__head{display:grid;gap:2px;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px;font-size:.9rem}.user-menu__head strong{font-size:1rem}.user-menu__stats{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:var(--green);font-weight:600;font-size:.82rem}.user-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:12px;background:none;cursor:pointer;font-weight:600;text-align:left}.user-menu__item:hover{background:#39ff881a;color:var(--green)}.star-btn{color:var(--muted)}.star-btn.is-on{color:#ffd84d;border-color:#ffd84d80;background:#ffd84d1a;filter:drop-shadow(0 0 8px rgba(255,216,77,.55))}.star-btn.is-on:hover:not(:disabled){color:#ffe27a;border-color:#ffd84d;background:#ffd84d2e}.star-btn.is-pop svg{animation:star-pop .45s var(--ease)}@keyframes star-pop{40%{transform:scale(1.45) rotate(-12deg)}}.title-star{color:#ffd84d;vertical-align:-3px;filter:drop-shadow(0 0 10px rgba(255,216,77,.6))}.card__sung{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:800;padding:3px 9px;border-radius:999px;color:#00210f;background:linear-gradient(135deg,#ffe27a,#ffd84d);box-shadow:0 0 16px #ffd84d8c}.btn--google{background:#fff;color:#1f1f1f;border-color:#fff}.btn--google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #ffffff2e}.auth-modal .btn--google{margin-top:4px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--muted);font-size:.82rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-switch{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px;font-size:.9rem;color:var(--muted)}.auth-switch>span:only-child{margin:0 auto}.form-notice{color:var(--green);margin:12px 0 0}.encore__note{margin:-8px 0 16px;font-weight:700}.encore__progress{color:#ffd84d;text-shadow:0 0 14px rgba(255,216,77,.5)}.profile{max-width:1440px;margin:0 auto;padding:10px clamp(16px,4vw,48px) 60px}.profile--guest{padding-top:60px}.profile--guest h2{margin:8px 0 0}.profile__back{margin-bottom:18px}.profile__hero{position:relative;display:flex;align-items:center;gap:28px;padding:28px 32px;border-radius:28px;overflow:hidden}.profile__hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 20%,rgba(198,255,61,.18),transparent 55%)}.profile__id{flex:1;min-width:0}.profile__name{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem)}.profile__name-form{display:flex;gap:8px;align-items:center;max-width:460px;margin-bottom:6px}.profile__signout{align-self:flex-start}.level{margin-top:16px;max-width:420px}.level__name{display:flex;align-items:center;gap:8px;font-weight:800;color:#ffd84d;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}.level__bar{height:8px;margin:8px 0 6px;border-radius:999px;background:#ffd84d1f;overflow:hidden}.level__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd84d,var(--lime));box-shadow:0 0 12px #ffd84d99;transition:width .8s var(--ease)}.level__hint{font-size:.85rem}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.stat-tile{display:grid;justify-items:start;gap:4px;padding:18px 20px;border-radius:20px;animation:rise .6s var(--ease) both}.stat-tile:nth-child(2){animation-delay:.06s}.stat-tile:nth-child(3){animation-delay:.12s}.stat-tile:nth-child(4){animation-delay:.18s}.stat-tile__icon{color:var(--green)}.stat-tile__value{font-weight:800;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 22px rgba(57,255,136,.35)}.tag--plain{text-transform:none;letter-spacing:0;font-weight:600;color:var(--mint)}.stat-tile__label{color:var(--muted);font-size:.85rem;font-weight:600}.profile .tabs{margin-bottom:20px}@media(max-width:760px){.profile__hero{flex-direction:column;text-align:center;padding:24px 18px}.profile__name{justify-content:center}.level{margin-left:auto;margin-right:auto}.stat-tiles{grid-template-columns:repeat(2,1fr)}}
