:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#111318;--panel:#161b22d1;--panel-strong:#10141bf0;--panel-soft:#ffffff0f;--border:#ffffff1f;--border-strong:#fff3;--text-main:#f7f8fb;--text-muted:#f7f8fbad;--text-soft:#f7f8fb80;--accent:#4dd7c8;--accent-2:#ffb45c;--accent-3:#8fb3ff;--accent-rgb:77, 215, 200;--accent-2-rgb:255, 180, 92;--accent-3-rgb:143, 179, 255;--theme-page-rgb:17, 19, 24;--theme-panel-rgb:16, 20, 27;--theme-panel:#10141b;--accent-glow:#4dd7c857;--danger:#ff7087;--success:#84f2a8;--shadow:0 26px 70px #00000061;--radius:18px}*{box-sizing:border-box}html{background:var(--page-bg);min-height:100%;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}body{width:100%;min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 18% 8%, rgba(var(--accent-rgb), .28), transparent 34%), radial-gradient(circle at 86% 82%, rgba(var(--accent-2-rgb), .22), transparent 32%), linear-gradient(180deg, rgba(var(--theme-page-rgb), 1) 0%, #101218 58%, rgba(var(--theme-panel-rgb), .95) 100%);margin:0;transition:background .45s;overflow-x:hidden}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px, transparent 1px), linear-gradient(90deg, #ffffff0a 1px, transparent 1px), radial-gradient(circle, #ffffff2e 0 1px, transparent 1.6px), radial-gradient(circle, rgba(var(--accent-3-rgb), .14) 0 1px, transparent 1.8px), radial-gradient(circle, #ffffff1f 0 1px, transparent 1.7px);opacity:.62;background-position:0 0,0 0,20px 28px,80px 120px,120px 56px;background-size:42px 42px,42px 42px,180px 180px,240px 240px,300px 300px;animation:72s linear infinite grid-drift;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000009e,#0000 78%);mask-image:linear-gradient(#0000009e,#0000 78%)}body:after{content:"";pointer-events:none;background:radial-gradient(circle at 24% 32%, rgba(var(--accent-rgb), .16), transparent 22vmax), radial-gradient(circle at 78% 64%, rgba(var(--accent-2-rgb), .12), transparent 24vmax), radial-gradient(circle at 52% 82%, rgba(var(--accent-3-rgb), .1), transparent 20vmax);filter:blur(36px);opacity:.42;animation:84s ease-in-out infinite alternate ambient-drift;position:fixed;inset:-24vmax;transform:translate(0,0)}@keyframes grid-drift{0%{background-position:0 0,0 0,20px 28px,80px 120px,120px 56px}to{background-position:12px 12px,-12px 12px,32px 18px,92px 128px,108px 66px}}@keyframes ambient-drift{0%{transform:translate(-.6%,-.4%)scale(1)}50%{transform:translate(.8%,.6%)scale(1.02)}to{transform:translate(.2%,.9%)scale(1.03)}}button,input{font:inherit}button{cursor:pointer}input{cursor:text;-webkit-user-select:text;user-select:text}button:focus-visible,input:focus-visible,.station-card:focus-visible,.library-station:focus-visible,.library-tab:focus-visible,.category-chip:focus-visible,.coverflow-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#ffffff2e padding-box content-box;border:3px solid #0000;border-radius:999px}.app-container{z-index:1;place-items:center;width:100%;max-width:100vw;min-height:100vh;padding:clamp(14px,3vw,40px);display:grid;position:relative}.player-layout{isolation:isolate;flex-direction:row;align-items:stretch;width:min(1340px,100%);height:clamp(600px,100vh - 84px,760px);min-height:0;display:flex;position:relative;overflow:visible}.sidebar-wrap{will-change:width, margin-right;flex-shrink:0;width:360px;margin-right:18px;transition:width .46s cubic-bezier(.22,1,.36,1),margin-right .46s cubic-bezier(.22,1,.36,1);overflow:visible}.player-layout.library-collapsed .sidebar-wrap{width:0;margin-right:0}.station-library{border:1px solid var(--border);background:linear-gradient(180deg, rgba(var(--theme-panel-rgb), .84), #ffffff09), linear-gradient(140deg, rgba(var(--accent-rgb), .1), transparent 52%);-webkit-backdrop-filter:blur(24px)saturate(130%);backdrop-filter:blur(24px)saturate(130%);transform-origin:0;will-change:transform, opacity;border-radius:28px;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:14px;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;padding:20px;transition:opacity .38s,transform .46s cubic-bezier(.22,1,.36,1),filter .38s;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000052}.player-layout.library-collapsed .station-library{opacity:0;pointer-events:none;filter:blur(5px);transform:translate(-18px)scale(.97)}.library-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.library-eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.74rem;font-weight:850}.library-top h2{color:var(--text-main);margin:0;font-size:1.35rem;line-height:1}.library-close{display:inline-flex}.library-search{min-width:0;height:44px;color:var(--text-muted);background:#fff1;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:9px;padding:0 12px;display:flex}.library-filter-grid{grid-template-columns:1fr;gap:10px;display:grid}.library-select{min-width:0;position:relative}.library-select-trigger{border:1px solid rgba(var(--accent-rgb), .26);background:linear-gradient(180deg, #ffffff17, #ffffff0a), linear-gradient(135deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-3-rgb), .08));width:100%;min-width:0;height:44px;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:10px;padding:0 12px 0 14px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex;box-shadow:0 12px 28px #00000029,inset 0 1px #ffffff1a}.library-select-flag,.library-select-option-flag{text-align:center;flex:none;width:1.4rem;height:1rem;font-size:1rem;line-height:1}.library-select-flag,.library-select-option-flag-img{object-fit:cover;border-radius:2px;width:1.4rem;height:1rem;display:block}.library-select-trigger:hover,.library-select.open .library-select-trigger{border-color:rgba(var(--accent-rgb), .5);box-shadow:0 16px 32px #0003, 0 0 0 1px rgba(var(--accent-rgb), .08);transform:translateY(-1px)}.library-select-prefix{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:.7rem;font-weight:850}.library-select-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.92rem;font-weight:850;overflow:hidden}.library-select-caret{opacity:.8;flex:none}.library-select-menu{z-index:12;border:1px solid rgba(var(--accent-rgb), .18);-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);background:linear-gradient(#10141bf5,#10141be6),#ffffff0a;border-radius:18px;width:100%;max-height:280px;padding:8px;display:none;position:absolute;top:calc(100% + 10px);left:0;overflow:auto;box-shadow:0 24px 48px #00000057}.library-select-menu.open{gap:6px;display:grid}.library-select-option{width:100%;min-width:0;min-height:38px;color:var(--text-muted);text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-size:.9rem;transition:background .16s,color .16s,border-color .16s,transform .16s;display:flex}.library-select-option-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.library-select-option:hover{border-color:rgba(var(--accent-rgb), .24);background:rgba(var(--accent-rgb), .12);color:var(--text-main);transform:translate(1px)}.library-select-option.active{border-color:rgba(var(--accent-rgb), .42);background:linear-gradient(135deg, rgba(var(--accent-rgb), .22), rgba(var(--accent-3-rgb), .12));color:var(--text-main)}.library-select-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-search input{width:100%;min-width:0;color:var(--text-main);background:0 0;border:0;outline:0;font-size:.92rem}.library-search input::placeholder{color:var(--text-soft)}.library-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.library-tab{min-width:0;min-height:40px;color:var(--text-muted);background:#ffffff0e;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;padding:0;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.library-tab-icon{opacity:.9;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.library-tab-icon svg{width:100%;height:100%}.library-tab:hover{border-color:var(--border-strong);color:var(--text-main);transform:translateY(-1px)}.library-tab.active{border-color:rgba(var(--accent-rgb), .48);background:rgba(var(--accent-rgb), .15);color:var(--text-main);box-shadow:0 10px 24px rgba(var(--accent-rgb), .12)}.category-list{gap:8px;padding-bottom:2px;display:none;overflow-x:auto}.station-library.show-categories .category-list{display:flex}.category-chip{min-height:32px;color:var(--text-muted);background:#ffffff0e;border:1px solid #ffffff1a;border-radius:999px;flex:none;padding:7px 11px;font-size:.78rem;font-weight:800}.category-chip.active{border-color:rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .16);color:var(--text-main)}.library-summary{min-height:18px;color:var(--text-soft);font-size:.78rem;font-weight:700}.library-pagination{justify-content:space-between;align-items:center;gap:10px;display:flex}.library-pagination-info{min-width:0;color:var(--text-soft);text-align:center;white-space:nowrap;flex:auto;font-size:.78rem;font-weight:800}.library-page-btn{min-width:88px;min-height:34px;color:var(--text-main);font:inherit;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:800;transition:background .16s,border-color .16s,transform .16s,opacity .16s;display:inline-flex}.library-page-btn:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff16;transform:translateY(-1px)}.library-page-btn:disabled{opacity:.45;cursor:not-allowed}.library-page-btn svg{flex:none}.library-list{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb), .72) #ffffff0f;min-height:0;margin:0;padding:2px 8px 2px 0;list-style:none;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(#0000,#000 12px calc(100% - 12px),#0000)}.library-list::-webkit-scrollbar{width:12px}.library-list::-webkit-scrollbar-track{background:linear-gradient(180deg, rgba(var(--accent-rgb), .08), rgba(var(--accent-3-rgb), .08)), #ffffff0b;border-radius:999px;margin-block:6px;box-shadow:inset 0 0 0 1px #ffffff0f}.library-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent), var(--accent-3)) padding-box, #ffffff1f border-box;min-height:56px;box-shadow:0 0 16px rgba(var(--accent-rgb), .24), inset 0 0 0 1px #ffffff2e;border:3px solid #0000;border-radius:999px}.library-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--accent), var(--accent-2)) padding-box, #ffffff2e border-box}.library-empty{color:var(--text-muted);background:#ffffff09;border:1px dashed #ffffff29;border-radius:16px;padding:18px 14px;font-size:.88rem;line-height:1.35}.library-station{width:100%;min-width:0;min-height:72px;color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:17px;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:11px;margin-bottom:10px;padding:10px;transition:transform .16s,border-color .16s,background .16s;display:grid;overflow:hidden}.library-station:hover{border-color:var(--border-strong);background:#ffffff16;transform:translateY(-1px)}.library-station.current{border-color:rgba(var(--accent-rgb), .56);background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-3-rgb), .1)), #ffffff0d}.library-station-logo,.library-station-fallback{background:#ffffff14;border-radius:14px;width:48px;height:48px}.library-station-logo{object-fit:contain;padding:7px}.library-station-fallback{color:var(--text-main);justify-content:center;align-items:center;font-size:1rem;font-weight:850;display:flex}.library-station-copy{gap:6px;min-width:0;display:grid;overflow:hidden}.library-station-title{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:850;line-height:1.12;overflow:hidden}.library-station-meta{min-width:0;color:var(--text-muted);flex-wrap:nowrap;align-items:center;gap:7px;font-size:.76rem;font-weight:700;display:flex;overflow:hidden}.library-station-country,.library-station-tech{text-overflow:ellipsis;white-space:nowrap;flex:none;min-width:0;overflow:hidden}.library-station-tech{color:var(--text-soft)}.library-station-tags{flex-wrap:wrap;gap:6px;display:flex}.library-tag{max-width:100%;color:var(--text-main);background:#ffffff0b;border:1px solid #ffffff1a;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:700;line-height:1.2}.library-tag.muted{color:var(--text-soft)}.favorite-btn{width:34px;height:34px;color:var(--text-soft);cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:12px;justify-content:center;align-items:center;font-size:1.06rem;line-height:1;transition:transform .14s,color .14s,background .14s,border-color .14s;display:inline-flex}.favorite-btn:hover{color:var(--text-main);transform:scale(1.05)}.favorite-btn.active{border-color:rgba(var(--accent-2-rgb), .48);background:rgba(var(--accent-2-rgb), .14);color:var(--accent-2)}.starfield{display:none}.starfield-plane{transform-style:preserve-3d;animation:18s ease-in-out infinite alternate starfield-tilt;position:absolute;inset:-8%}.star{width:var(--star-size);height:var(--star-size);box-shadow:0 0 12px #ffffffb8, 0 0 28px rgba(var(--accent-rgb),.52);opacity:0;transform-style:preserve-3d;animation:star-tunnel var(--star-duration) linear infinite;animation-delay:var(--star-delay);background:#ffffffeb;border-radius:50%;position:absolute;top:50%;left:50%}.star:after{content:"";width:calc(var(--star-size) * 7);opacity:.38;background:linear-gradient(90deg,currentColor,#0000);border-radius:999px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-100%,-50%)}.star:nth-child(3n){color:rgba(var(--accent-rgb),.95);background:rgba(var(--accent-rgb),.86);box-shadow:0 0 16px rgba(var(--accent-rgb),.76)}.star:nth-child(4n){color:rgba(var(--accent-2-rgb),.9);background:rgba(var(--accent-2-rgb),.72);box-shadow:0 0 16px rgba(var(--accent-2-rgb),.58)}.star:nth-child(7n){filter:blur(1px)}@keyframes starfield-tilt{0%{transform:rotateX(7deg)rotateY(-10deg)translate(-1.2%)}to{transform:rotateX(-4deg)rotateY(11deg)translate(1.5%)}}@keyframes star-tunnel{0%{opacity:0;transform:translate3d(var(--x0), var(--y0), -680px) scale(.22)}12%{opacity:.36}58%{opacity:.92}to{opacity:0;transform:translate3d(var(--x1), var(--y1), 260px) scale(1.65)}}.glass-card{z-index:2;border:1px solid var(--border);background:linear-gradient(145deg, rgba(var(--accent-rgb), .1), transparent 42%), linear-gradient(315deg, rgba(var(--accent-2-rgb), .08), transparent 36%), linear-gradient(180deg, rgba(var(--theme-panel-rgb), .72), #ffffff08);min-width:0;height:100%;min-height:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px)saturate(135%);backdrop-filter:blur(26px)saturate(135%);transform-origin:50%;will-change:transform;border-radius:28px;flex:1 1 0;grid-template-columns:minmax(300px,.92fr) minmax(340px,1.08fr);grid-template-areas:"header header""artwork info""artwork progress""artwork controls""artwork volume""quickpick quickpick";align-items:start;gap:18px 28px;padding:clamp(18px,3vw,34px);transition:background .45s,border-color .45s,box-shadow .46s cubic-bezier(.22,1,.36,1),transform .46s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:hidden;transform:translateY(-4px)scale(.993)}.player-layout.library-collapsed .glass-card{transform:translateY(0)scale(1);box-shadow:0 24px 56px #00000047}.glass-card>:not(.starfield):not(.overlay){z-index:2;position:relative}.glass-card>.overlay{z-index:1000;position:fixed}header{grid-area:header}.header-top-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{width:46px;height:46px;box-shadow:0 10px 24px rgba(var(--accent-rgb), .18);border-radius:14px;flex:0 0 46px}.brand-copy{align-items:baseline;gap:14px;min-width:0;display:flex}.app-title{letter-spacing:0;min-width:0;color:var(--text-main);font-size:clamp(1rem,2vw,1.18rem);font-weight:800}.datetime{color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:8px;display:inline-flex}.datetime-time{color:var(--text-main);font-size:.98rem;font-weight:850}.datetime-date{font-size:.82rem;font-weight:700}.header-icons-left{order:2;justify-content:flex-end;align-items:center;gap:8px;display:flex}.header-close{display:none}.icon-btn{border:1px solid var(--border);width:42px;height:42px;color:var(--text-main);-webkit-app-region:no-drag;background:#fff1;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.icon-btn:hover{border-color:var(--border-strong);background:#ffffff1c;transform:translateY(-2px)}.icon-btn.small{width:40px;height:40px}.artwork-section{grid-area:artwork;justify-content:center;align-self:stretch;align-items:center;min-width:0;display:flex}.artwork-stack{justify-items:center;gap:18px;width:min(100%,410px);display:grid}.quickpick-section{grid-area:quickpick;justify-content:center;align-items:center;min-width:0;display:flex}.artwork-container{aspect-ratio:1;border:1px solid var(--border);background:linear-gradient(145deg,#ffffff29,#ffffff0a);border-radius:32px;width:min(100%,360px);padding:10px;box-shadow:0 28px 72px #0000005c}.artwork-placeholder{isolation:isolate;cursor:pointer;background:linear-gradient(135deg, rgba(var(--accent-rgb), .9), rgba(var(--accent-3-rgb), .72) 48%, rgba(var(--accent-2-rgb), .86));border-radius:24px;justify-content:center;align-items:center;width:100%;height:100%;transition:transform .18s,box-shadow .18s,background .45s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 55px #00000042}.artwork-placeholder:before{content:"";z-index:1;opacity:.62;background:linear-gradient(120deg,#ffffff42,#0000 34%),repeating-linear-gradient(135deg,#ffffff0d 0 1px,#0000 1px 12px);animation:9s ease-in-out infinite alternate artwork-sheen;position:absolute;inset:0}.artwork-placeholder:after{content:"";border-radius:inherit;pointer-events:none;z-index:3;opacity:0;mix-blend-mode:screen;filter:blur(.5px)drop-shadow(0 0 16px #ffffff42);background:linear-gradient(120deg,#0000 28%,#ffffff3d 42%,#ffffffdb 50%,#ffffff42 58%,#0000 72%),radial-gradient(circle,#ffffffbd,#0000 60%);position:absolute;inset:-18%;transform:translate(-10%,-10%)rotate(0)}.artwork-placeholder.shine-sweep:after{opacity:1;animation:2.6s ease-out forwards artwork-shine-sweep}.artwork-placeholder.shine-glint:after{opacity:1;background:radial-gradient(circle at 22% 28%, #ffffffeb 0 8%, transparent 13%), radial-gradient(circle at 72% 34%, rgba(var(--accent-3-rgb), .56) 0 10%, transparent 16%), radial-gradient(circle at 52% 58%, #ffffff3d, transparent 36%);animation:2.2s ease-out forwards artwork-shine-glint}.artwork-placeholder.shine-flare:after{opacity:1;background:radial-gradient(circle at 48% 42%, #fffffff2 0 4%, transparent 12%), radial-gradient(circle at 52% 48%, #ffffff4d 0 18%, transparent 42%), linear-gradient(135deg, transparent 35%, rgba(var(--accent-rgb), .34) 50%, transparent 66%);animation:2.4s ease-out forwards artwork-shine-flare}@keyframes artwork-shine-sweep{0%{opacity:0;transform:translate(-26%,-10%)rotate(11deg)}12%{opacity:.95}58%{opacity:.8}to{opacity:0;transform:translate(26%,10%)rotate(11deg)}}@keyframes artwork-shine-glint{0%{opacity:0;transform:scale(.92)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@keyframes artwork-shine-flare{0%{opacity:0;transform:scale(.84)}18%{opacity:.95;transform:scale(1)}60%{opacity:.55}to{opacity:0;transform:scale(1.12)}}@keyframes artwork-sheen{0%{opacity:.5;transform:translate(-3%)translateY(-2%)}to{opacity:.72;transform:translate(4%)translateY(3%)}}.artwork-placeholder:hover{box-shadow:inset 0 0 55px #0003, 0 18px 42px rgba(var(--accent-rgb), .18);transform:translateY(-2px)}.station-logo-img{z-index:2;object-fit:contain;cursor:pointer;border-radius:18px;width:88%;height:88%;padding:14px;position:relative}.station-logo-text{z-index:2;max-width:88%;color:var(--text-main);text-align:center;text-shadow:0 8px 22px #0000005c;cursor:pointer;font-size:clamp(2.2rem,8vw,4.2rem);font-weight:850;line-height:1;position:relative}.station-logo-text.logo-name{line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(1.5rem,4.8vw,2.8rem);line-height:1.05;display:-webkit-box;overflow:hidden}.artwork-coverflow{-webkit-app-region:no-drag;width:100%;max-width:none;height:128px;position:relative;overflow:hidden}.artwork-coverflow-stage{z-index:1;perspective:900px;transform-style:preserve-3d;position:absolute;inset:0 44px}.coverflow-item{border:1px solid var(--border);width:92px;height:82px;transform-style:preserve-3d;cursor:pointer;will-change:transform, opacity;background:#ffffff14;border-radius:20px;justify-content:center;align-items:center;transition:border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 12px 28px #00000047}.coverflow-item.selected{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .48);box-shadow:0 14px 34px rgba(var(--accent-rgb), .18)}.coverflow-item:not(.selected):hover{background:#ffffff1f;border-color:#ffffff47}.coverflow-item img{object-fit:contain;width:100%;height:100%;padding:10px}.coverflow-item.fallback{color:var(--text-main);text-align:center;padding:10px;font-size:.86rem;font-weight:800;line-height:1.08}.coverflow-arrow{z-index:3;border:1px solid var(--border);width:38px;height:38px;color:var(--text-main);background:#0c0f14ad;border-radius:999px;justify-content:center;align-items:center;font-size:1.6rem;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.coverflow-arrow.left{left:0}.coverflow-arrow.right{right:0}.track-info{text-align:left;flex-direction:column;grid-area:info;justify-content:flex-start;align-items:flex-start;min-width:0;min-height:0;display:flex}.track-info h2{letter-spacing:0;overflow-wrap:anywhere;width:100%;margin:0;font-size:clamp(2.1rem,4.5vw,3.1rem);font-weight:850;line-height:.96}#now-playing{width:100%;min-height:58px;margin-top:18px}#now-playing .now-artist,#now-playing .now-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#now-playing .now-artist{color:var(--accent);font-size:clamp(1rem,2vw,1.18rem);font-weight:800}#now-playing .now-title{color:var(--text-main);margin-top:3px;font-size:clamp(.96rem,1.6vw,1.08rem);font-weight:600}#now-playing.hidden{visibility:hidden}.track-info p{color:var(--text-muted);margin:12px 0 0;font-size:.98rem}.status-indicator-wrap{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;font-size:.88rem;display:flex}.status-dot{background-color:var(--success);width:8px;height:8px;box-shadow:0 0 12px var(--success);border-radius:50%}.engine-badge{border:1px solid var(--border);color:var(--text-main);letter-spacing:0;text-transform:uppercase;background:#ffffff0f;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.engine-badge svg{width:13px;height:13px}.engine-cast{border-color:#8fb3ff7a;box-shadow:0 0 14px #8fb3ff1f}.engine-html{border-color:#ffffff2e}.cast-output-row{align-items:center;gap:8px;margin-top:10px;display:flex}.cast-output-label{color:var(--text-soft);font-size:.8rem}.cast-output-toggle{border:1px solid var(--border);color:var(--text-main);background:#ffffff12;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.cast-output-toggle[aria-pressed=true]{color:var(--success);background:#84f2a81f;border-color:#84f2a880}.progress-container{background:#ffffff14;border:1px solid #ffffff14;border-radius:999px;grid-area:progress;width:100%;height:10px;padding:3px}.progress-bar{width:100%;height:100%;position:relative}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:100%;height:100%;box-shadow:0 0 18px var(--accent-glow);border-radius:999px}.progress-handle{background:var(--text-main);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;right:-1px;transform:translate(50%,-50%);box-shadow:0 0 20px #ffffff85}.controls-section{grid-area:controls;grid-template-columns:64px 96px 64px;justify-content:center;align-items:center;gap:18px;display:grid}.control-btn{color:var(--text-main);border:none;justify-content:center;align-items:center;transition:transform .14s,background .14s,box-shadow .14s;display:flex}.control-btn:hover{transform:translateY(-2px)}.control-btn:active{transform:scale(.96)}.control-btn.secondary{border:1px solid var(--border);background:#ffffff12;border-radius:18px;width:64px;height:64px}.control-btn.primary{background:linear-gradient(145deg, var(--accent), var(--accent-3));width:96px;height:96px;box-shadow:0 18px 42px rgba(var(--accent-rgb), .24), inset 0 1px 0 #ffffff47;border-radius:28px}.control-btn.primary.playing{animation:2s ease-in-out infinite pulse-ring}@keyframes pulse-ring{0%,to{box-shadow:0 18px 42px rgba(var(--accent-rgb), .24), 0 0 0 0 rgba(var(--accent-rgb), .34)}50%{box-shadow:0 18px 42px rgba(var(--accent-rgb), .24), 0 0 0 10px rgba(var(--accent-rgb), 0)}}.icon-container{width:34px;height:34px;position:relative}.icon-container svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.volume-section{grid-area:volume;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:12px;width:100%;display:grid}.slider-container{min-width:0}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px}input[type=range]::-webkit-slider-runnable-track{background:#ffffff29;border-radius:999px;height:7px}input[type=range]::-webkit-slider-thumb{border:3px solid var(--page-bg);background:var(--accent);-webkit-appearance:none;border-radius:50%;width:19px;height:19px;margin-top:-6px;box-shadow:0 0 0 1px #ffffff3d,0 8px 16px #0000003d}#volume-value{color:var(--text-muted);text-align:right;font-size:.86rem;font-weight:700}.install-prompt-banner{display:none}.hidden{display:none!important}.overlay{z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;background:#070a0ead;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;inset:0}.overlay:not(.hidden){opacity:1;pointer-events:auto}.modal{border:1px solid var(--border);background:var(--panel-strong);width:min(860px,100%);max-height:min(760px,100vh - 40px);box-shadow:var(--shadow);color:var(--text-main);border-radius:24px;flex-direction:column;padding:22px;animation:.2s pop;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal h2{letter-spacing:0;margin:0 0 16px;font-size:clamp(1.18rem,2.5vw,1.5rem);font-weight:850}.device-list{margin:0 0 18px;padding:2px;list-style:none;overflow-y:auto}.stations-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.station-card,.device{background:#ffffff0e;border:1px solid #ffffff1a;list-style:none;transition:transform .14s,background .14s,border-color .14s}.station-card{cursor:pointer;border-radius:16px;align-items:center;gap:12px;min-height:88px;padding:12px;display:flex}.station-card:hover,.device:hover{border-color:var(--border-strong);background:#ffffff17;transform:translateY(-2px)}.station-card.selected{border-color:rgba(var(--accent-rgb), .52);background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-3-rgb), .12))}.station-card-left{flex:0 0 58px;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.station-card-logo,.station-card-fallback{background:#ffffff14;border-radius:14px;width:58px;height:58px}.station-card-logo{object-fit:contain;padding:8px}.station-card-fallback{justify-content:center;align-items:center;font-size:1.2rem;font-weight:850;display:flex}.station-card-body{min-width:0}.station-card-title{color:var(--text-main);font-size:.98rem;font-weight:800;line-height:1.12}.station-card-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.82rem;overflow:hidden}.device{border-radius:14px;margin-bottom:10px;padding:13px 14px}.device-main{color:var(--text-main);font-size:.94rem;font-weight:800}.device-sub{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:.78rem}.editor-station-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-station-copy{min-width:0}.editor-station-actions,.editor-actions{align-items:center;gap:8px;display:flex}.field-row{margin-bottom:10px}.modal input,.modal textarea,.modal select{border:1px solid var(--border);width:100%;color:var(--text-main);background:#ffffff0f;border-radius:12px;padding:12px 13px;box-shadow:inset 0 1px #ffffff08}.modal input::placeholder,.modal textarea::placeholder{color:var(--text-soft)}.btn{min-height:42px;color:var(--text-main);background:#ffffff17;border:1px solid #0000;border-radius:12px;padding:10px 16px;font-weight:800;transition:transform .14s,background .14s,border-color .14s}.btn:hover{border-color:var(--border-strong);background:#ffffff21;transform:translateY(-1px)}.btn.cancel{color:#0c1819;background:var(--accent);width:100%}.btn.secondary{background:#ffffff14}.btn.edit-btn{color:#071314;background:var(--accent)}.btn.delete-btn{color:#ffd3db;background:#ff708729;border-color:#ff708740}#add-station-form{border-top:1px solid #ffffff1a;padding-top:16px}.cast-btn,.install-btn{gap:8px;width:auto;padding:0 12px}.cast-btn span,.install-btn span{font-size:.86rem;font-weight:800;line-height:1}.cast-btn:not(.cast-ready){color:var(--text-soft)}.cast-btn.cast-active,.cast-btn.cast-ready:hover{background:#8fb3ff24;border-color:#8fb3ff80}@media (width<=1100px){body.library-open{overflow:hidden}.player-layout{width:min(1060px,100%);height:auto;min-height:min(720px,100vh - 48px)}.player-layout.library-collapsed{width:min(1060px,100%)}.sidebar-wrap{display:contents}.station-library{z-index:1200;opacity:0;visibility:hidden;pointer-events:none;border-radius:24px;grid-template-rows:auto auto auto auto auto minmax(0,1fr);height:auto;min-height:0;max-height:min(82vh,720px);padding:18px;transition:transform .24s,opacity .24s,visibility .24s;position:fixed;bottom:12px;left:12px;right:12px;transform:translateY(calc(100% + 24px))}.station-library.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.library-close{display:inline-flex}.library-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){body{overflow:hidden}.app-container{align-items:stretch;min-height:100dvh;padding:0}.player-layout{width:100%;height:100dvh;min-height:0}.glass-card{border-radius:22px;grid-template:"header""artwork"minmax(0,1fr)"info""progress""controls""volume""quickpick"/1fr;gap:9px;width:100%;height:100dvh;min-height:100dvh;padding:10px 12px 108px;overflow:hidden}.header-top-row,.brand-block{gap:8px}.library-tab{border-radius:11px;min-height:36px}.library-tab-icon{width:17px;height:17px}.station-library{border-radius:22px;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:11px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:15px;inset:8px}.library-top h2{font-size:1.18rem}.library-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.library-filter-grid{grid-template-columns:1fr}.library-select-menu{max-height:240px}.library-list{-webkit-overflow-scrolling:touch;padding-bottom:10px;padding-right:0;-webkit-mask-image:none;mask-image:none}.library-tab{min-width:0;min-height:34px}.library-station{border-radius:15px;grid-template-columns:44px minmax(0,1fr) 32px;gap:9px;min-height:66px;padding:9px}.library-station-logo,.library-station-fallback{border-radius:13px;width:44px;height:44px}.favorite-btn{border-radius:11px;width:32px;height:32px}.brand-block{gap:9px}.brand-logo{border-radius:12px;flex-basis:40px;width:40px;height:40px}.brand-copy{flex-direction:column;align-items:flex-start;gap:2px}.app-title{font-size:1rem}.datetime{gap:7px}.datetime-time{font-size:.92rem}.datetime-date{font-size:.76rem}.header-icons-left{gap:6px}#edit-stations-btn,#install-app-btn{display:none}.icon-btn{border-radius:12px;width:40px;height:40px}.cast-btn,.install-btn{width:40px;min-width:40px;padding:0}.cast-btn span,.install-btn span{display:none}.artwork-section{align-self:center}.artwork-stack{gap:6px;width:100%}.artwork-container{border-radius:18px;width:min(34vw,132px);padding:4px}.artwork-placeholder{border-radius:16px}.station-logo-img{width:72%;height:72%;padding:6px}.station-logo-text{font-size:clamp(1rem,4.8vw,1.55rem)}.artwork-coverflow{width:min(100%,100vw - 42px);height:72px;margin-inline:auto}.artwork-coverflow-stage{inset:0 38px}.coverflow-item{border-radius:14px;width:60px;height:52px}.coverflow-item.fallback{font-size:.66rem}.coverflow-arrow{background:#0c0f14c7;width:32px;height:32px}.track-info{text-align:center;justify-content:center;align-items:center;min-height:108px}.track-info h2{white-space:nowrap;text-overflow:clip;font-size:clamp(1.45rem,8vw,2.25rem);overflow:hidden}.track-info h2.station-title-marquee{overflow:hidden}.track-info h2.station-title-marquee .station-title-track{will-change:transform;width:max-content;animation:10s linear infinite station-title-scroll;display:inline-flex}.track-info h2 .station-title-text,.track-info h2 .station-title-copy{white-space:nowrap;display:inline-block}.track-info p{display:none}#now-playing{min-height:34px;margin-top:8px}.status-indicator-wrap,.cast-output-row{justify-content:center}.controls-section{grid-template-columns:50px 72px 50px;justify-content:center;gap:10px}.control-btn.secondary{border-radius:15px;width:50px;height:50px}.control-btn.primary{border-radius:20px;width:72px;height:72px}.volume-section{grid-template-columns:36px minmax(0,1fr) 38px;gap:8px;padding-bottom:0}.volume-section #volume-value{font-size:.78rem}.quickpick-section{align-self:end}.quickpick-section .artwork-coverflow{max-width:100%}.install-prompt-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9999;border:1px solid rgba(var(--accent-rgb), .22);background:linear-gradient(145deg, rgba(var(--theme-panel-rgb), .94), #ffffff0f), linear-gradient(135deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-3-rgb), .1));-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;max-width:640px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;box-shadow:0 16px 38px #00000057}.install-prompt-banner.hidden{display:none}.install-prompt-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.install-prompt-copy strong{color:var(--text-main);font-size:.92rem;font-weight:850}.install-prompt-copy span{color:var(--text-muted);font-size:.76rem;line-height:1.2}.install-prompt-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.install-prompt-action,.install-prompt-dismiss{border-radius:11px;min-height:36px;padding:0 11px}.install-prompt-action{color:#0c1819;background:var(--accent)}.overlay{align-items:end;padding:0}.modal{border-inline:none;border-bottom:none;border-radius:22px 22px 0 0;width:100%;max-height:88vh;padding:18px}.stations-grid{grid-template-columns:1fr;gap:10px}.editor-station-row{flex-direction:column;align-items:stretch}.editor-station-actions,.editor-actions{width:100%}.editor-station-actions .btn,.editor-actions .btn{flex:1}}@keyframes station-title-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (width>=761px) and (width<=980px){.glass-card{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:16px 22px}.artwork-container{width:min(100%,320px)}.track-info h2{font-size:clamp(2rem,5vw,3.7rem)}}@media (width<=380px){.glass-card{padding:13px}.artwork-container{width:min(47vw,238px)}.artwork-coverflow{height:80px}.coverflow-item{width:62px;height:56px;font-size:.66rem}.controls-section{grid-template-columns:52px 76px 52px;gap:12px}.control-btn.secondary{width:52px;height:52px}.control-btn.primary{width:76px;height:76px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
