:root{color-scheme:light;--bg:#f5efe4;--panel:#fffaf1;--panel-soft:#efe1cd;--line:#d7bf99;--text:#171b28;--text-inverse:#fff3df;--muted:#735f48;--muted-inverse:#cab99c;--bronze:#c8844d;--bronze-deep:#8b5838;--red:#9d332f;--gold:#caa15b;--ink:#111724;--ink-soft:#202838;--player-height:92px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(180deg,#fffaf2 0,var(--bg) 48%,#eadbc5 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input{font:inherit}input[type=range]{accent-color:var(--gold)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.auth-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 90px rgba(17,23,36,.18);display:grid;grid-gap:24px;gap:24px;margin:0 auto;max-width:440px;padding:28px;width:100%}.brand.large .brand-mark{height:48px;width:48px}.brand.large strong{color:var(--text);font-size:1.2rem}.brand.large span{color:var(--muted)}.auth-heading p{color:var(--red);font-size:.82rem;font-weight:700;margin:0 0 4px;text-transform:uppercase}.auth-heading h1{font-size:1.55rem;margin:0}.auth-form{display:grid;grid-gap:14px;gap:14px}.field{color:var(--muted);display:grid;font-size:.88rem;grid-gap:7px;gap:7px}.account-form input,.account-form select,.field input,.filter-bar input:not([type=checkbox]),.filter-bar select,.playlist-form input,.podcast-form input,.podcast-search-form input{background:#fffdf7;border:1px solid var(--line);border-radius:8px;color:var(--text);height:42px;min-height:42px;outline:0;padding:0 12px;width:100%}.account-form select,.filter-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.account-form input:focus,.account-form select:focus,.field input:focus,.filter-bar input:not([type=checkbox]):focus,.filter-bar select:focus,.playlist-form input:focus,.playlist-picker:focus-within,.podcast-form input:focus,.podcast-search-form input:focus,.search:focus-within{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(200,132,77,.2)}.notice-banner{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.notice-banner>span{min-width:0}.notice-close{align-items:center;background:transparent;border:0;border-radius:8px;color:currentColor;cursor:pointer;display:grid;flex:0 0 auto;height:24px;justify-items:center;opacity:.72;padding:0;width:24px}.notice-close:hover{background:rgba(17,23,36,.08);opacity:1}.error-banner{background:#f6ded6;border:1px solid #dc9a86;border-radius:8px;color:#7e231f;font-size:.9rem;padding:11px 12px;white-space:pre-line}.loading-line{background:var(--panel-soft);border-radius:999px;height:6px;overflow:hidden}.loading-line:after{animation:loading-slide 1.2s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--bronze),transparent);content:"";display:block;height:100%;width:42%}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:100vh;padding-bottom:var(--player-height)}.sidebar{background:var(--ink);border-right:1px solid var(--line);color:var(--text-inverse);display:flex;flex-direction:column;gap:32px;padding:24px;min-width:0}.brand{align-items:center;display:flex;gap:12px}.brand-mark,.podcast-icon{align-items:center;background:linear-gradient(145deg,rgba(255,246,223,.52),transparent 34%),linear-gradient(135deg,var(--gold),var(--bronze) 58%,var(--bronze-deep));border:1px solid #f1d29a;border-radius:8px;color:var(--ink);display:grid;height:42px;justify-items:center;width:42px}.brand strong,.now-playing strong,.playlist-row strong,.podcast-row strong,.track-title strong{display:block}.brand span,.now-playing span,.playlist-row span,.podcast-row span,.section-heading p,.track-title span{color:var(--muted);display:block;font-size:.83rem;margin:0}.brand strong{color:var(--text-inverse)}.brand span{color:var(--muted-inverse)}.nav-list{display:grid;grid-gap:8px;gap:8px}.nav-item{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted-inverse);display:flex;gap:10px;min-height:42px;padding:0 12px;text-decoration:none;width:100%}.nav-item.active,.nav-item:hover{background:var(--ink-soft);color:var(--text-inverse)}.sidebar-action{align-items:center;background:transparent;border:1px solid #3b4355;border-radius:8px;color:var(--muted-inverse);display:flex;gap:9px;margin-top:auto;min-height:40px;padding:0 12px}.sidebar-action:hover{background:var(--ink-soft);color:var(--text-inverse)}.mobile-nav-toggle{display:none}.workspace{min-width:0;padding:24px 24px 18px}.topbar{gap:16px;justify-content:space-between;margin-bottom:24px}.search,.topbar{align-items:center;display:flex}.search{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex:1 1;gap:10px;max-width:680px;min-height:44px;padding:0 14px}.search input{background:transparent;border:0;color:var(--text);min-width:0;outline:0;width:100%}.ghost-button,.primary-action{align-items:center;border:0;border-radius:8px;display:inline-flex;gap:8px;min-height:42px;padding:0 14px}.primary-action.wide{justify-content:center;width:100%}.primary-action{background:var(--red);color:var(--text-inverse);font-weight:700}.ghost-button{background:var(--panel-soft);border:1px solid var(--line);color:var(--text)}.compact-button{min-height:34px;padding:0 11px}.content-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr)}.content-grid.home-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.user-menu{align-items:center;display:flex;gap:10px}.user-menu>span{color:var(--muted);font-size:.9rem;white-space:nowrap}.workspace-error{margin-bottom:16px}.upload-message{background:#f6ead7;border:1px solid var(--line);border-radius:8px;color:var(--bronze-deep);font-size:.9rem;margin-bottom:16px;padding:11px 12px}.account-panel,.library-panel,.playlist-panel,.podcast-panel,.visualizer-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.library-panel{grid-row:span 3;padding:22px}.home-grid .library-panel{grid-row:auto}.account-panel,.playlist-panel,.podcast-panel{padding:20px}.visualizer-panel{min-height:220px;overflow:hidden}.content-grid .full-panel,.full-panel{grid-column:1/-1;grid-row:auto}.compact-panel{grid-row:auto}.home-hero{align-items:center;background:var(--ink);border:1px solid #3b4355;border-radius:8px;color:var(--text-inverse);display:flex;gap:16px;grid-column:1/-1;justify-content:space-between;min-height:112px;padding:22px}.home-hero p{color:var(--muted-inverse);font-size:.83rem;margin:0}.home-hero h1{font-size:1.55rem;margin:2px 0 0}.home-hero-meta{align-items:center;background:var(--ink-soft);border:1px solid #3b4355;border-radius:8px;color:var(--text-inverse);display:flex;gap:9px;min-height:40px;padding:0 12px;white-space:nowrap}.stat-grid{display:grid;grid-gap:12px;gap:12px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:2px;gap:2px;min-height:82px;padding:16px}.stat-card strong{color:var(--red);font-size:1.55rem}.stat-card span{color:var(--muted);font-size:.86rem}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.section-heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.section-heading h1,.section-heading h2{font-size:1.35rem;margin:2px 0 0}.account-list,.playlist-list,.podcast-list,.podcast-search-results,.track-table{display:grid;grid-gap:10px;gap:10px}.empty-state{align-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:6px;gap:6px;justify-items:center;min-height:170px;padding:18px;text-align:center}.empty-state strong{color:var(--text)}.empty-state span{font-size:.9rem}.empty-state.compact{min-height:126px}.track-header,.track-row{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 38px 38px minmax(118px,150px) 38px;min-height:62px;padding:8px;position:relative;width:100%}.track-header{color:var(--muted);min-height:34px;padding-bottom:2px;padding-top:2px}.track-header.admin-track-row,.track-row.admin-track-row{grid-template-columns:minmax(0,1fr) 38px 38px minmax(118px,150px) 38px}.track-header.admin-track-row.selectable-track-row,.track-header.selectable-track-row,.track-row.admin-track-row.selectable-track-row,.track-row.selectable-track-row{grid-template-columns:28px minmax(0,1fr) 38px 38px minmax(118px,150px) 38px}.track-select{accent-color:var(--red);height:18px;justify-self:center;width:18px}.track-bulk-actions{margin-bottom:12px}.account-row:hover,.playlist-row:hover,.podcast-result-row:hover,.podcast-row:hover,.track-row.active,.track-row:hover{background:var(--panel-soft)}.track-main{background:transparent;color:var(--text);text-align:left}.track-header-main,.track-main{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:32px 44px minmax(0,1fr) minmax(100px,150px) 48px 64px;min-width:0}.track-sort-button{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.76rem;font-weight:800;gap:4px;letter-spacing:0;min-width:0;padding:0;text-align:left;text-transform:uppercase}.track-sort-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-sort-button.active,.track-sort-button:hover{color:var(--red)}.track-action-heading,.track-header-artwork{min-width:0}.track-playlist-heading{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.album-name,.duration,.play-count,.track-index,.track-index-number{color:var(--muted);font-size:.88rem}.track-play-cell{align-items:center;display:grid;height:36px;justify-items:center;position:relative}.track-index-number{opacity:0;transition:opacity .14s ease}.track-play-toggle{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;height:32px;inset:2px;justify-items:center;position:absolute;transition:background .14s ease,color .14s ease,opacity .14s ease,transform .14s ease;width:32px}.track-play-toggle:hover,.track-row.active .track-play-toggle{background:#f3dcc4;color:var(--red)}.track-play-toggle:disabled{cursor:not-allowed;opacity:.42}.track-overflow-actions,.track-play-mobile-label,.track-playlist-menu{display:none}.track-playlist-action{position:relative}.playlist-menu-trigger{border:1px solid var(--line);cursor:pointer;font:inherit;justify-content:space-between;width:100%}.playlist-menu-trigger.active,.playlist-menu-trigger:hover{background:#f3dcc4;color:var(--red)}.track-overflow-actions,.track-playlist-menu{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 34px rgba(17,23,36,.16);gap:4px;min-width:220px;padding:6px;position:absolute;right:8px;top:calc(100% - 4px);z-index:12}.track-playlist-menu{right:0;top:calc(100% + 6px)}.track-overflow-actions.open,.track-playlist-menu.open{display:grid}.track-overflow-actions button,.track-playlist-menu button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--text);display:flex;font:inherit;font-size:.86rem;justify-content:flex-start;min-height:38px;padding:0 10px;text-align:left}.track-overflow-actions button:hover,.track-playlist-menu button:hover{background:var(--panel-soft)}.track-overflow-actions button.danger{color:var(--red);font-weight:800}.track-overflow-actions .mobile-only-action,.track-overflow-actions .mobile-track-playlists{display:none}.mobile-track-muted-option{color:var(--muted);font-size:.78rem;font-weight:800;padding:7px 10px 4px}.album-name,.play-count,.track-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-icon-button{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;height:36px;justify-items:center;width:36px}.row-icon-button.active,.row-icon-button:hover{background:#f3dcc4;color:var(--red)}.row-icon-button.danger:hover{background:#f6ded6;border-color:#dc9a86}.track-overflow-toggle.compact-only-overflow{display:none}.playlist-picker{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:6px;min-height:36px;min-width:0;padding:0 8px}.playlist-picker select{background:transparent;border:0;color:var(--text);min-width:0;outline:0;width:100%}.artwork,.mini-artwork{background:linear-gradient(135deg,var(--ink),transparent 52%),linear-gradient(315deg,var(--red),var(--bronze) 52%,var(--gold));border-radius:7px}.artwork{height:44px;overflow:hidden;width:44px}.artwork img,.mini-artwork img{display:block;height:100%;object-fit:cover;width:100%}.account-row,.playlist-row,.podcast-result-row,.podcast-row{align-items:center;border-radius:8px;gap:12px;min-height:64px;padding:10px}.podcast-row{display:grid;grid-template-columns:40px minmax(0,1fr) 36px}.podcast-card{display:grid;grid-gap:6px;gap:6px}.podcast-result-row{border:1px solid var(--line);display:grid;grid-template-columns:40px minmax(0,1fr) auto}.playlist-row{display:grid;grid-template-columns:minmax(0,1fr) 36px}.playlist-row.active{background:var(--panel-soft)}.playlist-main{align-items:center;background:transparent;border:0;color:var(--text);display:flex;gap:12px;min-width:0;padding:0;text-align:left}.playlist-main>div:last-child,.playlist-track-row .track-title{min-width:0}.playlist-track-list{display:grid;grid-gap:8px;gap:8px}.playlist-track-row{align-items:center;border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:28px 40px minmax(0,1fr) 36px 36px;min-height:52px;padding:8px}.playlist-track-row:hover{background:#f7ead8}.split-workspace{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(240px,.55fr) minmax(0,1fr)}.detail-panel{background:#fff8ed;border:1px solid var(--line);border-radius:8px;min-width:0;padding:16px}.account-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto}.account-row>div:nth-child(2){min-width:0}.account-row.disabled{opacity:.72}.account-row.disabled strong{color:var(--muted)}.account-actions{display:flex;gap:8px}.account-row span,.account-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row span{color:var(--muted);font-size:.83rem}.podcast-main{background:transparent;border:0;color:var(--text);min-width:0;padding:0;text-align:left}.podcast-main.active strong,.podcast-main:hover strong{color:var(--red)}.podcast-main,.podcast-row>div:nth-child(2){min-width:0}.podcast-main span,.podcast-main strong,.podcast-row span,.podcast-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-meta{color:var(--bronze-deep)}.podcast-tile-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.album-sort-toolbar{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px}.album-sort-toolbar>span{color:var(--muted);font-size:.82rem;font-weight:800;margin-right:2px;text-transform:uppercase}.album-sort-button.track-sort-button{background:#fffdf7;border:1px solid #f1d29a;border-radius:999px;min-height:34px;padding:0 11px}.album-sort-button.track-sort-button.active,.album-sort-button.track-sort-button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.album-tile-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.album-tile,.podcast-tile{background:#fff8ed;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:198px;padding:12px;position:relative}.album-tile,.album-tile-main,.podcast-tile{display:grid;grid-gap:10px;gap:10px;text-align:left}.album-tile-main{background:transparent;border:0;color:inherit;min-width:0;padding:0}.album-tile:hover,.podcast-tile:hover{background:var(--panel-soft)}.album-tile span,.album-tile strong,.album-tile-main span,.album-tile-main strong,.podcast-tile span,.podcast-tile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-tile span,.podcast-tile span{color:var(--muted);font-size:.83rem}.album-tile-main span+span{color:var(--bronze-deep)}.album-shuffle-button{position:absolute;right:18px;top:18px}.album-lofi-button{position:absolute;right:60px;top:18px}.album-tile.shuffle-excluded .album-tile-art{opacity:.72}.album-tile-art,.podcast-tile-art{align-items:center;aspect-ratio:1;background:linear-gradient(145deg,rgba(255,246,223,.56),transparent 34%),linear-gradient(135deg,var(--gold),var(--bronze));border:1px solid #f1d29a;border-radius:8px;color:var(--ink);display:grid;justify-items:center;overflow:hidden;position:relative;width:100%}.album-tile-art img,.podcast-tile-art img{height:100%;object-fit:cover;width:100%}.youtube-player-card{background:#fff8ed;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.youtube-player-card iframe{aspect-ratio:16/9;border:0;border-radius:8px;display:block;min-height:220px;width:100%}.youtube-player-fallback{background:rgba(255,248,237,.82)}.youtube-fallback-copy{color:var(--muted);font-size:.92rem;line-height:1.45;margin:0}.youtube-fallback-actions{display:flex;flex-wrap:wrap;gap:10px}.youtube-controlled-player{display:grid;grid-gap:10px;gap:10px}.youtube-controlled-stage{aspect-ratio:16/9;background:radial-gradient(circle at 28% 24%,rgba(202,161,91,.24),transparent 34%),linear-gradient(135deg,#151724,#2b2431 58%,#46202b);border-radius:8px;min-height:220px;overflow:hidden;position:relative}.youtube-controlled-stage iframe,.youtube-controlled-stage>div:first-child{border:0;display:block;height:100%;width:100%}.youtube-player-overlay{align-items:center;background:rgba(17,23,36,.86);color:var(--text-inverse);display:grid;grid-gap:8px;gap:8px;inset:0;justify-items:center;padding:18px;position:absolute;text-align:center}.youtube-player-overlay span{color:var(--muted-inverse);font-size:.86rem}.youtube-controlled-controls{background:linear-gradient(135deg,rgba(25,28,43,.96),rgba(49,37,48,.94));border:1px solid #3b4355;border-radius:8px;grid-gap:10px;gap:10px;grid-template-columns:40px 46px 40px minmax(220px,1fr) auto;padding:10px}.transport-button,.youtube-controlled-controls{align-items:center;color:var(--text-inverse);display:grid}.transport-button{background:var(--ink-soft);border:1px solid #3b4355;border-radius:999px;height:40px;justify-items:center;width:40px}.transport-button.play-button{background:var(--gold);border-color:var(--gold);color:var(--ink);height:46px;width:46px}.youtube-controlled-timeline,.youtube-controlled-volume{align-items:center;display:grid;grid-gap:8px;gap:8px}.youtube-controlled-timeline{grid-template-columns:42px minmax(0,1fr) 42px}.youtube-controlled-timeline span{color:var(--muted-inverse);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.youtube-controlled-volume{grid-template-columns:30px 82px}.youtube-controlled-player input[type=range]{accent-color:var(--gold);width:100%}.youtube-html5-player{background:radial-gradient(circle at 28% 24%,rgba(202,161,91,.24),transparent 34%),linear-gradient(135deg,#151724,#2b2431 58%,#46202b);border-radius:8px;overflow:hidden}.youtube-html5-player video{aspect-ratio:16/9;background:#111724;display:block;min-height:220px;object-fit:contain;width:100%}.youtube-html5-fallback{display:grid;grid-gap:10px;gap:10px}.youtube-player-overlay.inline{border-radius:8px;inset:auto;min-height:110px;position:relative}.youtube-video-thumb{align-items:center;background:linear-gradient(135deg,var(--ink),transparent 52%),linear-gradient(315deg,var(--red),var(--bronze) 52%,var(--gold));border-radius:7px;color:#fff8ed;display:grid;height:46px;justify-items:center;overflow:hidden;width:82px}.youtube-video-thumb img{display:block;height:100%;object-fit:cover;width:100%}.youtube-video-grid{display:grid;grid-gap:34px 22px;gap:34px 22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.youtube-video-card{display:grid;grid-gap:10px;gap:10px;min-width:0;position:relative}.youtube-video-card.active .youtube-video-art{outline:3px solid rgba(216,166,94,.78);outline-offset:2px}.youtube-video-art{aspect-ratio:16/9;align-items:center;background:linear-gradient(135deg,var(--ink),transparent 52%),linear-gradient(315deg,var(--red),var(--bronze) 52%,var(--gold));border:0;border-radius:8px;color:#fff8ed;cursor:pointer;display:grid;justify-items:center;overflow:hidden;padding:0;position:relative;width:100%}.youtube-video-art img{display:block;height:100%;object-fit:cover;width:100%}.youtube-video-duration{background:rgba(17,23,36,.86);border-radius:4px;bottom:7px;color:#fff8ed;font-size:.76rem;font-weight:800;line-height:1;padding:4px 5px;position:absolute;right:7px}.youtube-video-progress{background:rgba(255,248,237,.28);bottom:0;height:4px;left:0;overflow:hidden;position:absolute;right:0}.youtube-video-progress span{background:#e7332f;display:block;height:100%}.youtube-video-playing{align-items:center;background:rgba(17,23,36,.76);border-radius:999px;color:var(--gold);display:grid;height:42px;justify-items:center;position:absolute;width:42px}.youtube-video-body{display:grid;grid-gap:4px;gap:4px;grid-template-columns:minmax(0,1fr) 30px;position:relative}.youtube-video-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;display:-webkit-box;font-size:1rem;font-weight:900;line-height:1.22;min-height:2.44em;overflow:hidden;text-align:left}.youtube-video-more,.youtube-video-title{background:transparent;border:0;color:var(--text);padding:0}.youtube-video-more{align-items:center;border-radius:999px;display:grid;height:30px;justify-items:center;width:30px}.youtube-video-more:hover,.youtube-video-more[aria-expanded=true]{background:#efe0ca}.youtube-video-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:5px;grid-column:1/-1;line-height:1.25}.youtube-video-meta span:not(:last-child):after{content:"•";margin-left:5px}.youtube-video-menu{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 34px rgba(61,45,32,.18);display:grid;min-width:190px;padding:6px;position:absolute;right:0;top:32px;z-index:12}.youtube-video-menu button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--text);display:flex;gap:8px;min-height:34px;padding:0 9px;text-align:left}.youtube-video-menu button:hover{background:#f3e6d2}.new-star,.youtube-video-menu button.danger{color:var(--red)}.new-star{align-items:center;background:#fff8ed;border:1px solid #f1d29a;border-radius:999px;display:inline-flex;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.episode-table,.podcast-detail{display:grid;grid-gap:12px;gap:12px}.bulk-actions,.inline-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.danger-action:hover{background:#f6ded6;border-color:#dc9a86;color:var(--red)}.episode-filter-panel{background:linear-gradient(180deg,#fffaf1,#fffdf7);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:12px}.episode-filter-summary{align-items:center;display:flex;gap:12px;justify-content:space-between}.episode-filter-summary div{display:grid;grid-gap:3px;gap:3px}.episode-filter-summary span,.filter-field span{align-items:center;color:var(--muted);display:inline-flex;font-size:.78rem;gap:6px}.episode-filter-summary strong{font-size:.95rem}.filter-bar{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-field{display:grid;grid-gap:6px;gap:6px}.filter-field.wide{grid-column:span 2}.filter-check-field{align-items:center;background:#fffdf7;border:1px solid var(--line);border-radius:8px;color:var(--text);display:flex;gap:9px;justify-content:flex-start;min-height:42px;padding:0 12px;white-space:nowrap}.filter-check-field input{accent-color:var(--bronze);flex:0 0 auto;height:18px;margin:0;width:18px}.filter-check-field span{color:var(--text);font-size:.9rem}.youtube-filter-panel{margin-top:4px}.youtube-filter-panel .filter-bar{align-items:end;grid-template-columns:minmax(180px,1.15fr) repeat(2,minmax(132px,.75fr)) repeat(2,minmax(150px,.65fr))}.youtube-keyword-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.youtube-keyword-form input{background:#fffdf7;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:42px;outline:0;padding:0 12px;width:100%}.youtube-keyword-form input:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(200,132,77,.2)}.keyword-chip-list{display:flex;flex-wrap:wrap;gap:8px}.keyword-chip{align-items:center;background:#fffdf7;border:1px solid var(--line);border-radius:999px;color:var(--text);display:inline-flex;gap:6px;min-height:32px;padding:0 10px}.youtube-hidden-channel-list{display:grid;grid-gap:8px;gap:8px}.youtube-hidden-channel-heading{color:var(--muted);font-size:.82rem;font-weight:800}.youtube-hidden-channel{align-items:center;background:#fffdf7;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;min-height:46px;padding:6px}.youtube-hidden-channel>span{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-hidden-channel-thumb{align-items:center;background:#f3e6d2;border-radius:999px;color:var(--muted);display:grid;height:34px;justify-items:center;overflow:hidden;width:34px}.youtube-hidden-channel-thumb img{height:100%;object-fit:cover;width:100%}.podcast-result-actions{align-items:center;display:flex;gap:6px;justify-content:flex-end}.bulk-actions{background:#fff8ed;border:1px solid var(--line);border-radius:8px;justify-content:flex-start;padding:10px}.bulk-actions span{color:var(--muted);font-size:.86rem;margin-right:auto}.episode-list{border-left:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;margin-left:20px;padding:2px 0 2px 20px}.episode-list.home-episodes{border-left:0;margin-left:0;padding-left:0}.episode-row{align-items:center;border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) 36px 36px;min-height:52px;padding:8px}.episode-row.detail{grid-template-columns:20px minmax(0,1fr) 36px 36px}.episode-row.active,.episode-row:hover{background:#f7ead8}.episode-main{background:transparent;border:0;color:var(--text);min-width:0;padding:0;text-align:left}.episode-play-toggle{transition:background .14s ease,color .14s ease,opacity .14s ease,transform .14s ease}.episode-main strong,.episode-meta,.episode-title-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-title-line{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:9px minmax(0,1fr)}.episode-title-line strong{min-width:0}.episode-unread-dot{background:var(--red);border-radius:999px;box-shadow:0 0 0 3px rgba(137,35,44,.12);height:7px;opacity:0;width:7px}.episode-unread-dot.visible{opacity:1}.episode-meta,.episode-state{color:var(--muted);font-size:.82rem}.episode-meta{padding-left:17px}.episode-state{padding:8px}@media (hover:hover) and (pointer:fine){.track-index-number{opacity:1}.track-play-toggle{opacity:0;pointer-events:none;transform:scale(.9)}.track-row.active .track-play-toggle,.track-row:focus-within .track-play-toggle,.track-row:hover .track-play-toggle{opacity:1;pointer-events:auto;transform:scale(1)}.track-row.active .track-index-number,.track-row:focus-within .track-index-number,.track-row:hover .track-index-number{opacity:0}.episode-play-toggle{opacity:0;pointer-events:none;transform:scale(.9)}.episode-row.active .episode-play-toggle,.episode-row:focus-within .episode-play-toggle,.episode-row:hover .episode-play-toggle{opacity:1;pointer-events:auto;transform:scale(1)}}.podcast-result-row img{aspect-ratio:1;border-radius:8px;height:40px;object-fit:cover;width:40px}.podcast-result-row>div:nth-child(2){min-width:0}.podcast-result-row span,.podcast-result-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-result-row span{color:var(--muted);font-size:.83rem}.account-form,.playlist-form,.podcast-form,.podcast-search-form{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.account-form{grid-template-columns:1fr}.podcast-search-results{margin-bottom:14px}.source-search-backdrop{align-items:flex-start;background:rgba(17,23,36,.28);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:max(28px,env(safe-area-inset-top)) 18px 120px;position:fixed;right:0;top:0;z-index:80}.source-search-modal{background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 90px rgba(17,23,36,.24);display:grid;grid-gap:12px;gap:12px;max-width:980px;padding:18px;width:min(100%,980px)}.lofi-conversion-modal{max-width:760px;width:min(100%,760px)}.lofi-modal-intro{align-items:center;background:rgba(232,184,91,.16);border:1px solid #f1d29a;border-radius:8px;color:var(--bronze-deep);display:flex;gap:10px;padding:12px}.lofi-modal-intro span{font-size:.9rem;font-weight:700;line-height:1.35}.lofi-settings-grid{display:grid;grid-gap:10px;gap:10px}.lofi-setting-row{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(150px,.74fr) minmax(220px,1fr);padding:12px}.lofi-setting-row>span:first-child{display:grid;grid-gap:3px;gap:3px}.lofi-setting-row strong{font-size:.92rem}.lofi-setting-row small{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.25}.lofi-setting-control{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 74px}.lofi-setting-control input[type=range]{accent-color:var(--gold);width:100%}.lofi-setting-control output{background:#fffdf7;border:1px solid #f1d29a;border-radius:8px;color:var(--text);font-size:.82rem;font-weight:900;min-height:34px;padding:8px 9px;text-align:center}.lofi-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.metadata-editor-modal{max-width:720px;width:min(100%,720px);position:relative}.metadata-editor-form{display:grid;grid-gap:12px;gap:12px}.metadata-field{display:grid;grid-gap:4px;gap:4px}.metadata-field>span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.metadata-field input[type=number],.metadata-field input[type=text]{background:#fffdf7;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:.92rem;padding:10px 12px}.metadata-field input:focus{border-color:var(--gold);outline:none}.metadata-field-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,1fr)}.metadata-artwork-field{gap:10px}.metadata-artwork-preview{align-items:center;display:grid;grid-gap:14px;gap:14px;grid-template-columns:96px 1fr}.metadata-artwork-preview img{border:1px solid var(--line);border-radius:8px;display:block;height:96px;object-fit:cover;width:96px}.metadata-artwork-placeholder{align-items:center;background:#fffdf7;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:flex;height:96px;justify-content:center;width:96px}.metadata-artwork-controls{display:flex;flex-wrap:wrap;gap:8px}.metadata-editor-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:6px}.metadata-editor-error{background:rgba(204,75,75,.12);border:1px solid rgba(204,75,75,.32);border-radius:8px;color:#8a2727;font-size:.88rem;font-weight:700;padding:10px 12px}.metadata-close-confirm-backdrop{align-items:center;background:rgba(17,23,36,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:10px;display:flex;inset:0;justify-content:center;padding:24px;position:absolute;z-index:5}.metadata-close-confirm-dialog{background:rgba(255,253,247,.98);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 60px rgba(17,23,36,.28);display:grid;grid-gap:12px;gap:12px;max-width:460px;padding:18px;width:100%}.metadata-close-confirm-dialog h3{font-size:1rem;margin:0}.metadata-close-confirm-dialog p{color:var(--muted);font-size:.88rem;margin:0}.metadata-close-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.album-context-menu{background:rgba(255,253,247,.98);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 60px rgba(17,23,36,.28);display:grid;grid-gap:4px;gap:4px;min-width:200px;padding:6px;position:fixed;z-index:90}.twitch-panel{display:grid;grid-gap:14px;gap:14px}.twitch-player-card{background:#fff8ed;border:1px solid var(--line);border-radius:12px;display:grid;grid-gap:10px;gap:10px;padding:12px}.twitch-video-surface{background:#000;border-radius:8px;max-height:70vh;width:100%}.twitch-player-loading{align-items:center;background:#000;border-radius:8px;color:#fff;display:flex;height:240px;justify-content:center}.twitch-subscription-list{display:grid;grid-gap:10px;gap:10px}.twitch-channel-card{background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:8px;gap:8px;padding:10px}.twitch-channel-card.expanded{background:#fffdf7}.twitch-channel-header{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr auto}.twitch-channel-main{align-items:center;background:transparent;border:none;cursor:pointer;display:grid;font:inherit;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr auto;padding:0;text-align:left;width:100%}.twitch-channel-thumb{background:#f4ead3;border-radius:50%;height:44px;overflow:hidden;width:44px}.twitch-channel-thumb img{display:block;height:100%;object-fit:cover;width:100%}.twitch-channel-info{display:grid;grid-gap:2px;gap:2px}.twitch-channel-info strong{font-size:.95rem}.twitch-channel-info span{color:var(--muted);font-size:.78rem;font-weight:700}.twitch-video-list{display:grid;grid-gap:6px;gap:6px;padding-top:4px}.twitch-video-list .empty-line{color:var(--muted);font-size:.85rem}.twitch-video-item{align-items:center;background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;font:inherit;grid-gap:10px;gap:10px;grid-template-columns:88px 1fr;padding:8px;text-align:left;width:100%}.twitch-video-item.active,.twitch-video-item:hover{background:rgba(232,184,91,.18)}.twitch-video-thumb{background:#000;border-radius:6px;height:50px;overflow:hidden;position:relative;width:88px}.twitch-live-item{border-color:var(--red);box-shadow:inset 0 0 0 1px rgba(157,51,47,.18)}.twitch-live-item.active,.twitch-live-item:hover{background:rgba(157,51,47,.12)}.twitch-live-item .twitch-video-info strong{color:var(--red)}.twitch-live-row{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr}@media (min-width:720px){.twitch-live-row{grid-template-columns:1fr auto;align-items:center}}.twitch-live-from-start{align-self:start;border-color:var(--red);color:var(--red)}.twitch-live-from-start:hover{background:rgba(157,51,47,.12)}.podcast-tile.live{box-shadow:0 0 0 2px var(--red) inset}.live-star,.podcast-tile.live strong{color:var(--red)}.twitch-live-badge{align-items:center;background:var(--red);border-radius:4px;bottom:4px;color:#fff;display:inline-flex;font-size:.62rem;font-weight:900;gap:3px;left:4px;letter-spacing:.05em;padding:2px 5px;position:absolute;text-transform:uppercase}.twitch-live-badge svg{fill:currentColor}.external-live-pill{align-items:center;background:var(--red);border-radius:3px;color:#fff;display:inline-flex;font-size:.6rem;font-weight:900;gap:3px;letter-spacing:.06em;margin-right:6px;padding:2px 5px;text-transform:uppercase;vertical-align:middle}.external-inline-player-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:8px}.external-live-jump{background:var(--red);border-color:var(--red);color:#fff;font-size:.78rem;padding:4px 10px}.external-live-jump:hover{background:rgba(157,51,47,.85)}.external-live-pill svg{fill:currentColor}.external-inline-player.live{border-color:var(--red)}.twitch-video-thumb img{display:block;height:100%;object-fit:cover;width:100%}.twitch-video-info{display:grid;grid-gap:2px;gap:2px}.twitch-video-info strong{font-size:.88rem;line-height:1.3}.twitch-video-info span{color:var(--muted);font-size:.76rem;font-weight:700}.twitch-search-results{display:grid;grid-gap:6px;gap:6px;max-height:360px;overflow-y:auto}.twitch-search-result{align-items:center;background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr auto;padding:8px 10px}.external-player-anchor{height:min(60vh,480px);margin-bottom:12px}.external-inline-player{background:rgba(17,23,36,.98);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 60px rgba(17,23,36,.36);color:#fff8ed;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:10px}.external-inline-player.in-section{z-index:5}.external-inline-player.hidden{position:fixed;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;z-index:-1}.external-inline-player-header{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;width:100%}.external-inline-player-header>div:first-child{flex:1 1 auto;min-width:0}.external-inline-player-header div{display:grid;grid-gap:2px;gap:2px;min-width:0}.external-inline-player-header p{color:rgba(255,248,237,.6);font-size:.7rem;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}.external-inline-player-header strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.3;overflow:hidden}.external-inline-player-header .row-icon-button{background:rgba(255,253,247,.08);color:#fff8ed}.external-inline-player-header .row-icon-button:hover{background:rgba(255,253,247,.16)}.external-inline-player-video{background:#000;border-radius:8px;display:block;min-height:0;width:100%}.external-inline-player.in-section .external-inline-player-video{flex:1 1 auto;min-height:0}.external-inline-player-loading{align-items:center;background:#000;border-radius:8px;color:rgba(255,248,237,.7);display:flex;font-size:.85rem;height:200px;justify-content:center}.player.external-video-active{display:none!important}.app-shell:has(.player.external-video-active){padding-bottom:0}@media (max-width:720px){.external-player-anchor{height:min(55vh,360px)}}.album-context-menu button{background:transparent;border:none;border-radius:6px;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 10px;text-align:left}.album-context-menu button:hover{background:rgba(232,184,91,.18)}.album-tile{position:relative}.album-overflow-button{position:absolute;right:8px;top:8px}@media (max-width:720px){.metadata-field-row{grid-template-columns:1fr}}.source-filter-toggle{justify-self:start}.source-search-results{display:grid;grid-gap:10px;gap:10px;min-height:120px;position:relative}.content-mask{border-radius:10px;min-height:220px;overflow:hidden;pointer-events:none;position:relative}.content-mask>*{opacity:0;visibility:hidden}.content-mask:before{background:radial-gradient(circle at 28px 30px,#dfe8ef 0 24px,transparent 25px),linear-gradient(90deg,#dfe8ef,#dfe8ef) 68px 15px /42% 16px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 68px 45px /62% 13px no-repeat,radial-gradient(circle at 28px 98px,#dfe8ef 0 24px,transparent 25px),linear-gradient(90deg,#dfe8ef,#dfe8ef) 68px 83px /48% 16px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 68px 113px /54% 13px no-repeat,radial-gradient(circle at 28px 166px,#dfe8ef 0 24px,transparent 25px),linear-gradient(90deg,#dfe8ef,#dfe8ef) 68px 151px /36% 16px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 68px 181px /58% 13px no-repeat,linear-gradient(180deg,rgba(255,253,247,.98),rgba(255,250,241,.98));content:"";inset:0;position:absolute;z-index:4}.content-mask:after{animation:skeleton-shimmer 1.45s ease-in-out infinite;background:linear-gradient(100deg,transparent,rgba(255,255,255,.58) 48%,transparent 82%);content:"";inset:0;position:absolute;transform:translateX(-100%);z-index:5}.youtube-panel .podcast-detail.content-mask{min-height:560px}.youtube-panel .podcast-detail.content-mask:before{background:linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 2px /140px 16px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 0 32px /320px 28px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 98px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 50% 98px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 100% 98px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 0 230px /29% 18px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 50% 230px /29% 18px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 100% 230px /29% 18px no-repeat,linear-gradient(90deg,#f0f4f7,#f0f4f7) 0 262px /22% 14px no-repeat,linear-gradient(90deg,#f0f4f7,#f0f4f7) 50% 262px /22% 14px no-repeat,linear-gradient(90deg,#f0f4f7,#f0f4f7) 100% 262px /22% 14px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 318px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 50% 318px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 100% 318px /calc((100% - 44px) / 3) 18% no-repeat,linear-gradient(180deg,rgba(255,253,247,.98),rgba(255,250,241,.98))}.podcast-panel:not(.youtube-panel) .podcast-detail.content-mask{min-height:520px}.podcast-panel:not(.youtube-panel) .podcast-detail.content-mask:before{background:linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 2px /150px 16px no-repeat,linear-gradient(90deg,#e9eff5,#e9eff5) 0 32px /360px 28px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 100px /100% 54px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 170px /100% 54px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 240px /100% 54px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 310px /100% 54px no-repeat,linear-gradient(90deg,#dfe8ef,#dfe8ef) 0 380px /100% 54px no-repeat,linear-gradient(180deg,rgba(255,253,247,.98),rgba(255,250,241,.98))}.ghost-button.icon-only{white-space:nowrap}.account-icon,.playlist-icon,.podcast-icon{background:linear-gradient(145deg,rgba(255,246,223,.56),transparent 34%),linear-gradient(135deg,var(--gold),var(--bronze));align-items:center;border:1px solid #f1d29a;border-radius:8px;color:var(--ink);display:grid;height:40px;justify-items:center;width:40px}.visualizer{align-items:flex-end;background:linear-gradient(90deg,rgba(202,161,91,.1) 1px,transparent 1px),linear-gradient(180deg,#252131,var(--ink));background-size:32px 100%,auto;display:flex;gap:12px;height:100%;justify-content:center;min-height:220px;padding:40px}.visualizer span{animation:pulse 1.4s ease-in-out infinite;background:var(--bronze);border-radius:999px 999px 0 0;display:block;height:90px;width:18px}.visualizer span:nth-child(2){animation-delay:.15s;background:var(--red);height:136px}.visualizer span:nth-child(3){animation-delay:.3s;background:var(--gold);height:178px}.visualizer span:nth-child(4){animation-delay:.45s;background:var(--red);height:124px}.visualizer span:nth-child(5){animation-delay:.6s;height:78px}.player{align-items:center;background:rgba(17,23,36,.94);border-top:1px solid var(--line);bottom:0;box-shadow:0 -14px 36px rgba(17,23,36,.18);color:var(--text-inverse);display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(180px,1fr) minmax(320px,1.2fr) minmax(160px,1fr);left:0;isolation:isolate;min-height:var(--player-height);overflow:hidden;padding:16px 24px;position:fixed;right:0;z-index:20}.player:after,.player:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.player:before{background:radial-gradient(circle at 18% 20%,rgba(240,199,117,.32),transparent 36%),radial-gradient(circle at 86% 18%,rgba(137,35,44,.22),transparent 32%),var(
      --player-artwork-url,linear-gradient(135deg,rgba(202,161,91,.36),rgba(137,35,44,.28))
    );background-position:50%;background-size:cover;filter:blur(30px) saturate(1.22);inset:-44px;opacity:.28;transform:scale(1.08)}.player:after{background:rgba(17,23,36,.7);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.player>*{position:relative;z-index:1}.mobile-player-actions,.mobile-player-close{display:none}.player.over-visualizer{background:rgba(17,23,36,.58);border-top-color:rgba(246,234,215,.16);box-shadow:0 -18px 46px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);z-index:50}.player.over-visualizer .queue-toggle,.player.over-visualizer .transport button,.player.over-visualizer .youtube-quality-button{background:rgba(37,33,49,.64);border-color:rgba(246,234,215,.2)}.player.over-visualizer .queue-toggle.active,.player.over-visualizer .queue-toggle:hover,.player.over-visualizer .transport .play-button,.player.over-visualizer .transport button.active{background:rgba(240,199,117,.92);color:var(--ink)}.now-playing,.transport,.volume{align-items:center;display:flex;gap:12px}.now-playing,.now-playing>div:last-child{min-width:0}.now-playing span,.now-playing strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-artwork{flex:0 0 auto;height:52px;overflow:hidden;position:relative;width:52px}.mini-artwork.visualizer-mini{background:var(--ink);border:1px solid #3b4355}.mini-artwork.visualizer-mini img{opacity:.74}.mini-artwork.visualizer-mini .psx-visualizer-canvas{inset:0;position:absolute}.mini-artwork.youtube-video-mini{background:#050712;border:1px solid rgba(216,166,94,.42)}.mini-artwork.youtube-video-mini .youtube-video-surface{display:block;height:100%;object-fit:cover;pointer-events:none;width:100%}.mini-artwork.youtube-video-mini .youtube-video-cover{inset:0;position:absolute;z-index:2}.psx-visualizer-canvas{display:block;height:100%;width:100%}.player-center{display:grid;grid-gap:8px;gap:8px;min-width:0}.transport{justify-content:center}.transport button{align-items:center;background:var(--ink-soft);border:1px solid #3b4355;border-radius:999px;color:var(--text-inverse);display:grid;height:42px;justify-items:center;width:42px}.transport button.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.transport .play-button{background:var(--gold);border:0;color:var(--ink);height:50px;width:50px}.volume{color:var(--muted-inverse);justify-content:flex-end}.volume-control{align-items:center;display:flex;gap:10px}.volume-button{align-items:center;background:transparent;border:0;color:var(--muted-inverse);display:grid;height:30px;justify-items:center;padding:0;width:30px}.volume-button:hover{color:var(--gold)}.timeline{align-items:center;color:var(--muted-inverse);display:grid;font-size:.78rem;grid-gap:10px;gap:10px;grid-template-columns:42px minmax(0,1fr) 42px;min-width:0}.timeline input{min-width:0;width:100%}.timeline-range-wrap{--played-percent:0%;--buffered-percent:0%;--canplay-percent:0%;align-items:center;display:grid;height:22px;min-width:0;position:relative}.timeline-range-wrap:before{background:rgba(255,248,237,.2);border-radius:999px;content:"";height:6px;inset:50% 0 auto;pointer-events:none;position:absolute;transform:translateY(-50%);z-index:0}.timeline-range-wrap input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;height:22px;position:relative;z-index:3}.timeline-range-wrap input::-webkit-slider-runnable-track{background:transparent;border-radius:999px;height:6px}.timeline-range-wrap input::-moz-range-track{background:transparent;border-radius:999px;height:6px}.timeline-range-wrap input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold);border:2px solid var(--text-inverse);border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.32);height:16px;margin-top:-5px;width:16px}.timeline-range-wrap input::-moz-range-thumb{background:var(--gold);border:2px solid var(--text-inverse);border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.32);height:16px;width:16px}.timeline-buffer,.timeline-played{background:repeating-linear-gradient(135deg,rgba(216,166,94,.42) 0 6px,rgba(216,166,94,.18) 6px 12px);border-radius:999px;height:6px;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:var(--buffered-percent);z-index:1}.timeline-played{background:var(--gold);width:var(--played-percent);z-index:2}.timeline-range-wrap.loading .timeline-buffer{animation:timeline-buffer-stripes 1.1s linear infinite;background-size:28px 28px}.timeline-canplay-marker{background:var(--text-inverse);border-radius:999px;box-shadow:0 0 0 1px rgba(17,23,36,.7),0 0 12px rgba(216,166,94,.45);height:18px;left:var(--canplay-percent);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;z-index:4}.queue-toggle{align-items:center;background:var(--ink-soft);border:1px solid #3b4355;border-radius:999px;color:var(--text-inverse);display:inline-flex;gap:6px;min-height:38px;padding:0 12px}.queue-toggle.active,.queue-toggle:hover{background:var(--gold);color:var(--ink)}.queue-toggle span{font-size:.78rem;font-weight:800;min-width:1ch}.visualizer-toggle{padding:0 10px}.youtube-quality-picker{color:var(--text-inverse);display:inline-flex;position:relative}.youtube-quality-button{align-items:center;background:rgba(255,250,239,.1);border:1px solid rgba(246,234,215,.18);border-radius:999px;color:inherit;display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;height:38px;max-width:84px;min-width:0;padding:0 10px}.youtube-quality-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-quality-button:disabled{cursor:default;opacity:.72}.youtube-quality-button:not(:disabled):hover,.youtube-quality-picker.open .youtube-quality-button{background:rgba(240,199,117,.2);border-color:rgba(240,199,117,.5)}.youtube-quality-menu{background:rgba(17,23,36,.96);border:1px solid rgba(246,234,215,.18);border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.34);display:grid;grid-gap:4px;gap:4px;max-height:min(60vh,360px);overflow-y:auto;padding:6px;position:fixed;z-index:80}.youtube-quality-option{background:transparent;border:0;border-radius:10px;color:var(--text-inverse);display:grid;grid-gap:2px;gap:2px;justify-items:start;padding:9px 10px;text-align:left}.youtube-quality-option span{font-size:.86rem;font-weight:900}.youtube-quality-option small{color:var(--muted-inverse);font-size:.72rem;font-weight:700}.youtube-quality-option.selected,.youtube-quality-option:hover{background:rgba(240,199,117,.18)}.youtube-quality-option.selected span{color:var(--gold)}.visualizer-fullscreen{background:#050712;color:var(--text-inverse);inset:0;overflow:hidden;position:fixed;z-index:40}.visualizer-fullscreen .psx-visualizer-canvas{height:100vh;width:100vw}.visualizer-fullscreen-actions,.visualizer-fullscreen-title,.visualizer-style-switch{position:absolute;z-index:2}.visualizer-fullscreen-title{display:grid;grid-gap:2px;gap:2px;left:clamp(18px,4vw,54px);max-width:min(560px,calc(100vw - 160px));top:clamp(18px,4vw,48px)}.visualizer-fullscreen-title span,.visualizer-fullscreen-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visualizer-fullscreen-title strong{font-size:clamp(1rem,2.2vw,1.8rem)}.visualizer-fullscreen-title span{color:var(--muted-inverse);font-size:.9rem}.visualizer-fullscreen-actions{display:flex;gap:8px;right:clamp(14px,3vw,34px);top:clamp(14px,3vw,34px)}.visualizer-style-switch{background:rgba(12,13,27,.78);border:1px solid #3b4355;border-radius:999px;bottom:calc(var(--player-height) + 22px);display:flex;flex-wrap:wrap;gap:4px;left:50%;max-width:calc(100vw - 24px);padding:5px;transform:translateX(-50%);justify-content:center}.visualizer-style-switch button{background:transparent;border:0;border-radius:999px;color:var(--muted-inverse);font-size:.8rem;font-weight:800;min-height:32px;padding:0 11px}.visualizer-style-switch button.active,.visualizer-style-switch button:hover{background:var(--gold);color:var(--ink)}.visualizer-fullscreen-actions .row-icon-button{background:rgba(37,33,49,.86);border-color:#3b4355;color:var(--text-inverse)}.youtube-video-fullscreen{color:var(--text-inverse);inset:0 0 var(--player-height);overflow:hidden;pointer-events:none;position:fixed;z-index:60}.youtube-video-fullscreen:after{background:linear-gradient(180deg,rgba(5,7,18,.3),transparent 24%,transparent 62%,rgba(5,7,18,.48));content:"";inset:0;pointer-events:none;position:absolute}.youtube-video-fullscreen .youtube-video-surface{background:#050712;display:block;height:100vh;object-fit:contain;width:100vw}.youtube-video-fullscreen-actions,.youtube-video-fullscreen-title{position:absolute;z-index:2}.youtube-video-fullscreen-title{display:grid;grid-gap:2px;gap:2px;left:clamp(18px,4vw,54px);max-width:min(640px,calc(100vw - 160px));top:clamp(18px,4vw,48px)}.youtube-video-fullscreen-title span,.youtube-video-fullscreen-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-video-fullscreen-title strong{font-size:clamp(1rem,2.2vw,1.8rem)}.youtube-video-fullscreen-title span{color:var(--muted-inverse);font-size:.9rem}.youtube-video-fullscreen-actions{display:flex;gap:8px;pointer-events:auto;right:clamp(14px,3vw,34px);top:clamp(14px,3vw,34px)}.youtube-video-fullscreen-actions .row-icon-button{background:rgba(37,33,49,.86);border-color:#3b4355;color:var(--text-inverse)}.queue-panel{background:#fffdf7;border:1px solid var(--line);border-radius:8px;bottom:calc(var(--player-height) + 18px);box-shadow:0 18px 44px rgba(17,23,36,.2);display:grid;grid-gap:12px;gap:12px;max-height:min(62vh,520px);overflow:hidden;padding:14px;position:fixed;right:24px;width:min(460px,calc(100vw - 32px));z-index:24}.queue-panel.over-visualizer{background:rgba(255,253,247,.84);border-color:rgba(246,234,215,.34);box-shadow:0 22px 58px rgba(0,0,0,.32);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);z-index:52}.queue-panel.over-visualizer .queue-row{background:rgba(255,253,247,.72)}.queue-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.queue-header h2,.queue-header p{margin:0}.queue-header p{color:var(--muted);font-size:.78rem;text-transform:uppercase}.queue-header h2{font-size:1rem}.queue-list{overflow:auto;padding-right:2px}.queue-list,.queue-row{display:grid;grid-gap:8px;gap:8px}.queue-row{align-items:center;background:#fff8ed;border:1px solid var(--line);border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:8px}.queue-row.dragging{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(200,132,77,.18)}.queue-drag-handle{align-items:center;background:transparent;border:0;color:var(--muted);cursor:-webkit-grab;cursor:grab;display:grid;height:38px;justify-items:center;touch-action:none;width:34px}.queue-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.queue-main{background:transparent;border:0;color:var(--text);display:grid;grid-gap:3px;gap:3px;min-width:0;padding:0;text-align:left}.queue-main span,.queue-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-main span{color:var(--muted);font-size:.82rem}.queue-actions{display:flex;gap:6px}.volume input{width:min(150px,30vw)}@keyframes pulse{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1)}}@keyframes loading-slide{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@keyframes timeline-buffer-stripes{to{background-position:28px 0}}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (max-width:900px){:root{--player-height:166px}.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{border-bottom:1px solid var(--line);border-right:0;gap:18px;padding-bottom:18px}.nav-list{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.nav-item{justify-content:center}.content-grid,.content-grid.home-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-workspace{grid-template-columns:1fr}.player{grid-template-columns:minmax(0,1fr) auto}.player-center{grid-column:1/-1;grid-row:2}.transport{justify-content:center}.volume{justify-content:flex-end}.youtube-filter-panel .filter-bar,.youtube-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){:root{--player-height:76px}.player,.workspace{padding-left:14px;padding-right:14px}.app-shell{display:block}.youtube-filter-panel .episode-filter-summary,.youtube-filter-panel .filter-bar,.youtube-keyword-form{grid-template-columns:1fr}.youtube-filter-panel .episode-filter-summary{align-items:stretch;display:grid}.youtube-filter-panel .episode-filter-summary .ghost-button{justify-self:start}.youtube-controlled-stage,.youtube-html5-player video{min-height:200px}.youtube-video-grid{gap:24px 14px;grid-template-columns:1fr}.youtube-video-title{font-size:.95rem}.youtube-controlled-controls{grid-template-columns:38px 46px 38px}.youtube-controlled-timeline,.youtube-controlled-volume{grid-column:1/-1}.youtube-controlled-volume{grid-template-columns:30px minmax(0,1fr)}.mobile-nav-toggle{align-items:center;background:var(--gold);border:0;border-radius:999px;box-shadow:0 10px 24px rgba(17,23,36,.2);color:var(--ink);display:grid;height:44px;justify-items:center;left:12px;position:-webkit-sticky;position:sticky;top:calc(10px + env(safe-area-inset-top));width:44px;z-index:35}.sidebar{border-bottom:0;border-right:1px solid #3b4355;bottom:0;box-shadow:18px 0 44px rgba(17,23,36,.22);gap:22px;left:0;max-width:min(82vw,280px);padding:calc(68px + env(safe-area-inset-top)) 18px 18px;position:fixed;top:0;transform:translateX(-105%);transition:transform .18s ease;width:280px;z-index:30}.mobile-nav-open .sidebar{transform:translateX(0)}.topbar{align-items:stretch;flex-direction:column}.podcast-form,.podcast-search-form,.user-menu{align-items:stretch;grid-template-columns:1fr}.user-menu{flex-direction:column}.album-sort-toolbar{gap:6px}.album-sort-toolbar>span{flex-basis:100%}.album-sort-button.track-sort-button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);justify-content:center;padding:0 8px}.album-tile-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.album-tile{gap:8px;min-height:0;padding:10px}.album-tile-main{gap:7px}.album-shuffle-button{right:12px;top:12px}.album-lofi-button{right:54px;top:12px}.lofi-setting-row{align-items:stretch;grid-template-columns:1fr}.lofi-setting-control{grid-template-columns:1fr 68px}.nav-list{gap:8px;grid-template-columns:1fr}.nav-item{flex-direction:row;font-size:.94rem;gap:10px;justify-content:flex-start;min-height:44px;padding:0 12px;text-align:left}.sidebar-action{justify-content:center}.track-header{display:none}.track-row{align-items:center;border:0;border-radius:0;gap:8px;grid-template-columns:minmax(0,1fr) 36px 36px;min-height:58px;padding:7px 0}.track-row,.track-row.active,.track-row:hover{background:transparent}.track-row.admin-track-row,.track-row.admin-track-row.selectable-track-row,.track-row.selectable-track-row{grid-template-columns:minmax(0,1fr) 36px 36px}.track-select,.track-select-heading{display:none}.track-header-main,.track-main{gap:9px;grid-template-columns:26px 42px minmax(0,1fr);grid-template-rows:auto}.track-play-cell{height:42px}.track-index-number{display:none}.track-play-toggle{background:transparent;border:0;color:var(--muted);height:42px;inset:auto;position:static;width:26px}.track-play-toggle svg{display:none}.track-row.active .track-play-toggle svg{display:block}.track-row.active .track-play-mobile-label{display:none}.track-play-mobile-label{display:block;font-size:.88rem;font-weight:700}.desktop-track-action,.track-main .album-name,.track-main .duration,.track-main .play-count,.track-playlist-heading{display:none}.track-main .artwork{height:42px;width:42px}.track-title span,.track-title strong{display:block}.track-title strong{font-size:.92rem}.track-title span{color:var(--muted);font-size:.78rem}.track-row>.row-icon-button{background:transparent;border:0;height:36px;width:36px}.track-overflow-toggle,.track-overflow-toggle.compact-only-overflow{display:grid}.track-overflow-actions{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 32px rgba(17,23,36,.14);display:none;gap:4px;grid-column:1/-1;margin:-2px 0 4px 76px;min-width:0;padding:6px;position:static;right:auto;top:auto}.track-overflow-actions.open{display:grid}.track-overflow-actions button,.track-overflow-actions label{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--text);display:flex;font-size:.86rem;justify-content:space-between;min-height:38px;padding:0 10px;text-align:left}.track-overflow-actions button:hover,.track-overflow-actions label:hover{background:var(--panel-soft)}.track-overflow-actions button.danger{color:var(--red)}.track-overflow-actions .mobile-only-action,.track-overflow-actions .mobile-track-playlists{display:grid}.mobile-track-playlists{border-top:1px solid var(--line);display:grid;grid-gap:2px;gap:2px;margin-top:4px;padding-top:6px}.mobile-track-muted-option,.mobile-track-playlists>span:first-child{color:var(--muted);font-size:.78rem;font-weight:800;padding:7px 10px 4px}.track-overflow-actions .mobile-track-playlists button{justify-content:flex-start}.queue-panel{bottom:calc(var(--player-height) + 10px);left:10px;max-height:min(58vh,460px);right:10px;width:auto}.queue-row{align-items:stretch;grid-template-columns:34px minmax(0,1fr)}.queue-actions{grid-column:2}.section-heading{align-items:flex-start;gap:12px}.home-hero{align-items:stretch;flex-direction:column}.home-hero-meta{justify-content:center;white-space:normal}.stat-grid{grid-template-columns:1fr 1fr}.bulk-actions,.inline-actions{align-items:stretch;flex-direction:column}.track-bulk-actions{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) 40px;grid-gap:6px 8px;gap:6px 8px;padding:7px}.track-bulk-actions .ghost-button{min-height:38px}.track-bulk-actions>span{font-size:.78rem;grid-column:1/-1;grid-row:2}.track-bulk-actions .row-icon-button{grid-column:2;grid-row:1}.bulk-actions span{margin-right:0}.episode-filter-summary{align-items:stretch;flex-direction:column}.filter-field.wide{grid-column:span 1}.podcast-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-form,.playlist-form,.podcast-form,.podcast-search-form{grid-template-columns:1fr}.episode-list{margin-left:14px;padding-left:14px}.player{gap:10px;grid-template-columns:46px minmax(0,1fr) auto;min-height:var(--player-height);padding-bottom:calc(8px + env(safe-area-inset-bottom));padding-top:8px}.player:not(.mobile-expanded){cursor:pointer}.now-playing{grid-column:2;gap:9px}.player:not(.mobile-expanded) .now-playing .mini-artwork{display:none}.player:not(.mobile-expanded) .player-center,.player:not(.mobile-expanded) .transport{display:contents}.player:not(.mobile-expanded) .mobile-player-actions,.player:not(.mobile-expanded) .mobile-player-close,.player:not(.mobile-expanded) .timeline,.player:not(.mobile-expanded) .transport button:first-child,.player:not(.mobile-expanded) .transport button:nth-child(5),.player:not(.mobile-expanded) .volume{display:none}.player:not(.mobile-expanded) .transport .play-button{grid-column:1;grid-row:1}.player:not(.mobile-expanded) .transport button:nth-child(2),.player:not(.mobile-expanded) .transport button:nth-child(4){grid-row:1}.player:not(.mobile-expanded) .transport button:nth-child(2){grid-column:3;justify-self:end;margin-right:42px}.player:not(.mobile-expanded) .transport button:nth-child(4){grid-column:3;justify-self:end}.player.mobile-expanded{align-content:start;bottom:0;gap:18px;grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;inset:0;min-height:100dvh;overflow-y:auto;padding:calc(14px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));z-index:60}.player.mobile-expanded:before{filter:blur(46px) saturate(1.36);inset:-72px;opacity:.42}.player.mobile-expanded:after{background:rgba(17,23,36,.55);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.player.mobile-expanded .mobile-player-close{align-items:center;background:rgba(37,33,49,.72);border:1px solid #3b4355;border-radius:999px;color:var(--text-inverse);display:grid;height:40px;justify-self:center;justify-items:center;width:56px}.player.mobile-expanded .now-playing{display:grid;grid-gap:14px;gap:14px;grid-column:1;justify-items:center;text-align:center}.mini-artwork{height:42px;width:42px}.player.mobile-expanded .mini-artwork{border-radius:12px;height:min(74vw,330px);width:min(74vw,330px)}.player.mobile-expanded .player-center{grid-column:1}.player.mobile-expanded .transport{gap:12px;justify-content:center}.player.mobile-expanded .timeline{display:grid}.volume{gap:8px}.player.mobile-expanded .volume{display:flex;justify-content:center}.player.mobile-expanded .volume-control{display:flex}.mobile-player-actions{display:none}.player.mobile-expanded .mobile-player-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.player.mobile-expanded .mobile-player-actions .playlist-picker{max-width:min(100%,220px)}.youtube-keyword-form{grid-template-columns:1fr}.podcast-result-row{grid-template-columns:36px minmax(0,1fr) auto}.podcast-result-actions{gap:4px}.visualizer-toggle{display:none}.volume input{width:66px}.transport button{height:38px;width:38px}.transport .play-button{height:46px;width:46px}.timeline{gap:8px;grid-template-columns:38px minmax(0,1fr) 38px}}