@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Sora Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--bg:#0a0d13;--panel:#121722;--panel-2:#192030;--input-bg:#0d111a;--border:#ffffff14;--border-strong:#ffffff29;--text:#eef1f6;--muted:#8f98a9;--accent:#6b8dff;--ok:#3ecf8e;--warn:#ffb347;--danger:#ff6b6b;--primary:#3ecf8e;--primary-hover:#5bdca1;--on-primary:#04150d;--tint-ok:#3ecf8e1f;--tint-accent:#6b8dff24;--tint-danger:#ff6b6b1f;--ring:#6b8dff59;--glow-1:#3ecf8e17;--glow-2:#4f7cff1f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 10px 30px #00000059;--shadow-lg:0 24px 70px #00000080;--header-bg:#0a0d13b8;--overlay:#04060ac7;--radius-sm:8px;--radius:12px;--radius-lg:18px;--brand-ink:#e8ebf0;--brand-green:#3ecf8e;--brand-blue:#4f7cff;--cv-bg:#121722;--cv-row-white:#161c28;--cv-row-black:#121722;--cv-octave:#ffffff14;--cv-grid-sub:#ffffff09;--cv-grid-beat:#ffffff14;--cv-grid-bar:#ffffff38;--cv-note:#4f7cff;--cv-note-selected:#8fb0ff;--cv-note-unsung:#5b6474;--cv-note-mid:#f2c14e;--cv-note-miss:#ef6b6b;--cv-note-outline:#fff;--cv-note-label:#0d1017;--cv-hit:#3ecf8e;--cv-miss:#ffb347;--cv-ruler-bg:#0f131c;--cv-ruler-line:#ffffff1f;--cv-tick-major:#ffffff73;--cv-tick-minor:#ffffff2e;--cv-ruler-text:#8f98a9;--cv-marquee-fill:#4f7cff2e;--cv-marquee-stroke:#4f7cff;--cv-playhead:#ffffffd9;--cv-keys-bg:#0a0d13;--cv-key-white:#e8ebf0;--cv-key-black:#2a2f3a;--cv-key-text-white:#0d1017;--cv-key-text-black:#c5cad3;--cv-wave-bg:#0e121a;--cv-wave-center:#ffffff1a;--cv-wave:#3ecf8e;--cv-wave-muted:#ffffff2e;--cv-wave-off:#5b6474;--cv-wave-label-bg:#0a0d13;--cv-wave-label:#8f98a9;--cv-lyric-bg:#0e131c;--cv-lyric:#e8ebf0;--cv-lyric-sung:#3ecf8e;--cv-lyric-next:#7d8699;--cv-eye-on:#c5cad3;--cv-eye-off:#6b7280;--cv-overview-bg:#171d29;--cv-overview-note:#4f7cff}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fb;--panel:#fff;--panel-2:#eef1f7;--input-bg:#fff;--border:#0d101717;--border-strong:#0d10172e;--text:#0d1017;--muted:#5b6475;--accent:#3563e9;--ok:#0a7d50;--warn:#9a5c00;--danger:#d93f3f;--primary:#0a7d50;--primary-hover:#086a44;--on-primary:#fff;--tint-ok:#12a36a1a;--tint-accent:#3563e91a;--tint-danger:#d93f3f17;--ring:#3563e947;--glow-1:#12a36a12;--glow-2:#3563e914;--shadow-sm:0 1px 2px #0d10170f;--shadow-md:0 10px 30px #0d101714;--shadow-lg:0 24px 70px #0d101729;--header-bg:#f4f6fbc7;--overlay:#f4f6fbd1;--brand-ink:#0d1017;--brand-green:#12a36a;--brand-blue:#3563e9;--cv-bg:#fff;--cv-row-white:#fff;--cv-row-black:#f3f5fa;--cv-octave:#0d10171a;--cv-grid-sub:#0d10170a;--cv-grid-beat:#0d101717;--cv-grid-bar:#0d101738;--cv-note:#3563e9;--cv-note-selected:#1f3fa8;--cv-note-unsung:#6b7385;--cv-note-mid:#9a5c00;--cv-note-miss:#c53030;--cv-note-outline:#0d1017;--cv-note-label:#fff;--cv-hit:#0a7d50;--cv-miss:#e08a00;--cv-ruler-bg:#f7f8fc;--cv-ruler-line:#0d10171f;--cv-tick-major:#0d101780;--cv-tick-minor:#0d101733;--cv-ruler-text:#5b6475;--cv-marquee-fill:#3563e91f;--cv-marquee-stroke:#3563e9;--cv-playhead:#0d1017cc;--cv-keys-bg:#e9ecf3;--cv-key-white:#fff;--cv-key-black:#2a2f3a;--cv-key-text-white:#0d1017;--cv-key-text-black:#e8ebf0;--cv-wave-bg:#f3f5fa;--cv-wave-center:#0d10171a;--cv-wave:#12a36a;--cv-wave-muted:#0d101729;--cv-wave-off:#b3bac7;--cv-wave-label-bg:#e9ecf3;--cv-wave-label:#5b6475;--cv-lyric-bg:#f7f8fc;--cv-lyric:#0d1017;--cv-lyric-sung:#0a7d50;--cv-lyric-next:#6b7385;--cv-eye-on:#3b4252;--cv-eye-off:#9aa2b1;--cv-overview-bg:#eef1f7;--cv-overview-note:#3563e9}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior-x:none}body{font-family:var(--font-ui);color:var(--text);background:radial-gradient(1100px 520px at 8% -12%, var(--glow-1), transparent 60%), radial-gradient(900px 480px at 100% -8%, var(--glow-2), transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";background-attachment:fixed;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a.btn:hover,a.playlist-card:hover,a.chip:hover,.song-row-hit:hover{text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}h1{margin:0;font-size:26px;font-weight:700}h2{margin:28px 0 12px;font-size:18px;font-weight:650}h3{font-size:15px;font-weight:650}code{background:var(--panel-2);border-radius:6px;padding:1px 6px;font-size:.92em}::selection{background:var(--tint-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme-switching] *,[data-theme-switching] :before{transition:none!important}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;transition:border-color .15s,box-shadow .15s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):hover{border-color:var(--border-strong)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input[type=checkbox],input[type=radio],input[type=range],progress,meter{accent-color:var(--primary)}input[type=file]{font:inherit;color:var(--muted);font-size:13px}input[type=file]::file-selector-button{color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font:inherit;margin-right:10px;padding:6px 12px;font-weight:550}input[type=file]::file-selector-button:hover{border-color:var(--border-strong)}.page{max-width:1080px;margin:0 auto;padding:32px 24px 64px}.page.narrow{max-width:440px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header>span{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.page-title p{color:var(--muted);margin:6px 0 0}.muted{color:var(--muted)}.small{font-size:12.5px}.error{color:var(--danger)}.ok{color:var(--ok)}.warn{color:var(--warn)}.btn{cursor:pointer;min-height:38px;font:inherit;white-space:nowrap;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:550;line-height:1;transition:background .15s,border-color .15s,color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn.primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 18px -8px var(--primary);border-color:#0000}.btn.primary:hover{background:var(--primary-hover)}.btn.small{border-radius:9px;min-height:32px;padding:0 12px;font-size:13px}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2)}.btn.icon{width:36px;padding:0}.btn.small.icon{width:32px}.btn.active{border-color:color-mix(in srgb, var(--ok) 55%, transparent);color:var(--ok);background:var(--tint-ok)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--tint-danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-underline-offset:3px;text-decoration:underline}.app-header{z-index:30;background:var(--header-bg);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header-inner{align-items:center;gap:14px;max-width:1080px;margin:0 auto;padding:10px 24px;display:flex}.app-header .brand-link{border-radius:8px;align-items:center;padding:4px 2px;display:inline-flex}.app-nav{align-items:center;gap:2px;margin-left:10px;display:flex}.app-nav a{color:var(--muted);border-radius:9px;padding:7px 12px;font-size:14px;font-weight:550}.app-nav a:hover{color:var(--text);background:var(--panel-2);text-decoration:none}.app-nav a.active{color:var(--text);background:var(--panel-2)}.app-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.user-menu{position:relative}.user-menu-button{background:var(--panel-2);border:1px solid var(--border);min-height:38px;color:var(--text);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 4px;font-weight:550;display:inline-flex}.user-menu-button:hover{border-color:var(--border-strong)}.avatar{width:30px;height:30px;font-family:var(--font-display);color:#fff;background:linear-gradient(135deg, var(--brand-blue), var(--brand-green));border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.avatar.large{width:64px;height:64px;font-size:24px}.user-menu-list{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(280px,100vw - 28px);max-height:calc(100dvh - 100px);box-shadow:var(--shadow-lg);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.user-menu-list li>a,.user-menu-list li>button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.user-menu-list li>a:hover,.user-menu-list li>button:hover{background:var(--panel-2);text-decoration:none}.app-tooltip{z-index:1200;pointer-events:none;border:1px solid var(--border-strong);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);overflow-wrap:anywhere;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:550;line-height:1.4;position:fixed}.user-menu-head{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 10px 10px}.user-menu-head strong{display:block}.user-menu-appearance{border-block:1px solid var(--border);margin:6px 0;padding:6px 0}.user-menu-section-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:11px;font-weight:650}.user-menu-theme{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 6px;font-size:13px;display:flex}.theme-switch{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-switch button{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.theme-switch button:hover{color:var(--text)}.theme-switch button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.icon{flex:none}.song-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.song-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:14px;padding:12px 16px 12px 12px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.song-row-hit{z-index:0;border-radius:inherit;position:absolute;inset:0}.song-row-summary{z-index:1;pointer-events:none;flex:1;align-items:center;gap:14px;min-width:0;display:flex;position:relative}.song-row-text{min-width:0}.song-row-text strong{font-weight:650}.song-row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:3px;font-size:12.5px;display:flex}.song-row-actions{z-index:1;pointer-events:none;align-items:center;gap:6px;display:flex;position:relative}.song-row-actions a,.song-row-actions button,.song-row-actions select{pointer-events:auto}.song-row-actions select{max-width:180px}:is(.song-row:has(.song-row-hit:hover),.song-row:has(.song-row-hit:focus-visible)){border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.song-row-author{pointer-events:auto;position:relative}.song-row-description{text-overflow:ellipsis;white-space:nowrap;max-width:60ch;margin-top:3px;overflow:hidden}.song-thumb{background:var(--thumb-bg,var(--tint-accent));width:44px;height:44px;color:var(--thumb-fg,var(--accent));border-radius:11px;flex:none;place-items:center;display:grid}.song-thumb svg{width:24px;height:24px}.song-thumb.t0{--thumb-bg:var(--tint-accent);--thumb-fg:var(--accent)}.song-thumb.t1{--thumb-bg:var(--tint-ok);--thumb-fg:var(--ok)}.song-thumb.t2{--thumb-bg:#a78bfa26;--thumb-fg:#a78bfa}:root[data-theme=light] .song-thumb.t2{--thumb-bg:#7c3aed1a;--thumb-fg:#7c3aed}.song-row-play{pointer-events:none;background:var(--primary);width:34px;height:34px;color:var(--on-primary);opacity:0;border-radius:50%;flex:none;place-items:center;transition:opacity .15s,transform .15s;display:grid;transform:scale(.9)}:is(.song-row:has(.song-row-hit:hover) .song-row-play,.song-row:has(.song-row-hit:focus-visible) .song-row-play){opacity:1;transform:scale(1)}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 12px;display:flex}.section-header h2{margin:0}.count{color:var(--muted);font-weight:500}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center;padding:22px}.notice{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:8px 10px 8px 14px;display:flex}.notice>span{flex:1;min-width:200px}.profile-user{flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 12px;display:flex}.profile-hero{align-items:center;gap:16px;margin-bottom:8px;display:flex}.profile-hero h1{margin-bottom:4px}.badge{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.green{background:var(--tint-ok);color:var(--ok);border-color:#0000}.badge.blue{background:var(--tint-accent);color:var(--accent);border-color:#0000}.search-input{background-image:var(--search-icon);background-position:11px;background-repeat:no-repeat;background-size:15px;width:min(340px,100%);padding-left:34px}:root{--search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f98a9' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")}.inline-form{gap:6px;display:flex}.inline-form input{width:min(220px,50vw)}.playlist-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.playlist-card{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);height:100%;box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.playlist-card-text{overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.playlist-cover{aspect-ratio:16/9;border-radius:var(--radius-sm);color:#fff;background:linear-gradient(135deg, var(--brand-blue), var(--brand-green));place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.playlist-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.playlist-card>.playlist-cover{border-radius:0}.playlist-cover-count{background:#000b;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex;position:absolute;bottom:8px;right:8px}.playlist-content{margin-top:20px}.playlist-content .song-row-text{overflow-wrap:anywhere}.playlist-position{flex:none}.playlist-detail-header{align-items:flex-start;gap:24px;margin:20px 0 24px;display:flex}.playlist-detail-header>.playlist-cover{flex:0 0 280px}.playlist-detail-info{overflow-wrap:anywhere;flex:1;align-self:stretch;min-width:0;container-type:inline-size}.playlist-detail-info h2{margin:6px 0 12px;font-size:clamp(24px,3vw,36px)}.playlist-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.playlist-actions>.btn{white-space:nowrap;flex:none}@container (width<=600px){.playlist-actions .track-actions-inline{display:none}.playlist-actions .track-actions .track-actions-more{display:inline-flex}}.playlist-dialog{width:min(560px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:20px;overflow-y:auto}.playlist-dialog::backdrop{background:#0009}.playlist-dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.playlist-dialog-header h2{margin:0}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.playlist-form{max-width:none}.playlist-form input:not([type=checkbox]),.playlist-form textarea{width:100%}.cover-picker{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:12px}.cover-picker>.playlist-cover{max-width:240px}.cover-picker-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.playlist-track-picker{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.playlist-track-picker summary{cursor:pointer}.track-selection{margin-top:12px}.track-selection-list{overscroll-behavior:contain;max-height:280px;overflow-y:auto}.track-selection-row{cursor:pointer;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:8px;display:flex}.track-selection-row:hover{background:var(--panel-2)}.track-selection-row input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.track-selection-row span{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}@media (width<=700px){.playlist-detail-header{flex-direction:column;gap:16px}.playlist-detail-header>.playlist-cover{flex:none;max-width:420px}.playlist-dialog{padding:16px}.playlist-content .song-row{flex-flow:row;align-items:center}.playlist-content .song-row-summary{flex-basis:0}.playlist-content .song-row-actions{margin-left:auto}}.playlist-card strong{font-family:var(--font-display);font-weight:650}.playlist-card:hover,.playlist-card:focus-visible{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.playlist-position{font-variant-numeric:tabular-nums;min-width:1.8em;display:inline-block}.playlist-drag-handle{z-index:1;border-radius:var(--radius-sm);width:36px;min-height:44px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid;position:relative}.playlist-drag-handle:hover,.playlist-drag-handle:focus-visible{color:var(--text);background:var(--panel-2)}.playlist-drag-handle[aria-pressed=true]{cursor:grabbing;color:var(--accent)}.playlist-drag-handle:disabled{opacity:.45;cursor:default}.playlist-sortable[data-reordering]{-webkit-user-select:none;user-select:none}.playlist-sortable{overflow-anchor:none;position:relative}.playlist-sortable[data-reordering] .song-row{transform:none}.playlist-sortable .song-row.is-dragging{border-color:var(--accent);box-shadow:0 0 0 2px var(--tint-accent);background:var(--panel-2)}.playlist-sortable .song-row.is-placeholder{background:var(--tint-accent);box-shadow:inset 3px 0 var(--accent);border-style:dashed}.playlist-sortable .song-row.is-placeholder>*{visibility:hidden}.playlist-sortable .song-row.is-placeholder:after{content:"Drop here";color:var(--accent);pointer-events:none;place-items:center;font-size:13px;font-weight:550;display:grid;position:absolute;inset:0}.playlist-drag-overlay{z-index:110;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.playlist-drag-overlay>.song-row{min-height:inherit;border-color:var(--accent);height:100%;box-shadow:var(--shadow-lg), 0 0 0 1px var(--tint-accent);flex-flow:row;justify-content:flex-start;transition:transform .16s;transform:scale(1.015)}.playlist-drag-overlay .song-row-text{overflow-wrap:anywhere;flex:1;min-width:0}.playlist-drag-overlay.is-settling>.song-row{transform:scale(1)}.playlist-drag-overlay .playlist-drag-handle{color:var(--accent)}.playlist-sortable .song-row.was-dropped{animation:.45s ease-out playlist-drop}@keyframes playlist-drop{0%{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint-accent)}to{border-color:var(--border);box-shadow:var(--shadow-sm)}}@media (prefers-reduced-motion:reduce){.playlist-drag-overlay>.song-row{transition:none;transform:none}.playlist-sortable .song-row.was-dropped{animation:none}}@media (width<=700px){.playlist-sortable .song-row{gap:8px;padding-inline:8px}.playlist-sortable .song-row-summary{gap:6px}}.playlist-nav{align-items:center;gap:6px;display:flex}.playlist-picker{min-width:0;max-width:260px}.playlist-picker-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.playlist-picker-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.playlist-picker>svg{flex:none}.track-action-menu.playlist-track-menu{overscroll-behavior:contain;width:360px}.playlist-track-menu-heading{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;gap:4px;margin-bottom:4px;padding:8px 12px 12px;font-weight:650;display:flex}.playlist-track-menu-heading>span{color:var(--muted);font-size:12px;font-weight:400}.track-action-item.playlist-track-item{min-height:52px}.playlist-track-item[aria-current=page]{color:var(--accent);background:var(--tint-accent)}.playlist-track-number{min-width:1.8em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.playlist-track-text{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.playlist-track-text>strong{font-weight:550}.playlist-track-text>small{color:var(--muted)}.playlist-track-item>svg{flex:none}.follow-chips{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.chip{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:13px;font-weight:550;display:inline-flex}.chip .avatar{width:24px;height:24px;font-size:11px}.chip:hover,.chip:focus-visible{border-color:var(--border-strong)}.subsection-title{font-family:var(--font-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 10px;font-size:12px;font-weight:650}.playlist-description-text{white-space:pre-wrap;color:var(--muted);margin:0 0 12px}.login-page{place-items:center;min-height:100%;padding:72px 20px 40px;display:grid;position:relative}.login-corner{position:absolute;top:16px;right:16px}.login-page{grid-template-rows:1fr auto}.login-panel{align-self:center}.login-back{justify-self:center;margin-top:18px}.login-panel{position:relative;overflow:hidden}.login-panel-keys{position:absolute;top:0;left:0;right:0}.staff.login-staff{opacity:.6;pointer-events:none;height:170px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);-webkit-mask-image:radial-gradient(60% 70%,#0000 30%,#000 75%);mask-image:radial-gradient(60% 70%,#0000 30%,#000 75%)}.login-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-lg);padding:40px 30px 30px}.login-heading{text-align:center;margin-bottom:8px}.login-heading h1{justify-content:center;display:flex}.login-heading p{margin:10px 0 0}.login-code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.login-error,.login-defaults{margin:0}.login-defaults{text-align:center}.login-divider{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--border);flex:1}.telegram-button{color:#fff;background:#1a79b8;border-color:#0000;width:100%}.telegram-button:hover{background:#166aa2}.telegram-steps{border-radius:var(--radius-sm);background:var(--panel-2);padding:14px}.telegram-steps ol{margin:0 0 12px;padding-left:20px;line-height:1.7}.telegram-steps p{margin:8px 0 0}.brand{display:block}.form{flex-direction:column;gap:16px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:550;display:flex}.form label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-weight:500}.form label.track-selection-row{color:var(--text);flex-direction:row;gap:12px}.form fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.form legend{color:var(--text);font-family:var(--font-display);padding:0 6px;font-weight:650}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.wizard-steps{flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.wizard-steps li{border:1px solid var(--border);color:var(--muted);background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:13px;font-weight:600;display:inline-flex}.wizard-step-n{background:var(--panel-2);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;display:grid}.wizard-steps li.current{color:var(--text);border-color:color-mix(in srgb, var(--primary) 55%, transparent)}.wizard-steps li.current .wizard-step-n{background:var(--primary);color:var(--on-primary)}.wizard-steps li.done .wizard-step-n{background:var(--tint-ok);color:var(--ok)}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.choice-card{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:8px;padding:22px;font-size:14px;line-height:1.5;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.choice-card strong{color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:650;line-height:1.3}.choice-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.choice-card.selected{border-color:var(--primary)}.choice-card:disabled{cursor:not-allowed;opacity:.6}.choice-card.busy{cursor:progress;opacity:.7}.wizard-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.resume-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;margin-bottom:16px;padding:16px 18px;display:flex}.resume-list h2{margin:0 0 2px;font-size:15px}.resume-item{align-items:center;gap:8px;display:flex}.resume-item>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.resume-item progress{max-width:320px;height:6px}.resume-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-progress{align-items:center;gap:12px;display:flex}.tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notes-overview{border-radius:var(--radius-sm);width:100%;height:90px;display:block}progress{width:100%;height:8px}.player{--player-control-gap:10px;flex-direction:column;gap:10px;height:100%;padding:10px 14px 12px;display:flex;position:relative}.player-stage{flex:1;gap:12px;min-height:0;display:flex;position:relative}.player-stage>.editor-canvas-wrap{flex:auto;min-width:0;min-height:0}.accuracy-hud{z-index:4;border:1px solid color-mix(in srgb, var(--ok) 35%, var(--border));background:var(--panel);box-shadow:var(--shadow-sm);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;top:12px;right:12px}.editor-canvas-wrap .accuracy-hud{top:32px}.accuracy-hud[data-surface=visualization]{left:12px;right:auto}.accuracy-hud-label{color:var(--muted);font-size:12px;font-weight:600}.accuracy-hud .score-value{text-align:right;letter-spacing:-.03em;min-width:4ch;font-size:30px;line-height:1}.accuracy-hud-unit{margin-left:1px;font-size:.65em}@media (width<=1024px),(pointer:coarse){.accuracy-hud{gap:6px;padding:5px 8px;top:8px;right:8px}.accuracy-hud[data-surface=visualization]{left:8px}.accuracy-hud-label{font-size:10px}.accuracy-hud .score-value{font-size:26px}}.lyrics-panel{contain:layout paint;isolation:isolate;background:var(--cv-lyric-bg);border:1px solid var(--border);border-radius:var(--radius);flex:0 0 clamp(260px,34%,520px);position:relative;overflow:hidden}.lyrics-viewport{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 16% 84%,#0000);mask-image:linear-gradient(#0000,#000 16% 84%,#0000)}.lyrics-scroll{scrollbar-width:none;outline:none;position:absolute;inset:0;overflow-y:auto}.lyrics-scroll::-webkit-scrollbar{display:none}.lyr-line{text-align:center;cursor:pointer;font-family:var(--font-display);letter-spacing:-.01em;color:var(--cv-lyric-next);opacity:.6;transform-origin:50%;padding:9px 26px;font-size:clamp(17px,1.55vw,26px);font-weight:650;line-height:1.3;transition:opacity .35s;position:relative}.lyr-line.past{opacity:.32}.lyr-line:hover{opacity:.9}.lyr-line.active{color:var(--cv-lyric);opacity:1}.lyr-word{white-space:nowrap}.lyr-syl{display:inline-block;position:relative}.lyr-fill{pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--cv-lyric-sung);position:absolute;inset:0;overflow:hidden;transform:translate(-100%)}.lyr-fill-text{display:block;transform:translate(100%)}.lyr-line.active .lyr-fill,.lyr-line.active .lyr-fill-text{will-change:transform}.lyr-dots{letter-spacing:8px;color:var(--cv-lyric-sung);text-align:center;font-size:9px;position:absolute;top:-8px;left:0;right:0}.lyrics-back{box-shadow:var(--shadow-md);position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.lyr-line{transition:none}}.player .player-header .song-title{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.player .lyrics-panel{flex-basis:min(52%,760px)}.player .lyr-line{padding:12px 32px;font-size:clamp(22px,2.8vw,44px)}.player .player-header .btn.small{min-height:44px;padding-inline:16px;font-size:14px}.player .player-header{gap:var(--player-control-gap)}.player .player-header .back{color:var(--text)}.player .player-header .theme-switch button{width:44px;height:38px}.player .player-header .btn.small,.player .player-header .back,.player .player-header .theme-switch,.player .player-header .theme-switch button,.player .car-seek-start{border-radius:16px}.player.notes-hidden .player-stage>.editor-canvas-wrap{display:none}.player.notes-hidden .lyrics-panel{flex:auto}.player.notes-hidden .lyr-line{font-size:clamp(26px,3.4vw,52px)}.car-score{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;overflow:hidden}.car-score>:not(.music-waves,.music-eq,.car-visual-switch){position:relative}.music-waves,.music-eq,.music-eq-layers{width:100%;height:100%;position:absolute;inset:0}.music-eq-layers{display:none;overflow:hidden}.music-eq[data-renderer=layers] .music-eq-layers{display:block}.eq-band{position:absolute;top:0;bottom:0}.eq-bar,.eq-cap{will-change:transform;width:100%;transition:transform 20ms linear;position:absolute;left:0}.music-eq[data-quality=compact] :is(.eq-bar,.eq-cap){transition-duration:65ms}.eq-bar{transform-origin:bottom;opacity:.9;background:linear-gradient(to top, var(--brand-green), var(--brand-blue));border-radius:6px 6px 2px 2px}.eq-cap{opacity:.85;background:var(--text);height:3px}@media (prefers-reduced-motion:reduce){.music-eq :is(.eq-bar,.eq-cap){transition:none}}.car-visual-switch{z-index:1;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;gap:3px;padding:3px;display:flex;position:absolute;top:12px;right:12px}.car-visual-switch button{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:600}.car-visual-switch button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.car-seek{flex:none;grid-template-columns:48px auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:0 4px;display:grid}.car-seek .time{font-variant-numeric:tabular-nums;min-width:44px;color:var(--muted);text-align:center;white-space:nowrap;font-size:15px}.car-seek-start{border:1px solid var(--border);background:var(--panel);width:48px;height:48px;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.car-seek-start:disabled{opacity:.45;cursor:default}.car-seek-bar{cursor:pointer;appearance:none;touch-action:none;background:0 0;width:100%;min-width:0;height:44px;margin:0}.car-seek-bar::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--primary) var(--fill,0%), var(--border) var(--fill,0%));border-radius:999px;height:10px}.car-seek-bar::-moz-range-track{background:var(--border);border-radius:999px;height:10px}.car-seek-bar::-moz-range-progress{background:var(--primary);border-radius:999px;height:10px}.car-seek-bar::-webkit-slider-thumb{-webkit-appearance:none;background:var(--panel);border:3px solid var(--primary);width:28px;height:28px;box-shadow:var(--shadow-sm);border-radius:50%;margin-top:-9px}.car-seek-bar::-moz-range-thumb{background:var(--panel);border:3px solid var(--primary);border-radius:50%;width:22px;height:22px}.car-seek .tempo-rendering{white-space:normal;flex-wrap:wrap;grid-column:1/-1}.car-controls{z-index:5;justify-content:center;align-items:stretch;gap:var(--player-control-gap,10px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;flex:none;padding:10px;display:flex;position:relative}.car-item{display:flex;position:relative}.player-more-controls,.player-controls-panel{display:contents}.car-controls .player-controls-more{display:none}.car-btn{border:1px solid var(--border);background:var(--panel-2);min-width:88px;min-height:70px;color:var(--text);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 14px;font-size:24px;font-weight:650;line-height:1;transition:transform 80ms;display:inline-flex;position:relative}.car-btn-main{min-height:26px;font:inherit;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.car-btn span{color:var(--muted);white-space:nowrap;font-family:inherit;font-size:12px;font-weight:550}.car-btn.play{color:#fff;background:var(--primary);border-color:#0000;min-width:150px;font-size:32px}.car-btn.play span{color:inherit}.car-btn.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.car-btn.open{border-color:var(--accent);background:var(--panel)}.car-btn:active:not(:disabled){transform:scale(.96)}.car-btn:disabled{opacity:.45;cursor:default}.car-btn.rec .car-btn-main{color:var(--miss,#ef6b6b)}.car-btn.rec.on{border-color:var(--miss,#ef6b6b);box-shadow:inset 0 0 0 1px var(--miss,#ef6b6b)}.car-btn.rec.recording .car-btn-main{animation:1.2s ease-in-out infinite rec-pulse}.car-btn.rec.recording span{color:var(--text);font-variant-numeric:tabular-nums}@keyframes rec-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.car-btn.rec.recording .car-btn-main{animation:none}}.car-level{background:var(--border);border-radius:2px;height:3px;position:absolute;bottom:6px;left:12px;right:12px;overflow:hidden}.car-level:after{content:"";transform-origin:0;transform:scaleX(var(--level,0));background:var(--primary);transition:transform 80ms linear;position:absolute;inset:0}@media (width<=1024px),(pointer:coarse){.player{--player-control-gap:6px;padding:10px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.car-controls{flex-wrap:nowrap;flex-shrink:0;justify-content:stretch;padding:8px}.car-controls>.car-btn{flex:1;width:0}.car-controls .car-btn{min-width:0;min-height:60px;padding:6px 4px;font-size:24px}.car-controls .car-btn span{font-size:10px}.car-controls .car-btn.play{min-width:0;font-size:28px}.player-more-controls{flex:0 0 44px;display:block}.car-controls .player-controls-more{width:44px;display:inline-flex}.player-controls-panel{display:none}.player-controls-panel.is-open{z-index:35;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(380px,100vw - 20px);max-height:calc(100dvh - 180px);box-shadow:var(--shadow-lg);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;overflow-y:auto}.player-controls-panel>.car-btn,.player-controls-panel .car-item>.car-btn{width:100%}.player-controls-panel .car-item{flex-direction:column;gap:10px;min-width:0}.player-control-popup .bubble-mix-row{grid-template-columns:minmax(0,1fr) 44px;gap:6px 8px}.player-control-popup .bubble-mix-row>:first-child{grid-column:1/-1}.player-control-popup .bubble-mix-row input[type=range]{min-width:0}.player-control-popup .bubble-seg button{white-space:normal;min-width:0;padding-inline:5px;font-size:12px}}.car-bubble{--shift:0px;z-index:30;transform:translateX(calc(-50% + var(--shift)));border:1px solid var(--border);background:var(--panel);width:max-content;min-width:260px;max-width:min(380px,100vw - 16px);color:var(--text);box-shadow:var(--shadow-lg,0 16px 40px #00000047);border-radius:18px;flex-direction:column;gap:12px;padding:16px;font-size:15px;line-height:1.35;animation:.14s ease-out bubble-in;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%}.car-bubble.wide{max-width:min(620px,100vw - 16px);max-height:60vh;overflow-y:auto}.car-bubble:after{content:"";bottom:-9px;left:calc(50% - var(--shift) - 9px);background:var(--panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:16px;height:16px;position:absolute;transform:rotate(45deg)}.car-bubble.wide:after{display:none}.car-bubble.below{top:calc(100% + 14px);bottom:auto}.car-bubble.below:after{top:-9px;bottom:auto;transform:rotate(225deg)}.car-bubble.floating{z-index:60;position:fixed;bottom:auto}.car-bubble.floating.above{transform:translate(calc(-50% + var(--shift)), -100%);animation:none}.car-bubble.floating.below{transform:translateX(calc(-50% + var(--shift)));animation:none}.car-bubble h3{font-family:var(--font-display);margin:0;font-size:17px;font-weight:650}@keyframes bubble-in{0%{opacity:0;transform:translateX(calc(-50% + var(--shift))) translateY(6px)}}.car-bubble.player-control-popup{z-index:70;overscroll-behavior:contain;width:min(380px,100vw - 20px);min-width:0;max-width:none;max-height:calc(100dvh - 20px);font-family:var(--font-ui);animation:none;position:fixed;bottom:auto;overflow-y:auto;transform:none}.car-bubble.player-control-popup.wide{width:min(620px,100vw - 20px)}.car-bubble.player-control-popup:after{display:none}.player-control-popup>h3{min-height:32px;padding-right:44px}.player-control-popup-close{border:1px solid var(--border);background:var(--panel-2);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:8px;right:8px}.bubble-stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.bubble-step{border:1px solid var(--border);background:var(--panel-2);width:64px;height:64px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:16px;flex:none;font-size:32px;font-weight:600;line-height:1}.bubble-step:active:not(:disabled){transform:scale(.95)}.bubble-step:disabled{opacity:.4;cursor:default}.bubble-value{text-align:center;font-family:var(--font-display);font-variant-numeric:tabular-nums;flex:1;font-size:30px;font-weight:700}.bubble-note{color:var(--muted);margin:0;font-size:13px}.bubble-reset,.bubble-toggle{border:1px solid var(--border);background:var(--panel-2);min-height:48px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:12px;padding:0 14px;font-size:15px;font-weight:550}.bubble-reset:disabled,.bubble-toggle:disabled{opacity:.45;cursor:default}.bubble-toggle{text-align:left;justify-content:space-between;align-items:center;gap:12px;display:flex}.bubble-toggle i{background:var(--border);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.bubble-toggle i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.bubble-toggle.on i{background:var(--primary)}.bubble-toggle.on i:after{transform:translate(18px)}.bubble-seg{background:var(--panel-2);border:1px solid var(--border);border-radius:14px;gap:4px;padding:4px;display:flex}.bubble-seg button{min-height:44px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:0 10px;font-size:14px;font-weight:600}.bubble-seg button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.bubble-mix{flex-direction:column;gap:10px;display:flex}.bubble-mix-row{grid-template-columns:150px minmax(120px,1fr) 46px;align-items:center;gap:12px;display:grid}.bubble-mix-row>span{font-weight:550}.bubble-mix-row .bubble-toggle{min-width:0}.bubble-mix-row .bubble-toggle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bubble-mix-row input[type=range]{width:100%;min-width:120px;height:32px;accent-color:var(--primary)}.bubble-mix-row output{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.bubble-live{align-items:baseline;gap:10px;min-height:30px;display:flex}.bubble-live strong{font-family:var(--font-display);font-size:24px}.car-bubble .takes audio{max-width:100%}@media (prefers-reduced-motion:reduce){.car-bubble,.car-btn.rec.recording .car-btn-main{animation:none}}.btn.offline-saved{color:var(--ok,var(--primary));border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}@media (pointer:coarse){.player .btn.small,.song-row-actions .btn.small{min-height:40px;padding-inline:14px}.player input[type=range]{min-height:32px}}.player-header,.editor>header{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.player-header .song-title{flex:1;min-width:0;font-size:16px}.player-header .back-label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.player-header>.user-menu{flex:none}.player-header .user-menu-button{border-radius:16px;height:44px}.editor .player-header>.back{min-height:44px;color:var(--text);border-radius:16px}.player-header .song-title strong,.editor .song-title strong{font-family:var(--font-display);letter-spacing:-.01em;font-weight:650}.back{color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-weight:550;display:inline-flex}.back:hover{color:var(--text);border-color:var(--border-strong);text-decoration:none}.player-header-actions,.player-header-actions-panel{display:contents}.player-header .player-header-more{display:none}.player>.player-header{flex-wrap:nowrap}.player .player-header-actions.compact{margin-left:auto}.player-header-actions.compact{align-items:center;gap:var(--player-control-gap);flex:none;display:flex;position:relative}.player-header-actions.compact .player-header-more{border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.player-header-actions.compact .player-header-actions-panel{display:none}.player-header-actions.compact .player-header-actions-panel.is-open{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(280px,100vw - 28px);max-height:calc(100dvh - 100px);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:6px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.player-header-actions.compact .player-header-actions-panel>.btn{text-align:left;justify-content:flex-start;width:100%;min-height:40px}.player-header-primary .playlist-nav{gap:4px}.player-header-primary .playlist-picker{max-width:220px;margin-right:4px}.player-header-primary .playlist-step{justify-content:center;width:36px;min-height:36px;padding:0}.player-header-primary .playlist-step-label{display:none}.player-header-actions-panel .player-header-primary{border-bottom:1px solid var(--border);padding-bottom:10px}.player-header-actions-panel .player-header-primary .playlist-step{flex:1;width:auto;padding:8px 12px}.player-header-actions-panel .player-header-primary .playlist-step-label{display:inline}.button-group-divider{display:none}@media (width>=1025px) and (pointer:fine){.button-group-divider{background:var(--border);flex:none;align-self:stretch;width:1px;display:block}.player-header-primary .playlist-nav{border:1px solid var(--border);background:var(--panel-2);border-radius:16px;gap:0}.player .player-header-primary .playlist-nav>.btn{background:0 0;border:0;border-radius:0;height:42px;min-height:42px;margin:0}.player .player-header-primary .playlist-nav>.btn:first-child{border-radius:15px 0 0 15px}.player .player-header-primary .playlist-nav>.btn:last-child{border-radius:0 15px 15px 0}.player-header-primary .playlist-nav>.btn:hover:not(:disabled){background:var(--panel)}.player .player-header-primary .playlist-nav .playlist-step{width:44px;padding:0}.player-header-actions.icon-actions{align-items:center;gap:var(--player-control-gap);flex:none;display:flex}.player-header-actions.icon-actions .player-header-actions-panel{border:1px solid var(--border);background:var(--panel-2);border-radius:16px;gap:0;display:flex}.player-header-actions.icon-actions .player-header-actions-panel>.btn{width:44px;height:42px;min-height:42px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.player-header-actions.icon-actions .player-header-actions-panel>.btn:first-child{border-radius:15px 0 0 15px}.player-header-actions.icon-actions .player-header-actions-panel>.btn:last-child,.player-header-actions.icon-actions .player-header-actions-panel>.btn.header-action-end{border-radius:0 15px 15px 0}.player-header-actions.icon-actions .player-header-actions-panel>.btn:only-child{border-radius:15px}.player-header-actions.icon-actions .player-header-actions-panel>.btn:hover:not(.danger):not(:disabled),.player-header-actions.icon-actions .player-header-actions-panel>.btn.active{background:var(--panel);color:var(--accent)}.player-header-actions.icon-actions .player-header-actions-panel>.btn.primary{color:var(--ok)}.player-header-actions.icon-actions .player-header-actions-panel>.btn.primary:not(:disabled){background:var(--tint-ok);color:var(--ok)}.player-header-actions.icon-actions .player-header-actions-panel>.btn.danger:hover:not(:disabled){background:var(--tint-danger)}.header-action-divider{background:var(--border-strong);flex:none;align-self:stretch;width:1px;margin:8px 0}}.editor-action-label,.editor-mobile-help{display:none}@media (width<=1024px),(pointer:coarse){.player>.player-header{gap:var(--player-control-gap);flex-wrap:nowrap;grid-template-columns:44px minmax(0,1fr) 44px 44px;min-height:44px;display:grid}.player-header>.back{grid-area:1/1;justify-content:center;width:44px;height:44px;padding:0}.player .player-header .btn.small.back{padding:0}.player-header .back-label{display:none}.player .player-header .song-title{grid-area:1/2;font-size:15px}.player-header-actions{grid-area:1/3;display:block;position:relative}.player-header>.user-menu{grid-area:1/4}.player-header .user-menu-button{justify-content:center;width:44px;padding:0}.player-header .user-menu-name,.player-header .user-menu-button>svg{display:none}.player-header-actions.compact{display:block}.player .player-header .player-header-more{border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.player-header-actions-panel{display:none}.player-header-actions-panel.is-open{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(260px,100vw - 28px);max-height:calc(100dvh - 100px);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:6px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.player-header-actions-panel>.btn{text-align:left;justify-content:flex-start;width:100%}.player-header-actions-panel .playlist-nav{flex-wrap:wrap;gap:6px}.player-header-actions-panel .playlist-picker{flex-basis:100%;justify-content:flex-start;max-width:100%}.editor>.player-header{flex-shrink:0;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:8px;display:grid}.editor .player-header-actions{grid-column:3}.editor .player-header .player-header-more{border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.editor .song-title{align-items:center;gap:4px;font-size:15px;display:flex}.editor-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.editor-title-meta{display:none}.editor .title-edit{flex:none;margin:0}.editor .title-edit .icon-btn{min-width:44px;min-height:44px}.editor .back{border-radius:16px}.header-action-divider{background:var(--border);height:1px;margin:4px 0;display:block}.editor .player-header-actions-panel .btn{border-radius:16px;justify-content:flex-start;min-height:44px}.editor-action-label{display:inline}}@media (width<=760px){.editor>.editor-canvas-wrap{min-height:120px}.editor-settings{flex:none}.editor .editor-transport-card{grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;display:grid}.editor .editor-play{min-width:80px;min-height:44px}.editor .editor-settings-toggle,.editor .editor-stop{min-width:44px;min-height:44px;padding-inline:10px}.editor-transport-label{display:none}.editor .editor-transport-card .time{text-align:center;font-size:12px}.editor .editor-transport-card .seek{grid-column:1/-1;width:100%;min-width:0}.editor .editor-transport-card .tempo-rendering{grid-column:1/-1}.editor .editor-settings-panels{max-height:42dvh}.editor .editor-range-row-with-options{grid-template-columns:minmax(0,1fr) 42px}.editor .editor-range-row-with-options>:first-child{grid-column:1/-1}.editor .editor-range-row-with-options:has(select){grid-template-columns:72px minmax(0,1fr) 42px}.editor .editor-range-row-with-options:has(select)>:first-child{grid-column:auto}.editor .editor-range-row-with-options>.editor-setting-options{flex-wrap:wrap;grid-column:1/-1;gap:8px 14px}.editor .editor-setting-options{min-width:0}.editor .editor-setting-row select{max-width:100%}.editor .editor-field-grid label{grid-template-columns:minmax(0,1fr)}.editor-action-grid .btn{white-space:normal;min-height:44px}.editor-file-button input{max-width:100%}.editor>.hint{display:none}.editor-mobile-help{display:block}.editor-mobile-help>summary{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:16px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.editor-mobile-help>summary::-webkit-details-marker{display:none}.editor-mobile-help .hint{padding:10px 4px}}.description-panel{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(460px,100% - 36px);max-height:calc(100% - 76px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:60px;right:18px}.description-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 18px;display:flex}.description-panel-header h2{margin:0;font-size:15px}.description-panel-body{padding:4px 18px 16px;font-size:14px;line-height:1.6;overflow-y:auto}.description-panel-body p{white-space:pre-wrap;margin:12px 0 0}.share-panel{width:min(360px,100% - 36px)}.share-add{gap:8px;margin-top:12px;display:flex}.share-add input{flex:1;min-width:0}.share-list{flex-direction:column;gap:4px;margin:12px 0 0;padding:0;list-style:none;display:flex}.share-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.editor-description{flex-direction:column;height:100%;display:flex}.editor-description-text{resize:vertical;flex:1;width:100%;min-height:140px;font-size:13px;line-height:1.55}.score{background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:10px;padding:4px 6px 4px 14px;display:flex}.score-value{font-family:var(--font-display);color:var(--ok);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.transport{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.transport .seek{flex:1;min-width:160px}.time{font-variant-numeric:tabular-nums;color:var(--muted);min-width:90px}.controls{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.controls label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.controls select,.controls input[type=range]{font:inherit}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper-value{text-align:center;min-width:28px;color:var(--text);font-weight:600}.live{align-items:center;gap:8px;font-size:14px;display:flex}.live-note{font-family:var(--font-display);font-size:18px;font-weight:700}.mic-level{width:90px;height:10px}.player-voice-gain{grid-template-columns:auto minmax(90px,160px) 46px;margin-top:8px}.hint{margin:0;font-size:12px}.btn.rec{color:var(--danger)}.btn.rec.active{border-color:color-mix(in srgb, var(--danger) 50%, transparent);background:var(--tint-danger)}.rec-dot{color:var(--danger);font-size:13px;animation:1s steps(2,end) infinite blink}@keyframes blink{to{opacity:.3}}.title-edit{vertical-align:middle;margin-left:6px;display:inline-flex;position:relative}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled),.icon-btn[aria-expanded=true]{border-color:var(--border);background:var(--panel);color:var(--text)}.icon-btn:disabled{opacity:.45;cursor:default}.bubble-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:550;display:flex}.bubble-field input{min-height:44px;color:var(--text);padding:0 12px;font-size:16px}.car-bubble h3+.bubble-field{margin-top:-2px}.lyric-bubble-head{align-items:baseline;gap:10px;display:flex}.lyric-bubble-head strong{font-family:var(--font-display);font-size:18px}.lyric-bubble-input{text-align:center;min-height:48px;padding:0 14px;font-size:20px;font-weight:600}.lyric-bubble-nav{gap:8px;display:flex}.lyric-bubble-nav .btn{flex:1}.lyric-line-start{align-self:flex-start}.editor{flex-direction:column;gap:12px;height:100%;padding:12px 18px 16px;display:flex}.editor-canvas{border:1px solid var(--border);border-radius:var(--radius);background:var(--cv-bg);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;width:100%;min-height:300px;display:block}.canvas-fit{color:var(--muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:10.5px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;left:0}.canvas-fit:hover,.canvas-fit:focus-visible{color:var(--text);background:var(--border)}.note-tooltip{pointer-events:none;white-space:nowrap;background:var(--panel);color:var(--text);border:1px solid var(--border);z-index:5;box-shadow:var(--shadow-md);border-radius:8px;padding:4px 9px;font-size:12px;position:absolute;transform:translate(-50%,-150%)}.editor-canvas-wrap{flex:1;min-height:300px;display:flex;position:relative}.editor-canvas-wrap .editor-canvas{flex:1;min-height:0}.note-raster-viewport,.note-fixed-labels,.note-playhead-clip,.note-trail-viewport{pointer-events:none;display:none}.editor-canvas-wrap[data-renderer=layers]>.editor-canvas{z-index:1;background:0 0;position:relative}.editor-canvas-wrap[data-renderer=layers]:after{content:"";z-index:2;pointer-events:none;border:1px solid var(--border);border-radius:var(--radius);position:absolute;inset:0}.editor-canvas-wrap[data-renderer=layers]>.note-raster-viewport,.editor-canvas-wrap[data-renderer=layers]>.note-trail-viewport,.editor-canvas-wrap[data-renderer=layers]>.note-playhead-clip{display:block;position:absolute;inset:1px 1px 1px 65px;overflow:hidden}.editor-canvas-wrap[data-renderer=layers]>.note-raster-viewport{border-radius:0 var(--radius) var(--radius) 0}.note-raster-layer,.note-trail-layer{will-change:transform;max-width:none;position:absolute;top:0;left:-64px}.editor-canvas-wrap[data-renderer=layers]>.note-trail-viewport{z-index:1}.editor-canvas-wrap[data-renderer=layers]>.note-fixed-labels{border-radius:var(--radius) 0 0 var(--radius);width:64px;display:block;position:absolute;top:1px;left:1px}.editor-canvas-wrap[data-renderer=layers]>.note-playhead-clip{z-index:2}.note-playhead{will-change:transform;width:2px;position:absolute;top:0;left:0}.note-playhead>div{background:currentColor;width:2px;position:absolute;top:0;left:0}.note-singer{will-change:transform;border-radius:50%;width:12px;height:12px;position:absolute;top:0;left:0}.editor-canvas-wrap[data-renderer=layers]>.canvas-fit,.editor-canvas-wrap[data-renderer=layers]>.note-tooltip{z-index:3}.editor-settings{flex-direction:column;gap:10px;display:flex}.editor-transport-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:8px 10px;display:flex}.editor-transport-card .seek{flex:1;min-width:160px}.editor-play{min-width:108px}.editor-settings-toggle{flex:none;min-width:92px}.editor-settings-panels{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-height:130px;max-height:max(130px,100vh - 460px);box-shadow:var(--shadow-sm);flex-direction:column;flex:none;display:flex;overflow:hidden}.editor-settings-panels[hidden]{display:none}.editor-settings-resizer{cursor:ns-resize;touch-action:none;flex:0 0 8px;position:relative}.editor-settings-resizer:after{content:"";background:var(--border-strong);border-radius:3px;width:42px;height:3px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.editor-settings-resizer:hover:after,.editor-settings-resizer:focus-visible:after{background:var(--accent)}.editor-settings-resizer:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.editor-settings-content{flex:1;min-height:0;padding:10px 12px 12px;overflow-y:auto}.editor-settings-grid{display:block}.editor-settings-card{background:0 0;border:0;min-width:0;padding:0}.editor-settings-card>*+*{margin-top:8px}.editor-card-title{justify-content:space-between;align-items:baseline;gap:10px;min-height:25px;display:flex}.editor-settings-card>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.editor-settings-card>summary::-webkit-details-marker{display:none}.editor-settings-card>summary:before{content:"›";color:var(--muted);flex:none;transition:transform .15s;transform:rotate(0)}.editor-settings-card[open]>summary:before{transform:rotate(90deg)}.editor-card-title h3{margin:0;font-size:14px}.editor-card-title>span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11.5px}.editor-check-row{flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:28px;display:flex}.editor-check-row label{align-items:center;gap:6px;font-size:13px;display:flex}.editor-setting-row{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.editor-setting-row>span:first-child{min-width:72px}.editor-range-row{grid-template-columns:72px minmax(70px,1fr) 34px;display:grid}.editor-range-row-with-options{grid-template-columns:minmax(190px,auto) minmax(70px,1fr) 42px}.editor-range-row input{width:100%}.editor-range-row output{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.editor-setting-options{align-items:center;gap:14px;display:flex}.editor-inline-check{color:var(--text);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.editor-inline-check input{width:auto;margin:0}.editor-track-remove{min-height:0;color:var(--muted);padding:0 6px;line-height:1.4}.editor-add-track{flex-wrap:wrap;justify-content:flex-start}.editor-add-track select{width:auto}.editor-tempo-select{justify-self:start;width:92px}.player-voice-panel{min-width:0}.player-voice-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.player-tolerance{justify-content:flex-start}.player-tolerance>span:first-child{min-width:0}.editor-settings select,.editor-settings input[type=number]{min-width:0;padding:5px 8px;font-size:13px}.editor-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.editor-field-grid label{color:var(--muted);grid-template-columns:minmax(58px,auto) minmax(0,1fr);align-items:center;gap:6px;font-size:12px;display:grid}.editor-field-grid input,.editor-field-grid select{width:100%}.editor-card-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.editor-count{border:1px solid var(--border);border-radius:999px;padding:2px 8px}.editor-count.active{color:var(--accent);background:var(--tint-accent);border-color:#0000}.editor-note-info{min-height:30px;color:var(--muted);background:var(--panel-2);border-radius:var(--radius-sm);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:5px 10px;font-size:12px;display:grid}.editor-note-info strong{color:var(--text)}.editor-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.editor-action-grid .btn{min-width:0}.editor-card-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:10.5px;font-weight:650;display:flex}.editor-card-divider:after{content:"";background:var(--border);flex:1;height:1px}.editor-tools{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.editor-tools>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;padding:10px 12px;list-style:none;display:flex}.editor-tools>summary::-webkit-details-marker{display:none}.editor-tools>summary:after{content:"⌄";color:var(--muted);margin-left:auto;transition:transform .15s}.editor-tools[open]>summary:after{transform:rotate(180deg)}.editor-tools>summary>span:first-child{color:var(--text);font-size:13px;font-weight:650}.editor-tools>summary>span:nth-child(2){color:var(--muted);font-size:11px}.editor-tools-grid{border-top:1px solid var(--border);grid-template-columns:minmax(0,2fr) minmax(260px,1fr);display:grid}.editor-tool-section{flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:12px;display:flex}.editor-tool-section+.editor-tool-section{border-left:1px solid var(--border)}.editor-tool-section h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:11.5px;font-weight:650}.editor-file-button{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.editor-file-button input{color:#0000;width:132px;max-width:132px;font-size:11px}.editor-shift-head{width:100%;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.editor-offset{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.editor-shift-actions{width:100%}.editor-tool-message{margin:0}.editor-track-lyrics{resize:vertical;width:100%;font-size:12px}.editor-lyric{color:var(--muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.editor-lyric input{flex:1;min-width:0;padding:5px 8px;font-size:13px}.editor-bulk-lyrics{flex-direction:column;gap:8px;display:flex}.editor-bulk-lyrics textarea{resize:vertical;width:100%;font-size:12px}.editor-check{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.editor-copy-select{width:100%;color:var(--muted);flex-direction:column;gap:5px;font-size:11.5px;display:flex}.editor-copy-select select{width:100%}.editor-settings-tab-panel>summary{display:none}.editor-settings-content .editor-tools{background:0 0;border:0;border-radius:0;overflow:visible}.editor-settings-content .editor-tools-grid{border-top:0}.editor-settings-content .editor-tool-section{padding:0 12px 0 0}.editor-settings-content .editor-tool-section+.editor-tool-section{padding:0 0 0 12px}:root{--piano-white:#1a2130;--piano-black:#06080c}:root[data-theme=light]{--piano-white:#fff;--piano-black:#1b2230}.staff{width:100%;height:100%;color:var(--muted);pointer-events:none;display:block}.staff-lines line{stroke:currentColor;stroke-width:1px;opacity:.28;vector-effect:non-scaling-stroke}.staff-note ellipse{fill:currentColor;opacity:.5}.staff-note line,.staff-note path{stroke:currentColor;stroke-width:1.6px;fill:none;opacity:.5}.staff-note .beam{stroke-width:5px}.staff-note.hit ellipse{fill:var(--ok);opacity:.95}.staff-note.hit line,.staff-note.hit path{stroke:var(--ok);opacity:.95}.staff-trail{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;opacity:.9}.equalizer{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.equalizer i{background:var(--ok);transform-origin:bottom;border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite alternate eq}@keyframes eq{0%{transform:scaleY(.25)}50%{transform:scaleY(1)}to{transform:scaleY(.45)}}.piano-strip{display:block}.piano-strip .key-white{fill:var(--piano-white)}.piano-strip .key-black{fill:var(--piano-black)}@media (prefers-reduced-motion:reduce){.equalizer i{animation:none;transform:scaleY(.6)}.choice-card:hover:not(:disabled){transform:none}}.page-banner{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:8px;padding:30px 30px 44px;position:relative;overflow:hidden}.page-banner:before{content:"";pointer-events:none;background:radial-gradient(420px 220px at 0% 0%, var(--glow-1), transparent 70%), radial-gradient(420px 240px at 100% 100%, var(--glow-2), transparent 70%);position:absolute;inset:0}.page-banner-staff{width:64%;height:130px;position:absolute;top:calc(50% - 72px);right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 38%);mask-image:linear-gradient(90deg,#0000,#000 38%)}.page-banner-content{max-width:56%;position:relative}.page-banner-content h1{font-size:30px}.page-banner-content p{color:var(--muted);margin:8px 0 0}.page-banner-eyebrow{color:var(--ok);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:700;display:inline-flex}.page-banner-keys{opacity:.9;position:absolute;bottom:0;left:0;right:0}.page-banner .profile-hero{margin:0;position:relative}.page-banner .banner-action{position:absolute;top:50%;right:30px;transform:translateY(-60%)}.page-banner .profile-user{margin:10px 0 0}.loader-title{align-items:center;gap:10px;display:flex}@media (width<=760px){.page-banner{padding:22px 20px 36px}.page-banner-staff{opacity:.3;width:100%}.page-banner-content{max-width:none}.page-banner .banner-action{margin-top:14px;position:static;transform:none}}.page-loader{z-index:50;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.page-loader-inline{z-index:auto;background:0 0;min-height:280px;position:relative;inset:auto}.page-loader-mark{flex-direction:column;align-items:center;gap:24px;display:flex}.music-loading-wave{justify-content:center;align-items:center;gap:7px;height:64px;display:flex}.music-loading-wave i{background:var(--brand-blue);transform-origin:50%;border-radius:5px;width:7px;height:24px;animation:1.1s ease-in-out infinite music-loading-wave;display:block}.music-loading-wave i:nth-child(2),.music-loading-wave i:nth-child(6){height:38px}.music-loading-wave i:nth-child(3),.music-loading-wave i:nth-child(5){height:52px}.music-loading-wave i:nth-child(4){background:var(--accent);height:64px}.music-loading-wave i:nth-child(n+5){background:var(--brand-green)}@keyframes music-loading-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.music-loading-wave i{animation:none;transform:scaleY(.7)}}.loader{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;place-items:center;display:grid;position:fixed;inset:0}.loader-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:24px 26px;display:flex}.loader-title{font-family:var(--font-display);font-size:16px;font-weight:650}.loader-bar{background:var(--panel-2);border-radius:3px;height:6px;overflow:hidden}.loader-bar span{background:linear-gradient(90deg, var(--brand-blue), var(--brand-green));height:100%;transition:width .3s;display:block}.tempo-rendering{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.tempo-render-progress{background:var(--panel-2);border-radius:3px;width:90px;height:5px;position:relative;overflow:hidden}.tempo-render-progress>span{inset-block:0;border-radius:inherit;background:var(--primary);transition:width .12s linear;position:absolute;left:0}.loader-steps{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.loader-steps li{color:var(--muted);grid-template-columns:18px 1fr;align-items:center;display:grid}.loader-steps li.active{color:var(--text)}.loader-steps li.done{color:var(--ok)}.loader-mark{font-size:12px}.loader-step-text{min-width:0}.loader-step-text>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.loader-step-text small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.loader-percent{color:var(--primary);font-variant-numeric:tabular-nums;flex:none;font-weight:650}.loader-note{margin:0}.calibration{flex-direction:column;gap:16px;display:flex}.audio-settings-dialog{overscroll-behavior:contain;width:min(680px,100% - 24px)}.audio-settings-dialog .playlist-dialog-header{z-index:2;background:var(--panel);padding-block:10px;position:sticky;top:-20px}.audio-settings-dialog .playlist-dialog-header h2{font-size:clamp(20px,4vw,26px)}.audio-settings-dialog .calibration-content{min-width:0}.audio-device-options{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;margin-bottom:16px;padding:16px;display:flex}.audio-device-options .toggle-label{align-items:center;gap:8px;display:flex}.audio-device-options .field{max-width:none}.audio-device-options p{margin:0}.mic-calibration{flex-direction:column;gap:16px;display:flex}.mic-calibration-stage,.mic-calibration-result{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:20px}.mic-calibration-stage>.icon{color:var(--primary)}.mic-calibration-stage h2{margin:12px 0;font-size:22px}.mic-calibration-stage progress{width:100%;accent-color:var(--primary);margin:16px 0;display:block}.mic-calibration-meter{background:var(--panel-2);border-radius:4px;height:10px;margin:16px 0 10px;overflow:hidden}.mic-calibration-meter>span{background:var(--ok);height:100%;transition:width .2s linear;display:block}.mic-calibration-readings,.mic-calibration-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mic-calibration-readings{color:var(--muted);font-size:13px}.mic-calibration-readings strong{color:var(--text);font-size:20px}.mic-calibration-actions{margin-top:20px}.mic-calibration-result dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;display:grid}.mic-calibration-result dt{color:var(--muted);font-size:12px}.mic-calibration-result dd{margin:6px 0 0;font-weight:600}.mic-calibration-result .toggle-label{align-items:center;gap:8px;display:flex}.mic-calibration .field{max-width:none}.calib-stage{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);cursor:pointer;height:200px;box-shadow:var(--shadow-sm);place-items:center;display:grid;position:relative}.calib-pulse{background:linear-gradient(135deg, var(--brand-blue), var(--brand-green));border-radius:50%;width:140px;height:140px;animation:.45s ease-out forwards calib-flash}@keyframes calib-flash{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.25)}}.calib-hints{justify-content:space-between;display:flex}.calib-controls{justify-content:center;gap:12px}.calib-value{font-family:var(--font-display);text-align:center;font-variant-numeric:tabular-nums;min-width:90px;font-size:22px;font-weight:700}@media (width<=1100px){.editor-tools-grid{grid-template-columns:1fr}.editor-settings-content .editor-tool-section{padding:0}.editor-settings-content .editor-tool-section+.editor-tool-section{border-left:0;border-top:1px solid var(--border);padding:10px 0 0}}@media (width<=760px){.app-header-inner{gap:8px;padding:8px 14px}.editor{gap:10px;height:100dvh;padding:10px}.app-nav,.user-menu-button .user-menu-name{display:none}.header-add{width:32px;padding:0}.header-add .btn-label{display:none}.page{padding:22px 16px 48px}}@media (width<=760px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea{font-size:16px!important}input.playlist-title-input{font-size:26px!important}input.lyric-bubble-input{font-size:20px!important}}@media (width<=700px){.editor-transport-card{flex-wrap:wrap}.editor-transport-card .seek{flex-basis:100%;order:4}.editor-tools>summary>span:nth-child(2){display:none}}@media (width<=640px){.grid2,.choice-grid{grid-template-columns:1fr}.song-row{flex-direction:column;align-items:flex-start}.song-row-actions{flex-wrap:wrap}.song-row-play{display:none}}.song-row-wrap{align-items:center;gap:10px;display:flex}.song-row-wrap>.song-row{flex:1;min-width:0}.song-row-tools{flex:none;gap:8px;display:flex}.round-btn{border:1px solid var(--border);background:var(--panel);width:44px;height:44px;color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;transition:border-color .15s,transform .15s,color .15s;display:inline-grid;position:relative}a.round-btn{text-decoration:none}.round-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--accent);transform:translateY(-1px)}.round-btn:active:not(:disabled){transform:scale(.95)}.round-btn:disabled{cursor:default}.round-btn.saved{color:var(--ok,var(--primary));border-color:color-mix(in srgb, var(--ok,var(--primary)) 45%, var(--border))}.round-btn.busy{color:var(--muted);border-color:#0000}.round-btn.busy:before{content:"";background:conic-gradient(var(--primary) var(--p,0%), var(--border) var(--p,0%));border-radius:50%;position:absolute;inset:-1px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.btn.icon-only{justify-content:center;align-items:center;padding-inline:10px;display:inline-flex}.track-actions{z-index:1;pointer-events:auto;flex:none;position:relative}.track-actions-inline{align-items:center;gap:8px;display:flex}.track-actions .track-actions-more{border-radius:var(--radius);width:44px;height:44px;padding:0;display:none}.track-action-menu{z-index:100;overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);width:264px;box-shadow:var(--shadow-lg);padding:6px;position:fixed;overflow:auto}.track-action-item{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.track-action-item:hover:not(:disabled),.track-action-item:focus-visible{background:var(--panel-2);outline-offset:-2px;text-decoration:none}.track-action-item.danger{color:var(--danger)}.track-action-item:disabled{opacity:.45;cursor:default}@media (width<=760px),(pointer:coarse) and (width<=1100px){.track-actions-inline{display:none}.track-actions .track-actions-more{display:inline-flex}.song-row:has(>.track-actions){flex-direction:row;align-items:center}.song-row-wrap>.song-row{flex-direction:row;align-items:center}.song-row-wrap{gap:8px}.song-row-wrap .song-row-text{overflow-wrap:anywhere;flex:1}}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px;font-weight:550}.field-required{color:var(--danger);font-weight:700}.field-hint,.field-error{margin:0;font-size:12px;line-height:1.4}.field-hint{color:var(--muted)}.field-error{color:var(--danger)}.field-error:before{content:"! ";font-weight:700}.field.invalid input,.field.invalid input:hover{border-color:var(--danger)}.field.invalid input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent)}.form-required-note{text-align:right;margin:-6px 0 0}.password-input{display:flex;position:relative}.password-input input{flex:1;min-width:0;padding-right:44px}.password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--panel-2)}.form .field-label{display:block}@media (width<=760px),(orientation:portrait){.player{height:100dvh}.player-stage{flex-direction:column;flex:auto;min-height:0}.player-stage>.editor-canvas-wrap{flex:55%;min-height:140px}.player .lyrics-panel{flex:45%;min-height:120px}.player.notes-hidden .lyrics-panel{flex:auto}}@media (width<=760px) and (orientation:landscape){.player-stage{flex-direction:row}.player-stage>.editor-canvas-wrap{flex:55%;min-height:0}.player .lyrics-panel{flex:45%;min-width:0;min-height:0}.editor>.editor-canvas-wrap{min-height:80px}}a.btn.telegram-button{justify-content:center;text-decoration:none}a.btn.telegram-button.disabled{opacity:.6;pointer-events:none}.telegram-waiting{text-align:center;margin:0;line-height:1.6}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scrollable-tabs{border-bottom:1px solid var(--border);align-items:stretch;gap:4px;min-width:0;margin:24px 0 4px;padding:4px 4px 0;display:flex}.tabs-scroller{overscroll-behavior-x:contain;scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.tabs-scroller::-webkit-scrollbar{display:none}.tabs-track{align-items:stretch;gap:4px;min-width:100%;padding-bottom:6px;display:inline-flex;position:relative}.tabs-track>button{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:background .18s,color .18s;display:inline-flex;position:relative}.tabs-track>button:hover{color:var(--text);background:var(--panel-2)}.tabs-track>button.active{color:var(--primary);background:var(--tint-ok)}.tabs-track>button:focus-visible{outline-offset:-2px}.tabs-track .count{background:var(--panel-2);min-width:20px;color:var(--muted);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}.tabs-track>button.active .count{background:var(--tint-ok);color:var(--primary)}.tabs-indicator{background:var(--primary);pointer-events:none;border-radius:3px;height:3px;transition:transform .2s,width .2s;position:absolute;bottom:0;left:0}.tabs-scroll-button{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;border:0;flex:0 0 32px;place-items:center;padding:0;display:grid}.tabs-scroll-button:hover:not(:disabled){background:var(--panel-2)}.tabs-scroll-button:disabled{color:var(--muted);opacity:.3;cursor:default}.tabs-scroller.has-after{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 12px),#0000)}.tabs-scroller.has-before{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px);mask-image:linear-gradient(90deg,#0000,#000 12px)}.tabs-scroller.has-before.has-after{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.scrollable-tabs.compact{flex:none;margin:0;padding-inline:8px}.scrollable-tabs.compact .tabs-track>button{padding-inline:12px;font-size:13px}.scrollable-tabs.compact .tabs-track{padding-bottom:3px}@media (prefers-reduced-motion:reduce){.tabs-indicator,.tabs-track>button{transition:none}}[role=tabpanel]>section>.section-header:first-child,[role=tabpanel]>section{margin-top:16px}img.avatar{object-fit:cover;background:var(--panel-2)}.profile-settings{flex-direction:column;gap:16px;max-width:560px;margin-top:16px;display:flex}.profile-settings-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:12px;padding:18px;display:flex}.profile-settings-card h3{font-family:var(--font-display);margin:0;font-size:16px}.profile-settings-card p{margin:0}.profile-avatar-row{align-items:center;gap:16px;display:flex}.profile-avatar-row .avatar.large{width:80px;height:80px;font-size:30px}.profile-avatar-actions{flex-wrap:wrap;gap:8px;display:flex}
