@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-accent:#8fb3ff;--brand-theme:#0f1420;--accent:var(--brand-accent);--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--accent-ink:#070a12;--bg:#07090f;--bg-raised:#0c1019;--glass:#101521b8;--glass-strong:#0c101ae6;--surface:#ffffff09;--surface-hover:#ffffff0f;--surface-active:#ffffff17;--line:#ffffff12;--line-strong:#ffffff1f;--text:#eef1f7;--text-2:#a3abbd;--text-3:#8790a3;--danger:#ff8f8f;--warm:#ffd59e;--radius-xl:24px;--radius-lg:18px;--radius:14px;--radius-sm:10px;--tap:44px;--shadow:0 24px 60px -20px #000000a6;--shadow-sm:0 8px 24px -10px #0009;--gutter:16px;--dock-height:calc(140px + env(safe-area-inset-bottom));--bar-height:88px;--font:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg)}@media (display-mode:standalone){html:has(.app-shell.mobile){overscroll-behavior:none;height:100%;max-height:100%;overflow:hidden}html:has(.app-shell.mobile) body{overscroll-behavior:none;height:100%;max-height:100%;overflow:hidden}.app-shell.mobile{grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.app-shell.mobile>.mobile-header{position:relative}.app-shell.mobile>.content{overscroll-behavior-y:contain;overflow:hidden auto}.app-shell.mobile>.mobile-dock{position:absolute}}body{background:var(--bg);color:var(--text);font-family:var(--font);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.5}a{color:inherit}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:var(--accent-soft)}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:650;line-height:1.1}h1{letter-spacing:-.035em;font-size:clamp(2rem,4.4vw,3.25rem)}h2{font-size:1.15rem}p{margin:0}.muted{color:var(--text-2)}.small{font-size:.82rem}.error{color:var(--danger)}.empty{padding:20px 4px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:.7rem;font-weight:600;text-decoration:none;display:inline-block}.backdrop{inset:0 0 calc(-1 * (env(safe-area-inset-bottom) + 80px));z-index:0;pointer-events:none;background:radial-gradient(1100px 620px at 85% -15%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 62%), radial-gradient(900px 640px at -15% 115%, #6e50be21, transparent 62%), linear-gradient(180deg, #0a0e17 0%, var(--bg) 60%);position:fixed}.backdrop-glow{background:radial-gradient(520px 320px at 72% 18%,#ffd6960b,#0000 70%);position:absolute;inset:0}.backdrop-canvas{opacity:.7;width:100%;height:100%;position:absolute;inset:0}.app-shell{min-height:100%;position:relative}.app-shell>.content{z-index:1;position:relative}.app-shell>.sidebar,.app-shell>.mobile-header{z-index:2}.app-shell.desktop{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.content{min-width:0;padding:8px var(--gutter) calc(var(--dock-height) + 28px)}.desktop .content{padding:20px 40px calc(var(--bar-height) + 48px)}.page{gap:36px;display:grid}.page.centered{text-align:center;place-content:center;gap:12px;min-height:60vh}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1rem;font-weight:650;display:flex}.brand img{box-shadow:var(--shadow-sm);border-radius:10px}.sidebar{height:100vh;padding:26px 14px calc(var(--bar-height) + 28px);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:linear-gradient(#0a0d15bf,#080a108c);flex-direction:column;gap:32px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 10px}.sidebar nav{gap:2px;display:grid}.nav-link{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:12px;padding:0 12px;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:var(--text);background:var(--surface-hover)}.nav-link.active{color:var(--text);background:var(--surface-active)}.nav-link.active svg{color:var(--accent)}.sidebar-footer{margin-top:auto;padding:0 12px}.topbar{z-index:4;justify-content:space-between;align-items:center;gap:16px;margin:-20px 0 20px;padding:16px 0;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);pointer-events:none;background:#07090fc7;position:absolute;inset:0 -40px;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.search-trigger{border:1px solid var(--line);background:var(--surface);max-width:560px;min-height:42px;color:var(--text-3);text-align:left;border-radius:999px;flex:1;align-items:center;gap:10px;padding:0 16px;transition:border-color .15s,background .15s;display:flex}.search-trigger:hover{border-color:var(--line-strong);background:var(--surface-hover);color:var(--text-2)}.mobile-header{z-index:5;padding:calc(10px + env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) 10px max(var(--gutter), env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-bottom:1px solid var(--line);background:linear-gradient(#07090ff0,#07090fb3);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.account{align-items:center;gap:10px;display:flex}.avatar{background:linear-gradient(140deg, var(--accent), color-mix(in srgb, var(--accent) 40%, #6c4bd8));width:32px;height:32px;color:var(--accent-ink);border-radius:999px;place-items:center;font-size:.85rem;font-weight:700;display:grid}.account-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.88rem;overflow:hidden}.mobile .account-name,.mobile .avatar{display:none}.offline-banner{border-radius:var(--radius-sm);color:var(--warm);background:#ffd59e14;border:1px solid #ffd59e2e;align-items:center;gap:8px;margin:0 0 20px;padding:10px 14px;font-size:.9rem;display:flex}.button{min-height:var(--tap);letter-spacing:-.005em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;text-decoration:none;transition:transform .12s,filter .15s,background .15s,border-color .15s;display:inline-flex}.button:active{transform:scale(.98)}.button.small{min-height:34px;padding:0 14px;font-size:.86rem}.button.primary{background:var(--text);color:var(--accent-ink);box-shadow:0 10px 30px -12px color-mix(in srgb, var(--accent) 70%, transparent)}.button.primary:hover{filter:brightness(.94)}.button.ghost{background:var(--surface);border-color:var(--line);color:var(--text)}.button.ghost:hover{background:var(--surface-hover);border-color:var(--line-strong)}.icon-button{min-width:var(--tap);min-height:var(--tap);color:var(--text-2);background:0 0;border:none;border-radius:999px;place-items:center;transition:color .15s,background .15s,transform .12s;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.icon-button:active:not(:disabled){transform:scale(.94)}.icon-button.active,.favourite.active{color:var(--accent)}.track-actions,.full-player-actions{justify-content:flex-end;align-items:center;display:flex}.download-downloaded{color:var(--accent)}.download-failed{color:var(--danger)}.download:disabled{cursor:progress}.download-ring circle{fill:none;stroke-width:2.4px}.download-ring-track{stroke:var(--line-strong)}.download-ring-fill{stroke:var(--accent);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .3s;transform:rotate(-90deg)}.download-ring.indeterminate .download-ring-fill{animation:1s linear infinite download-spin}@keyframes download-spin{to{transform:rotate(270deg)}}.bulk-download{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.favourite.active svg{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 55%, transparent))}.play-button{background:var(--text);width:48px;height:48px;color:var(--accent-ink);border:none;border-radius:999px;place-items:center;transition:transform .12s;display:inline-grid;box-shadow:0 8px 24px -8px #000000b3}.play-button:hover:not(:disabled){transform:scale(1.04)}.play-button.small{width:40px;height:40px}.play-button.loading{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.badge{border:1px solid var(--line);background:var(--surface);color:var(--text-2);vertical-align:middle;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.badge.preview{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--text)}input[type=range].slider{appearance:none;width:104px;height:var(--tap);cursor:pointer;--fill:50%;background:0 0}input[type=range].slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--fill), #ffffff24 var(--fill));border-radius:999px;height:4px}input[type=range].slider::-moz-range-track{background:#ffffff24;border-radius:999px;height:4px}input[type=range].slider::-moz-range-progress{background:var(--accent);border-radius:999px;height:4px}input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border-radius:999px;width:14px;height:14px;margin-top:-5px;transition:transform .12s;box-shadow:0 2px 8px #00000080}input[type=range].slider::-moz-range-thumb{background:var(--text);border:none;border-radius:999px;width:14px;height:14px}input[type=range].slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.hero{gap:10px;padding-top:8px;display:grid}.hero p{color:var(--text-2);max-width:46ch;font-size:1.05rem}.hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;display:grid}.featured,.ambience{border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow);isolation:isolate;position:relative;overflow:hidden}.featured{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:28px;min-height:248px;padding:28px;display:grid}.featured.skeleton{animation:1.6s ease-in-out infinite pulse}.featured-glow,.full-player-glow{z-index:-1;filter:blur(60px)saturate(150%);opacity:.45;background-position:50%;background-size:cover;position:absolute;inset:-40%}.featured:after{content:"";z-index:-1;background:linear-gradient(90deg,#07090f33,#07090fb3);position:absolute;inset:0}.featured-art{aspect-ratio:1;width:100%;box-shadow:var(--shadow);border-radius:var(--radius-lg)!important}.featured-body{justify-items:start;gap:10px;display:grid}.featured-body h2{letter-spacing:-.03em;font-size:clamp(1.6rem,3vw,2.3rem)}.featured-body p{color:var(--text-2);max-width:48ch}.featured-body .button{margin-top:8px}.ambience{background:linear-gradient(160deg,#141b2cd9,#0b0e16d9);align-content:space-between;gap:18px;padding:24px;display:grid}.ambience h2{margin:6px 0;font-size:1.3rem}.ambience-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.genre-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.genre-card{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.genre-card:hover{border-color:color-mix(in srgb, var(--genre-accent,var(--accent)) 45%, transparent);box-shadow:0 22px 50px -24px color-mix(in srgb, var(--genre-accent,var(--accent)) 60%, transparent)}.genre-card.skeleton{animation:1.6s ease-in-out infinite pulse}.genre-card-link{text-decoration:none;display:block;position:absolute;inset:0}.genre-card .cover{border-radius:0;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.genre-card:hover .cover{transform:scale(1.05)}.genre-card-shade{background:linear-gradient(#05070c00 35%,#05070ce0 100%);position:absolute;inset:0}.genre-card-body{position:absolute;bottom:16px;left:16px;right:64px}.genre-card-body h3{margin-bottom:2px;font-size:1.02rem}.genre-card-body p{color:var(--text-2);font-size:.82rem}.genre-play-button{width:var(--tap);height:var(--tap);background:var(--genre-accent,var(--accent));color:var(--accent-ink);border:none;border-radius:999px;place-items:center;transition:transform .15s,opacity .15s;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 10px 24px -8px #000000b3}@media (hover:hover){.genre-play-button{opacity:0;transform:translateY(6px)}.genre-card:hover .genre-play-button,.genre-play-button:focus-visible{opacity:1;transform:none}}.settings-list{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--glass);display:grid}.setting-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row strong{margin-bottom:2px;display:block}.switch{appearance:none;background:var(--surface-active);cursor:pointer;border-radius:999px;flex:none;width:46px;height:28px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:var(--text);border-radius:999px;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cover{object-fit:cover;background:var(--surface-active);border-radius:8px;display:block}.cover-fallback{color:color-mix(in srgb, var(--cover-accent,var(--accent)) 70%, white);background:radial-gradient(circle at 70% 25%, color-mix(in srgb, var(--cover-accent,var(--accent)) 45%, transparent), transparent 60%), linear-gradient(160deg, #1a2236, #0c1019);place-items:center;display:grid}.track-list{border-radius:var(--radius-lg);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0d158c;gap:2px;margin:0;padding:6px;list-style:none;display:grid}.track-row{border-radius:var(--radius-sm);grid-template-columns:28px 48px minmax(0,1fr) minmax(0,160px) 48px auto;align-items:center;gap:14px;padding:6px 8px;transition:background .12s;display:grid}.track-row:hover{background:var(--surface-hover)}.track-row.current{background:var(--accent-soft)}.track-row.current .track-title{color:var(--accent)}.track-index{color:var(--text-3);font-variant-numeric:tabular-nums;place-items:center;font-size:.85rem;display:grid}.eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.eq i{background:var(--accent);border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.eq i{transform-origin:bottom}.track-play{background:0 0;border:none;border-radius:10px;width:48px;height:48px;padding:0;position:relative;overflow:hidden}.track-row.current .track-play .cover-fallback svg{visibility:hidden}.track-play .cover{border-radius:10px;width:48px;height:48px}.track-play-icon{opacity:0;background:#05070cb8;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.track-play:hover .track-play-icon,.track-play:focus-visible .track-play-icon,.track-row.current .track-play-icon{opacity:1}.track-meta{min-width:0;display:grid}.track-title{white-space:nowrap;text-overflow:ellipsis;font-weight:560;text-decoration:none;overflow:hidden}a.track-title:hover{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.track-artist{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;overflow:hidden}.track-genre{border:1px solid var(--line);max-width:100%;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-self:start;padding:3px 10px;font-size:.78rem;text-decoration:none;overflow:hidden}.track-genre:hover{color:var(--text);border-color:var(--line-strong)}.track-duration{color:var(--text-3);font-variant-numeric:tabular-nums;text-align:right;font-size:.84rem}.genre-hero,.track-page{grid-template-columns:minmax(150px,230px) 1fr;align-items:end;gap:28px;display:grid;position:relative}.genre-hero>div:not(.cover),.track-page>div:not(.cover){justify-items:start;gap:10px;display:grid}.track-wave{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);gap:6px;min-width:0;padding:18px 20px 12px;display:grid}.track-wave .waveform{gap:clamp(1px,.22vw,3px);height:96px}.track-wave .waveform .bar{min-width:0}.track-wave-times{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.track-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;display:grid}.track-stat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);gap:6px;padding:14px 16px;display:grid}.track-stat dt{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:.7rem;font-weight:600}.track-stat dd{gap:2px;margin:0;font-size:1.1rem;font-weight:600;display:grid}.track-stat dd a{color:inherit;text-decoration:none}.track-stat dd a:hover{text-decoration:underline}.track-stat dd .small{font-weight:400}.track-text{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:16px;display:grid}.track-text:empty{display:none}.track-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);gap:10px;padding:20px;display:grid}.track-prose{color:var(--text-2);white-space:pre-line;max-width:72ch;line-height:1.65}.track-prose.lyrics{max-height:60vh;overflow-y:auto}.track-more{gap:8px;display:grid}.genre-hero .cover,.track-page .cover{aspect-ratio:1;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow)}.genre-hero p{color:var(--text-2);max-width:56ch}.row{align-items:center;gap:12px;margin-top:6px;display:flex}.search-input{border:1px solid var(--line-strong);background:var(--glass);border-radius:999px;outline:none;width:100%;min-height:54px;padding:0 22px;font-size:1.05rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:0 0 0 4px var(--accent-soft)}.empty-state{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--glass);justify-items:start;gap:14px;padding:28px;display:grid}.waveform{cursor:pointer;touch-action:none;align-items:center;gap:2px;width:100%;height:44px;display:flex}.waveform .bar{background:#dce4f533;border-radius:2px;flex:1;min-width:1px;transition:background .2s}.waveform .bar.played{background:var(--accent)}.waveform .bar.locked{background:#dce4f512}.player-bar{z-index:10;height:var(--bar-height);border-radius:var(--radius-xl);border:1px solid var(--line-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);box-shadow:var(--shadow);grid-template-columns:minmax(220px,1fr) minmax(360px,1.5fr) minmax(220px,1fr);align-items:center;gap:24px;padding:0 20px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.player-bar-track,.player-bar-extras{align-items:center;gap:8px;min-width:0;display:flex}.player-bar-extras{justify-content:flex-end;gap:4px}.player-bar-center{justify-items:center;gap:0;display:grid}.player-idle{align-items:center;gap:12px;font-size:.9rem;display:flex}.player-idle-art{border:1px dashed var(--line-strong);width:48px;height:48px;color:var(--text-3);border-radius:12px;place-items:center;display:grid}.scrubber{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;width:100%;display:grid}.scrubber .waveform{height:22px}.time{color:var(--text-3);font-variant-numeric:tabular-nums;text-align:center;font-size:.74rem}.transport{align-items:center;gap:12px;display:flex}.transport .play-button{width:40px;height:40px}.transport.large{justify-content:center;gap:32px;margin:6px 0}.transport.large .play-button{width:72px;height:72px}.mini-info{text-align:left;background:0 0;border:none;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.mini-info .cover{width:48px;height:48px;box-shadow:var(--shadow-sm);border-radius:12px;flex:none}.mini-text{min-width:0;display:grid}.volume{color:var(--text-2);align-items:center;gap:6px;padding-left:8px;display:flex}.rain-control{align-items:center;gap:8px;display:flex}.rain-toggle{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:.85rem;font-weight:550;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.rain-toggle:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.rain-control.on .rain-toggle{color:var(--text);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.rain-control.on .rain-toggle svg{color:var(--accent)}.rain-control:not(.on) input[type=range].slider{opacity:.55}.rain-compact .rain-toggle{width:var(--tap);min-height:var(--tap);background:0 0;border-color:#0000;justify-content:center;padding:0}.rain-panel{grid-template-columns:auto 1fr;gap:14px;display:grid}.rain-panel .rain-toggle{min-height:48px;padding:0 20px 0 16px;font-size:.95rem}.rain-panel input[type=range].slider{width:100%}.sleep-timer{position:relative}.sleep-remaining{white-space:nowrap;color:var(--accent);font-size:.6rem;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.menu{z-index:20;border-radius:var(--radius);border:1px solid var(--line-strong);min-width:168px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0e121df7;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0}.ambience .menu{top:calc(100% + 8px);bottom:auto}.menu button{text-align:left;background:0 0;border:none;border-radius:8px;min-height:40px;padding:0 12px;font-size:.9rem}.menu button:hover{background:var(--surface-hover)}.mobile-dock{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;gap:8px;display:grid;position:fixed}.mini-player{border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);height:64px;box-shadow:var(--shadow);align-items:center;gap:6px;padding:0 8px;display:flex;position:relative;overflow:hidden}.mini-player .mini-info{flex:1}.mini-player .mini-info .cover{width:46px;height:46px}.mini-progress{background:var(--accent);height:2px;transition:width .25s linear;position:absolute;bottom:0;left:0}.bottom-nav{border:1px solid var(--line-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);height:62px;box-shadow:var(--shadow);border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:4px;display:grid}.bottom-nav .nav-link{border-radius:999px;flex-direction:column;justify-content:center;gap:2px;padding:0;font-size:.7rem;font-weight:600}.bottom-nav .nav-link.active{color:var(--text);background:var(--surface-active)}.full-player{z-index:30;padding:calc(12px + env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));isolation:isolate;background:#090c13;flex-direction:column;gap:16px;animation:.24s cubic-bezier(.2,.8,.2,1) slide-up;display:flex;position:fixed;inset:0;overflow:hidden auto}.full-player-glow{opacity:.55;position:fixed}.full-player:after{content:"";z-index:-1;background:linear-gradient(#090c1359,#090c13eb 70%);position:fixed;inset:0}@keyframes slide-up{0%{opacity:0;transform:translateY(28px)}}.full-player>:not(.full-player-glow){width:100%;max-width:520px;margin-left:auto;margin-right:auto}.full-player-header{justify-content:space-between;align-items:center;display:flex}.full-player-art{flex:1;place-items:center;min-height:0;display:grid}.full-player-art .cover{aspect-ratio:1;border-radius:22px;width:min(100%,46vh);box-shadow:0 40px 90px -30px #000000d9}.full-player-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.full-player-meta h1{letter-spacing:-.03em;font-size:1.6rem}.times{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;font-size:.78rem;display:flex}.full-player-extras{justify-content:space-between;align-items:center;gap:12px;display:flex}.full-player-extras .rain-panel{flex:1}.queue{flex:1;overflow-y:auto}.queue h2{margin-bottom:10px}.queue ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.queue button{border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:56px;padding:4px 8px;display:flex}.queue button:hover{background:var(--surface-hover)}.queue .cover{width:44px;height:44px}.sheet-backdrop{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03050a99;place-items:end center;animation:.18s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.desktop .sheet-backdrop{align-items:center}.sheet{width:min(100%,440px);padding:28px 26px calc(26px + env(safe-area-inset-bottom));border:1px solid var(--line-strong);box-shadow:var(--shadow);background:linear-gradient(170deg,#181f31fa,#0c0f18fa);border-radius:24px 24px 0 0;gap:10px;animation:.22s cubic-bezier(.2,.8,.2,1) slide-up;display:grid}.desktop .sheet{border-radius:24px}.sheet h2{font-size:1.35rem}.sheet p{color:var(--text-2)}.sheet-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}@media (width<=1100px){.hero-grid{grid-template-columns:1fr}.track-row{grid-template-columns:28px 48px minmax(0,1fr) 48px auto}.track-genre,.track-genre-spacer{display:none}}@media (width<=1200px){.player-bar .rain-control input[type=range].slider,.player-bar .volume input{width:72px}}@media (width<=640px){.page{gap:28px}.hero{padding-top:12px}.featured{grid-template-columns:96px 1fr;align-items:center;gap:16px;min-height:0;padding:16px}.featured-body p{display:none}.featured-body .button{margin-top:2px}.ambience{padding:18px}.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.genre-card{aspect-ratio:4/5}.genre-card-body{bottom:12px;left:12px;right:56px}.genre-play-button{width:40px;height:40px;bottom:10px;right:10px}.genre-hero,.track-page{grid-template-columns:1fr}.genre-hero .cover,.track-page .cover{max-width:240px}.track-list{padding:4px}.track-row{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:6px}.track-index,.track-duration{display:none}.track-play,.track-play .cover{width:44px;height:44px}}.badge.live{color:#ffd6d6;letter-spacing:.08em;text-transform:uppercase;background:#ff5a5a24;border-color:#ff6e6e66}.live-dot{background:#ff5a5a;border-radius:999px;width:6px;height:6px;animation:2.4s ease-in-out infinite live-breathe;box-shadow:0 0 8px #ff5a5acc}@keyframes live-breathe{50%{opacity:.45}}.station-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));gap:16px;display:grid}.station-card{border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.station-card.skeleton{min-height:380px}.station-card-link{aspect-ratio:16/9;display:block;position:relative;overflow:hidden}.station-card-link .station-scene{position:absolute;inset:0}.station-card-shade{background:linear-gradient(#0000 55%,#07090fd9);position:absolute;inset:0}.station-card-body{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:18px 20px;display:grid}.station-card-title h2{margin:6px 0 2px;font-size:1.3rem}.station-card-title h2 a{color:inherit;text-decoration:none}.station-card-title .badge,.station-heading .badge{margin-left:0}.station-card-title p{margin:0}.station-card-now{gap:4px;min-width:0;max-width:280px;display:grid}.station-card-track{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-scene{background:#07091a;width:100%;height:100%;position:relative;overflow:hidden}.station-scene-layer{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 2.5s;position:absolute;inset:0}.station-scene-layer.ready{opacity:1}.app-shell.immersive>.content.immersive{padding:0}.app-shell.desktop.immersive>.content.immersive{height:100vh;position:sticky;top:0;overflow:hidden}.app-shell.mobile.immersive{grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.app-shell.mobile.immersive>.content.immersive{grid-area:1/1/-1;overflow:hidden}.app-shell.mobile.immersive>.mobile-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;grid-area:1/1;justify-content:flex-end}.app-shell.mobile.immersive>.mobile-header .brand{display:none}.station-page{background:#07091a;height:100%;min-height:420px;position:relative;overflow:hidden}.station-page>.station-scene{position:absolute;inset:0}.station-logo{letter-spacing:-.02em;text-shadow:0 2px 12px #0009;align-items:center;gap:10px;font-weight:650;display:flex;position:absolute;top:22px;left:24px}.station-logo img{border-radius:12px;box-shadow:0 8px 24px -8px #000c}.station-overlay{left:24px;right:24px;bottom:calc(var(--bar-height) + 40px);justify-content:space-between;align-items:flex-end;gap:20px;display:flex;position:absolute}.station-card-glass{border-radius:var(--radius-xl);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);width:min(100%,440px);box-shadow:var(--shadow);background:#0a0c189e;gap:14px;padding:20px;display:grid}.station-heading{justify-items:start;gap:8px;display:grid}.station-heading h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem)}.track-link{color:inherit;text-decoration:none}.track-link:hover{text-underline-offset:3px;text-decoration:underline}.cover-button{cursor:pointer;background:0 0;border:none;flex:none;padding:0}.station-now{grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.station-now .cover{width:76px;height:76px}.station-now-text{gap:2px;min-width:0;display:grid}.station-now-title{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:650;display:block;overflow:hidden}.station-next{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.station-next .eyebrow{margin-right:6px}.station-listen{justify-items:center;gap:8px;display:grid}.play-button.large{width:76px;height:76px;box-shadow:0 0 0 8px #ffffff0f,0 18px 40px -12px #000c}.station-page.tuned .play-button.large{box-shadow:0 0 0 8px color-mix(in srgb, var(--station-accent,var(--accent)) 22%, transparent), 0 18px 40px -12px #000c}@media (width<=640px){.station-card{grid-template-rows:220px auto}.station-card-body{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px}.station-card-now{grid-area:2/1/auto/-1}.station-logo{top:calc(14px + env(safe-area-inset-top));left:var(--gutter)}.station-overlay{left:var(--gutter);right:var(--gutter);bottom:calc(var(--dock-height) + 16px);flex-direction:column;align-items:stretch}.station-listen{position:absolute;top:18px;right:18px}.station-listen .small{display:none}.play-button.large{width:56px;height:56px}.station-heading h1{padding-right:72px}.station-card-glass{gap:10px;padding:16px}.station-heading h1{font-size:1.35rem}.station-now{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}.station-now .cover{width:48px;height:48px}.station-now .eyebrow{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
