:root{--bg: #000000;--surface: #121212;--raise: #1f1f1f;--line: #2a2a2a;--text: #ffffff;--muted: #b3b3b3;--accent: #45d483;--accent-rgb: 69, 212, 131;--accent2: #45d483;--accent2-rgb: 69, 212, 131;--on-accent: #0b0d10;--card: color-mix(in srgb, var(--surface) 82%, var(--text) 3%);--card-hover: color-mix(in srgb, var(--surface) 70%, var(--text) 9%);--ok: #45d483;--warn: #f5a524;--danger: #f3727f;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--font-display: "Figtree", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, Consolas, monospace;--sidebar-w: 300px;--panel-w: 340px;--player-h: 80px;--gutter: 8px;--row-pad: 6px;--gap: 36px;--pad-x: clamp(16px, 2.4vw, 28px);--ease: cubic-bezier(.3, .7, .4, 1);--hover: color-mix(in srgb, var(--text) 10%, transparent);--ambient: none;color-scheme:dark}:root[data-mode=light]{--ok: #15803d;--warn: #b45309;--danger: #c2334a;--hover: color-mix(in srgb, var(--text) 7%, transparent);--card: var(--surface);--card-hover: var(--raise)}:root[data-density=compact]{--row-pad: 3px;--gap: 28px;--player-h: 72px}:root[data-density=aere]{--row-pad: 10px;--gap: 48px}:root[data-sidebar-compact=true]{--sidebar-w: 84px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}::selection{background:rgba(var(--accent-rgb),.4)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;margin:0;text-wrap:balance}h1{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.08}h2{font-size:1.45rem;line-height:1.2;font-weight:700}h3{font-size:1rem;line-height:1.3;font-weight:700;letter-spacing:-.01em}p{margin:0}.muted{color:var(--muted)}.small{font-size:.84rem}.center{text-align:center}.eyebrow{font-size:.76rem;font-weight:700;color:var(--text);margin:0}.lead{font-size:1rem;max-width:64ch}.grad-text{color:inherit}.inline-link,.sub-link{text-decoration:none}.inline-link{color:var(--text);font-weight:700}.inline-link:hover,.sub-link:hover{text-decoration:underline;text-underline-offset:2px}kbd{font-family:var(--font-mono);font-size:.7rem;padding:1px 6px;border-radius:4px;border:1px solid var(--line);color:var(--muted)}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}[data-motion=aucune] *,[data-motion=aucune] *:before,[data-motion=aucune] *:after{animation:none!important;transition:none!important}[data-motion=reduite] *{animation:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.logo{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-display);font-weight:800;letter-spacing:.02em;line-height:1;color:var(--text)}.logo-mark{width:1.45em;height:1.45em;border-radius:.38em;background:var(--accent);display:inline-flex;align-items:flex-end;justify-content:center;gap:.1em;padding:.3em .26em;flex:none}.logo-mark i{width:.14em;border-radius:.1em;background:#0b1a12}.logo-mark i:nth-child(1){height:45%}.logo-mark i:nth-child(2){height:78%}.logo-mark i:nth-child(3){height:100%}.logo-mark i:nth-child(4){height:62%}.shell{height:100%;display:grid;gap:var(--gutter);padding:var(--gutter) var(--gutter) 0;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"side main" "player player";transition:grid-template-columns .25s var(--ease)}.shell.has-panel{grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--panel-w);grid-template-areas:"side main panel" "player player player"}[data-sidebar=droite] .shell{grid-template-columns:minmax(0,1fr) var(--sidebar-w);grid-template-areas:"main side" "player player"}[data-sidebar=droite] .shell.has-panel{grid-template-columns:var(--panel-w) minmax(0,1fr) var(--sidebar-w);grid-template-areas:"panel main side" "player player player"}.panel{background:var(--surface);border-radius:var(--radius);position:relative;min-width:0;overflow:hidden}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}[data-background=ambiance] .ambient:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background-image:var(--ambient);background-size:cover;background-position:center;filter:blur(120px);opacity:.25}[data-background=grain] .ambient{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}[data-glass=true] .menu,[data-glass=true] .topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar{grid-area:side;display:flex;flex-direction:column;gap:var(--gutter);min-height:0}.nav-panel{padding:12px}.brand{display:flex;align-items:center;height:44px;padding:0 12px;text-decoration:none;font-size:21px;margin-bottom:4px}.nav-group{display:grid;gap:2px}.nav-link{display:flex;align-items:center;gap:18px;height:42px;padding:0 12px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-weight:700;font-size:.98rem;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active svg{color:var(--accent)}.nav-link svg{flex:none;width:24px;height:24px}.nav-lib{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px}.nav-lib-head{display:flex;align-items:center;gap:4px;height:48px;padding:0 4px 0 8px}.nav-lib-title{display:inline-flex;align-items:center;gap:14px;margin-right:auto;height:40px;padding:0 6px;font-weight:700;color:var(--muted);border-radius:var(--radius-sm);transition:color .2s}.nav-lib-title:hover{color:var(--text)}.nav-lib-title svg{width:24px;height:24px}.lib-open.on{color:var(--accent)}.nav-lib-list{flex:1;overflow-y:auto;display:grid;align-content:start;gap:2px;scrollbar-width:thin;padding:4px 0}.lib-item,.account-chip{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-sm);text-decoration:none;min-width:0;transition:background .2s}.lib-item:hover,.account-chip:hover{background:var(--hover)}.lib-item.active,.account-chip.active{background:color-mix(in srgb,var(--text) 14%,transparent)}.lib-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none}.lib-icon.liked{background:linear-gradient(135deg,#3d2fd1,#8fd6b8);color:#fff}.lib-cover{width:48px;height:48px;flex:none}.lib-text{display:grid;min-width:0}.lib-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.lib-item.active .lib-name{color:var(--accent)}.lib-meta{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group-bottom{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.nav-group-bottom .nav-link{height:38px;font-size:.9rem;gap:16px}.nav-group-bottom .nav-link svg{width:20px;height:20px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:.85rem;flex:none}.avatar.anon{background:var(--raise);color:var(--muted)}.avatar-xl{width:clamp(96px,14vw,180px);height:clamp(96px,14vw,180px);font-size:clamp(2.4rem,5vw,4.5rem);box-shadow:0 8px 24px #00000080}.sync-a-jour{color:var(--muted)}.sync-erreur,.sync-hors-ligne{color:var(--warn)}[data-sidebar-compact=true] .nav-panel{padding:12px 8px}[data-sidebar-compact=true] .nav-link span,[data-sidebar-compact=true] .lib-text,[data-sidebar-compact=true] .nav-lib-title span,[data-sidebar-compact=true] .lib-open,[data-sidebar-compact=true] .nav-lib-head>.icon-btn:not(.lib-open){display:none}[data-sidebar-compact=true] .brand{justify-content:center;padding:0}[data-sidebar-compact=true] .brand .logo-word{display:none}[data-sidebar-compact=true] .nav-link,[data-sidebar-compact=true] .nav-lib-head{justify-content:center;padding:0}[data-sidebar-compact=true] .nav-lib-title{margin:0}[data-sidebar-compact=true] .lib-item,[data-sidebar-compact=true] .account-chip{justify-content:center;gap:0;padding:6px}.main{grid-area:main;display:flex}.main-scroll{flex:1;overflow-y:auto;min-width:0;scrollbar-width:thin;position:relative;isolation:isolate}.main-scroll:before{content:"";position:absolute;left:0;right:0;top:0;height:320px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,var(--surface)),var(--surface));opacity:.55}.topbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:12px;height:64px;padding:0 var(--pad-x);background:color-mix(in srgb,var(--surface) 72%,transparent)}.topbar-nav{display:flex;gap:8px}.round-btn{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#000000b3;color:var(--text);transition:transform .15s}[data-mode=light] .round-btn{background:#00000014}.round-btn:hover{transform:scale(1.06)}.topbar-search{position:relative;flex:1;max-width:440px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;height:46px;border-radius:999px;background:var(--raise);border:1px solid transparent;color:var(--muted);transition:border-color .2s,background .2s}.topbar-search:hover{background:color-mix(in srgb,var(--raise) 80%,var(--text) 8%)}.topbar-search:focus-within{border-color:var(--text)}.topbar-search input,.topbar-search input:not([type]){flex:1;min-width:0;background:transparent;border:0;border-radius:0;padding:0;height:100%;color:var(--text);box-shadow:none!important;font-size:.95rem}.topbar-search input:focus-visible{outline:none}.topbar-end{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-user{text-decoration:none;border-radius:50%;display:block;padding:4px;background:#0000008c;transition:transform .15s}.topbar-user:hover{transform:scale(1.05)}.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;background:var(--raise);border-radius:var(--radius);padding:6px;display:grid;box-shadow:0 16px 40px #0000008c}.suggest-row{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--radius-sm);text-align:left;min-width:0}.suggest-row:hover,.suggest-row.on{background:var(--hover)}.suggest-text{display:grid;min-width:0}.suggest-all{text-align:left;padding:10px 8px 6px;color:var(--muted);font-weight:700;font-size:.86rem;border-top:1px solid var(--line);margin-top:4px}.suggest-all:hover{color:var(--text)}.page{padding:8px var(--pad-x) 72px;display:grid;gap:var(--gap);max-width:1600px;animation:page-in .22s var(--ease)}.page-flush{padding:0 0 72px;gap:0;max-width:none}.page-body{padding:24px var(--pad-x) 0;display:grid;gap:var(--gap)}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.page-head,.hero{display:grid;gap:14px;padding-top:12px}.home-head h1{font-size:clamp(1.8rem,3vw,2.3rem)}.section{display:grid;gap:14px;min-width:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-head h2{font-size:1.5rem}.section-head a{color:var(--muted);font-size:.86rem;font-weight:700;text-decoration:none}.section-head a:hover{text-decoration:underline;color:var(--text)}.shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}.shortcut{position:relative;display:flex;align-items:center;gap:16px;padding-right:64px;border-radius:var(--radius-sm);overflow:hidden;background:color-mix(in srgb,var(--text) 10%,transparent);text-decoration:none;font-weight:700;transition:background .25s;min-height:64px}.shortcut:hover{background:color-mix(in srgb,var(--text) 18%,transparent)}.shortcut .lib-icon,.shortcut-art{width:64px;height:64px;border-radius:0!important;flex:none;box-shadow:0 8px 24px #00000080}.shortcut-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shortcut .play-fab{position:absolute;right:12px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s var(--ease)}.shortcut:hover .play-fab,.shortcut:focus-within .play-fab{opacity:1;transform:none}.mix-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}.mix-feature{position:relative;display:grid;grid-template-columns:152px minmax(0,1fr);gap:20px;align-items:center;padding:16px;border-radius:var(--radius-lg);background:var(--card);cursor:pointer;transition:background .25s;min-height:184px}.mix-feature:hover{background:var(--card-hover)}.mix-feature.is-loading{animation:shimmer 1.6s ease-in-out infinite}.mix-art{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--raise);box-shadow:0 8px 24px #00000080}.mix-mosaic{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr}.mix-mosaic div{background-size:cover;background-position:center}.mix-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75))}.mix-label{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;font-weight:800;font-size:.92rem;line-height:1.1;color:#fff}.mix-art:before{content:"";position:absolute;left:12px;top:12px;z-index:1;width:22px;height:22px;border-radius:6px;background:var(--accent)}.mix-body{display:grid;gap:6px;padding-right:56px;min-width:0}.mix-body h3{font-size:1.15rem;font-weight:800}.mix-artists{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-feature .play-fab{position:absolute;right:18px;bottom:18px}.play-fab{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 8px #0000004d;transition:transform .15s var(--ease),background .15s}.play-fab:hover{transform:scale(1.05);background:color-mix(in srgb,var(--accent) 88%,#fff)}.play-fab svg{margin-left:2px}.play-fab.small{width:36px;height:36px}.cover{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);background:var(--raise);flex:none;max-width:100%}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-round{border-radius:50%!important}.cover-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:var(--raise)!important}[data-cover=carre] .cover:not(.cover-round){border-radius:2px}[data-cover=vinyle] .card-art:not(.round) .cover,[data-cover=vinyle] .np-art .cover{border-radius:50%}[data-cover=vinyle] .np-art .cover:after,[data-cover=vinyle] .card-art:not(.round) .cover:after{content:"";position:absolute;top:42%;right:42%;bottom:42%;left:42%;border-radius:50%;background:var(--surface)}.mosaic{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%}.mosaic .cover{border-radius:0!important}.card-row{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(156px,13.5vw,196px);gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:thin}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,176px),1fr));gap:16px}.card{display:grid;align-content:start;gap:4px;padding:14px;border-radius:var(--radius);background:var(--card);text-align:left;cursor:pointer;transition:background .25s;scroll-snap-align:start;min-width:0;text-decoration:none}.card:hover{background:var(--card-hover)}.card-art{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px;display:grid;place-items:center;background:var(--raise);box-shadow:0 8px 24px #00000080}.card-art.round{border-radius:50%;overflow:hidden}[data-cover=vinyle] .card-art:not(.round){border-radius:50%}.card-art>.cover{width:100%;height:100%}.card-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{color:var(--muted);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-artist .card-title,.card-artist .card-sub{text-align:left}.card-badge{position:absolute;left:8px;top:8px;font-size:.66rem;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--accent);color:var(--on-accent)}.card-play{position:absolute;right:8px;bottom:8px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 8px #0000004d;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease)}.card-play svg{margin-left:2px}.card:hover .card-play,.card:focus-within .card-play,.card-play.static{opacity:1;transform:none}.card-new{border:1px dashed var(--line);color:var(--muted);background:transparent}.card-new .card-art{box-shadow:none}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:16px}.genre-tile{position:relative;overflow:hidden;display:block;padding:16px;aspect-ratio:1.6;border-radius:var(--radius);font-weight:800;font-size:1.2rem;text-decoration:none;color:#fff;background:hsl(calc(var(--i, 0) * 47 + 140) 52% 38%);transition:filter .2s}.genre-tile:after{content:"";position:absolute;right:-14px;bottom:-6px;width:42%;aspect-ratio:1;border-radius:6px;background:#00000038;transform:rotate(25deg);box-shadow:0 2px 8px #0000004d}.genre-tile:hover{filter:brightness(1.1)}.tracklist{display:grid}.track{display:grid;grid-template-columns:32px 40px minmax(0,1fr) 64px 34px 52px 34px;align-items:center;gap:12px;padding:var(--row-pad) 12px;border-radius:var(--radius-sm);transition:background .15s}.track:hover{background:var(--hover)}.track.is-current .track-title{color:var(--accent)}.track.is-blocked{opacity:.55}.track-num{width:32px;height:32px;display:grid;place-items:center;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.track-num .p{display:none;color:var(--text)}.track:hover .track-num:not(:disabled) .n{display:none}.track:hover .track-num:not(:disabled) .p{display:grid}.track-cover{width:40px;height:40px;border-radius:4px}.track-main{min-width:0}.track-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-sub{color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-sub .dot:before{content:"•";margin:0 6px;font-size:.7em;vertical-align:middle}.track-src{min-width:0;display:flex;justify-content:flex-end}.track-dur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.88rem;text-align:right}.track .icon-btn.like:not(.on),.track>.icon-btn:last-child{opacity:0}.track:hover .icon-btn,.track:focus-within .icon-btn{opacity:1}.eq-anim{display:inline-flex;align-items:flex-end;gap:2px;height:13px}.eq-anim i{width:3px;background:var(--accent);border-radius:1px;animation:eqa 1s ease-in-out infinite}.eq-anim i:nth-child(2){animation-delay:-.33s}.eq-anim i:nth-child(3){animation-delay:-.66s}@keyframes eqa{0%,to{height:30%}50%{height:100%}}[data-motion=reduite] .eq-anim i,[data-motion=aucune] .eq-anim i{height:70%}.src-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:99px;background:color-mix(in srgb,var(--text) 9%,transparent);color:var(--muted);vertical-align:middle}.src-badge.mode-full{color:var(--text)}.src-badge.mode-preview{color:var(--warn)}.src-badge.mode-embed{color:#ff8080}.src-ok{color:var(--ok)}.src-maybe{color:var(--warn)}.src-none{color:var(--danger)}.src-inline{color:var(--text);font-weight:700}.src-icon{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 6px;border-radius:99px;color:color-mix(in srgb,var(--muted) 70%,transparent);transition:color .15s,background .15s}.track:hover .src-icon{color:var(--muted);background:color-mix(in srgb,var(--text) 7%,transparent)}.src-icon-tag{font-size:.64rem;font-weight:800;letter-spacing:.02em}.src-icon.mode-preview .src-icon-tag{color:var(--warn)}.src-icon.is-missing{color:var(--danger)}.explicit{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 60%,transparent);color:var(--surface);font-size:.6rem;font-weight:800;vertical-align:1px}.mode-tag{margin-left:6px;font-size:.66rem;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--warn);color:#1a1205;vertical-align:middle}.icon-btn{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;color:var(--muted);transition:color .15s,transform .15s,opacity .15s,background .15s;flex:none;position:relative;text-decoration:none}.icon-btn:hover:not(:disabled){color:var(--text);transform:scale(1.06)}.icon-btn.on,.icon-btn.like.on{color:var(--accent)}.icon-btn.on:after{content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:currentColor}.icon-btn.like.on:after,.lib-open.on:after{display:none}.btn,.btn-ghost,.btn-danger,.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 28px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}.btn{background:var(--accent);color:var(--on-accent)}.btn:hover:not(:disabled){transform:scale(1.04);background:color-mix(in srgb,var(--accent) 88%,#fff)}.btn-ghost{border:1px solid color-mix(in srgb,var(--text) 45%,transparent);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--text);transform:scale(1.04)}.btn-danger{border:1px solid color-mix(in srgb,var(--danger) 60%,transparent);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn-google{background:#fff;color:#121212;border:1px solid #fff}.btn-google:hover{transform:scale(1.03)}.btn-spotify{background:var(--text);color:var(--bg)}.btn-spotify-ghost{justify-self:start}.btn-sm{height:34px;padding:0 18px;font-size:.86rem}.btn-play{height:48px;padding:0 30px}.btn-wide{width:100%}.link-btn{color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:.9rem;justify-self:center}.link-btn:hover{color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);font-size:.88rem;font-weight:600;color:var(--text);transition:background .15s}.chip:hover:not(:disabled){background:color-mix(in srgb,var(--text) 18%,transparent)}.chip.on{background:var(--accent);color:var(--on-accent)}.chip-count{font-size:.72rem;font-weight:800;opacity:.7}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%}.seg button{height:34px;padding:0 14px;border-radius:999px;font-size:.86rem;font-weight:600;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text);transition:background .15s}.seg button:hover{background:color-mix(in srgb,var(--text) 18%,transparent)}.seg button.on{background:var(--text);color:var(--bg)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:16px;background:transparent;cursor:pointer;--pct: 50%}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--text) var(--pct),color-mix(in srgb,var(--text) 30%,transparent) var(--pct))}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--text) var(--pct),color-mix(in srgb,var(--text) 30%,transparent) var(--pct))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000080;opacity:0;transition:opacity .15s}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff;opacity:0}input[type=range]:hover::-webkit-slider-runnable-track,input[type=range]:focus-visible::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--pct),color-mix(in srgb,var(--text) 30%,transparent) var(--pct))}input[type=range]:hover::-moz-range-track{background:linear-gradient(to right,var(--accent) var(--pct),color-mix(in srgb,var(--text) 30%,transparent) var(--pct))}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus-visible::-webkit-slider-thumb{opacity:1}input[type=range]:hover::-moz-range-thumb{opacity:1}.field{display:grid;gap:8px;font-size:.9rem}.field>span{color:var(--text);font-weight:700}.field-label{display:block;color:var(--text);font-size:.88rem;font-weight:700;margin:18px 0 8px}input:not([type]),input[type=email],input[type=password],input[type=text],select,textarea{background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid color-mix(in srgb,var(--text) 30%,transparent);border-radius:var(--radius-sm);height:48px;padding:0 14px;min-width:0;transition:border-color .15s,box-shadow .15s}textarea{height:auto;padding:12px 14px}select option{background:var(--surface)}input:hover,select:hover{border-color:color-mix(in srgb,var(--text) 60%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.switch{display:flex;align-items:center;gap:12px;font-size:.92rem;cursor:pointer;margin-top:14px}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch span{width:40px;height:22px;border-radius:99px;background:color-mix(in srgb,var(--text) 30%,transparent);position:relative;flex:none;transition:background .2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.searchbox{display:flex;align-items:center;gap:12px;max-width:560px;height:50px;padding:0 10px 0 18px;border-radius:999px;background:var(--raise);border:1px solid transparent;color:var(--muted)}.searchbox:focus-within{border-color:var(--text)}.searchbox input,.searchbox input:not([type]){flex:1;border:0;border-radius:0;background:transparent;height:100%;padding:0;box-shadow:none!important;font-size:1rem}.notice{padding:12px 16px;border-radius:var(--radius);background:color-mix(in srgb,var(--warn) 12%,var(--surface));font-size:.9rem;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.notice-error{background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.form-error{color:var(--danger);font-size:.9rem;font-weight:600}.basis{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.88rem;max-width:72ch}.basis svg{flex:none;margin-top:2px}.empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:56px 16px;color:var(--muted)}.empty h3{color:var(--text);font-size:1.2rem}.empty-icon{color:var(--muted)}.empty-body{max-width:46ch;font-size:.92rem}.skeleton-list{display:grid;gap:8px}.skeleton-row{height:54px;border-radius:var(--radius-sm);background:var(--card);animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{50%{opacity:.5}}.collection-head{display:grid;grid-template-columns:clamp(160px,18vw,232px) minmax(0,1fr);gap:clamp(20px,2.4vw,28px);align-items:end;padding-top:12px}.collection-art{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 8px 40px #0009}.collection-art .cover{width:100%;height:100%;border-radius:0}.collection-info{display:grid;gap:8px;min-width:0}.collection-info h1{font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}.collection-desc{display:grid;gap:6px;color:var(--muted);font-size:.92rem}.collection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.rename{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-body);font-size:1rem;letter-spacing:0;font-weight:400}.rename input{flex:1 1 200px}.export-menu{position:relative}.export-menu>summary{cursor:pointer;height:44px}.export-list{position:absolute;z-index:10;top:calc(100% + 6px);left:0;min-width:260px;display:grid;padding:6px;border-radius:var(--radius);background:var(--raise);box-shadow:0 16px 40px #0000008c}.export-list button{text-align:left;padding:10px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.export-list button:hover{background:var(--hover)}.artist-hero{position:relative;display:flex;align-items:flex-end;min-height:300px}.artist-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 30%,var(--surface)),var(--surface));opacity:.6}.artist-hero-inner{position:relative;display:flex;align-items:flex-end;gap:clamp(20px,2.4vw,28px);padding:24px var(--pad-x) 24px;width:100%}.artist-avatar{width:clamp(132px,15vw,220px);box-shadow:0 8px 40px #0009}.artist-meta{display:grid;gap:10px;min-width:0}.artist-meta h1{font-size:clamp(2.4rem,6vw,5.5rem);letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}.artist-bio{color:var(--muted);max-width:70ch;white-space:pre-line;font-size:.92rem}.profile-head{display:flex;align-items:flex-end;gap:clamp(16px,2.4vw,28px);padding-top:16px;flex-wrap:wrap}.profile-head>div{display:grid;gap:8px;min-width:0}.profile-head h1{font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.04em}.search-top{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:24px;align-items:start}.top-result{position:relative;display:grid;gap:12px;padding:20px;border-radius:var(--radius);background:var(--card);cursor:pointer;transition:background .25s}.top-result:hover{background:var(--card-hover)}.top-result .eyebrow{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}.top-cover{width:96px;box-shadow:0 8px 24px #00000080}.top-result h2{font-size:2rem;font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere}.top-result .play-fab{position:absolute;right:20px;bottom:20px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease)}.top-result:hover .play-fab{opacity:1;transform:none}.source-status{display:flex;flex-wrap:wrap;gap:8px}.source-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);font-size:.78rem;font-weight:600;color:var(--muted)}.source-pill i{width:7px;height:7px;border-radius:50%;background:currentColor}.source-pill.ok i{background:var(--ok)}.source-pill.loading i{background:var(--muted);animation:shimmer 1s infinite}.source-pill.error{color:var(--danger)}.source-pill.off{opacity:.6}.load-more{justify-self:center;margin-top:8px}.search-note{display:grid;gap:8px;max-width:86ch;border-top:1px solid var(--line);padding-top:18px}.search-note a{color:var(--text);font-weight:700}.playerbar{grid-area:player;height:var(--player-h);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:16px;padding:0 8px;position:relative;z-index:5}[data-player=ilot] .playerbar{margin-bottom:var(--gutter);background:var(--surface);border-radius:var(--radius);padding:0 12px}.pb-track{display:flex;align-items:center;gap:14px;min-width:0}.pb-cover{width:56px;height:56px;flex:none;border-radius:var(--radius-sm);overflow:hidden;transition:transform .2s}.pb-cover:hover{transform:scale(1.04)}.pb-cover .cover{width:100%;height:100%}.pb-meta{min-width:0;display:grid;justify-items:start}.pb-meta .track-title{font-size:.92rem}.pb-meta .track-sub{font-size:.8rem}.pb-source{margin-top:3px;max-width:100%;display:inline-flex;align-items:center}.pb-source .src-badge{font-size:.66rem;padding:1px 7px}.pb-idle{font-size:.88rem;color:var(--muted);padding-left:8px}.pb-center{display:grid;gap:4px;justify-items:center;min-width:0}.pb-right{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.pb-vis{width:64px;height:22px;margin-right:6px}.controls{display:flex;align-items:center;gap:14px}.controls .icon-btn{color:var(--muted)}.controls .icon-btn:hover:not(:disabled){color:var(--text)}.controls .icon-btn.on{color:var(--accent)}.play-btn{width:34px;height:34px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;transition:transform .12s var(--ease)}.play-btn:hover:not(:disabled){transform:scale(1.06)}.repeat-one{position:absolute;right:3px;top:3px;font-size:.55rem;font-weight:800;color:var(--accent)}.progress{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;width:100%;max-width:620px}.progress .time{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.volume{display:flex;align-items:center;width:130px}.visualizer{display:block}.yt-dock{position:fixed;z-index:35;left:16px;bottom:calc(var(--player-h) + 16px);width:calc(var(--sidebar-w) - 16px);display:none;padding:8px 8px 10px;border-radius:16px;background:#181818;box-shadow:0 24px 60px #000000a6;animation:np-in .25s var(--ease)}.yt-dock.is-active{display:grid;gap:8px}.yt-dock.in-np{z-index:45;left:50%;right:auto;transform:translate(-50%);bottom:auto;top:max(72px,env(safe-area-inset-top));width:min(480px,calc(100% - 40px))}.yt-dock.in-np+.playerbar{z-index:5}.yt-frame{width:100%;height:200px;min-width:200px;border-radius:10px;overflow:hidden;background:#000}.yt-dock.in-np .yt-frame{width:100%;height:auto;aspect-ratio:16 / 9;min-height:200px}.yt-frame iframe,.yt-frame>div{width:100%;height:100%;display:block;border:0}.yt-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px;min-width:0}.yt-title{font-size:.84rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-link{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:.74rem;font-weight:700;color:#b3b3b3;text-decoration:none}.yt-link:hover{color:#fff}.side-panel{grid-area:panel;overflow-y:auto;min-width:0;animation:panel-in .25s var(--ease);scrollbar-width:thin}@keyframes panel-in{0%{opacity:0;transform:translate(10px)}}.side-close{position:absolute;right:12px;top:16px;z-index:1}.side-panel-body{padding:20px 16px 28px;display:grid;gap:12px}.side-panel-body>h3{padding-right:40px;font-size:1.05rem}.settings-card .side-panel-body{padding:0}.qrow{display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm)}.qrow:hover{background:var(--hover)}.qrow-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;padding:6px}.qrow-main>div{min-width:0}.qrow.is-current .track-title{color:var(--accent)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.row-between .switch{margin-top:0}.eq{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:16px 4px;border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 60%,transparent)}.eq.is-off{opacity:.45}.eq-band{display:grid;justify-items:center;gap:6px}.eq-band input[type=range]{writing-mode:vertical-lr;direction:rtl;width:16px;height:120px}.eq-band input[type=range]::-webkit-slider-runnable-track{width:4px;height:auto;background:color-mix(in srgb,var(--text) 25%,transparent)}.eq-band input[type=range]::-webkit-slider-thumb{opacity:1;margin-top:0;margin-left:-4px;background:var(--accent)}.eq-band input[type=range]::-moz-range-thumb{opacity:1;background:var(--accent)}.eq-val,.eq-freq{font-family:var(--font-mono);font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}.eq-val{color:var(--text)}.source-cover{width:100%;max-width:240px;border-radius:var(--radius)}.caps{display:grid;margin:4px 0}.caps>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.88rem}.caps>div:last-child{border-bottom:0}.caps dt{color:var(--muted)}.caps dd{margin:0}.nowplaying{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:var(--surface);overflow:hidden;animation:np-in .3s var(--ease)}@keyframes np-in{0%{opacity:0;transform:translateY(24px)}}.np-backdrop{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;filter:blur(90px) saturate(1.2);opacity:.35}.np-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,var(--surface) 80%)}.np-backdrop .cover{width:100%;height:100%;border-radius:0}.np-close{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;z-index:2;color:var(--text);background:#00000059}.np-inner{position:relative;display:grid;gap:20px;width:min(440px,calc(100% - 40px))}.np-art{width:100%;aspect-ratio:1;border-radius:24px;box-shadow:0 24px 64px #0009}.np-art .cover{width:100%;height:100%;border-radius:24px}[data-cover=vinyle] .np-art{border-radius:50%}.np-info{display:flex;align-items:center;justify-content:space-between;gap:12px}.np-titles{min-width:0}.np-titles h2{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}.np-titles p{color:var(--muted);font-size:1.02rem}.np-source{justify-self:start}.np-vis{width:100%;height:40px}.progress-big{max-width:none}.controls-big{justify-content:space-between;gap:16px}.controls-big .play-btn{width:72px;height:72px;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 24px rgba(var(--accent-rgb),.35)}.menu{position:fixed;z-index:60;min-width:240px;max-width:320px;padding:4px;border-radius:var(--radius-sm);background:#282828;color:#fff;box-shadow:0 16px 24px #0000004d,0 6px 8px #0003;display:grid;animation:pop .12s var(--ease)}[data-mode=light] .menu{background:var(--surface);color:var(--text)}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.menu>button,.menu>a,.menu-sub-list>button{display:flex;align-items:center;justify-content:space-between;gap:10px;height:40px;padding:0 12px;border-radius:3px;text-align:left;font-size:.9rem;font-weight:500;text-decoration:none}.menu>button:hover:not(:disabled),.menu>a:hover,.menu-sub-list>button:hover{background:#ffffff1a}.menu-head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:4px;min-width:0}.menu-head>div{min-width:0}.menu-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-sub{color:#b3b3b3;font-size:.82rem}.menu-sub-list{display:grid;max-height:220px;overflow-y:auto;padding-left:8px;border-left:1px solid rgba(255,255,255,.1);margin:2px 0 4px 12px}.menu-sub-list>button{justify-content:flex-start}.menu-sep{height:1px;background:#ffffff1a;margin:4px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000b3;display:grid;place-items:center;padding:16px;animation:page-in .15s}.modal{position:relative;width:min(680px,100%);max-height:calc(100% - 32px);overflow-y:auto;background:var(--raise);border-radius:var(--radius-lg);padding:28px;display:grid;gap:18px;box-shadow:0 24px 64px #0009}.modal-close{position:absolute;right:14px;top:14px}.inspect-head{display:flex;gap:16px;align-items:center;padding-right:40px}.inspect-head h2{font-size:1.4rem;font-weight:800}.match-section{display:grid;gap:10px}.match-list{display:grid;gap:6px}.match{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px;border-radius:var(--radius);background:color-mix(in srgb,var(--text) 5%,transparent)}.match.is-chosen{box-shadow:inset 0 0 0 2px var(--accent)}.match-main{min-width:0}.match .btn,.match .btn-ghost{height:32px;padding:0 14px;font-size:.82rem}.conf{font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:99px;white-space:nowrap}.conf-high{color:var(--on-accent);background:var(--ok)}.conf-mid{color:#1a1205;background:var(--warn)}.conf-low{color:#fff;background:var(--danger)}.toasts{position:fixed;z-index:70;left:50%;bottom:calc(var(--player-h) + 20px);transform:translate(-50%);display:grid;gap:8px;width:min(480px,calc(100% - 32px));pointer-events:none}.toast{padding:12px 18px;border-radius:var(--radius);background:#2e77d0;color:#fff;font-size:.9rem;font-weight:600;box-shadow:0 10px 30px #00000073;animation:toast-in .2s var(--ease);text-align:center}.toast-info{background:var(--text);color:var(--bg)}.toast-error{background:var(--danger);color:#1a0508}.toast-warn{background:var(--warn);color:#1a1205}.toast-success{background:var(--accent);color:var(--on-accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.taste{display:grid;gap:16px;padding:clamp(20px,3vw,28px);border-radius:var(--radius-lg);background:var(--card)}.taste>.btn{justify-self:start}.taste-compact{padding:0;background:none}.smart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}.smart-card{display:grid;gap:4px;padding:18px;border-radius:var(--radius);background:var(--card);text-decoration:none;transition:background .25s}.smart-card:hover{background:var(--card-hover)}.smart-count{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-.03em}.smart-name{font-weight:700}.smart-rule{color:var(--muted);font-size:.84rem}.dropzone{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:24px;border-radius:var(--radius-lg);border:2px dashed color-mix(in srgb,var(--text) 25%,transparent);color:var(--muted);transition:border-color .2s,background .2s}.dropzone>div{flex:1 1 260px}.dropzone strong{color:var(--text)}.dropzone.is-drag{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.danger-zone{border-top:1px solid var(--line);padding-top:12px}.danger-zone summary{cursor:pointer;color:var(--muted);font-weight:700}.file-list{display:grid;gap:2px;margin-top:10px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.9rem}.file-row:hover{background:var(--hover)}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.import-card,.settings-card{display:grid;gap:14px;align-content:start;padding:clamp(18px,2.4vw,24px);border-radius:var(--radius-lg);background:var(--card);min-width:0}.import-card .btn,.import-card .btn-ghost,.settings-card>.btn,.settings-card>.btn-ghost,.settings-card>.btn-danger,.settings-card>.btn-spotify{justify-self:start}.settings-card h2{display:flex;align-items:center;gap:10px;font-size:1.2rem}.settings-card.danger h2{color:var(--danger)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;align-items:start}.steps-list{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted);font-size:.92rem}.steps-list a{color:var(--text);font-weight:700}.import-progress{display:grid;gap:8px}.bar{height:4px;border-radius:4px;background:color-mix(in srgb,var(--text) 18%,transparent);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);transition:width .3s}.import-report{display:grid;gap:6px}.report-row{display:grid;gap:2px;padding:10px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 12%,transparent);text-decoration:none}.stat-row{display:flex;flex-wrap:wrap;gap:12px}.stat{display:grid;gap:2px;padding:16px 20px;border-radius:var(--radius);background:var(--card);min-width:170px;font-size:.86rem;color:var(--muted)}.stat-n{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}.stat-n.ok{color:var(--ok)}.stat-n.maybe{color:var(--warn)}.stat-n.none{color:var(--danger)}.legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.84rem}.source-table{display:grid}.source-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,auto) minmax(0,1.5fr);gap:6px 20px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.source-name{font-weight:700}.source-caps{font-size:.9rem}.source-detail{grid-column:1 / -1;max-width:96ch}.state{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:99px;font-size:.76rem;font-weight:700;white-space:nowrap;justify-self:start;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--muted)}.state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.state-actif{color:var(--ok)}.state-inactif{color:var(--warn)}.state-erreur{color:var(--danger)}.state-prevu{color:var(--muted)}.service-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px}.service-head>div{display:grid;gap:2px;min-width:0}.service-logo{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex:none;background:#fff;color:#121212}.service-logo.spotify{background:#000;color:#1ed760}.service-logo.small{width:22px;height:22px;font-size:.8rem}.sp-import{display:grid;gap:12px}.sp-list{display:grid;gap:2px;max-height:480px;overflow-y:auto;scrollbar-width:thin}.sp-row{display:grid;grid-template-columns:22px 48px minmax(0,1fr);align-items:center;gap:12px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.sp-row:hover{background:var(--hover)}.sp-row.is-checked{background:rgba(var(--accent-rgb),.12)}.sp-row .lib-icon,.sp-row .cover{width:48px;height:48px}.sp-main{min-width:0;display:grid}.sp-check{width:18px;height:18px;accent-color:var(--accent)}.facts{display:grid}.fact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(110px,auto) minmax(0,2fr);gap:4px 16px;padding:12px 0;border-top:1px solid var(--line);align-items:baseline;font-size:.9rem}.fact-what{font-weight:700}.fact-status{font-weight:700;color:var(--accent)}.studio-section{display:grid;gap:16px;padding-bottom:32px;border-bottom:1px solid var(--line)}.studio-section.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:40px}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px}.preset{display:grid;gap:4px;justify-items:start;padding:16px;border-radius:var(--radius-lg);border:2px solid;text-align:left;transition:transform .2s var(--ease)}.preset:hover{transform:translateY(-2px)}.preset-swatches{display:flex;gap:4px;margin-bottom:8px}.preset-swatches i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px #8080804d}.preset-name{font-weight:800}.preset-mode{font-size:.8rem}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}.color-field{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px;border-radius:var(--radius);background:var(--card);font-size:.9rem}.color-field code{font-family:var(--font-mono);font-size:.74rem;color:var(--muted)}.color-field .seg{grid-row:span 2}.contrast{font-size:.86rem;color:var(--ok)}.contrast.is-bad{color:var(--warn)}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:10px}.font-card{display:grid;gap:4px;justify-items:start;padding:14px;border-radius:var(--radius-lg);background:var(--card);border:2px solid transparent;text-align:left;font-size:.88rem;color:var(--muted);transition:border-color .15s}.font-card.on{border-color:var(--accent);color:var(--text)}.font-sample{font-size:2rem;line-height:1.1;color:var(--text)}.preview{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;border-radius:var(--radius-lg);background:var(--card)}.preview-cover{width:56px;height:56px}.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-form input{flex:1 1 220px}.saved-themes{display:flex;flex-wrap:wrap;gap:10px}.saved-theme{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:999px;border:1px solid rgba(128,128,128,.3)}.saved-theme i{width:12px;height:12px;border-radius:50%}.saved-apply{font-weight:700;font-size:.88rem}.row-wrap{display:flex;flex-wrap:wrap;gap:10px}textarea.code{font-family:var(--font-mono);font-size:.8rem;width:100%;resize:vertical}.auth-page{min-height:calc(100% - 80px);align-content:center}.auth-card{width:min(440px,100%);justify-self:center;display:grid;gap:18px;padding:clamp(24px,4vw,40px);border-radius:var(--radius-lg);background:var(--card)}.auth-card .logo{font-size:22px;justify-self:center}.auth-card h1{font-size:clamp(1.8rem,3.4vw,2.4rem);text-align:center}.auth-card>p.muted{text-align:center}.auth-form{display:grid;gap:16px}.auth-form.narrow{max-width:420px}.auth-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.84rem}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.mobile-nav{display:none}@media(max-width:1180px){:root{--sidebar-w: 260px}.shell.has-panel{grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-areas:"side main" "player player"}[data-sidebar=droite] .shell.has-panel{grid-template-columns:minmax(0,1fr) var(--sidebar-w);grid-template-areas:"main side" "player player"}.side-panel{position:fixed;z-index:30;right:var(--gutter);top:var(--gutter);bottom:calc(var(--player-h) + 4px);width:min(var(--panel-w),calc(100% - 16px));box-shadow:-16px 0 48px #0000008c}.pb-vis{display:none}.search-top{grid-template-columns:1fr}}@media(max-width:1024px)and (min-width:821px){:root{--sidebar-w: 84px}.nav-link span,.lib-text,.nav-lib-title span,.lib-open,.nav-lib-head>.icon-btn:not(.lib-open){display:none}.brand{justify-content:center;padding:0}.brand .logo-word{display:none}.nav-panel{padding:12px 8px}.nav-link,.nav-lib-head{justify-content:center;padding:0}.nav-lib-title{margin:0;pointer-events:none}.lib-item,.account-chip{justify-content:center;gap:0;padding:6px}.volume{width:96px}}@media(max-width:820px){:root{--player-h: 64px;--gap: 28px;--pad-x: 16px;--gutter: 0px;--radius: 12px;--radius-lg: 20px}.shell,.shell.has-panel,[data-sidebar=droite] .shell,[data-sidebar=droite] .shell.has-panel{padding:0;gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"main" "player" "nav"}.sidebar{display:none}.main.panel{border-radius:0;background:var(--surface)}.main-scroll{overflow-x:hidden}.topbar{height:60px;padding-top:env(safe-area-inset-top);box-sizing:content-box;background:color-mix(in srgb,var(--surface) 90%,transparent)}.topbar-nav,.topbar-search kbd{display:none}.topbar-search{min-width:0;height:42px}.mobile-nav{grid-area:nav;display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(0deg,#000 50%,#000000d9);padding:6px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))}[data-mode=light] .mobile-nav{background:var(--surface);border-top:1px solid var(--line)}.mobile-nav a{display:grid;justify-items:center;gap:4px;padding:6px 2px;min-height:52px;font-size:.68rem;font-weight:600;color:var(--muted);text-decoration:none}.mobile-nav a svg{width:24px;height:24px}.mobile-nav a.active{color:var(--text)}.mobile-nav a.active svg{color:var(--accent)}.playerbar,[data-player=ilot] .playerbar{grid-template-columns:minmax(0,1fr) auto;padding:0 8px;gap:8px;margin:0 8px 6px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 22%,#1f1f1f);height:var(--player-h)}[data-mode=light] .playerbar{background:color-mix(in srgb,var(--accent) 18%,#fff)}.pb-center .progress,.pb-right,.pb-center .controls>.icon-btn:not(:nth-child(4)),.pb-source{display:none}.pb-cover{width:46px;height:46px;border-radius:8px}.play-btn{width:40px;height:40px}.yt-dock{left:8px;right:8px;width:auto;bottom:calc(var(--player-h) + 70px + env(safe-area-inset-bottom))}.yt-frame{width:100%;height:auto;aspect-ratio:16 / 9;min-height:200px}.side-panel{right:0;top:0;bottom:calc(var(--player-h) + 70px);width:100%;border-radius:0}.track{grid-template-columns:48px minmax(0,1fr) auto 40px 40px;gap:10px;padding:8px 4px}.src-icon{padding:0 2px}.track-cover{width:48px;height:48px;border-radius:10px}.track-num,.track-dur{display:none}.track .icon-btn{opacity:1!important;width:40px;height:40px}.collection-head{grid-template-columns:1fr;justify-items:center;text-align:center}.collection-art{width:min(240px,66vw);border-radius:var(--radius-lg)}.collection-actions{justify-content:center}.artist-hero{min-height:0}.artist-hero-inner{flex-direction:column;align-items:center;text-align:center;padding-top:24px}.artist-meta .collection-actions{justify-content:center}.mix-row{gap:12px}.mix-feature{grid-template-columns:1fr 112px;min-height:0;gap:14px;border-radius:var(--radius-lg);padding:18px}.mix-row .mix-feature:first-child{background:var(--accent);color:var(--on-accent)}.mix-row .mix-feature:first-child .muted,.mix-row .mix-feature:first-child .mix-artists{color:color-mix(in srgb,var(--on-accent) 75%,transparent)}.mix-row .mix-feature:first-child .eyebrow{color:var(--on-accent)}.mix-feature .mix-art{order:2;border-radius:16px}.mix-body{padding-right:0}.mix-feature .play-fab{display:none}.card-row{grid-auto-columns:148px;gap:12px}.card{padding:0;background:transparent}.card:hover{background:transparent}.card-art{border-radius:var(--radius-lg);margin-bottom:8px}.card-play{opacity:1;transform:none;width:36px;height:36px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.shortcuts{grid-template-columns:1fr 1fr;gap:8px}.shortcut{min-height:56px;padding-right:8px;font-size:.84rem;border-radius:10px}.shortcut .lib-icon,.shortcut-art{width:56px;height:56px}.shortcut .play-fab{display:none}.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.genre-tile{border-radius:var(--radius);font-size:1rem}.match{grid-template-columns:44px minmax(0,1fr) auto}.match .conf{grid-column:2;justify-self:start}.source-row,.fact{grid-template-columns:1fr auto}.source-caps,.fact-detail{grid-column:1 / -1}.toasts{bottom:calc(var(--player-h) + 76px)}.caps>div{grid-template-columns:1fr;gap:2px}.modal{padding:22px 18px;border-radius:20px 20px 0 0;align-self:end;max-height:88%}.modal-backdrop{padding:0;place-items:end stretch}.menu{left:8px!important;right:8px;bottom:calc(env(safe-area-inset-bottom) + 8px);top:auto!important;max-width:none;border-radius:16px;padding:8px}.menu>button,.menu>a,.menu-sub-list>button{height:48px;font-size:.95rem}.np-inner{width:calc(100% - 40px)}.controls-big .play-btn{width:68px;height:68px}.export-list{left:50%;transform:translate(-50%)}h1{font-size:1.9rem}.collection-info h1,.artist-meta h1{font-size:2rem}}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 28%,transparent) transparent}::-webkit-scrollbar{width:12px;height:12px;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 22%,transparent);border-radius:99px;border:3px solid transparent;background-clip:padding-box;min-height:40px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 40%,transparent);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}::-webkit-scrollbar-corner,::-webkit-scrollbar-button{display:none;background:transparent}.card-row::-webkit-scrollbar{height:8px}.card-row::-webkit-scrollbar-thumb{border-width:2px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--raise) inset;transition:background-color 9999s}input::placeholder{color:var(--muted);opacity:1}input[type=search]::-webkit-search-cancel-button{display:none}input[type=checkbox]:not(.switch input){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin:0;border-radius:6px;border:2px solid color-mix(in srgb,var(--text) 45%,transparent);background:transparent;display:inline-grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s;flex:none}input[type=checkbox]:not(.switch input):hover{border-color:var(--text)}input[type=checkbox]:not(.switch input):checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:not(.switch input):checked:after{content:"";width:5px;height:10px;border:solid var(--on-accent);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}.tooltip{position:fixed;z-index:90;transform:translate(-50%,-100%);max-width:280px;padding:6px 10px;border-radius:6px;background:#282828;color:#fff;font-size:.8rem;font-weight:600;line-height:1.35;box-shadow:0 8px 24px #00000080;pointer-events:none;animation:tip-in .12s var(--ease);text-align:center}.tooltip.below{transform:translate(-50%)}@keyframes tip-in{0%{opacity:0}}.profile{position:relative}.profile-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0000008c;transition:transform .15s,background .15s}.profile-btn:hover,.profile-btn.on{transform:scale(1.05);background:#000000bf}.profile-btn .avatar{width:34px;height:34px}[data-mode=light] .profile-btn{background:#00000014}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:280px;padding:6px;border-radius:10px;background:#282828;color:#fff;display:grid;box-shadow:0 16px 40px #0000008c;animation:pop .14s var(--ease);transform-origin:top right}.profile-menu>button{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:6px;text-align:left;font-size:.92rem;font-weight:600;color:#fff}.profile-menu>button svg{color:#b3b3b3;flex:none}.profile-menu>button:hover{background:#ffffff1a}.profile-menu>button:hover svg{color:#fff}.profile-menu .profile-cta{background:var(--accent);color:var(--on-accent);margin:4px 0}.profile-menu .profile-cta svg{color:var(--on-accent)}.profile-menu .profile-cta:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}.profile-menu .menu-sep{background:#ffffff1a}.profile-head{display:flex;align-items:center;gap:12px;padding:10px 12px 12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:4px}.profile-head .avatar{width:40px;height:40px;font-size:1rem}.profile-id{display:grid;min-width:0}.profile-id strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-id span{font-size:.78rem;color:#b3b3b3}.select{position:relative}.select-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:150px;height:40px;padding:0 12px 0 16px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);font-weight:700;font-size:.9rem;transition:background .15s}.select-btn:hover,.select-btn.on{background:color-mix(in srgb,var(--text) 18%,transparent)}.select-list{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:100%;padding:4px;border-radius:8px;background:#282828;color:#fff;display:grid;box-shadow:0 16px 40px #0000008c;animation:pop .12s var(--ease);max-height:300px;overflow-y:auto}.select-list>button{display:flex;align-items:center;justify-content:space-between;gap:12px;height:38px;padding:0 12px;border-radius:4px;text-align:left;font-size:.9rem;font-weight:600;white-space:nowrap}.select-list>button.is-active{background:#ffffff1a}.select-list>button.is-selected{color:var(--accent)}.cpick{position:relative;grid-row:span 2}.cpick-swatch{width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff26,0 2px 8px #00000059;transition:transform .15s}.cpick-swatch:hover{transform:scale(1.08)}.cpick-pop{position:absolute;left:0;top:calc(100% + 8px);z-index:25;width:248px;padding:12px;border-radius:12px;background:#282828;color:#fff;display:grid;gap:12px;box-shadow:0 16px 40px #0000008c;animation:pop .12s var(--ease)}.cpick-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.cpick-cell{aspect-ratio:1;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff26;transition:transform .12s}.cpick-cell:hover{transform:scale(1.12)}.cpick-cell.on{box-shadow:0 0 0 2px #fff}.cpick-hue{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:#b3b3b3}.cpick-hue input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:99px;background:linear-gradient(90deg,#f33,#fb3,#3f6,#3cf,#36f,#c3f,#f33)!important}.cpick-hue input[type=range]::-moz-range-track{height:10px;border-radius:99px;background:linear-gradient(90deg,#f33,#fb3,#3f6,#3cf,#36f,#c3f,#f33)!important}.cpick-hue input[type=range]::-webkit-slider-thumb{opacity:1;width:16px;height:16px;margin-top:-3px;border:2px solid #fff;background:transparent}.cpick-hue input[type=range]::-moz-range-thumb{opacity:1;width:14px;height:14px;border:2px solid #fff;background:transparent}.cpick-hex{height:38px!important;font-family:var(--font-mono);font-size:.86rem;background:#ffffff14!important;color:#fff;border-color:#fff3!important}@media(max-width:820px){.mobile-nav{grid-template-columns:repeat(4,1fr)}.profile-btn{width:40px;height:40px}.profile-menu{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;border-radius:16px;padding:8px;z-index:80}.profile-menu>button{height:50px;font-size:1rem}.select-list{right:auto;left:0}.tooltip{display:none}}[data-sidebar=droite] .yt-dock{left:auto;right:16px}[data-sidebar-compact=true] .yt-dock{left:auto;right:16px;width:372px}@media(max-width:1024px)and (min-width:821px){.yt-dock{left:auto;right:16px;width:372px}}@media(max-width:820px){.yt-dock{left:8px;right:8px;width:auto}}.nav-lib-list{padding-bottom:0}body:has(.yt-dock.is-active) .nav-lib-list{margin-bottom:250px}:root{--panel-w: 380px}.title-link{display:block;text-decoration:none;color:inherit}.title-link:hover{text-decoration:underline;text-underline-offset:2px}.link-more{justify-self:start;color:var(--text);font-weight:700;font-size:.88rem}.link-more:hover{text-decoration:underline}.icon-btn.big{width:48px;height:48px}.play-fab.big{width:56px;height:56px}.track-page .tp-head{position:relative;display:flex;align-items:flex-end;gap:clamp(18px,2.4vw,28px);padding:32px var(--pad-x) 28px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,#535353),color-mix(in srgb,var(--accent) 10%,var(--surface)))}.tp-cover{width:clamp(150px,16vw,232px);box-shadow:0 8px 40px #0000008c;border-radius:6px}.tp-info{display:grid;gap:8px;min-width:0}.tp-info h1{font-size:clamp(2rem,5.4vw,5rem);letter-spacing:-.045em;line-height:1;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.tp-info h1.long{font-size:clamp(1.9rem,3.8vw,3.6rem)}.tp-info h1.xl-long{font-size:clamp(1.7rem,2.8vw,2.6rem)}.tp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.9rem;color:var(--text)}.tp-meta .sep{opacity:.7;font-size:.7em}.tp-meta span:not(.sep){color:color-mix(in srgb,var(--text) 85%,transparent)}.tp-actions{display:flex;align-items:center;gap:16px}.tp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:32px;align-items:start}.tp-artists{display:grid;gap:8px}.artist-row{display:flex;align-items:center;gap:14px;padding:8px;border-radius:var(--radius);text-decoration:none;transition:background .2s}.artist-row:hover{background:var(--hover)}.artist-row-img{width:76px;height:76px}.artist-row strong{display:block;font-size:1rem}.artist-row .eyebrow{font-size:.78rem;font-weight:700}.lyrics{display:grid;gap:2px;color:color-mix(in srgb,var(--text) 75%,transparent);font-size:.95rem;line-height:1.5;max-width:60ch}.lyrics p{margin:0}.lyrics .link-more{margin-top:6px}.lyrics-credit{margin-top:10px!important;font-size:.74rem;color:var(--muted)}.np-panel{display:grid;gap:16px;padding:14px 16px 28px}.np-panel-head{display:flex;align-items:center;gap:8px;min-height:40px;padding-right:36px}.np-panel-title{flex:1;min-width:0;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-panel-title:hover{text-decoration:underline}.np-media{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px #00000073}.np-media .cover{width:100%;height:100%;border-radius:0}.np-video{aspect-ratio:auto;height:240px;background:#000;box-shadow:none}.np-panel-info{display:flex;align-items:center;gap:12px}.np-panel-text{display:grid;min-width:0;flex:1}.np-panel-name{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-panel-name.small-name{font-size:.95rem;font-weight:700;letter-spacing:0}.np-panel-name:hover,.np-panel-artist:hover{text-decoration:underline}.np-panel-artist{color:var(--muted);font-size:.9rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-card{display:grid;gap:10px;padding:16px;border-radius:var(--radius);background:var(--card);text-decoration:none;color:inherit;overflow:hidden}.np-card-title{font-weight:700;font-size:.95rem}.np-lyrics{background:color-mix(in srgb,var(--accent) 55%,#1a3d2a);color:#fff}.np-lyrics .lp{position:relative;max-height:168px;overflow-y:auto;display:grid;gap:4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.np-lyrics .lp::-webkit-scrollbar{display:none}.lp-line{margin:0;font-size:1.15rem;font-weight:800;line-height:1.35;color:#fff9;transition:color .3s}.lp-line.is-now{color:#fff}.lp-line.is-past{color:#0000008c}.np-artist{padding:0;gap:0}.np-artist-img{position:relative;aspect-ratio:1.4;overflow:hidden}.np-artist-img .cover{width:100%;height:100%;aspect-ratio:auto;border-radius:0}.np-artist-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 40%)}.np-card-title.on-img{position:absolute;left:16px;top:14px;z-index:1;color:#fff}.np-artist-body{display:grid;gap:4px;padding:14px 16px 16px}.np-bio{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.np-next-row{display:flex;align-items:center;gap:12px;padding:6px;border-radius:var(--radius-sm);text-decoration:none}.np-next-row:hover{background:var(--hover)}.side-panel .side-close{top:18px}.yt-dock.in-panel{padding:0;border-radius:var(--radius);box-shadow:none;background:#000;animation:none;z-index:31}.yt-dock.in-panel .yt-frame{height:100%;border-radius:var(--radius)}.gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000;overflow:auto}.gate.splash{place-items:center}.gate-art{position:fixed;top:-4%;right:-4%;bottom:-4%;left:-4%;display:grid;grid-template-columns:repeat(6,1fr);gap:0;transform:rotate(-6deg) scale(1.15);opacity:.4}.gate-art div{aspect-ratio:1;background-size:cover;background-position:center}.gate-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 90% at 30% 50%,#0000008c,#000 85%)}.gate-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(24px,6vw,96px);align-items:center;width:min(1180px,100%);padding:40px clamp(16px,4vw,48px)}.gate-brand{display:grid;gap:20px;color:#fff}.gate-brand h1{font-size:clamp(2.4rem,5.4vw,4.6rem);letter-spacing:-.045em;line-height:1}.gate-brand p{font-size:1.1rem;color:#cfcfcf;max-width:42ch}.gate-form .page{padding:0;animation:none}.gate-form .auth-page{min-height:0}.gate-form .auth-card{background:#121212;box-shadow:0 24px 64px #0009;margin:0}@media(max-width:1180px){.tp-grid{grid-template-columns:1fr}.tp-artists{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:820px){.track-page .tp-head{flex-direction:column;align-items:center;text-align:center;padding-top:24px}.tp-meta{justify-content:center}.tp-cover{width:min(240px,66vw)}.gate-inner{grid-template-columns:1fr;padding-top:32px}.gate-brand{text-align:center;justify-items:center}.gate-brand h1{font-size:2.2rem}.gate-art{grid-template-columns:repeat(4,1fr)}.np-panel-name{font-size:1.2rem}}.yt-dock.yt-mini{width:auto;padding:0;border-radius:12px;background:#000;box-shadow:0 16px 40px #0009}.yt-dock.yt-mini .yt-frame{width:200px;height:200px;min-width:200px;min-height:200px;aspect-ratio:auto;border-radius:12px}.yt-dock.yt-mini.over-karaoke{z-index:60;left:auto;right:24px;bottom:24px}@media(max-width:820px){.yt-dock.yt-mini{left:auto;right:8px}.yt-dock.yt-mini.over-karaoke{right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}}.sl{position:relative;display:grid;gap:6px}.sl-line{margin:0;font-weight:800;line-height:1.3;cursor:pointer;color:#ffffff6b;transform-origin:left center;transition:color .35s,transform .4s var(--ease),filter .4s}.sl-line:hover{color:#ffffffd9}.sl-line.is-past{color:#ffffff9e}.sl-line.is-now{--p: 0%;color:transparent;background:linear-gradient(90deg,#fff var(--p),rgba(255,255,255,.42) calc(var(--p) + 8%));-webkit-background-clip:text;background-clip:text}.np-karaoke-btn{padding:4px 10px;border-radius:999px;background:#00000047;color:#fff;font-size:.78rem;font-weight:700;transition:background .2s}.np-karaoke-btn:hover{background:#00000073}.np-lyrics .lp{display:grid;gap:4px;max-height:168px;overflow-y:auto;scrollbar-width:none;text-decoration:none;color:inherit;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.np-lyrics .lp .sl-line{font-size:1.15rem;line-height:1.35}.np-lyrics .lp .sl-line.is-past{color:#00000080}.np-lyrics .lp .sl-line.is-now{background:linear-gradient(90deg,#fff var(--p),rgba(255,255,255,.5) calc(var(--p) + 8%));-webkit-background-clip:text;background-clip:text}.karaoke{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-rows:auto minmax(0,1fr);background:#0b0b0b;color:#fff;overflow:hidden;animation:np-in .3s var(--ease)}.karaoke:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(90deg,#0009,#0000004d 55%,#0000008c)}.k-backdrop{position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;filter:blur(80px) saturate(1.4) brightness(.65)}.k-backdrop .cover{width:100%;height:100%;border-radius:0}.k-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:max(16px,env(safe-area-inset-top)) 24px 0}.k-close{color:#fff;background:#00000059}.k-label{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.k-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center;min-height:0;padding:8px clamp(20px,5vw,80px) 24px}.k-side{display:grid;gap:18px}.k-art{aspect-ratio:1;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px #0009;transform:scale(.94);transition:transform .6s var(--ease)}.k-art.is-playing{transform:scale(1)}.k-art .cover{width:100%;height:100%;border-radius:0}.k-info{display:flex;align-items:center;justify-content:space-between;gap:12px}.k-titles{min-width:0}.k-titles h2{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}.k-titles p{color:#ffffffb8}.karaoke .progress .time{color:#ffffffc7}.karaoke .icon-btn{color:#fff}.k-lyrics{position:relative;height:100%;min-height:0}.k-sl{height:100%;gap:18px;overflow-y:auto;scrollbar-width:none;padding:32vh 0 42vh;-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent)}.k-sl::-webkit-scrollbar{display:none}.k-sl .sl-line{font-size:clamp(1.6rem,3.2vw,3rem);letter-spacing:-.02em}.k-sl .sl-line.is-now{transform:scale(1.03);filter:drop-shadow(0 0 22px rgba(255,255,255,.22))}.k-sl .sl-line.is-gap{font-size:1.6rem}.k-plain .sl-line{cursor:default;color:#ffffffe0;font-size:clamp(1.2rem,2vw,1.8rem)}.k-note{font-size:.85rem!important;font-weight:600;opacity:.6}.k-empty{display:grid;place-items:center;height:100%;font-size:1.4rem;font-weight:700;opacity:.7;text-align:center}@media(max-width:820px){.k-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;align-items:stretch;padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.k-side{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px 14px}.k-side .progress,.k-side .controls{grid-column:1 / -1}.k-titles h2{font-size:1.15rem}.k-sl{padding:18vh 0 30vh;gap:12px}.k-sl .sl-line{font-size:1.55rem}}.import-page{display:grid;gap:24px}.import-link{display:grid;gap:10px;padding:clamp(18px,2.4vw,24px);border-radius:var(--radius-lg);background:var(--card)}.import-link-row{display:flex;gap:10px}.import-link-row input{flex:1;min-width:0;height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit}.import-link-row input:focus{outline:none;border-color:var(--text)}.import-link-row .btn{height:48px}.import-text{width:100%;resize:vertical;min-height:110px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:.92rem}.import-text:focus{outline:none;border-color:var(--text)}.import-userlists{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:8px}.import-userlist{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius);background:var(--card)}.import-userlist img,.import-userlist .cover{width:56px;height:56px;border-radius:6px;object-fit:cover;flex:none}.import-userlist-text{display:grid;flex:1;min-width:0}.import-userlist-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.import-link-row{flex-direction:column}}:root{--appbar-h: 64px;--card-min: 176px;--shelf-gap: 12px}[data-cards=petit]{--card-min: 144px}[data-cards=grand]{--card-min: 216px}@media(min-width:1800px){:root{--card-min: 196px}[data-cards=petit]{--card-min: 160px}[data-cards=grand]{--card-min: 240px}}.shell{padding-top:0;grid-template-rows:var(--appbar-h) minmax(0,1fr) auto;grid-template-areas:"top top" "side main" "player player"}.shell.has-panel{grid-template-areas:"top top top" "side main panel" "player player player"}[data-sidebar=droite] .shell{grid-template-areas:"top top" "main side" "player player"}[data-sidebar=droite] .shell.has-panel{grid-template-areas:"top top top" "panel main side" "player player player"}.page{max-width:none}.appbar{grid-area:top;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px) minmax(0,1fr);align-items:center;gap:16px;padding:0 4px;min-width:0}.appbar-start,.appbar-center,.appbar-end{display:flex;align-items:center;gap:10px;min-width:0}.appbar-end{justify-content:flex-end;gap:2px}.appbar-logo{display:flex;text-decoration:none;padding:0 4px}.appbar-center .topbar-search{flex:1;max-width:none;height:48px}.appbar-search-slot{flex:1}.appbar .topbar-nav{gap:6px}.appbar .profile-btn{transition:transform .2s var(--ease)}.appbar .profile-btn:hover{transform:scale(1.06)}.home-btn{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--raise);color:var(--muted);transition:color .2s,transform .2s var(--ease)}.home-btn:hover,.home-btn.on{color:var(--text);transform:scale(1.05)}.appbar-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:color .2s,background .2s,transform .2s var(--ease)}.appbar-icon:hover{color:var(--text);background:var(--hover);transform:scale(1.06)}.main-scroll{padding-top:8px}.home{gap:clamp(28px,3vw,40px)}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.home-edit-btn{display:inline-flex;align-items:center;gap:8px}.home-chips{margin-top:-12px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title{text-decoration:none}.section-title:hover h2{text-decoration:underline;text-underline-offset:3px}.section-head .link-more{color:var(--muted);font-size:.86rem;white-space:nowrap}.section-head .link-more:hover{color:var(--text)}.shortcuts{grid-template-columns:repeat(auto-fill,minmax(max(220px,calc((100% - 36px)/4)),1fr));gap:8px 12px}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min),1fr));column-gap:var(--shelf-gap);row-gap:8px}.shelf .card{background:transparent;padding:12px}.shelf .card:hover{background:var(--card)}.shelf-rangee:not(.is-open){grid-template-rows:auto;grid-auto-rows:0;row-gap:0;overflow:hidden;margin:-12px;padding:12px}.shelf-defilement{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:var(--card-min);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}.shelf-defilement .card{scroll-snap-align:start}.genre-grid.is-scroll{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:190px;overflow-x:auto}.card-skel{pointer-events:none}.skel{background:var(--raise);animation:shimmer 1.6s ease-in-out infinite}.card-art.skel{box-shadow:none}.skel-line{height:12px;border-radius:6px;margin-top:6px;width:80%}.skel-line.short{width:50%}.home-editbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 16%,var(--raise));box-shadow:0 12px 32px #00000059;animation:pop .2s var(--ease)}.home-editbar-actions{display:flex;gap:8px}.home.is-editing .home-block{position:relative;padding:14px;border-radius:var(--radius);outline:1px dashed color-mix(in srgb,var(--text) 22%,transparent);outline-offset:-1px;transition:outline-color .2s,background .2s,opacity .2s,transform .2s var(--ease);cursor:grab}.home.is-editing .home-block:hover{outline-color:var(--accent);background:color-mix(in srgb,var(--text) 3%,transparent)}.home.is-editing .home-block.is-hidden{opacity:.45}.home.is-editing .home-block.is-dragging{opacity:.35;transform:scale(.99)}.home.is-editing .home-block.drop-target{outline:2px solid var(--accent)}.home.is-editing .home-block>:not(.block-tools){pointer-events:none}.block-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.block-grip{color:var(--muted);display:grid;place-items:center;width:28px}.block-name{display:grid;margin-right:auto;min-width:0}.block-layout button{height:30px;padding:0 10px;font-size:.78rem}.block-off{padding:8px 0}.order-list{display:grid;gap:6px}.order-row{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 14px;border-radius:var(--radius-sm);background:var(--raise)}.order-row span{margin-right:auto;font-weight:600}.order-row.is-off span{opacity:.5;text-decoration:line-through}.yt-dock.yt-mini{display:grid}.yt-dock.yt-mini:not(.is-active){visibility:hidden}.yt-dock.yt-mini .yt-frame{grid-area:1 / 1}.yt-dock[data-cur="0"] .yt-frame:nth-child(2),.yt-dock[data-cur="1"] .yt-frame:nth-child(1),.yt-dock:not([data-cur]) .yt-frame:nth-child(2){opacity:0;pointer-events:none}.yt-dock.yt-mini.is-masked{opacity:0;pointer-events:none;z-index:-1;left:auto;right:0;bottom:0;box-shadow:none}.sl-word{transition:color .25s}.sl-line.is-now{background:none;color:#ffffff6b;-webkit-background-clip:border-box;background-clip:border-box}.sl-line.is-now .sl-word{--w: 0%;color:transparent;background:linear-gradient(90deg,var(--k-hi, #fff) var(--w),rgba(255,255,255,.42) calc(var(--w) + 1%));-webkit-background-clip:text;background-clip:text}.sl-line.is-now .sl-word.is-on{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--k-hi, #fff) 55%,transparent))}.np-lyrics .lp .sl-line.is-now{color:#ffffff8c;background:none}.np-lyrics .lp .sl-line.is-now .sl-word{background:linear-gradient(90deg,#fff var(--w),rgba(255,255,255,.55) calc(var(--w) + 1%));-webkit-background-clip:text;background-clip:text}.karaoke.k-color-accent{--k-hi: var(--accent)}.karaoke .sl-word{display:inline-block;transition:transform .25s var(--ease),color .25s}.karaoke .sl-line.is-now .sl-word.is-on{transform:translateY(-2px) scale(1.04)}.karaoke .k-sl .sl-line.is-now{transform:none;filter:none}.k-top{flex-wrap:wrap}.k-tools{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px}.k-chip{height:32px;padding:0 12px;border-radius:999px;background:#00000059;color:#fff;font-size:.78rem;font-weight:700;transition:background .2s}.k-chip:hover{background:#0000008c}.karaoke.k-size-moyen .k-sl .sl-line{font-size:clamp(1.3rem,2.4vw,2.2rem)}.karaoke.k-size-geant .k-sl .sl-line{font-size:clamp(2rem,4.4vw,4.4rem)}.karaoke.k-align-centre .k-sl{text-align:center}.karaoke.k-align-centre .sl-line{transform-origin:center}.karaoke .k-body{grid-template-columns:minmax(260px,clamp(300px,26vw,460px)) minmax(0,1fr)}.karaoke .k-lyrics{width:min(1200px,100%)}.karaoke.k-no-side .k-side{display:none}.karaoke.k-no-side .k-lyrics{width:min(1100px,100%);justify-self:center}.karaoke.k-bg-uni .k-backdrop{display:none}.karaoke.k-bg-uni{background:color-mix(in srgb,var(--accent) 22%,#0b0b0b)}.karaoke.k-bg-anime .k-backdrop{animation:k-drift 26s ease-in-out infinite alternate}@keyframes k-drift{0%{transform:scale(1.1) rotate(0) translate(0)}50%{transform:scale(1.3) rotate(8deg) translate(-3%,2%)}to{transform:scale(1.15) rotate(-6deg) translate(3%,-2%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}.home-block{animation:rise-in .5s var(--ease) both;animation-delay:calc(min(var(--i, 0),8)*50ms)}.shortcut{animation:rise-in .4s var(--ease) both;animation-delay:calc(var(--i, 0) * 35ms);transition:background .2s,transform .2s var(--ease)}.card{transition:background .25s,transform .3s var(--ease)}.card:hover{transform:translateY(-3px)}.card-art{transition:box-shadow .3s}.card:hover .card-art{box-shadow:0 14px 34px #0009}.genre-tile{transition:filter .2s,transform .3s var(--ease)}.genre-tile:hover{transform:translateY(-3px) rotate(-.4deg)}.genre-tile:after{transition:transform .4s var(--ease)}.genre-tile:hover:after{transform:rotate(18deg) scale(1.08)}.side-panel{animation:panel-in .3s var(--ease)}.karaoke .k-art{animation:rise-in .5s var(--ease) both}.karaoke .k-sl{animation:rise-in .6s var(--ease) both .1s}[data-motion=reduite] .card:hover,[data-motion=reduite] .genre-tile:hover{transform:none}@media(max-width:1180px){.shell.has-panel{grid-template-areas:"top top" "side main" "player player"}[data-sidebar=droite] .shell.has-panel{grid-template-areas:"top top" "main side" "player player"}.side-panel{top:calc(var(--appbar-h) + var(--gutter))}.appbar{grid-template-columns:auto minmax(0,1fr) auto}.karaoke .k-body{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:32px}}@media(max-width:1024px){.appbar-logo .logo-word{display:none}}@media(max-width:820px){:root{--appbar-h: calc(58px + env(safe-area-inset-top)) ;--card-min: 140px}.shell,.shell.has-panel,[data-sidebar=droite] .shell,[data-sidebar=droite] .shell.has-panel{grid-template-rows:var(--appbar-h) minmax(0,1fr) auto auto;grid-template-areas:"top" "main" "player" "nav"}.appbar{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:env(safe-area-inset-top) 12px 0;background:var(--surface)}.home-btn,.appbar-logo .logo-word{display:none}.appbar-center .topbar-search{height:40px}.main-scroll{padding-top:0}.side-panel{top:var(--appbar-h)}.home-head h1{font-size:1.6rem}.home-chips{flex-wrap:nowrap;overflow-x:auto;margin:-16px calc(-1 * var(--pad-x)) 0;padding:0 var(--pad-x);scrollbar-width:none}.home-chips::-webkit-scrollbar{display:none}.chip{flex:none}.shortcuts{grid-template-columns:1fr 1fr}.shelf-rangee:not(.is-open),.shelf-defilement{grid-template-columns:none;grid-template-rows:none;grid-auto-rows:auto;grid-auto-flow:column;grid-auto-columns:var(--card-min);overflow-x:auto;overflow-y:hidden;margin:0 calc(-1 * var(--pad-x));padding:0 var(--pad-x) 4px;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad-x);scrollbar-width:none}.shelf::-webkit-scrollbar{display:none}.shelf-grille,.shelf-rangee.is-open{grid-template-columns:repeat(auto-fill,minmax(min(46%,var(--card-min)),1fr))}.shelf .card{padding:0}.shelf .card:hover{background:transparent;transform:none}.home.is-editing .home-block{padding:10px}.block-tools{gap:2px}.block-name .muted{display:none}.block-layout{order:10;width:100%}.karaoke .k-body,.karaoke.k-no-side .k-body{grid-template-columns:1fr}.k-tools{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.k-chip{flex:none}.karaoke.k-size-moyen .k-sl .sl-line{font-size:1.25rem}.karaoke.k-size-grand .k-sl .sl-line{font-size:1.55rem}.karaoke.k-size-geant .k-sl .sl-line{font-size:2rem}}@media(max-width:380px){:root{--card-min: 124px;--pad-x: 12px}.shortcut{font-size:.78rem}.shortcut .lib-icon,.shortcut-art{width:48px;height:48px}.home-head h1{font-size:1.4rem}}@media(max-height:500px)and (orientation:landscape)and (max-width:950px){.karaoke .k-body{grid-template-columns:200px minmax(0,1fr)}.karaoke .k-art{display:none}}@media(max-width:600px){.home-edit-label{display:none}.home-edit-btn{width:40px;height:40px;padding:0!important;justify-content:center;border-radius:50%;flex:none}}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap}.settings-tabs .chip{text-decoration:none;height:36px;padding:0 16px}.settings-page .studio{display:grid;gap:var(--gap)}.k-sync{margin-left:auto;display:inline-flex;align-items:center;height:34px;border-radius:999px;background:#00000059;overflow:hidden}.k-sync-btn{width:36px;height:34px;color:#fff;font-size:1.1rem;font-weight:700;transition:background .2s}.k-sync-btn:hover{background:#ffffff1f}.k-sync-val{height:34px;padding:0 6px;color:#fff;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:92px}.k-sync-label{opacity:.7;font-weight:600}@media(max-width:820px){.settings-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--pad-x));padding:0 var(--pad-x)}.settings-tabs .chip{flex:none}.k-sync{margin-left:auto}}.sl-line.is-now .sl-word.is-on{filter:none}.karaoke.k-glow .sl-line.is-now .sl-word.is-on{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--k-hi, #fff) 55%,transparent))}.karaoke .sl-word{transition:none}.karaoke.k-bounce .sl-word{transition:transform .22s var(--ease)}.karaoke .sl-line.is-now .sl-word.is-on{transform:none}.karaoke.k-bounce .sl-line.is-now .sl-word.is-on{transform:translateY(-2px) scale(1.04)}.sl-line,.sl-word{will-change:auto;backface-visibility:hidden}.karaoke .k-backdrop{filter:blur(var(--k-blur, 80px)) saturate(1.4) brightness(.65)}.karaoke.k-color-pochette{--k-hi: color-mix(in srgb, var(--dyn, #fff) 55%, #fff)}[data-dyn=on] .karaoke.k-bg-uni{background:color-mix(in srgb,var(--dyn) 45%,#0b0b0b)}.karaoke.k-space-serre .k-sl{gap:8px}.karaoke.k-space-aere .k-sl{gap:30px}[data-dyn=on] .np-lyrics{background:color-mix(in srgb,var(--dyn) 62%,#121212)}.np-lyrics.lc-petit .lp .sl-line{font-size:.98rem}.np-lyrics.lc-grand .lp .sl-line{font-size:1.4rem}.np-lyrics.lc-grand .lp{max-height:220px}.time-btn{font:inherit;color:inherit;padding:0;text-align:left;font-variant-numeric:tabular-nums;cursor:pointer}.time-btn:hover{color:var(--text)}.progress .time{font-variant-numeric:tabular-nums}.sub-h2{margin-top:18px;font-size:1.05rem}.karaoke .k-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:clamp(24px,4vw,72px);padding:0 clamp(20px,5vw,96px) 16px;min-height:0;height:100%}.karaoke .k-side{justify-self:center;align-self:center;width:min(420px,100%)}.karaoke .k-lyrics{justify-self:center;align-self:stretch;width:min(860px,100%);height:100%;display:flex;flex-direction:column;justify-content:center}.karaoke .k-sl{height:100%;max-height:none;padding:46vh 0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}.karaoke .k-plain{padding:8vh 0}.karaoke .k-empty{height:auto}.karaoke.k-no-side .k-body{grid-template-columns:minmax(0,1fr)}.karaoke.k-no-side .k-lyrics{width:min(1000px,100%)}@media(max-width:820px){.karaoke .k-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.karaoke .k-side{width:100%;justify-self:stretch}.karaoke .k-sl{padding:30vh 0}}.devices{display:grid;gap:20px}.dev-section{display:grid;gap:10px}.dev-list{display:grid;gap:4px}.dev-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--raise);text-align:left;transition:background .2s,color .2s}.dev-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-row:hover:not(:disabled){background:color-mix(in srgb,var(--text) 12%,var(--raise))}.dev-row.on{color:var(--accent)}.dev-row:disabled{opacity:.5}.mic-controls{display:grid;gap:12px}.mic-meter{display:inline-block;width:72px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 15%,transparent);overflow:hidden;vertical-align:middle}.mic-meter span{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .06s linear}.mic-take{display:grid;gap:8px}.mic-take audio{width:100%}.k-right{margin-left:auto;display:flex;align-items:center;gap:8px}.k-right .k-sync{margin-left:0}.k-mic{position:relative}.k-chip{display:inline-flex;align-items:center;gap:8px}.k-chip.on{background:var(--accent);color:var(--on-accent)}.k-mic-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:min(340px,calc(100vw - 32px));padding:16px;border-radius:14px;background:#1c1c1c;color:#fff;box-shadow:0 20px 50px #0009;animation:pop .15s var(--ease)}.k-mic-pop .muted{color:#b3b3b3}.pinpad{display:grid;justify-items:center;gap:14px;padding:28px 24px;max-width:340px;margin:0 auto;text-align:center}.pin-dots{display:flex;gap:14px;margin:6px 0}.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted);transition:background .15s,border-color .15s,transform .15s}.pin-dots span.on{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.pin-dots.shake{animation:pin-shake .4s}@keyframes pin-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.pin-keys{display:grid;grid-template-columns:repeat(3,72px);gap:12px}.pin-keys button{height:64px;border-radius:50%;background:var(--raise);font-size:1.5rem;font-weight:700;transition:background .15s,transform .1s}.pin-keys button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 14%,var(--raise))}.pin-keys button:active{transform:scale(.94)}.pin-keys button:disabled{visibility:hidden}.parent-gate{min-height:60vh;display:grid;place-items:center}.picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;align-content:center;gap:40px;padding:32px 16px;background:radial-gradient(80% 70% at 50% 30%,color-mix(in srgb,var(--accent) 14%,#0b0b0b),#000);animation:np-in .3s var(--ease);overflow:auto}.picker h1{font-size:clamp(2rem,4.4vw,3.4rem);text-align:center}.picker-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,3vw,40px)}.picker-item{display:grid;justify-items:center;gap:10px;padding:12px;border-radius:16px;transition:transform .25s var(--ease),background .2s;animation:rise-in .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.picker-item:hover,.picker-item:focus-visible{transform:translateY(-6px) scale(1.04);background:#ffffff0d}.picker-item strong{font-size:1.1rem}.fam-avatar{display:grid;place-items:center;border-radius:50%;color:#0b0b0b;font-weight:800;flex:none;box-shadow:0 10px 30px #00000073}.fam-avatar.kid{border-radius:30%}.family-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:grid;place-items:center;padding:24px;background:#000000d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:np-in .3s var(--ease)}.family-lock-card{display:grid;justify-items:center;gap:14px;max-width:460px;text-align:center}.family-lock-emoji{font-size:4rem}.family-settings{display:grid;gap:16px}.fam-row{display:flex;align-items:center;gap:14px;padding:10px 0}.fam-editor{display:grid;gap:12px;padding:16px;border-radius:var(--radius);background:var(--raise);animation:rise-in .3s var(--ease)}.fam-editor-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fam-name{flex:1;min-width:140px;height:40px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-weight:700}.fam-colors{display:flex;gap:8px}.fam-colors button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;transition:transform .15s}.fam-colors button.on{border-color:var(--text);transform:scale(1.12)}.fam-rules{display:grid;gap:10px}.fam-time{display:flex;align-items:center;gap:8px;color:var(--muted)}.fam-time input{height:36px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;color-scheme:dark}.fam-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.fam-stat{display:grid;gap:4px;justify-items:start;padding:14px;border-radius:var(--radius);background:var(--raise);font-size:.9rem}.fam-bar{width:100%;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}.fam-bar span{display:block;height:100%;background:var(--accent)}.lib-icon.family{background:linear-gradient(135deg,#ff7a59,#ffd166);color:#1b1b1b}.fam-cover{width:clamp(150px,16vw,232px);aspect-ratio:1;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7a59,#ffd166);color:#1b1b1b;box-shadow:0 8px 40px #0000008c}.fam-head{display:flex;align-items:flex-end;gap:24px}@media(max-width:820px){.pin-keys{grid-template-columns:repeat(3,64px)}.pin-keys button{height:58px}.fam-head{flex-direction:column;align-items:center;text-align:center}.k-chip .mic-meter{display:none}}[data-platform=tv] :focus{outline:3px solid var(--accent)!important;outline-offset:3px;border-radius:8px}[data-platform=tv]{font-size:112%}[data-platform=tv] .card:focus,[data-platform=tv] .shortcut:focus,[data-platform=tv] .genre-tile:focus{transform:scale(1.05)}.lp{--lp-accent: #45d483;--lp-bg: #050505;min-height:100vh;background:var(--lp-bg);color:#fff;font-family:var(--font-body, "Figtree", system-ui, sans-serif);overflow-x:hidden}html:has(.lp),body:has(.lp){height:auto;overflow:auto;background:#050505}.lp a{color:inherit}.lp h1,.lp h2,.lp h3{font-family:var(--font-display, "Figtree", system-ui, sans-serif);letter-spacing:-.035em;margin:0}.lp-nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:24px;height:72px;padding:0 clamp(16px,4vw,56px);transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}.lp-nav.solid{background:#050505c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:#ffffff0f}.lp-brand{text-decoration:none;display:flex}.lp-nav nav{display:flex;gap:28px;margin-left:auto}.lp-nav nav a{text-decoration:none;color:#cfcfcf;font-weight:600;font-size:.95rem;transition:color .2s}.lp-nav nav a:hover{color:#fff}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 22px;border-radius:999px;background:var(--lp-accent);color:#07150d;font-weight:800;font-size:.95rem;text-decoration:none;border:0;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s,background .3s}.lp-btn:hover{transform:scale(1.04);filter:brightness(1.08)}.lp-btn.big{height:54px;padding:0 28px;font-size:1.02rem}.lp-btn.ghost{background:#ffffff14;color:#fff;box-shadow:inset 0 0 0 1px #ffffff2e}.lp-btn.ghost:hover{background:#ffffff24}.lp-hero{position:relative;min-height:100vh;display:grid;align-items:center;padding:120px clamp(16px,6vw,96px) 80px;overflow:hidden}.lp-mosaic{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;display:grid;grid-template-columns:repeat(8,1fr);gap:10px;transform:rotate(-8deg) scale(1.15);opacity:.55}.lp-mosaic div{aspect-ratio:1;border-radius:10px;background-size:cover;background-position:center;animation:lp-float 18s ease-in-out infinite alternate}@keyframes lp-float{0%{transform:translateY(-14px)}to{transform:translateY(14px)}}.lp-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 80% at 25% 50%,#0505058c,#050505 78%),linear-gradient(180deg,transparent 60%,#050505)}.lp-hero-inner{position:relative;max-width:760px;display:grid;gap:24px;animation:lp-rise .8s cubic-bezier(.2,.8,.2,1) both}.lp-hero h1{font-size:clamp(2.8rem,7.4vw,6.4rem);line-height:.95;font-weight:800}.lp-hero h1 span{color:var(--lp-accent);transition:color .3s}.lp-kicker{margin:0;color:var(--lp-accent);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:color .3s}.lp-lead{margin:0;font-size:clamp(1.05rem,1.6vw,1.3rem);color:#cfcfcf;max-width:56ch;line-height:1.5}.lp-cta{display:flex;flex-wrap:wrap;gap:12px}.lp-platforms{display:flex;flex-wrap:wrap;gap:18px;color:#9b9b9b;font-weight:600;font-size:.9rem}.lp-platforms span{display:inline-flex;align-items:center;gap:8px}@keyframes lp-rise{0%{opacity:0;transform:translateY(24px)}}.lp-section{padding:clamp(72px,10vw,140px) clamp(16px,6vw,96px);max-width:1320px;margin:0 auto}.lp-head{display:grid;gap:14px;max-width:760px;margin-bottom:48px}.lp-head h2,.lp-split-text h2{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.02;font-weight:800}.lp-head p:not(.lp-kicker){margin:0;color:#b3b3b3;font-size:1.1rem;line-height:1.5}.lp-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i, 0) * 70ms)}.lp-reveal.in{opacity:1;transform:none}.lp-demo{display:grid;gap:18px;padding:clamp(18px,3vw,32px);border-radius:24px;background:linear-gradient(160deg,#141414,#0b0b0b);box-shadow:inset 0 0 0 1px #ffffff0f}.lp-vis{width:100%;height:110px}.lp-demo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}.lp-demo-item{display:flex;align-items:center;gap:14px;padding:10px;border-radius:14px;background:#ffffff0a;color:#fff;text-align:left;border:0;cursor:pointer;transition:background .2s,transform .2s;min-width:0}.lp-demo-item:hover{background:#ffffff17;transform:translateY(-2px)}.lp-demo-item.on{background:color-mix(in srgb,var(--lp-accent) 22%,#111)}.lp-demo-item.skel{height:76px;animation:shimmer 1.6s ease-in-out infinite}.lp-demo-art{width:56px;height:56px;flex:none;border-radius:10px;background:#222 center / cover;display:grid;place-items:center;color:#fff}.lp-demo-art svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}.lp-demo-text{display:grid;min-width:0}.lp-demo-text strong,.lp-demo-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-demo-text span{color:#a8a8a8;font-size:.88rem}.lp-note{margin:0;color:#8a8a8a;font-size:.85rem}.lp-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}.lp-feature{display:grid;gap:10px;align-content:start;padding:28px;border-radius:20px;background:#101010;box-shadow:inset 0 0 0 1px #ffffff0d;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s}.lp-feature:hover{transform:translateY(-4px);background:#151515}.lp-feature-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--lp-accent) 18%,transparent);color:var(--lp-accent);transition:color .3s,background .3s}.lp-feature h3{font-size:1.25rem}.lp-feature p{margin:0;color:#a8a8a8;line-height:1.55}.lp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}.lp-split.reverse .lp-split-text{order:2}.lp-split-text{display:grid;gap:18px}.lp-list{margin:0;padding:0;list-style:none;display:grid;gap:12px;color:#cfcfcf;font-size:1.05rem}.lp-list li{display:flex;gap:12px;align-items:baseline}.lp-list li:before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--lp-accent);transform:translateY(-2px)}.lp-k-stage{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;padding:32px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--lp-accent) 30%,#1a1a1a),#0c0c0c);min-height:320px}.lp-k-art{aspect-ratio:1;border-radius:14px;background:#222 center / cover;box-shadow:0 20px 50px #0000008c}.lp-k-demo{display:grid;gap:10px}.lp-k-line{margin:0;font-size:clamp(1.2rem,2.4vw,1.9rem);font-weight:800;color:#fff6;transition:transform .4s,opacity .4s}.lp-k-line.past{opacity:.55}.lp-k-line.now{transform:scale(1.03);transform-origin:left}.lp-k-word{color:transparent;background:linear-gradient(90deg,#fff var(--w),rgba(255,255,255,.4) calc(var(--w) + 1%));-webkit-background-clip:text;background-clip:text}.lp-family{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lp-fam{display:grid;justify-items:center;gap:8px;padding:28px 16px;border-radius:20px;background:#101010;text-align:center;animation:lp-rise .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 90ms)}.lp-fam span:last-child{color:#9b9b9b;font-size:.88rem}.lp-fam-av{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:2.2rem;font-weight:800;color:#111;box-shadow:0 14px 34px #00000080}.lp-fam-av.kid{border-radius:30%}.lp-swatches{display:flex;flex-wrap:wrap;gap:16px}.lp-swatches button{width:64px;height:64px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .2s}.lp-swatches button:hover{transform:scale(1.08)}.lp-swatches button.on{border-color:#fff;transform:scale(1.12)}.lp-downloads{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}.lp-dl{display:grid;gap:12px;align-content:start;justify-items:start;padding:28px 24px;border-radius:20px;background:#101010;box-shadow:inset 0 0 0 1px #ffffff0f;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.lp-dl:hover{transform:translateY(-4px)}.lp-dl>svg{color:var(--lp-accent);transition:color .3s}.lp-dl h3{font-size:1.3rem}.lp-dl p{margin:0;color:#a8a8a8;line-height:1.5;font-size:.95rem}.lp-dl small{color:#7d7d7d}.lp-dl.web{background:linear-gradient(160deg,color-mix(in srgb,var(--lp-accent) 18%,#101010),#101010)}.lp-soon{display:inline-flex;height:40px;align-items:center;padding:0 16px;border-radius:999px;background:#ffffff0f;color:#9b9b9b;font-weight:700;font-size:.88rem}.lp-howto,.lp-faq details{margin-top:20px;padding:18px 22px;border-radius:16px;background:#0f0f0f;box-shadow:inset 0 0 0 1px #ffffff0f}.lp-howto summary,.lp-faq summary{cursor:pointer;font-weight:700}.lp-howto ol{color:#b3b3b3;line-height:1.6;display:grid;gap:8px}.lp-faq{display:grid;gap:4px;max-width:900px}.lp-faq details{margin-top:8px}.lp-faq p{color:#b3b3b3;line-height:1.6;margin:12px 0 0}.lp-footer{display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between;padding:32px clamp(16px,6vw,96px) 48px;border-top:1px solid rgba(255,255,255,.06);color:#8a8a8a}@media(max-width:900px){.lp-nav nav{display:none}.lp-nav .lp-btn{margin-left:auto}.lp-mosaic{grid-template-columns:repeat(5,1fr)}.lp-split{grid-template-columns:1fr}.lp-split.reverse .lp-split-text{order:0}.lp-k-stage{grid-template-columns:1fr;padding:22px}.lp-k-art{width:120px}}@media(max-width:480px){.lp-cta .lp-btn{width:100%}.lp-family{gap:10px}.lp-fam-av{width:64px;height:64px;font-size:1.6rem}}@media(prefers-reduced-motion:reduce){.lp *,.lp *:before{animation:none!important;transition:none!important}.lp-reveal{opacity:1;transform:none}}
