@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Jost-300.woff2) format("woff2");unicode-range:u+00??,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:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Jost-400.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/BricolageGrotesque-700.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/BricolageGrotesque-800.woff2) format("woff2");unicode-range:u+00??,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{color-scheme:dark;--bg:#0b0b0b;--surface:#15130f;--surface-2:#1f1c17;--border:#24211c;--border-strong:#3a352d;--text:#ede6d8;--muted:#a39a8a;--accent:#c8a15a;--accent-soft:rgba(200,161,90,0.14);--accent-line:rgba(200,161,90,0.45);--on-accent:#0b0b0b;--hover:rgba(237,230,216,0.07);--focus:rgba(237,230,216,0.55);--focus-soft:rgba(237,230,216,0.1);--control:#d9d0c0;--danger:#e8806e;--danger-soft:rgba(232,128,110,0.13);--ok:#9cc18a;--ok-soft:rgba(156,193,138,0.13);--warn:#e39a4c;--warn-soft:rgba(227,154,76,0.13);--record:#e2477a;--radius:14px;--font:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--display:"Jost",ui-sans-serif,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--stage:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--stem-vocals:#e2b66e;--stem-drums:#c9714a;--stem-bass:#9a7fc0;--stem-guitar:#7bae95;--stem-piano:#86a6cb;--stem-other:#8e8677}*{box-sizing:border-box}html{background:var(--bg)}body,html{margin:0;padding:0;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}body{display:flow-root}a{color:var(--text);text-decoration:none}a:hover{color:#fff;text-decoration:underline}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--control)}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-family:var(--display);font-weight:300;font-size:26px;letter-spacing:.08em;text-transform:uppercase}h2{font-size:15px}h2,h3{font-weight:600}h3{font-size:14px}.mono,time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--level:0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:rgba(11,11,11,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.brand{display:flex;flex-shrink:0;margin:-8px 0 -8px -12px}.brand img{display:block;height:44px;width:auto}.brand .brand-mark{display:none;height:40px}@media (max-width:400px){.brand .brand-full{display:none}.brand .brand-mark{display:block}.header-right{gap:10px}}.brand:hover{text-decoration:none}.header-right{display:flex;gap:12px;align-items:center;min-width:0}.header-right,.header-right>a{color:var(--muted)}.header-right>a:hover{color:var(--text);text-decoration:none}.header-right>a.button.primary{color:var(--on-accent)}.admin-button,button.admin-button{gap:7px;color:var(--muted);border-color:transparent}.admin-button.on,.admin-button:hover:not(:disabled){color:var(--text);background:var(--hover);border-color:transparent}.mac-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.mac-dot.online{background:var(--ok)}.mac-dot.asleep{background:var(--warn)}.avatar,button.avatar{width:34px;height:34px;background:var(--surface-2);border-color:var(--border-strong);font-weight:600;font-size:13px}.menu-note{padding:8px 12px 6px;color:var(--muted)}.header-text,.menu-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-text{min-width:0}.header-right>a,.header-right>button{flex-shrink:0}@media (max-width:560px){.header{gap:12px;padding:10px 16px}}.site-footer{position:-webkit-sticky;position:sticky;top:100vh;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;max-width:1400px;margin:0 auto;padding:20px 24px 28px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.site-footer-brand{display:flex;align-items:center;gap:10px}.site-footer-brand img{display:block;height:32px;width:32px}.site-footer nav{display:flex;gap:16px}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}@media (max-width:560px){.site-footer{padding:16px}}.container.legal{max-width:760px;margin-top:20px;margin-bottom:56px;padding:28px 32px;line-height:1.6}.legal h2{margin-top:24px;font-size:16px}.legal p,.legal ul{margin:0 0 12px}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}@media (max-width:560px){.legal{padding:20px 16px}}.container{max-width:1320px;margin:0 auto;padding:20px 24px 56px}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.container.wide{max-width:1760px;padding-left:14px;padding-right:14px}.workspace{display:flex;align-items:flex-start}.workspace-main{flex:1 1;min-width:0;min-height:var(--first-height,0)}.workspace-main>.stage{flex:1 1}.sing{--ink:#fff8ec;--lit:#f5b25c;--sing-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;color:var(--ink);animation:rise .2s ease-out both;overflow:hidden;isolation:isolate;background:linear-gradient(155deg,var(--plum) 0,var(--charcoal) 48%,var(--song) 100%)}@property --glow{syntax:"<color>";inherits:false;initial-value:#983f29}.sing>:not(.sing-bg){position:relative;z-index:1}.sing-foot,.sing-head{grid-column:1/-1}.sing-bg,.sing>.sing-vocals{position:absolute}.sing-bg{inset:-10%;z-index:0;pointer-events:none;filter:blur(68px) saturate(1.15)}.sing-glow{position:absolute;width:62vmax;height:62vmax;border-radius:50%;background:radial-gradient(circle at center,var(--glow) 0,color-mix(in srgb,var(--glow) 50%,transparent) 40%,transparent 70%);opacity:calc(.8 + var(--level, 0) * .2);scale:calc(1 + var(--level, 0) * .24);transition:opacity .12s linear,scale .12s linear;will-change:translate,scale}.sing-glow.g1{left:-12%;top:-14%;animation:drift-a 26s ease-in-out infinite alternate,tint 48s linear 0s infinite}.sing-glow.g2{right:-14%;top:-8%;animation:drift-b 31s ease-in-out infinite alternate,tint 48s linear -12s infinite}.sing-glow.g3{left:-6%;bottom:-18%;animation:drift-c 23s ease-in-out infinite alternate,tint 48s linear -24s infinite}.sing-glow.g4{right:-10%;bottom:-16%;animation:drift-d 35s ease-in-out infinite alternate,tint 48s linear -36s infinite}@keyframes drift-a{0%{translate:0 0}50%{translate:18vw 12vh}to{translate:6vw 26vh}}@keyframes drift-b{0%{translate:0 0}50%{translate:-22vw 16vh}to{translate:-8vw 30vh}}@keyframes drift-c{0%{translate:0 0}50%{translate:24vw -14vh}to{translate:10vw -28vh}}@keyframes drift-d{0%{translate:0 0}50%{translate:-16vw -20vh}to{translate:-26vw -8vh}}@keyframes tint{0%,to{--glow:#983f29}25%{--glow:#972f64}50%{--glow:#643a50}75%{--glow:#b2702e}}@media (prefers-reduced-motion:reduce){.sing-glow.g1{--glow:#983f29}.sing-glow.g2{--glow:#972f64}.sing-glow.g3{--glow:#643a50}.sing-glow.g4{--glow:#b2702e}}.sing-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}.sing-title{font:700 26px/1.15 var(--sing-font);letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sing-round,button.sing-round{width:44px;height:44px;min-height:0;padding:0;border:0;border-radius:50%;background:rgba(255,248,236,.12);color:var(--ink);flex:none;aspect-ratio:1;display:grid;place-items:center}.sing-round:hover:not(:disabled),button.sing-round:hover:not(:disabled){background:rgba(255,248,236,.22)}.sing-round svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.sing-words{min-height:0;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 82%,transparent)}.player-words,.sing-lines{animation:words-in .5s ease-out}@keyframes words-in{0%{opacity:0}to{opacity:1}}.sing-lines{position:relative;height:100%;overflow-y:auto;scrollbar-width:none;padding:16vh max(88px,calc((100% - 1000px) / 2)) 60vh;text-align:center}.sing-lines::-webkit-scrollbar{display:none}.sing-line{margin:0 auto 28px;width:-moz-fit-content;width:fit-content;max-width:100%;font:700 clamp(28px,3.6vw,50px)/1.18 var(--sing-font);letter-spacing:-.02em;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;text-wrap:pretty;color:rgba(255,248,236,.4);cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:color .3s,transform .3s}.sing-line.past{color:rgba(255,248,236,.24)}.sing-line.now{color:var(--ink);transform:scale(1.03)}.sing-line:hover:not(.now){color:rgba(255,248,236,.66)}.sing-line .sung{color:var(--lit)}.sing-wait{position:absolute;inset:0;display:grid;place-items:center;margin:0;font:700 22px var(--sing-font);color:rgba(255,248,236,.7)}.sing-vocals{position:absolute;right:18px;top:50%;transform:translateY(-50%)}.sing-vocals .sing-fader input[type=range]{height:220px}.sing-fader input[type=range]{writing-mode:vertical-lr;direction:rtl;width:36px;height:200px;accent-color:var(--lit)}.sing-foot{margin:0 auto 16px;width:min(720px,calc(100% - 24px));padding:14px 18px 16px;border-radius:24px;background:rgba(11,11,11,.42);display:flex;flex-direction:column;gap:12px}.sing-seek{height:6px;border-radius:3px;background:rgba(255,248,236,.18);cursor:pointer;overflow:hidden;touch-action:none}.sing-seek>div{height:100%;width:0;background:var(--ink)}.sing-controls{display:flex;align-items:center;justify-content:space-between}.sing-time{font-size:13px;color:rgba(255,248,236,.75)}.sing-play,button.sing-play{--beat:var(--level,0);width:64px;height:64px;min-height:0;padding:0;border:0;border-radius:50%;background:var(--ink);color:var(--song,#3a0f1c);box-shadow:0 0 calc(18px + var(--beat) * 40px) calc(var(--beat) * 10px) rgba(255,248,236,.25)}.sing-play:hover:not(:disabled),button.sing-play:hover:not(:disabled){background:#fff}.sing-play svg{width:24px;height:24px;fill:currentColor}.sing-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.sing-record{min-width:0}.sing .take-bar>.rec-button{flex:1 0 100%}.sing .rec-button,.sing button.rec-button{width:100%;height:48px;min-height:0;border:0;background:var(--ink);color:#1a1414;font-weight:600}.sing .rec-button:hover:not(:disabled){background:#fff}.sing .rec-button svg{color:#e5484d}.sing .rec-button.stop,.sing button.rec-button.stop{background:rgba(255,248,236,.16);color:var(--ink)}.sing .instrument{margin:0;padding:0;border:none;background:none;animation:none}.sing .muted,.sing .small{color:var(--ink)}.sing-stems,button.sing-stems{height:48px;min-height:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:rgba(255,248,236,.14);color:var(--ink);font-weight:600}.sing-stems svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.sing-stems svg circle{fill:currentColor}.sing-stems:hover:not(:disabled),button.sing-stems:hover:not(:disabled){background:rgba(255,248,236,.22)}.sing-stems.on,button.sing-stems.on{background:rgba(255,248,236,.28)}.sing-panel{grid-row:2;grid-column:2;align-self:center;margin-right:18px;padding:14px 16px 20px;border-radius:24px;background:rgba(11,11,11,.42);animation:rise .18s ease-out both}.sing-panel-head{display:flex;justify-content:flex-end;margin:0 0 18px}.sing-panel-head .sing-round,.sing-panel-head button.sing-round{width:32px;height:32px}.sing-panel-head .sing-round svg{width:14px;height:14px}.sing-sheet{padding-bottom:12px;border-bottom:1px solid rgba(255,248,236,.14);animation:rise .18s ease-out both}.sing-faders{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%}.sing-panel .sing-faders{grid-template-columns:repeat(6,44px);gap:6px}.sing-fader{display:flex;flex-direction:column;align-items:center;gap:8px;font:600 11px var(--font);letter-spacing:.06em;text-transform:uppercase}.sing-sheet .sing-fader input[type=range]{height:110px}.sing-fader[data-stem=vocals] input{accent-color:var(--lit)}.sing-fader[data-stem=drums] input{accent-color:var(--stem-drums)}.sing-fader[data-stem=bass] input{accent-color:var(--stem-bass)}.sing-fader[data-stem=guitar] input{accent-color:var(--stem-guitar)}.sing-fader[data-stem=piano] input{accent-color:var(--stem-piano)}.sing-fader[data-stem=other] input{accent-color:var(--stem-other)}@media (max-width:560px){.sing-head{padding:14px 16px}.sing-title{font-size:21px}.sing-lines{padding:14vh 56px 60vh}.sing-line{font-size:30px}.sing-line.now{transform:none}.sing-fader{font-size:10px;letter-spacing:.02em}.sing-vocals{right:10px}.sing-foot{margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.sing,.sing-glow,.sing-line,.sing-sheet{transition:none;animation:none}}.divider{flex-shrink:0;align-self:stretch;width:16px;cursor:col-resize;position:relative;touch-action:none}.divider:before{content:"";position:absolute;top:0;bottom:0;left:7px;width:2px;border-radius:2px;background:var(--border);transition:background .15s}.divider:active:before,.divider:hover:before{background:var(--muted)}.workspace-side{flex-shrink:0;position:-webkit-sticky;position:sticky;top:70px;height:calc(100vh - 84px);display:flex;flex-direction:column;gap:16px;min-width:0}.toolbar{gap:10px;flex-wrap:wrap;min-height:44px}.side-tabs,.toolbar{display:flex;align-items:center}.side-tabs{gap:2px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--border);overflow-x:auto;scrollbar-width:none;flex-shrink:0;height:44px}.side-tabs::-webkit-scrollbar{display:none}.side-tabs button{flex:1 0 auto;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;gap:6px}.side-tabs button:hover:not(:disabled){background:transparent;color:var(--text)}.side-tabs button.on,.side-tabs button.on:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.side-tabs .count{font-family:var(--mono);font-size:11px;color:var(--muted)}.more{position:relative}.more-button svg{display:block}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:0 18px 50px rgba(0,0,0,.55);animation:rise .14s ease-out both}.menu[hidden]{display:none}.more>button.on,.more>button.on:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.menu .export>button,.menu>.button,.menu>a.button,.menu>button{justify-content:flex-start;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--text);font-weight:500}.menu .export>button:hover:not(:disabled),.menu>.button:hover,.menu>button:hover:not(:disabled){background:var(--hover)}.menu .export>button.on,.menu>button.on{color:var(--accent)}.menu .export{width:100%}.side-stack{position:relative}.side-stack,.side-stack>[data-testid=chat]{flex:1 1;min-height:0;display:flex;flex-direction:column}.workspace-side .chat-log{flex:1 1;max-height:none;min-height:0}.drawer,.side.drawer{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:var(--surface);border-color:var(--border-strong);box-shadow:0 16px 48px rgba(0,0,0,.5);animation:rise .18s ease-out both}.drawer[hidden]{display:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.workspace-side .side-body{flex:1 1;min-height:0;max-height:none;padding:2px 16px 16px}@media (max-width:960px){.workspace{flex-direction:column;align-items:stretch;gap:16px}.divider{display:none}.workspace-side{position:static;width:auto!important;height:auto!important}.workspace-main{min-height:0}.workspace-side .chat-log{max-height:320px}.side-stack{min-height:420px}}.editor-grid,.studio{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:960px){.editor-grid,.studio{grid-template-columns:minmax(0,1fr)}}.card{background:none;border:0;border-radius:0;padding:0}.card+.card{border-top:1px solid var(--border);padding-top:20px}.auth-box.card,.card.export-card,.card.stage,.sheet.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card.boxed,.card.export-card,.sheet.card{padding:18px}.card.boxed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card>h2{display:flex;align-items:center;gap:8px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono)}input[type=password],input[type=search],input[type=text],input[type=url],textarea{font:inherit;min-height:40px;padding:9px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);min-width:0;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}input[type=password]:hover:not(:focus),input[type=search]:hover:not(:focus),input[type=text]:hover:not(:focus),input[type=url]:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--muted)}.button:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=file]{font:inherit;max-width:100%;color:var(--muted)}input[type=file]::-webkit-file-upload-button{font:inherit;margin-right:10px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}input[type=file]::file-selector-button{font:inherit;margin-right:10px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.button,button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s,filter .15s}.button:hover,button:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted);text-decoration:none}.button:active,button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:default}.button.primary,button.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600}.button.primary:hover,button.primary:hover:not(:disabled){background:#d8b36e;border-color:transparent}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:transparent}button.link{border:none;background:none;padding:0;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}button.link:hover:not(:disabled){background:none;color:#fff}.button.small,button.small{min-height:32px;padding:0 12px;font-size:13px}.button.link,button.link{min-height:0}.error{background:var(--danger-soft);color:var(--danger)}.error,.notice{border-radius:10px;padding:8px 12px}.notice{background:var(--warn-soft);color:var(--warn)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--muted)}.badge.active,.badge.done,.badge.ready{background:var(--ok-soft);color:var(--ok)}.badge.processing,.badge.queued,.badge.running{background:var(--accent-soft);color:var(--accent)}.badge.expired,.badge.inactive{background:var(--warn-soft);color:var(--warn)}.badge.failed{background:var(--danger-soft);color:var(--danger)}.progress{gap:6px}.progress,.words-loading{display:flex;flex-direction:column}.words-loading{gap:14px;padding:12px 0}.words-loading>.words-loading-line{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--surface-2) 0,rgba(237,230,216,.14) 50%,var(--surface-2) 100%) 0 0 /200% 100%;animation:words-light 1.6s ease-in-out infinite}@keyframes words-light{0%{background-position:100% 0}to{background-position:-100% 0}}.player-words-wait{padding:20px 4px}.player-words-wait>.words-loading-line{height:22px}.words-loading.on-stage{width:min(560px,80%);align-items:center;gap:22px}.words-loading.on-stage>.words-loading-line{height:30px;border-radius:15px;background:linear-gradient(90deg,rgba(255,248,236,.08),rgba(255,248,236,.22) 50%,rgba(255,248,236,.08)) 0 0 /200% 100%}@media (prefers-reduced-motion:reduce){.words-loading>.words-loading-line{animation:none}}.words-loading .words-status{margin-top:4px}.words-loading.on-stage .words-status{color:rgba(255,248,236,.6);font:500 16px var(--sing-font)}.status-line{margin:0;min-height:1.5em;font-size:14px;color:var(--muted);text-align:center}.status-phrase{display:inline-block;animation:status-in .45s ease-out}@keyframes status-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.status-dots span{animation:status-dot 1.4s infinite;opacity:.2}.status-dots span:nth-child(2){animation-delay:.2s}.status-dots span:nth-child(3){animation-delay:.4s}@keyframes status-dot{0%,60%,to{opacity:.2}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.status-dots span,.status-phrase{animation:none;opacity:1}}.getting-ready{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:36px 20px 30px}.getting-ready h2{margin:4px 0 0;font:300 18px var(--display);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.getting-ready-mark{width:88px;height:88px}.getting-ready-pct{min-height:1.4em;font-size:22px;color:var(--accent);letter-spacing:.04em}.getting-ready .error{align-self:stretch;text-align:left}.progress-bar{display:flex;align-items:center;gap:10px}.progress-track{flex:1 1;height:4px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s}.progress-fill.indeterminate{width:30%!important;animation:slide 1.2s ease-in-out infinite}@keyframes slide{0%{margin-left:-30%}to{margin-left:100%}}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.list>li{padding:10px 0;border-top:1px solid var(--border)}.list>li:first-child{border-top:none}.songs-head{display:flex;align-items:baseline;gap:10px}.add-row{margin-top:10px}.songs{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}.song-item{position:relative;display:grid;align-items:center;grid-gap:14px;gap:14px;padding:6px 8px;border-radius:10px;grid-template-columns:22px 64px minmax(0,1fr) 110px 52px 32px;transition:background .15s}.song-item:focus-within,.song-item:hover{background:var(--hover)}.song-n{text-align:right;font-size:13px}.song-n,.song-pic{color:var(--muted)}.song-pic{width:64px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center}.song-pic img{width:100%;height:100%;object-fit:cover;display:block}.song-names{display:flex;align-items:center;gap:10px;min-width:0}.song-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 16px var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.song-title:hover{color:#fff;text-decoration:none}.song-item .song-title:after{content:"";position:absolute;inset:0;border-radius:10px}.song-length{text-align:right}.song-delete,button.song-delete{position:relative;z-index:1;border-color:transparent;background:none;color:var(--muted);opacity:0}.song-delete:focus-visible,.song-item:hover .song-delete{opacity:1}.song-delete:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}@media (pointer:coarse){.song-delete,button.song-delete{opacity:1}}.song-item .badge.ready{display:none}@media (max-width:560px){.song-item{grid-template-columns:56px minmax(0,1fr) 40px 32px;gap:10px;padding:6px 0}.song-added,.song-n{display:none}.song-pic{width:56px}}.look-preview{position:relative;width:min(100%,calc(36vh * 16 / 9));aspect-ratio:16/9;margin:0 auto;overflow:hidden;border-radius:10px;background:#000}.look-preview .look-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.look-preview .look-words{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none;background:transparent;color-scheme:normal}.song-loading{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:16px;background:var(--bg);transition:opacity .32s ease}.song-loading.leaving{opacity:0;pointer-events:none}.song-loading h2{margin:0;max-width:100%;overflow-wrap:anywhere;text-align:center;font:300 20px var(--display);letter-spacing:.1em;text-transform:uppercase}.loading-mark{width:112px;height:112px}.loading-mark path{fill:var(--accent)}.loading-mark .arc{opacity:.18;animation:arc 1.8s ease-in-out infinite}.loading-mark .arc-2{animation-delay:.22s}.loading-mark .arc-3{animation-delay:.44s}@keyframes arc{0%,to{opacity:.18}30%{opacity:1}60%{opacity:.18}}.song-loading-bar{width:min(280px,100%);height:3px;border-radius:2px;background:var(--surface-2);overflow:hidden}.song-loading-bar span{display:block;height:100%;background:var(--accent);transition:width .25s ease-out}.song-loading-bar.unknown span{width:30%;animation:slide 1.2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.loading-mark .arc{animation:none;opacity:1}.song-loading,.song-loading-bar span{transition:none}}.auth-box{max-width:min(400px,calc(100% - 32px));margin:8vh auto 32px;padding:32px;background:var(--surface)}@media (max-width:560px){.auth-box{margin-top:16px;padding:20px 20px 24px}.auth-logo img{width:136px}}.auth-logo{display:flex;justify-content:center;margin:-12px 0 4px;text-transform:none}.auth-logo img{display:block;width:180px;height:auto}.auth-box h1+.muted{text-align:center}.auth-box form{display:flex;flex-direction:column;gap:12px}.auth-box form button[type=submit]{justify-content:center;padding:10px 14px}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin:18px 0 4px;padding:0 16px;border-radius:999px;border:1px solid #8e918f;background:#131314;color:#e3e3e3;font-weight:500}.google-button:hover{text-decoration:none;background:#1f1f20}.auth-or{text-align:center;margin:12px 0}.tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid var(--border)}.tabs button{flex:1 1;justify-content:center;border-color:transparent;background:none;color:var(--muted);padding:6px 10px}.tabs button:hover:not(:disabled){background:var(--hover);border-color:transparent;color:var(--text)}.tabs button.on,.tabs button.on:hover:not(:disabled){background:var(--surface-2);color:var(--text);font-weight:600}.tabs .count{font-size:11px;color:var(--muted);font-weight:400}.song-top{align-items:center;min-height:32px;margin-bottom:-10px}.song-bar,.song-top{display:flex;gap:12px}.song-bar{align-items:baseline;flex-wrap:wrap}.song-bar h1{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:28px}.song-bar .badge.ready{display:none}.back-link{color:var(--muted);font-size:13px}.back-link:hover{color:var(--text);text-decoration:none}.stage{padding:14px 10px 12px}.side{position:-webkit-sticky;position:sticky;top:70px}@media (max-width:960px){.side{position:static}}.side .card{background:none;border:none;padding:0;animation:none}.side .card>h2{display:none}.side-body{max-height:calc(100vh - 170px);overflow-y:auto;padding-right:2px}@media (max-width:960px){.side-body{max-height:none}}.studio-root{--pos:0}.track-row{display:grid;grid-template-columns:148px minmax(0,1fr) 28px;grid-gap:6px}.track-head,.track-row{align-items:center;gap:6px}.track-head{display:flex;min-width:0;padding-left:2px}.overview-row{align-items:start}.overview-row .track-head{padding-top:8px}.overview{position:relative;height:176px;border-radius:12px;background:var(--bg);border:1px solid var(--border);cursor:crosshair;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .4s}.overview[data-ready=false]{opacity:.55}.overview-wave{display:block;width:100%;height:100%;color:rgba(237,230,216,.5)}.overview:before{content:"";position:absolute;top:0;bottom:0;left:0;z-index:1;width:calc(var(--pos) * 100%);background:var(--accent);mix-blend-mode:multiply;pointer-events:none}.overview-selection{position:absolute;top:0;bottom:0;background:var(--accent-soft);border-left:2px solid var(--accent);border-right:2px solid var(--accent);cursor:-webkit-grab;cursor:grab;touch-action:none}.overview-selection:active{cursor:-webkit-grabbing;cursor:grabbing}.selection-end{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;pointer-events:auto;touch-action:none}.selection-end.left{left:-7px}.selection-end.right{right:-7px}.selection-end:after{content:"";position:absolute;top:50%;left:3px;width:6px;height:28px;margin-top:-14px;border-radius:3px;background:var(--accent)}.selection-times{position:relative;height:16px;margin-top:3px;font-size:11px;color:var(--accent)}.selection-times>div{position:absolute;top:0;display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.loading-note{animation:rise .2s ease-out both}.overview.rendering:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);background-size:250% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{0%{background-position:125% 0}to{background-position:-125% 0}}.playhead{bottom:0;left:calc(var(--pos) * 100%);width:2px;margin-left:-1px;z-index:2;pointer-events:none}.overview .playhead:before,.playhead{position:absolute;top:0;background:var(--accent)}.overview .playhead:before{content:"";left:-4px;width:10px;height:10px;border-radius:0 0 5px 5px}.ruler-row{margin-bottom:6px}.time-ruler{position:relative;height:16px}.time-ruler span{position:absolute;bottom:0;padding-left:5px;border-left:1px solid var(--border-strong);font-family:var(--mono);font-size:11px;line-height:1.2;color:var(--muted)}.tracks{display:flex;flex-direction:column;gap:3px;margin-top:6px}.track{--c:var(--stem-other)}.track[data-stem=vocals]{--c:var(--stem-vocals)}.track[data-stem=drums]{--c:var(--stem-drums)}.track[data-stem=bass]{--c:var(--stem-bass)}.track[data-stem=guitar]{--c:var(--stem-guitar)}.track[data-stem=piano]{--c:var(--stem-piano)}.track[data-kind=added]{--c:var(--text)}.track.hot .lane{box-shadow:0 0 0 1px var(--accent)}.track-toggle,button.track-toggle{flex:1 1;min-width:0;min-height:34px;justify-content:flex-start;padding:2px 8px;border-color:transparent;background:none;opacity:.5}.track.on .track-toggle{opacity:1;background:var(--surface-2);border-color:color-mix(in srgb,var(--c) 55%,transparent)}.track.over-part .track-head{box-shadow:inset 2px 0 0 var(--accent)}.track.part-off .track-toggle{opacity:.5;background:none}.track-name{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;font-weight:500}.track-name:before{content:"";flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--c)}.track-volume{width:46px;flex-shrink:0;accent-color:var(--control);cursor:pointer}.track-volume:disabled{opacity:.35;cursor:default}.lane{position:relative;height:32px;border-radius:6px;background:rgba(0,0,0,.22);cursor:pointer;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lane.pending{background:repeating-linear-gradient(110deg,rgba(255,255,255,.03) 0 12px,rgba(255,255,255,.07) 12px 24px)}.lane-wave{display:block;width:100%;height:100%;opacity:.22;transition:opacity .2s}.track.on .lane-wave{opacity:.9}.lane-block{position:absolute;top:0;bottom:0;min-width:8px;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:rgba(255,255,255,.05);cursor:-webkit-grab;cursor:grab;touch-action:none}.lane-block.edit{border-color:color-mix(in srgb,var(--c) 80%,transparent);background:repeating-linear-gradient(135deg,rgba(0,0,0,.35) 0 5px,rgba(0,0,0,.12) 5px 10px)}.lane-block.off{opacity:.4}.lane-block:hover{border-color:var(--focus)}.lane-block.open{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.lane-block:active{cursor:-webkit-grabbing;cursor:grabbing}.block-end{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}.block-end.left{left:-1px;border-left:3px solid transparent;border-radius:5px 0 0 5px}.block-end.right{right:-1px;border-right:3px solid transparent;border-radius:0 5px 5px 0}.lane-block:hover .block-end{border-color:var(--focus)}.lane-block.open .block-end{border-color:var(--accent)}.stems-button,button.stems-button{gap:7px}.stems-button.on,button.stems-button.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.clip-stems{display:flex;flex-direction:column;gap:4px;animation:rise .2s ease-out both}.track.sub{grid-template-columns:148px minmax(0,1fr)}.track.sub .track-head{padding-left:0}.sub-lane{height:26px;cursor:default}@media (max-width:760px){.track.sub{grid-template-columns:132px minmax(0,1fr)}}.lane-pick{position:absolute;top:0;bottom:0;background:var(--accent-soft);border-left:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none}.button.track-action,.track-action{width:28px;height:28px;min-height:0;padding:0;border-radius:50%;border-color:transparent;background:rgba(255,255,255,.07)}.track-action .icon{width:12px;height:12px}.track-action path{stroke:currentColor;stroke-width:0}.track-editor{margin:4px 34px 6px 154px}@media (max-width:760px){.track-row{grid-template-columns:132px minmax(0,1fr) 28px}.track-volume{width:40px}.pick-bar,.track-editor{margin-left:0;margin-right:0}}@media (max-width:560px){.track-row{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"head action" "lane lane";row-gap:4px}.track-row>.track-head{grid-area:head}.track-row>:nth-child(2){grid-area:lane}.track-row>:nth-child(3){grid-area:action}.overview-row,.ruler-row{grid-template-areas:"lane lane"}.overview-row>.track-head,.ruler-row>.track-head{display:none}.track.sub{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "lane"}.tracks{gap:10px}.track-toggle,button.track-toggle{flex:0 1 auto}.track-volume{width:110px;margin-left:auto}.button.track-action,.track-action{width:32px;height:32px}.overview{height:140px}}.beat-ruler{display:block;width:100%;height:8px;margin-top:4px;color:var(--muted)}.snap-toggle,button.snap-toggle{color:var(--muted);gap:6px}.snap-toggle.on,button.snap-toggle.on{color:var(--accent);border-color:rgba(200,161,90,.4)}.change-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.change-chip,button.change-chip{--c:var(--accent);padding:5px 12px 5px 10px;font-size:12px;gap:7px;background:var(--surface-2);min-width:0;max-width:100%}.change-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-chip:before{content:"";flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--c)}.change-chip[data-stem=vocals]{--c:var(--stem-vocals)}.change-chip[data-stem=drums]{--c:var(--stem-drums)}.change-chip[data-stem=bass]{--c:var(--stem-bass)}.change-chip[data-stem=guitar]{--c:var(--stem-guitar)}.change-chip[data-stem=piano]{--c:var(--stem-piano)}.change-chip[data-stem=other]{--c:var(--stem-other)}.change-chip.off{opacity:.5;text-decoration:line-through}.chip-pair{display:inline-flex;min-width:0;max-width:100%}.chip-pair>.change-chip{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:8px}.chip-remove,button.chip-remove{padding:0 9px 1px 7px;font-size:14px;line-height:1;color:var(--muted);background:var(--surface-2);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.chip-remove:hover,button.chip-remove:hover{color:var(--record)}.change-chip.hot{border-color:var(--border-strong)}.change-chip.open,button.change-chip.open{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.chip-editor{margin-top:10px;max-width:560px}.chip-editor .editor-body{max-width:none}.layer-editor{display:flex;flex-direction:column;gap:14px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);animation:rise .2s ease-out both}.editor-head{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.layer-editor-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.editor-body{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px}.editor-body.two{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.editor-body:not(.two){max-width:520px}@media (max-width:860px){.editor-body.two{grid-template-columns:minmax(0,1fr)}}.editor-section{display:flex;flex-direction:column;gap:10px;min-width:0}.editor-section h4{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.editor-extra{padding-top:14px;border-top:1px solid var(--border)}.field-row{display:grid;grid-template-columns:76px minmax(0,1fr) 62px;align-items:center;grid-gap:10px;gap:10px;font-size:13px}.field-row input[type=range]{width:100%;accent-color:var(--control)}.field-row>span:last-child{text-align:right;color:var(--muted)}.times{gap:8px;flex-wrap:nowrap}.time-input,input[type=text].time-input{width:78px;padding:5px 8px;text-align:center}.editor-options{display:flex;flex-wrap:wrap;gap:6px 16px;padding-left:86px}.editor-foot{display:flex;align-items:center;gap:10px;margin-top:2px}.nudge,button.nudge{animation:nudge .35s ease-in-out 2}@keyframes nudge{50%{transform:scale(1.12);box-shadow:0 0 0 6px var(--accent-soft)}}.range-picker{border-radius:8px;background:rgba(0,0,0,.25);border:1px solid var(--border);overflow:hidden}.range-picker ::part(region-handle-left){border-left-color:var(--accent)!important}.range-picker ::part(region-handle-right){border-right-color:var(--accent)!important}.icon{width:14px;height:14px;fill:currentColor;flex-shrink:0}.round,button.round{width:32px;height:32px;min-height:0;padding:0;justify-content:center;border-radius:50%;flex-shrink:0}.round.on,button.round.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.round.record,button.round.record{color:var(--record);border-color:rgba(226,71,122,.45)}.round.danger-fill,button.round.danger-fill{background:var(--record);border-color:transparent;color:#fff}.transport{display:flex;align-items:center;gap:14px;margin:14px 0 16px;padding:0 0 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.play-button,button.play-button{width:52px;height:52px;padding:0;justify-content:center;border-radius:50%;flex-shrink:0;background:var(--accent);border-color:transparent;color:var(--on-accent)}.play-button:hover:not(:disabled),button.play-button:hover:not(:disabled){background:#d8b36e;border-color:transparent}.play-button svg{width:20px;height:20px;fill:currentColor}.play-button.playing{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(200,161,90,.4)}50%{box-shadow:0 0 0 10px rgba(200,161,90,0)}}.time{font-family:var(--mono);font-size:17px;font-weight:500;color:var(--text)}.time .total{color:var(--muted)}.source-switch{margin:0;padding:3px}.source-switch button{padding:5px 14px}.pill-close,button.pill-close{border:none;background:none;padding:0 0 0 6px;color:inherit;font-size:15px;line-height:1}.pill-close:hover:not(:disabled){background:none}.pill-cut,button.pill-cut{border:none;background:none;padding:0 0 0 8px;color:inherit;line-height:1}.pill-cut:hover:not(:disabled){background:none;color:#fff}.selection-pill{display:inline-flex;align-items:center;font-family:var(--mono);background:var(--accent-soft);color:var(--accent);border:1px solid rgba(200,161,90,.35);border-radius:999px;padding:2px 10px;white-space:nowrap}.pick-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 34px 0 154px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);animation:rise .2s ease-out both}.pick-stem,button.pick-stem{text-transform:capitalize;opacity:.55}.pick-stem.on,button.pick-stem.on{opacity:1;background:var(--surface-2);border-color:var(--accent)}.create{margin-top:12px}.tool-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool,button.tool{gap:7px}.tool.on,button.tool.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.instrument{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:12px 0 0;border-top:1px solid var(--border);animation:rise .2s ease-out both}.instrument-top{gap:12px}.take-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rec-button,button.rec-button{gap:7px;color:var(--record);border-color:rgba(226,71,122,.45);font-weight:600}.rec-button.stop,button.rec-button.stop{background:var(--record);border-color:transparent;color:#fff}.rec-hint{display:inline-flex;align-items:center;gap:7px}.delay-note{margin-left:auto;color:var(--warn);cursor:help}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--record);animation:blink 1s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.sound-tabs{margin:0;padding:3px}.sound-tabs button{padding:4px 12px}.octave{display:flex;align-items:center;gap:6px}.pads{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:8px;gap:8px}@media (max-width:760px){.pads{grid-template-columns:repeat(4,minmax(0,1fr))}}.pad,button.pad{flex-direction:column;justify-content:center;gap:6px;height:72px;padding:6px;border-radius:12px;background:var(--surface-2);white-space:normal;text-align:center;font-size:12px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pad-hightom,.pad-kick,.pad-lowtom{box-shadow:inset 0 -3px 0 var(--stem-drums)}.pad-clap,.pad-snare{box-shadow:inset 0 -3px 0 var(--stem-vocals)}.pad-crash,.pad-hat,.pad-openhat{box-shadow:inset 0 -3px 0 var(--stem-piano)}.pad.lit,button.pad.lit{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:scale(.96)}.keys{position:relative;display:flex;gap:3px;height:120px;max-width:640px;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.key,button.key{align-items:flex-end;justify-content:center;padding:0 0 8px;border-radius:0 0 8px 8px}.key.white,button.key.white{flex:1 1;background:#e9e7e1;border-color:#cfccc4;color:#2a2b2c}.key.white:hover:not(:disabled){background:#f6f4ee}.key.black,button.key.black{position:absolute;top:0;width:6.4%;height:62%;background:#17181a;border-color:#000;color:#b9bcbf;z-index:1}.key.black:hover:not(:disabled){background:#26282b}.key.down,.key.down:hover:not(:disabled),button.key.down{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:none}.key kbd{background:none;border:none;color:inherit;opacity:.7}.neck{display:flex;flex-direction:column;max-width:760px;padding:8px 10px 2px;border-radius:10px;background:linear-gradient(#3a2a1e,#2c2018);border:1px solid #4a3626;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.string-row{display:grid;grid-template-columns:22px 44px repeat(8,minmax(0,1fr));align-items:center}.string-name{font-size:11px;color:#c9b9a6}.fret,button.fret{position:relative;height:30px;padding:0;justify-content:center;border:none;border-right:2px solid #8d8168;border-radius:0;background:none;color:#c9b9a6}.fret:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:#cfc8b8;opacity:.7}.strings-4 .fret:before{height:3px}.fret.open,button.fret.open{border-right:5px solid #e6dfd0}.fret:hover:not(:disabled){background:rgba(255,255,255,.07);border-color:#8d8168}.fret.open:hover:not(:disabled){border-color:#e6dfd0}.fret.down,.fret.down:hover:not(:disabled),button.fret.down{background:rgba(200,161,90,.35);transform:none}.fret.down:before{background:var(--accent);opacity:1;box-shadow:0 0 8px var(--accent)}.fret kbd{position:relative;background:rgba(0,0,0,.45);border:none;color:inherit;font-size:10px}.fret-dots{height:14px}.fret-dot{text-align:center;color:#c9b9a6;line-height:14px}.ribbon{display:grid;grid-template-columns:repeat(25,minmax(0,1fr));height:84px;max-width:760px;border-radius:12px;overflow:hidden;border:1px solid rgba(200,161,90,.4);background:linear-gradient(90deg,#12343a,#1d2b52,#3a1d52);cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.ribbon-step{display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-size:10px;color:rgba(255,255,255,.6);border-right:1px solid rgba(255,255,255,.07);pointer-events:none}.ribbon-step.sharp{background:rgba(0,0,0,.28)}.ribbon-step.down{background:var(--accent);color:var(--on-accent);box-shadow:0 0 16px var(--accent)}.chords{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;max-width:760px}.chord,button.chord{height:60px;font-size:15px;font-weight:600;box-shadow:inset 0 -3px 0 var(--stem-guitar)}.chord.minor,button.chord.minor{box-shadow:inset 0 -3px 0 var(--stem-bass)}.take-audio{flex:1 1;min-width:160px;max-width:360px}.audio-player{display:flex;align-items:center;gap:8px}.audio-player input[type=range]{flex:1 1;min-width:40px;accent-color:var(--control);cursor:pointer}.audio-player .mono{white-space:nowrap}.audio-wait{flex:1 1;min-width:40px;height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}.audio-wait>span{display:block;height:100%;background:var(--control);transition:width .4s}.audio-wait>span.indeterminate{width:30%!important;animation:slide 1.2s ease-in-out infinite}.delay-slider{width:120px;accent-color:var(--control)}.clip-add{margin-top:6px;display:flex;flex-direction:column;gap:6px}.clip-wave{border-radius:8px;background:rgba(0,0,0,.22);border:1px solid var(--border);cursor:crosshair;overflow:hidden}.clip-row{display:flex;align-items:center;gap:8px}.clip-row .audio-player{flex:1 1;min-width:0}.clip-name{font-weight:600}.clip-songs-head{margin:14px 0 4px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.chat-log{display:flex;flex-direction:column;gap:8px;max-height:320px;min-height:96px;overflow-y:auto;padding:4px 2px 8px}.msg{max-width:80%;padding:8px 13px;border-radius:16px;white-space:pre-wrap;animation:rise .25s ease-out both}.msg.user{align-self:flex-end;background:#2a261f;color:var(--text);border-bottom-right-radius:5px}.msg.assistant{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:5px}.msg.thinking{display:inline-flex;align-items:center;gap:5px;padding:8px 4px;background:none;border:none}.msg.thinking span{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.35;animation:thinking 1.2s ease-in-out infinite}.msg.thinking span:nth-child(2){animation-delay:.18s}.msg.thinking span:nth-child(3){animation-delay:.36s}@keyframes thinking{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.msg.thinking span{animation:none;opacity:.6}}.adjust-card{align-self:stretch;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px;background:var(--surface-2);animation:rise .25s ease-out both}.adjust-head{display:flex;align-items:baseline;justify-content:space-between}.adjust-value{font-size:22px;color:var(--accent)}.adjust-slide{display:flex;align-items:center;gap:10px}.adjust-slide input[type=range]{flex:1 1;min-width:0;height:28px;accent-color:var(--control);cursor:pointer}.adjust-presets{display:flex;flex-wrap:wrap;gap:6px}.adjust-presets button.on{color:var(--text);border-color:var(--text);background:rgba(0,0,0,.2)}.export{position:relative}.export-card{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:340px;max-width:calc(100vw - 32px);display:grid;grid-gap:10px;gap:10px;margin:0}.sound-styles{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.sound-styles button{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;text-align:left}.sound-styles button.on{border-color:var(--accent);background:var(--accent-soft)}.sound-styles button.on strong{color:var(--accent)}.adjust-foot{flex-wrap:wrap}.adjust-foot,.chat-head{display:flex;align-items:center;gap:8px}.chat-head{position:relative;margin-bottom:8px}.chat-title,button.chat-title{flex:1 1;min-width:0;justify-content:space-between;gap:8px;padding:6px 12px;background:none}.chat-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:4;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:0 16px 48px rgba(0,0,0,.5);animation:rise .15s ease-out both}.chat-row{display:flex;align-items:center;gap:4px}.chat-row>button:first-child{flex:1 1;min-width:0;justify-content:space-between;gap:10px;padding:6px 10px;border:none;background:none;text-align:left}.chat-row>button:first-child>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row>button:first-child:hover{background:var(--hover)}.chat-row.on>button:first-child{color:var(--text);font-weight:600}.chat-row .round{border:none;background:none;opacity:.6}.chat-row .round:hover{opacity:1;color:var(--record)}.chat-form{display:flex;gap:8px;margin-top:8px}.chat-field{flex:1 1;min-width:0;display:flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.25);transition:border-color .15s,box-shadow .15s}.chat-send,button.chat-send{width:30px;height:30px;min-height:0;padding:0;justify-content:center;border-radius:50%;flex-shrink:0}.chat-field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}.chat-field input[type=text],.chat-field input[type=text]:focus{flex:1 1;border:none;background:none;box-shadow:none;padding:7px 0}.layer-group{padding:8px 0;border-bottom:1px solid var(--border);animation:rise .3s ease-out both}.layer-group-head{font-size:11px;color:var(--muted);margin-bottom:4px;font-style:italic}.layer{display:flex;align-items:center;gap:8px;padding:5px 0}.layer.hot{background:var(--accent-soft);border-radius:8px;box-shadow:0 0 0 4px var(--accent-soft)}.layer-label{flex:1 1;min-width:0}.layer-label .reason{display:block;font-size:11px;color:var(--warn)}.layer.disabled .layer-label>span:first-child,.layer.inactive .layer-label>span:first-child{color:var(--muted);text-decoration:line-through}.switch{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0}.switch input{opacity:0;width:100%;height:100%;margin:0;z-index:1}.switch .slider,.switch input{position:absolute;inset:0;cursor:pointer}.switch .slider{border-radius:999px;background:rgba(255,255,255,.18);transition:background .15s}.switch .slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{transform:translateX(14px)}.switch input:disabled+.slider{opacity:.5;cursor:default}.switch input:focus-visible+.slider{outline:2px solid var(--accent);outline-offset:2px}kbd{font-family:var(--mono);font-size:12px;background:var(--surface-2);border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;padding:0 5px}.dialog-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.5);animation:fade-in .12s ease-out both}@keyframes fade-in{0%{opacity:0}}.dialog{width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:16px 18px 18px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:0 24px 64px rgba(0,0,0,.6);animation:rise .16s ease-out both}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.shortcuts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px 24px;gap:2px 24px}@media (max-width:520px){.shortcuts-grid{grid-template-columns:minmax(0,1fr)}}.shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.shortcut-keys{display:inline-flex;gap:4px;flex-shrink:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.lyrics{gap:12px}.lyrics,.lyrics-note{display:flex;flex-direction:column}.lyrics-note{gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}.lyrics-note p{margin:0}.lyrics-note .progress-track{flex:none}.lyrics-lines{list-style:none;margin:0;padding:4px 0 40vh;display:flex;flex-direction:column;gap:14px}.lyrics-line{padding:6px 10px;border-radius:8px;font-size:17px;line-height:1.45;color:var(--muted);cursor:pointer;transition:color .2s,background .2s,font-size .2s}.lyrics-line:hover{background:rgba(255,255,255,.04)}.lyrics-line.past{color:rgba(143,147,150,.6)}.lyrics-line.now,.lyrics-line.now:hover{color:var(--text);background:none;font-size:23px;font-weight:600}.lyrics-line.now span{color:var(--muted);transition:color .12s}.lyrics-line.now span.sung{color:var(--accent)}.lyrics-line.heard{font-style:italic}.lyrics-line.cut{color:rgba(143,147,150,.35);text-decoration:line-through;cursor:default}.lyrics-foot{margin:0}.lyrics-kind{align-self:flex-start;font:inherit;font-size:13px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text)}.lyrics-search{display:flex;flex-direction:column;gap:4px}.lyrics-search .row{gap:6px}.lyrics-search input[type=text]{flex:1 1;min-width:0}.lyrics-foot a,.lyrics-note a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.lyrics-line{position:relative;padding-right:34px}.lyrics-pencil,button.lyrics-pencil{position:absolute;top:50%;right:4px;width:26px;height:26px;min-height:0;border-radius:50%;margin-top:-13px;padding:0;justify-content:center;border:none;background:none;color:var(--muted);opacity:0;transition:opacity .15s}.lyrics-line:hover .lyrics-pencil,.lyrics-pencil:focus-visible{opacity:1}.lyrics-pencil:hover{color:var(--text)}.lyrics-line.edited:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent);opacity:.5}.lyrics-line.fixing{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);cursor:default;font-size:15px}.lyrics-line.fixing input[type=text]{width:100%}.lyrics-times{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.lyrics-time{display:inline-flex;align-items:center;gap:4px}.lyrics-time button{padding:2px 7px}.post-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:960px){.post-grid{grid-template-columns:minmax(0,1fr)}}.field{display:flex;flex-direction:column;gap:4px}.field input,.field textarea{width:100%}textarea{resize:vertical}.fields{display:flex;flex-direction:column;gap:8px}.fields h3{margin:10px 0 0;font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.fields h3:first-child{margin-top:0}.check{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.check input{margin-top:3px;accent-color:var(--control)}.radios{display:flex;flex-direction:column;gap:4px}.inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}input[type=datetime-local],input[type=number],select{font:inherit;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.25);color:var(--text);max-width:100%}.post-video{width:100%;aspect-ratio:16/9;background:#000;border-radius:10px}.post-thumb{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.post-thumb.wide{width:100%}.post-thumb.small{width:96px;flex-shrink:0}.post-thumb.empty{display:inline-block;background:var(--surface-2)}.post-row{display:flex;align-items:center;gap:12px}.clip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.clip-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px;border-radius:12px;border:1px solid var(--border);background:var(--surface);white-space:normal;text-align:left}.clip-choice img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.clip-choice.on{border-color:var(--accent)}.channel-avatar{width:40px;height:40px;border-radius:50%}.wizard-rail{display:flex;flex-wrap:wrap;gap:6px}.wizard-step{display:inline-flex;align-items:center;gap:6px;border-radius:999px}.wizard-step-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);font-size:12px}.wizard-step.on{color:var(--text);border-color:var(--text);background:var(--surface-2)}.wizard-step.done .wizard-step-n,.wizard-step.on .wizard-step-n{border-color:var(--accent)}.wizard-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}.wizard-lines li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:2px 4px;border-radius:6px}.wizard-lines li.doubt{background:var(--warn-soft)}.wizard-lines button.link{color:var(--text);text-align:left;white-space:normal}.queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.queue-list li{padding:10px 0;border-top:1px solid var(--border)}.queue-list li:first-child{border-top:none;padding-top:0}@media (pointer:coarse){.button.small,button.small{padding:8px 12px}.back-link,.header-right a{display:inline-block;padding:8px 2px}input[type=range]:not(.now-bar-seek){height:28px}}.mac-state:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:var(--muted)}.mac-state.online:before{background:var(--ok)}.mac-state.asleep:before{background:var(--warn)}.catalog{display:flex;flex-direction:column;gap:28px}.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.catalog-head h1{margin:0 0 10px;font-size:38px}.catalog-head p{margin:0;font-size:15px}.catalog-head input[type=search]{width:320px;border-radius:999px;padding-left:18px}.catalog-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:28px 24px;gap:28px 24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.catalog-grid>li{gap:6px;position:relative;container-type:inline-size}.catalog-card,.catalog-grid>li{display:flex;flex-direction:column;min-width:0}.catalog-card{gap:12px;color:inherit}.catalog-card,.catalog-card:hover{text-decoration:none}.catalog-thumb{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--muted)}.catalog-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.catalog-card:hover .catalog-thumb img{transform:scale(1.03)}.catalog-open,button.catalog-open{position:absolute;right:12px;top:calc(56.25cqw - 56px);width:44px;height:44px;min-height:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(11,11,11,.6);color:var(--text);border:1px solid rgba(237,230,216,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,color .2s}.catalog-open.on,.catalog-open:hover:not(:disabled),button.catalog-open.on{background:var(--text);color:var(--bg)}.catalog-open svg{width:16px;height:16px;fill:currentColor}.catalog-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.catalog-names{display:flex;flex-direction:column;gap:3px;min-width:0}.catalog-title{font:400 19px var(--display);letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-count{flex-shrink:0;font-size:12px;color:var(--muted)}.catalog-play{align-self:flex-start;color:var(--muted)}.catalog-play:hover{color:var(--text)}.sign-in-prompt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px 10px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.sign-in-prompt-text{font-weight:500}.sign-in-prompt .button{text-decoration:none}.sign-in-prompt .round{border:0;background:transparent;color:var(--muted);font-size:18px}.guest-hint{display:flex;align-items:center;gap:10px}@media (max-width:560px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.catalog-head h1{font-size:28px}.catalog-head input[type=search]{width:100%}.catalog-title{font-size:15px}.catalog-meta{flex-direction:column;align-items:stretch;gap:4px}.catalog-open,button.catalog-open{width:36px;height:36px;right:8px;top:calc(56.25cqw - 44px)}}.sheet-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}.sheet{width:100%;max-width:400px;display:flex;flex-direction:column;gap:10px}.sheet .google-button{justify-content:center}@media (max-width:560px){.sheet-backdrop{align-items:flex-end;padding:0}.sheet{max-width:none;border-radius:16px 16px 0 0}}.sheet button.link{align-self:flex-start}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}button.danger-solid{background:var(--danger);border-color:transparent;color:#1a0f0c;font-weight:600}button.danger-solid:hover:not(:disabled){filter:brightness(1.08)}@media (max-width:560px){.confirm-actions button{flex:1 1;min-height:44px}}.pick-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);cursor:pointer}.pick.on{border-color:var(--accent);background:var(--accent-soft)}.pick>span:first-of-type{flex:1 1;min-width:0}.pick input{margin:0}.pick-detail{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.pick-detail p{margin:6px 0 0}.pick-detail input,.pick-detail select{width:100%}.badge.notice-count{margin-left:4px;background:var(--accent);color:var(--on-accent)}.player-screen{display:flex;flex-direction:column;gap:22px;padding-top:24px}.player-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.player-names{min-width:0;flex:1 1}.player-close{align-self:center;flex:none}.player-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.player-names h1{margin:0;font-size:30px;overflow-wrap:anywhere}.player-names p{margin:4px 0 0;font-size:16px}.player-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:stretch;height:max(440px,calc(100vh - 250px))}.player-picture{height:90%;width:92%;align-self:center;justify-self:center;border-radius:16px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;font-size:48px;color:var(--muted);box-shadow:0 24px 60px rgba(0,0,0,.45)}.player-picture img{width:100%;height:100%;object-fit:cover;display:block}.player-side{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;position:relative;padding:0}.player-side>:last-child{flex:1 1;min-height:0;overflow-y:auto}.player-side .side-tabs{align-self:flex-start}.player-handle,button.player-handle{display:none}.now-bar-seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;margin:0;border-radius:2px;cursor:pointer;background:linear-gradient(90deg,var(--text) var(--done,0),var(--surface-2) var(--done,0))}.now-bar-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text);border:0}.now-bar-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text);border:0}.now-bar-controls .round{width:40px;height:40px;border:0;background:transparent;color:var(--text)}.now-bar-controls .round svg{width:20px;height:20px;fill:currentColor}.now-bar-controls .round:hover:not(:disabled){background:var(--hover)}.up-next{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.up-next-song,button.up-next-song{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;font-weight:400}.up-next-song:hover:not(:disabled){background:var(--hover)}.up-next-song.on,button.up-next-song.on{background:var(--surface-2)}.up-next-song.on strong{color:var(--accent)}.up-next-pic{width:64px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}.up-next-pic img{width:100%;height:100%;object-fit:cover;display:block}.up-next-names{display:flex;flex-direction:column;gap:2px;min-width:0}.up-next-names>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-words{list-style:none;margin:0;padding:20px 4px 40vh;overflow-y:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 80%,transparent)}.player-words::-webkit-scrollbar{display:none}.player-words li{margin:0 0 16px;font:700 24px/1.25 -apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI Variable Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:-.01em;color:rgba(237,230,216,.2);cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;transform-origin:left center;transition:color .3s,transform .3s}.player-words li.now{color:var(--text);transform:scale(1.1)}.player-words li:hover:not(.now){color:rgba(237,230,216,.5)}.player-words-none{margin:8px 4px}.bar-room{height:76px}.now-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:18px;gap:18px;padding:0 20px;background:rgba(21,19,15,.94);border-top:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:rise .2s ease-out both}.now-bar-seek{position:absolute;left:0;right:0;top:-2px;height:3px;border-radius:0}.now-bar{cursor:pointer}.now-bar-seek{cursor:default}.now-bar-song{display:flex;align-items:center;gap:12px;min-width:0;color:inherit}.now-bar-song,.now-bar-song:hover{text-decoration:none}.now-bar-pic,.now-bar-song img{width:76px;aspect-ratio:16/9;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}.now-bar-names{display:flex;flex-direction:column;gap:2px;min-width:0}.now-bar-names>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-bar.loading .now-bar-play{position:relative}.now-bar.loading .now-bar-play:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;border-top:2px solid var(--accent);animation:spin .9s linear infinite}.now-bar.loading .now-bar-seek{background:linear-gradient(90deg,var(--surface-2) 0,var(--accent) 50%,var(--surface-2) 100%) 0 0 /40% 100% no-repeat,var(--surface-2);animation:run-along 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes run-along{0%{background-position:-40% 0,0 0}to{background-position:140% 0,0 0}}.error-text{color:var(--danger);font-size:12px}.nav-songs,a.nav-songs{font-size:14px;padding:8px 16px;min-height:0}.nav-songs:hover{text-decoration:none}.now-bar-controls{display:flex;align-items:center;gap:6px}.now-bar-time{justify-self:end}body.with-bar .site-footer{display:none}.now-bar-controls .now-bar-play,button.now-bar-play{width:44px;height:44px;background:var(--text);color:var(--bg)}.now-bar-controls .now-bar-play:hover:not(:disabled){background:#fff}@media (max-width:860px){.player-screen{padding-top:12px;gap:16px}.player-body{grid-template-columns:minmax(0,1fr);height:auto}.player-picture{height:auto;aspect-ratio:16/9}.player-side{height:60vh}.player-names h1{font-size:24px}.player-words li{font-size:21px}}@media (max-width:560px){.now-bar{gap:10px;padding:0 12px;grid-template-columns:minmax(0,1fr) auto}.now-bar-time{display:none}.now-bar-pic,.now-bar-song img{width:56px}.now-bar-controls .round.ghost:first-child{display:none}}.funnel-table{border-collapse:collapse;width:100%}.funnel-table td,.funnel-table th{padding:4px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border,rgba(255,255,255,.08))}.funnel-table td:first-child,.funnel-table th:first-child{text-align:left;white-space:normal}@media (max-width:560px){.header-right>.nav-add{display:none}}.song-stats{display:inline-flex;flex-wrap:wrap;gap:0 6px;font-family:var(--mono);font-size:12px}.song-stats>span+span:before{content:"·";margin-right:6px}.catalog-sort{display:flex;justify-content:flex-end;margin:12px 0 4px}.sort-picker{display:inline-flex;gap:8px;flex-wrap:wrap}.sort-picker select{width:auto;padding:6px 10px;font-size:13px}.songs-head .sort-picker{margin-left:auto}.song-names .song-stats{white-space:nowrap;overflow:hidden}.player-names .song-stats{margin-top:6px}.comments{padding:4px 2px}.comment-form{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.comment-form textarea{width:100%;resize:vertical}.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.comment-list p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.song-names{flex-wrap:wrap;row-gap:2px}.song-names .song-stats{flex-basis:100%}.contact-fab,button.contact-fab{position:fixed;right:16px;bottom:16px;z-index:35;display:inline-flex;align-items:center;gap:8px;min-height:0;height:46px;padding:0 16px;border-radius:999px;font-size:14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:0 6px 20px rgba(0,0,0,.35)}.contact-fab svg{width:20px;height:20px;fill:currentColor}.contact-fab.on,button.contact-fab.on{background:var(--text);color:var(--bg)}body.with-bar .contact-fab{bottom:88px}.contact-panel{position:fixed;right:16px;bottom:72px;z-index:36;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:0 18px 50px rgba(0,0,0,.5)}.site-footer{padding-right:160px}.contact-room{display:none}body.with-bar .contact-room{display:block;height:56px}body.with-bar .contact-panel{bottom:144px;max-height:calc(100vh - 170px)}.contact-panel textarea{width:100%;resize:vertical}.contact-kinds,.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.contact-kinds button.on,.filter-chips button.on{background:var(--text);color:var(--bg);border-color:var(--text)}body.in-editor .contact-fab,body.in-editor button.contact-fab{width:44px;height:44px;padding:0;justify-content:center;bottom:76px;right:24px}body.in-editor .contact-fab-label{display:none}body.in-editor .contact-panel{bottom:130px}@media (max-width:560px){.contact-fab,button.contact-fab{width:46px;padding:0;justify-content:center}.contact-fab-label{display:none}.site-footer{padding-right:64px}}.activity-row,.request-row{padding:10px 0}.request-message{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.request-link{display:inline-block;margin-top:4px;overflow-wrap:anywhere}.activity-row{display:grid;grid-template-columns:170px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:baseline}@media (max-width:560px){.activity-row{grid-template-columns:1fr;gap:2px}}.phone-only,.phone-panels,.player-phone-controls,.sheet-grip,.tab-bar,a.phone-only{display:none}.clips-page{max-width:760px}.clips-page>.card{border:0;background:none;padding:0;box-shadow:none}.clips-head{margin-bottom:8px}.clips-head h1{margin:0}.clip-sheet{max-width:520px;max-height:80vh}.clip-sheet>.card{border:0;background:none;padding:0;overflow-y:auto;min-height:0;animation:none}.clip-sheet>.card>h2{display:none}@media (max-width:640px){:root{--tabs-h:calc(58px + env(safe-area-inset-bottom))}.header{padding:8px 14px}.brand .brand-full{display:none}.brand .brand-mark{display:block}.header-right>.header-text,body.with-tabs .header-right>.nav-add,body.with-tabs .header-right>.nav-songs,body.with-tabs .header-right>[data-testid=nav-clips],body.with-tabs .header-right>[data-testid=nav-posts]{display:none}.phone-only,a.phone-only{display:inline-flex}.songs-head a.phone-only{margin-left:auto}.songs-head a.phone-only+.sort-picker{margin-left:0}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:52;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:var(--tabs-h);padding-bottom:env(safe-area-inset-bottom);background:rgba(11,11,11,.94);border-top:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tab-bar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent}.tab-bar-item:hover{text-decoration:none;color:var(--text)}.tab-bar-item svg{width:24px;height:24px;fill:currentColor}.tab-bar-item.on{color:var(--text)}.tab-bar-item.on svg{color:var(--accent)}body.with-tabs{padding-bottom:var(--tabs-h)}body.with-tabs .site-footer{display:none}.now-bar{left:8px;right:8px;bottom:8px;height:52px;padding:0 6px;gap:10px;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--border-strong);border-radius:12px;background:rgba(31,28,23,.97);overflow:hidden}body.with-tabs .now-bar{bottom:calc(var(--tabs-h) + 6px)}.now-bar-seek{top:auto;bottom:0;height:2px;pointer-events:none}.now-bar-seek::-webkit-slider-thumb{width:0;height:0}.now-bar-seek::-moz-range-thumb{width:0;height:0}.now-bar-pic,.now-bar-song img{width:40px;aspect-ratio:1;border-radius:6px}.now-bar-names strong{font-size:14px}.now-bar-names .muted{font-size:12px}.now-bar-controls .round.ghost{display:none}.now-bar-controls .now-bar-play,button.now-bar-play{width:40px;height:40px;background:transparent;color:var(--text)}.now-bar-controls .now-bar-play svg{width:20px;height:20px}.bar-room{height:64px}body.on-player .bar-room,body.on-player .now-bar{display:none}body.with-tabs .contact-fab,body.with-tabs button.contact-fab{bottom:calc(var(--tabs-h) + 12px);width:44px;height:44px}body.with-tabs.with-bar .contact-fab,body.with-tabs.with-bar button.contact-fab{bottom:calc(var(--tabs-h) + 80px)}body.with-tabs .contact-panel{bottom:calc(var(--tabs-h) + 66px);max-height:calc(100vh - var(--tabs-h) - 80px)}body.on-player .contact-fab,body.on-player button.contact-fab{display:none}.container{padding:14px 16px 32px}.catalog{gap:14px}.catalog-head{gap:12px}.catalog-head h1{font-size:26px;margin:0}.catalog-head p{display:none}.catalog-sort{justify-content:flex-start;margin:0}.catalog-grid{gap:18px 12px}.catalog-grid .catalog-play,.catalog-grid .song-stats{display:none}.catalog-card{gap:8px}.catalog-thumb{border-radius:10px}.catalog-title{font-size:14px;letter-spacing:.03em}.catalog-names .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-hint{display:none}.sign-in-prompt{padding:8px 8px 8px 12px;gap:8px}.sign-in-prompt-text{flex-basis:100%;font-size:13px}.sign-in-prompt .spacer{display:none}.songs-head .sort-picker select{font-size:12px;padding:5px 8px}.song-item{grid-template-columns:48px minmax(0,1fr) 36px 28px;gap:12px}.song-pic{width:48px;aspect-ratio:1}.song-names .song-stats{display:none}.song-title{font-size:14px}.songs,.songs-head+.error{margin-top:2px}body.on-player .header{display:none}.player-screen{padding-top:10px;gap:12px}.player-top{align-items:center;gap:8px}.player-names{text-align:center}.player-names h1{font-size:19px}.player-names p{font-size:14px;margin-top:2px}.player-names .song-stats{display:none}.player-top .primary{padding:7px 12px;font-size:13px}.player-body{display:flex;flex-direction:column;gap:14px;height:auto}.player-picture{width:100%;height:auto;aspect-ratio:16/9;border-radius:12px}.player-phone-controls{display:flex;flex-direction:column;gap:6px}.player-phone-controls .now-bar-seek{position:static;height:4px;box-sizing:content-box;border:0;border-block:12px solid transparent;background-clip:padding-box;border-radius:0;margin:-12px 0}.player-phone-controls.loading .now-bar-seek{background:linear-gradient(90deg,var(--surface-2) 0,var(--accent) 50%,var(--surface-2) 100%) 0 0 /40% 100% no-repeat,var(--surface-2);animation:run-along 1.2s ease-in-out infinite}.player-phone-times{display:flex;justify-content:space-between}.player-phone-buttons{display:flex;align-items:center;justify-content:center;gap:32px}.player-phone-buttons .round{width:44px;height:44px;border:0;background:transparent;color:var(--text)}.player-phone-buttons .round svg{width:20px;height:20px;fill:currentColor}.player-phone-buttons .player-phone-play,.player-phone-buttons button.player-phone-play{width:52px;height:52px;background:var(--text);color:var(--bg)}.player-phone-buttons .player-phone-play svg{width:20px;height:20px}.player-side{height:auto}.player-side .side-tabs{align-self:stretch}.player-side>:last-child{max-height:62vh}.player-handle,button.player-handle{display:block;position:relative;width:100%;height:22px;min-height:0;margin:-4px 0 -8px;padding:0;border:0;background:transparent;touch-action:none}.player-handle:before{content:"";position:absolute;left:50%;top:8px;width:40px;height:4px;border-radius:2px;background:var(--border-strong);transform:translateX(-50%)}.player-side .side-tabs{touch-action:pan-x}.player-handle,.player-side .side-tabs,.sheet-grip,.workspace-side.phone-open>.side-tabs{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.player-handle:active,.player-handle:focus,.player-handle:hover:not(:disabled),.sheet-grip .sheet-close:hover:not(:disabled),button.player-handle:hover:not(:disabled){background:transparent}.player-handle:focus-visible{outline:none}.player-handle:focus-visible:before{background:var(--text)}.player-side.dragging,.workspace-side.dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}.player-side{transition:transform .2s ease-out}.player-side.dragging{transition:none}.player-side.raised{position:fixed;left:0;right:0;top:64px;bottom:0;z-index:40;height:auto;padding:0 16px 16px;background:var(--bg);border-top:1px solid var(--border-strong);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.5);animation:rise .2s ease-out backwards}.player-side.raised>:last-child{max-height:none}body.player-raised{overflow:hidden}.player-words li{font-size:20px}.song-top{margin-bottom:-6px}.song-bar h1{font-size:20px}.song-bar .song-stats{display:none}.toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px}.toolbar::-webkit-scrollbar{display:none}.toolbar>*{flex-shrink:0}.toolbar .button,.toolbar button{padding:8px 12px;font-size:13px}.toolbar .menu{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));min-width:0;max-height:70vh;overflow-y:auto;z-index:70}.stage{padding:10px 6px}.workspace{gap:12px}.phone-panels{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:0 -6px}.phone-panels::-webkit-scrollbar{display:none}.phone-panels button{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:0;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px}.phone-panels button svg{width:20px;height:20px;fill:currentColor}.phone-panels button.on{color:var(--text);background:var(--surface-2)}.workspace-side{display:none}.workspace-side.phone-open{display:flex;flex-direction:column;position:fixed;left:0;right:0;top:36vh;bottom:0;z-index:45;padding:0 12px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border-strong);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.5);transition:transform .2s ease-out,top .2s ease-out;animation:rise .2s ease-out backwards}.workspace-side.phone-open.raised{top:10px}.workspace-side.dragging{transition:none}.workspace-side.phone-open .side-stack{flex:1 1;min-height:0}.workspace-side.phone-open .chat-log{flex:1 1;min-height:0;max-height:none}.sheet-grip{display:flex;align-items:center;position:relative;touch-action:none}.sheet-grip .player-handle{flex:1 1;margin:0}.sheet-grip .sheet-close,.sheet-grip button.sheet-close{position:absolute;right:-4px;top:0;width:32px;height:32px}body.panel-sheet{overflow:hidden}.sing .take-bar{flex-wrap:wrap;gap:8px}.sing .delay-slider{width:72px}}