:root{color-scheme:light;--color-bg:#f4f6f3;--color-bg-subtle:#f7f8f6;--color-bg-muted:#eef2ef;--color-page-warm:#fbfbfa;--color-page-warm-strong:#fffdfa;--color-page-warm-muted:#fbfaf7;--color-page-warm-low:#f7f8f4;--color-page-auth:#faf7f6;--color-page-auth-top:#fffdfc;--color-page-auth-low:#f8f4f3;--color-page-profile-top:#fffdfb;--color-page-profile-mid:#faf9f5;--color-page-profile-low:#f7f8f2;--color-page-detail:#fbfaf8;--color-page-detail-glow:hsla(0,0%,100%,.88);--color-page-detail-topbar-high:hsla(40,27%,98%,.96);--color-page-detail-topbar-low:hsla(40,27%,98%,.72);--color-page-detail-topbar-transparent:hsla(40,27%,98%,0);--color-page-player:#faf6f4;--color-surface:#fff;--color-surface-transparent:hsla(0,0%,100%,0);--color-surface-subtle:#ecefed;--color-surface-muted:#f0efed;--color-surface-sheet:#fcfbfb;--color-surface-field:hsla(0,0%,100%,.58);--color-surface-field-highlight:hsla(0,0%,100%,.42);--color-surface-glass:hsla(0,0%,100%,.96);--color-surface-glass-card:hsla(0,0%,100%,.92);--color-surface-glass-raised:hsla(0,0%,100%,.94);--color-surface-glass-strong:hsla(0,0%,100%,.98);--color-surface-glass-soft:hsla(0,0%,100%,.72);--color-surface-glass-muted:hsla(0,0%,100%,.64);--color-text:#141713;--color-text-strong:#050505;--color-text-primary:#111211;--color-text-muted:#667064;--color-text-secondary:#606266;--color-text-tertiary:#66686b;--color-text-subtle:#777;--color-text-dim:#777a7d;--color-text-quiet:#838689;--color-text-faint:#8c8c8c;--color-text-disabled:#96989d;--color-line:#d9ded8;--color-line-faint:rgba(0,0,0,.05);--color-line-soft:rgba(0,0,0,.06);--color-line-muted:rgba(0,0,0,.08);--color-line-card:rgba(5,5,5,.08);--color-line-strong:rgba(0,0,0,.1);--color-line-dashed:rgba(0,0,0,.12);--color-line-deep-faint:rgba(17,18,20,.08);--color-line-deep-soft:rgba(14,15,18,.08);--color-line-deep:rgba(14,15,18,.12);--color-line-control:rgba(16,17,20,.2);--color-accent:#ff4f1f;--color-accent-ink:#fff;--color-accent-shadow:rgba(255,79,31,.22);--color-success:#1f6b57;--color-success-line:rgba(31,107,87,.22);--color-success-surface:rgba(31,107,87,.08);--color-success-ink:#144638;--color-danger:#ba3b2c;--color-danger-ink:#b13232;--color-danger-line:rgba(186,59,44,.28);--color-danger-surface:#fff0f0;--color-brand-lime:#dcff32;--color-brand-lime-strong:#d8ee3a;--color-brand-lime-soft:rgba(220,255,50,.16);--color-brand-lime-muted:rgba(220,255,50,.25);--color-brand-lime-line:rgba(196,213,51,.18);--color-brand-lime-shadow:rgba(185,216,24,.22);--color-brand-lime-glow:rgba(220,255,50,.13);--color-brand-lime-progress:rgba(220,255,50,.78);--color-brand-lime-progress-soft:rgba(220,255,50,.2);--color-brand-purple:#9a70e8;--color-brand-purple-strong:#8a63d2;--color-brand-purple-muted:rgba(154,112,232,.1);--color-brand-purple-line:rgba(154,112,232,.5);--color-brand-purple-line-soft:rgba(154,112,232,.44);--color-brand-purple-active:#8e63e6;--color-brand-purple-pressed:#6146a2;--color-brand-purple-glow:rgba(142,107,232,.16);--color-selection-border:#9b9da3;--color-focus-ring:rgba(154,112,232,.7);--color-focus-line:rgba(154,120,255,.64);--color-focus-surface:rgba(154,120,255,.12);--color-toast-bg:rgba(17,18,16,.92);--color-scrim:rgba(18,20,22,.2);--color-on-dark:#fff;--color-active-surface:#f3f3ee;--color-feature-surface:#191b18;--color-cover-fallback:#ebe8df;--color-cover-muted:#dfe4df;--color-cover-accent-warm:rgba(255,79,31,.2);--color-cover-accent-cool:rgba(49,92,157,.18);--color-cover-brand-lime:rgba(220,255,50,.46);--color-cover-brand-purple:rgba(154,112,232,.18);--color-cover-player-lime:rgba(220,255,50,.18);--color-cover-player-purple:rgba(154,112,232,.22);--color-copy-secondary:#747474;--color-copy-muted:rgba(5,5,5,.62);--color-link:#9a78ff;--color-auth-muted:#797978;--color-auth-line:#dfdcdb;--color-auth-placeholder:#a4a4a4;--color-auth-control:#9f9f9f;--color-auth-switch:#858584;--color-auth-primary:#d7eb37;--color-auth-primary-strong:#cfe22e;--color-auth-primary-halo:rgba(241,255,91,.52);--color-auth-primary-halo-transparent:rgba(241,255,91,0);--color-badge-purple-surface:#e8dcff;--color-badge-purple-ink:#8c62e7;--color-stat-purple-surface:#ece3ff;--color-stat-purple-ink:#8d62e9;--color-stat-lime-surface:#ecfacd;--color-stat-lime-ink:#93b900;--color-stat-lavender-surface:#efe8ff;--color-stat-lavender-ink:#956fee;--color-cache-badge-surface:#effbd5;--color-cache-badge-ink:#7ea300;--color-cache-muted-surface:#f1eeee;--color-cache-error-surface:#ffe9e2;--color-cache-error-ink:#c44c29;--color-progress-track:#e4e4e4;--color-progress-track-strong:rgba(19,21,24,.1);--color-sheet-grip:#c8c8c8;--color-player-accent:#8e6be8;--color-player-primary:#d7ea32;--color-player-current-surface:#f7f7eb;--color-player-action-surface:#f0f0ef;--color-player-playing:#adc81f;--color-source-bilibili:#13a7df;--color-skeleton-start:#f2f2f0;--color-skeleton-mid:#fafafa;--color-skeleton-end:#ededeb;--color-result-cover-start:#eee9ff;--color-result-cover-end:#ffe386;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-display:28px;--weight-regular:400;--weight-medium:500;--weight-bold:700;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-sheet:28px;--radius-pill:999px;--shadow-sm:0 6px 14px rgba(28,27,24,.06);--shadow-md:0 12px 30px rgba(20,23,19,.1);--shadow-lg:0 18px 38px rgba(20,20,18,.16);--shadow-glass-button:0 12px 30px rgba(28,27,24,.08);--shadow-icon-soft:0 6px 18px rgba(24,23,20,.06);--shadow-card-soft:0 10px 28px rgba(0,0,0,.07);--shadow-toast:0 16px 38px rgba(0,0,0,.18);--shadow-bottom-nav:0 -14px 34px rgba(0,0,0,.075);--shadow-action-bar:0 -16px 38px rgba(20,23,19,.11);--shadow-auth-primary:0 13px 24px rgba(193,212,41,.24);--shadow-player-control:0 2px 7px rgba(36,28,60,.22);--shadow-player-popover:0 20px 42px rgba(20,16,12,.18);--shadow-player-sheet:0 -18px 48px rgba(23,24,28,.16);--shadow-player-row:0 8px 20px rgba(18,20,24,.035);--shadow-player-action:0 10px 22px rgba(18,20,24,.06);--shadow-player-shell:0 24px 70px rgba(18,20,24,.08);--control-xs:28px;--control-sm:32px;--control-md:40px;--control-lg:44px;--control-xl:48px;--control-action:52px;--control-primary:56px;--control-player:58px;--icon-xs:14px;--icon-compact:16px;--icon-sm:20px;--icon-md:22px;--icon-lg:24px;--icon-xl:28px;--selection-size:16px;--selection-check-size:12px;--stroke-icon:2.2;--stroke-check:2.4;--topbar-create-height:64px;--topbar-detail-height:58px;--cover-preview:56px;--cover-media:64px;--cover-editor-mobile:72px;--cover-editor:76px;--row-preview-min:74px;--row-media-min:64px;--toast-top:calc(88px + env(safe-area-inset-top));--z-topbar:20;--z-action-bar:30;--z-popover:60;--z-toast:90;--z-modal:100;--motion-fast:160ms;--motion-base:260ms;--motion-slow:420ms;--ease-standard:cubic-bezier(0.18,0.8,0.22,1)}*{box-sizing:border-box}html{min-height:100%;background:var(--app-browser-theme-color,var(--color-bg-subtle))}body{margin:0;min-height:100vh;min-height:100dvh;overflow-x:hidden;overscroll-behavior-y:none;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-subtle) 0,var(--color-bg-muted) 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body:has(.auth-screen){background:linear-gradient(180deg,var(--color-page-auth-top) 0,var(--color-page-auth) 62%,var(--color-page-auth-low) 100%)}body:has(.create-flow-shell),body:has(.home-shell){background:linear-gradient(180deg,var(--color-page-warm-strong) 0,var(--color-page-warm-muted) 52%,var(--color-page-warm-low) 100%)}body:has(.playlist-detail-shell){background:var(--color-page-detail)}body:has(.me-shell){background:linear-gradient(180deg,var(--color-page-profile-top) 0,var(--color-page-profile-mid) 52%,var(--color-page-profile-low) 100%)}body:has(.player-shell){height:100vh;min-height:100vh;height:100dvh;min-height:100dvh;overflow:hidden;background:var(--color-page-player)}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{line-height:1.2}h1,h2{font-size:var(--text-xl);letter-spacing:0}h2{line-height:1.15}.button,button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--color-text);border-radius:var(--radius-sm);padding:10px 14px;background:var(--color-text);color:var(--color-on-dark);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1;cursor:pointer}.button.secondary,button.secondary{border-color:var(--color-line);background:var(--color-surface);color:var(--color-text)}.button.primary,button.primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button.danger,button.danger{border-color:var(--color-danger-line);background:var(--color-surface);color:var(--color-danger)}button:disabled{cursor:not-allowed;opacity:.45}input,textarea{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:13px 14px;background:var(--color-surface);color:var(--color-text);outline:none}textarea{min-height:116px;resize:vertical;line-height:1.55}label{display:grid;grid-gap:8px;gap:8px;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-bold)}.mobile-shell{width:min(480px,100%);margin:0 auto;padding:18px 14px 32px}.with-bottom-nav{padding-bottom:172px}.center-shell{display:grid;min-height:100vh;min-height:100dvh;place-items:center}.hero,.page-header{display:grid;grid-gap:14px;gap:14px;padding:12px 0 18px}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.page-header>div{display:grid;grid-gap:12px;gap:12px}.eyebrow{color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:0;text-transform:uppercase}.lead{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.surface{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:16px;background:var(--color-surface-glass-card);box-shadow:var(--shadow-md)}.login-card{width:min(430px,100%)}.auth-card{align-content:start;gap:18px}.auth-copy,.auth-form{display:grid;grid-gap:12px;gap:12px}.auth-card .actions{display:grid;grid-template-columns:1fr}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:start}.playlist-card{display:grid;min-height:210px;grid-gap:12px;gap:12px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:12px;background:var(--color-surface);box-shadow:var(--shadow-md)}.playlist-card.featured{grid-column:1/-1;min-height:260px;background:var(--color-feature-surface);color:var(--color-surface)}.playlist-card.featured .lead,.playlist-card.featured .playlist-card-meta,.playlist-card.featured p{color:var(--color-surface-glass-soft)}.playlist-card-body{display:grid;grid-gap:8px;gap:8px}.playlist-card-body p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.playlist-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-self:end;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.playlist-card-meta span{border:1px solid;border-radius:var(--radius-pill);padding:4px 7px}.mini-cache-item img{width:100%;height:100%;object-fit:cover}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title p{margin-top:4px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.actions,.toolbar{display:flex;flex-wrap:wrap;gap:8px}.status{border:1px solid var(--color-success-line);border-radius:var(--radius-sm);padding:11px 12px;background:var(--color-success-surface);color:var(--color-success-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.45}.app-icon-button{display:grid;place-items:center;border:0;border-radius:var(--radius-pill);padding:0;background:transparent;color:currentColor;box-shadow:none;cursor:pointer}.app-icon-button-sm{width:var(--control-sm);min-width:var(--control-sm);height:var(--control-sm);min-height:var(--control-sm)}.app-icon-button-md{width:var(--control-md);min-width:var(--control-md);height:var(--control-md);min-height:var(--control-md)}.app-icon-button-lg{width:var(--control-lg);min-width:var(--control-lg);height:var(--control-lg);min-height:var(--control-lg)}.app-icon-button-glass{background:var(--color-surface-glass-soft);box-shadow:var(--shadow-glass-button);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-icon-button svg{width:var(--icon-md);height:var(--icon-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-icon)}.app-icon-button svg circle{fill:currentColor;stroke:none}.app-overflow-menu{position:relative}.app-overflow-menu[open]{z-index:var(--z-popover)}.app-overflow-menu summary{list-style:none;cursor:pointer}.app-overflow-menu summary::-webkit-details-marker{display:none}.app-overflow-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-topbar);display:grid;min-width:138px;overflow:hidden;border:1px solid var(--color-line-card);border-radius:var(--radius-lg);padding:6px;background:var(--color-surface-glass);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-overflow-menu.align-right .app-overflow-menu-panel{right:0;left:auto}.app-overflow-menu-panel a,.app-overflow-menu-panel button{display:flex;min-height:38px;align-items:center;justify-content:flex-start;border:0;border-radius:var(--radius-md);padding:10px 12px;background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.15;box-shadow:none;white-space:nowrap}.app-toast{position:fixed;right:50%;top:var(--toast-top);bottom:auto;z-index:var(--z-toast);width:max-content;max-width:min(340px,calc(100vw - 36px));border-radius:var(--radius-pill);padding:10px 16px;background:var(--color-toast-bg);color:var(--color-on-dark);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.25;text-align:center;box-shadow:var(--shadow-toast);transform:translateX(50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.empty-state{display:grid;grid-gap:10px;gap:10px;place-items:start;border:1px dashed var(--color-line);border-radius:var(--radius-sm);padding:18px;background:var(--color-surface-subtle)}.batch-action-bar{display:flex;width:100%;align-items:center;gap:8px;overflow-x:auto;border-radius:var(--radius-xl);padding:10px;background:var(--color-brand-lime-soft);scrollbar-width:none}.batch-action-bar::-webkit-scrollbar{display:none}.batch-action-bar>span{margin-right:auto;color:var(--color-text);font-size:var(--text-sm)}.batch-action-bar button,.batch-action-bar>span{font-weight:var(--weight-medium);line-height:1;white-space:nowrap}.batch-action-bar button{flex:0 0 auto;min-height:var(--control-sm);border:0;border-radius:var(--radius-pill);padding:8px 12px;background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-xs);box-shadow:var(--shadow-sm)}.batch-action-bar button.danger{background:var(--color-danger-surface);color:var(--color-danger-ink)}.batch-action-bar button:disabled{opacity:.45}.app-selection-checkbox,.app-selection-indicator{display:grid;width:var(--selection-size);height:var(--selection-size);place-items:center}.app-selection-checkbox{position:relative;flex:0 0 auto;cursor:pointer}.app-selection-checkbox input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0}.app-selection-checkbox input:disabled{cursor:default}.app-selection-checkbox input:disabled+.app-selection-indicator{opacity:.45}.app-selection-indicator{border:1.5px solid var(--color-selection-border);border-radius:4px;background:var(--color-surface);color:var(--color-surface)}.app-selection-indicator.checked{border-color:var(--color-brand-purple-strong);background:var(--color-brand-purple-strong)}.app-selection-checkbox input:focus-visible+.app-selection-indicator{outline:2px solid var(--color-focus-ring);outline-offset:3px}.app-selection-indicator svg{width:var(--selection-check-size);height:var(--selection-check-size)}.app-selection-indicator path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-check)}.item-list,.list{display:grid;grid-gap:10px;gap:10px}.item-row,.row{display:grid;grid-template-columns:auto 54px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:10px;background:var(--color-surface)}.row{grid-template-columns:auto 54px minmax(0,1fr)}.item-cover,.thumb{width:54px;height:54px;border-radius:var(--radius-sm);object-fit:cover;background:linear-gradient(135deg,var(--color-cover-accent-warm),var(--color-cover-accent-cool)),var(--color-cover-muted)}.item-content{min-width:0;display:grid;grid-gap:4px;gap:4px}.item-content strong,.title{font-weight:var(--weight-bold)}.item-content span,.item-content strong,.muted,.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-content span,.muted{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.4}.item-actions{display:flex;gap:6px}.sortable-item{touch-action:manipulation}.sortable-item.dragging{position:relative;z-index:5}.sortable-item.dragging .item-row{border-color:var(--color-accent);box-shadow:0 14px 34px var(--color-accent-shadow)}.drag-handle{min-width:36px;min-height:36px;padding:0;border-color:var(--color-line);background:var(--color-surface);color:var(--color-text-muted);cursor:-webkit-grab;cursor:grab;touch-action:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.stats-grid{grid-template-columns:repeat(3,1fr)}.stats-grid div{display:grid;grid-gap:4px;gap:4px}.stats-grid strong{font-size:var(--text-xl)}.stats-grid span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.mini-cache-list{display:grid;grid-gap:8px;gap:8px}.mini-cache-item{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.mini-cache-item div,.mini-cache-item img{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.mini-cache-item span{overflow:hidden;font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap}.media-list-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:var(--row-media-min);border-radius:var(--radius-md)}.media-list-row:before{position:absolute;inset:0;z-index:0;border-radius:var(--radius-md);background:transparent;content:"";pointer-events:none;transform-origin:left center}.media-list-row>*{position:relative;z-index:1}.media-list-row.has-actions{grid-template-columns:minmax(0,1fr) var(--control-sm)}.media-list-row.selectable{grid-template-columns:var(--selection-size) minmax(0,1fr)}.media-list-row.selectable.has-actions{grid-template-columns:var(--selection-size) minmax(0,1fr) var(--control-sm)}.media-list-row:has(.app-overflow-menu[open]){z-index:50}.media-list-row-main{display:grid;grid-template-columns:var(--cover-media) minmax(0,1fr) var(--control-action);align-items:center;grid-gap:12px;gap:12px;width:100%;min-width:0;min-height:var(--row-media-min);border:0;border-radius:var(--radius-md);padding:0;background:transparent;color:inherit;box-shadow:none;text-align:left}.media-list-row-main[aria-disabled=true]{cursor:default}.media-list-row.interactive .media-list-row-main{cursor:pointer}.media-list-row-main:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:4px}.media-list-row-cover-frame{position:relative;min-width:var(--cover-media)}.media-list-row-cover,.media-list-row-cover-frame{display:block;width:var(--cover-media);height:var(--cover-media)}.media-list-row-cover{border-radius:var(--radius-sm);object-fit:cover;background:linear-gradient(135deg,var(--color-cover-brand-lime),var(--color-cover-brand-purple)),var(--color-cover-fallback)}.media-list-row-status{position:absolute;top:4px;left:4px;max-width:calc(100% - 8px);overflow:hidden;border-radius:var(--radius-xs);padding:3px 6px;background:var(--color-cache-badge-surface);color:var(--color-cache-badge-ink);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 4px 10px var(--color-line-dashed)}.media-list-row-copy{display:grid;min-width:0;grid-gap:8px;gap:8px}.media-list-row-copy strong{color:var(--color-text-strong);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.18}.media-list-row-copy strong,.media-list-row-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-list-row-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.15}.media-list-row-duration{color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:right;white-space:nowrap}.media-list-row[data-cache-state=uncached] .media-list-row-cover{filter:grayscale(.85) saturate(.45);opacity:.48}.media-list-row[data-cache-state=uncached] .media-list-row-copy strong,.media-list-row[data-cache-state=uncached] .media-list-row-duration{color:var(--color-text-dim)}.media-list-row[data-cache-state=uncached] .media-list-row-subtitle{color:var(--color-text-quiet)}.media-list-row[data-cache-state=caching] .media-list-row-cover{opacity:.78}.media-list-row[data-cache-state=caching][data-cache-progress=known]:before{background:linear-gradient(90deg,var(--color-brand-lime-progress),var(--color-brand-lime-progress-soft));transform:scaleX(var(--media-list-cache-progress,.04))}.media-list-row[data-cache-state=caching] .media-list-row-status,.media-list-row[data-cache-state=uncached] .media-list-row-status{background:var(--color-cache-muted-surface);color:var(--color-text-subtle)}.media-list-row[data-cache-state=client-missing] .media-list-row-cover,.media-list-row[data-cache-state=failed] .media-list-row-cover{filter:grayscale(.55) saturate(.72);opacity:.62}.media-list-row[data-cache-state=client-missing] .media-list-row-status,.media-list-row[data-cache-state=failed] .media-list-row-status{background:var(--color-cache-error-surface);color:var(--color-cache-error-ink)}@media (max-width:430px){.page-header{grid-template-columns:1fr}.module-grid{gap:8px}.item-row{grid-template-columns:auto 48px minmax(0,1fr)}.item-actions{grid-column:1/-1;justify-content:flex-end}}.app-loading-shell{width:min(430px,100%);min-height:100vh;background:var(--color-page-warm)}.app-loading-state{display:grid;justify-items:center;grid-gap:16px;gap:16px;width:100%;padding:24px 0 6px;color:var(--color-text-strong);text-align:center}.app-loading-hero{display:grid;width:min(300px,86vw);aspect-ratio:1.32;place-items:center}.app-loading-hero img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-loading-copy{display:grid;grid-gap:8px;gap:8px;max-width:320px}.app-loading-copy h1{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.08;letter-spacing:0}.app-loading-copy p{color:var(--color-text-subtle);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:1.4;letter-spacing:0}.app-loading-dots{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:22px}.app-loading-dots span{display:block;width:12px;height:12px;border-radius:var(--radius-pill);animation:app-loading-dot-pulse 1.2s ease-in-out infinite}.app-loading-dots span:first-child,.app-loading-dots span:nth-child(3){background:var(--color-brand-lime)}.app-loading-dots span:nth-child(2){background:var(--color-brand-purple);animation-delay:.16s}.app-loading-dots span:nth-child(3){animation-delay:.32s}.app-loading-skeleton-list{display:grid;grid-gap:14px;gap:14px;width:100%;margin-top:12px}.app-loading-skeleton-row{display:grid;grid-template-columns:64px minmax(0,1fr) 40px;align-items:center;grid-gap:16px;gap:16px;min-height:86px;overflow:hidden;border:1px solid var(--color-line-faint);border-radius:var(--radius-sm);padding:12px;background:var(--color-surface-glass-soft);box-shadow:0 14px 30px var(--color-line-faint)}.app-loading-skeleton-chip,.app-loading-skeleton-copy span,.app-loading-skeleton-cover{display:block;overflow:hidden;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-skeleton-start) 0,var(--color-skeleton-mid) 42%,var(--color-skeleton-end) 78%);background-size:220% 100%;animation:app-loading-skeleton-shimmer 1.6s ease-in-out infinite}.app-loading-skeleton-cover{width:56px;height:56px}.app-loading-skeleton-copy{display:grid;min-width:0;grid-gap:14px;gap:14px}.app-loading-skeleton-copy span:first-child{width:100%;height:13px}.app-loading-skeleton-copy span:last-child{width:38%;height:12px}.app-loading-skeleton-chip{width:36px;height:24px;justify-self:end}.app-loading-inline{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-subtle)}.app-loading-inline:after{display:block;width:24px;height:8px;border-radius:var(--radius-pill);background:radial-gradient(circle at 4px 50%,var(--color-brand-lime) 0 3px,transparent 4px),radial-gradient(circle at 12px 50%,var(--color-brand-purple) 0 3px,transparent 4px),radial-gradient(circle at 20px 50%,var(--color-brand-lime) 0 3px,transparent 4px);content:"";animation:app-loading-inline-pulse 1.1s ease-in-out infinite}@keyframes app-loading-dot-pulse{0%,to{opacity:.55;transform:translateY(0) scale(.9)}45%{opacity:1;transform:translateY(-2px) scale(1)}}@keyframes app-loading-skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes app-loading-inline-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (max-width:374px){.app-loading-state{gap:14px;padding-top:18px}.app-loading-hero{width:min(258px,84vw)}.app-loading-skeleton-row{grid-template-columns:56px minmax(0,1fr) 34px;gap:12px;min-height:78px}.app-loading-skeleton-cover{width:52px;height:52px}}.auth-screen{width:min(480px,100vw);max-width:100vw;margin:0 auto;padding:0 24px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 17%,var(--color-surface-glass),var(--color-surface-transparent) 34%),linear-gradient(180deg,var(--color-page-auth-top) 0,var(--color-page-auth) 62%,var(--color-page-auth-low) 100%);color:var(--color-text-strong)}.auth-screen,.auth-stage{min-height:100svh;min-height:100dvh}.auth-stage{display:flex;flex-direction:column;align-items:stretch}.auth-collage{display:block;width:217px;height:auto;align-self:center;object-fit:contain;pointer-events:none}.auth-screen-register .auth-collage{margin-top:92px}.auth-screen-login .auth-collage{margin-top:108px}.auth-header{display:grid;grid-gap:12px;gap:12px;margin-top:34px;text-align:center}.auth-screen-login .auth-header{margin-top:42px}.auth-header h1{font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:0;line-height:1.06}.auth-header p{color:var(--color-auth-muted);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:1.35}.auth-open-form{display:grid;width:min(345px,calc(100vw - 48px));max-width:100%;grid-gap:22px;gap:22px;margin-right:auto;margin-top:42px;margin-left:auto}.auth-screen-login .auth-open-form{gap:24px;margin-top:42px}.auth-field{display:grid;grid-gap:14px;gap:14px;color:var(--color-text-strong);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.15}.auth-field input{height:52px;border:1px solid var(--color-auth-line);border-radius:var(--radius-2xl);padding:0 26px;background:var(--color-surface-field);box-shadow:none;color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-medium)}.auth-field input::placeholder{color:var(--color-auth-placeholder);opacity:1}.auth-field input:focus{border-color:var(--color-focus-line);box-shadow:0 0 0 4px var(--color-focus-surface)}.auth-password-control{position:relative;display:block}.auth-password-control input{padding-right:58px}.auth-password-toggle{position:absolute;top:50%;right:12px;display:inline-grid;width:38px;min-height:38px;height:38px;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;padding:0;background:transparent;color:var(--color-auth-control)}.auth-password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.auth-forgot-link{justify-self:start;min-height:auto;border:0;border-radius:0;padding:0;background:transparent;color:var(--color-link);font-size:var(--text-md);font-weight:var(--weight-bold)}.auth-message{display:none;color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.35;text-align:center}.auth-message:not(:empty){display:block}.auth-submit{width:100%;min-height:52px;border:0;border-radius:var(--radius-pill);padding:0 18px;background:radial-gradient(circle at 50% 45%,var(--color-auth-primary-halo),var(--color-auth-primary-halo-transparent) 42%),linear-gradient(90deg,var(--color-auth-primary),var(--color-auth-primary-strong));box-shadow:var(--shadow-auth-primary);color:var(--color-text-strong);font-size:var(--text-lg);font-weight:var(--weight-bold)}.auth-submit:disabled{opacity:.52}.auth-switch{display:flex;justify-content:center;gap:12px;margin-top:28px;color:var(--color-auth-switch);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.4}.auth-screen-login .auth-switch{margin-top:42px}.auth-switch a{color:var(--color-link);font-weight:var(--weight-bold)}@media (max-height:820px){.auth-screen-register .auth-collage{margin-top:72px;width:202px}.auth-screen-login .auth-collage{margin-top:88px;width:204px}.auth-header{margin-top:26px}.auth-screen-login .auth-header{margin-top:34px}.auth-open-form{gap:20px;margin-top:32px}.auth-screen-login .auth-open-form{gap:24px;margin-top:42px}.auth-field{gap:11px}.auth-screen-login .auth-switch,.auth-switch{margin-top:24px}}.playlist-collage-cover{position:relative;display:grid;overflow:visible;place-items:center;isolation:isolate}.playlist-collage-hero{height:292px;margin-top:6px}.playlist-collage-card{height:var(--home-collage-height)}.playlist-collage-thumb{width:82px;height:82px}.playlist-collage-main,.playlist-collage-material,.playlist-collage-photo{position:absolute;display:block;pointer-events:none}.playlist-collage-main,.playlist-collage-photo{overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ece8e1,#d4d7cd);box-shadow:0 18px 34px rgba(54,48,38,.18)}.playlist-collage-main{z-index:7}.playlist-collage-main img,.playlist-collage-photo{width:100%;height:100%;object-fit:cover}.playlist-collage-material{object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 18px 22px rgba(54,48,38,.16))}.collage-material-back{z-index:1}.collage-material-accent{z-index:8}.playlist-collage-fallback{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,#1c1f1b,#778070);color:var(--color-surface);font-weight:var(--weight-bold)}.playlist-collage-hero .playlist-collage-main{top:76px;left:50%;width:252px;height:142px;border-radius:var(--radius-lg);transform:translateX(-50%) rotate(3deg)}.playlist-collage-hero .playlist-collage-fallback{font-size:var(--text-display)}.playlist-collage-hero .collage-material-back{top:28px;left:calc(50% - 132px);width:218px;height:208px;transform:rotate(-7deg)}.playlist-collage-hero .collage-material-accent{right:calc(50% - 150px);bottom:50px;width:148px;height:74px;transform:rotate(5deg)}.playlist-collage-hero .collage-photo-1{top:92px;left:calc(50% - 174px);width:112px;height:112px;transform:rotate(-10deg)}.playlist-collage-hero .collage-photo-2{top:112px;right:calc(50% - 178px);width:128px;height:72px;transform:rotate(9deg)}.playlist-collage-card .playlist-collage-main{top:30px;left:28px;width:112px;height:63px;border-radius:var(--radius-sm);transform:rotate(-5deg)}.playlist-collage-card .playlist-collage-main,.playlist-collage-card .playlist-collage-photo{box-shadow:none}.playlist-collage-card .playlist-collage-material{filter:none}.playlist-collage-card .playlist-collage-fallback{font-size:var(--text-2xl)}.playlist-collage-card .collage-material-back{top:10px;left:20px;width:110px;height:106px;transform:rotate(-7deg)}.playlist-collage-card .collage-material-accent{right:14px;bottom:10px;width:82px;height:42px;transform:rotate(5deg)}.playlist-collage-card .collage-photo-1{top:16px;left:8px;width:52px;height:52px;border-radius:var(--radius-sm);transform:rotate(-8deg)}.playlist-collage-card .collage-photo-2{top:12px;right:8px;width:64px;height:36px;border-radius:var(--radius-sm);transform:rotate(8deg)}.playlist-collage-thumb .playlist-collage-main{top:14px;left:14px;width:54px;height:54px;border-radius:var(--radius-sm);transform:rotate(-4deg)}.playlist-collage-thumb .playlist-collage-fallback{font-size:var(--text-xl)}.playlist-collage-thumb .collage-material-back{top:7px;left:8px;width:55px;height:55px;transform:rotate(-8deg)}.playlist-collage-thumb .collage-material-accent{right:5px;bottom:8px;width:34px;height:22px;transform:rotate(5deg)}.playlist-collage-thumb .collage-photo-1{top:10px;right:6px;width:32px;height:32px;border-radius:var(--radius-xs);transform:rotate(7deg)}.playlist-collage-thumb .collage-photo-2{display:none}.playlist-collage-template-desk .playlist-collage-main{transform:rotate(-7deg)}.playlist-collage-template-desk.playlist-collage-hero .playlist-collage-main{top:82px;transform:translateX(-50%) rotate(-7deg)}.playlist-collage-template-desk .collage-material-back{transform:rotate(5deg)}.playlist-collage-template-desk.playlist-collage-card .collage-material-back{top:2px;left:8px;width:78px;height:116px}.playlist-collage-template-desk.playlist-collage-card .collage-material-accent{right:0;bottom:4px;width:62px;height:70px;transform:rotate(9deg)}.playlist-collage-template-desk.playlist-collage-card .playlist-collage-main{top:34px;left:42px}.playlist-collage-template-desk.playlist-collage-card .collage-photo-1{top:12px;left:18px}.playlist-collage-template-desk.playlist-collage-card .collage-photo-2{top:16px;right:6px}.playlist-collage-template-desk.playlist-collage-thumb .collage-material-back{top:3px;left:4px;width:44px;height:68px}.playlist-collage-template-desk.playlist-collage-thumb .collage-material-accent{width:31px;height:36px}.playlist-collage-template-wave.playlist-collage-card .collage-material-back{top:50px;left:20px;width:112px;height:58px;transform:rotate(-5deg)}.playlist-collage-template-wave.playlist-collage-card .collage-material-accent{right:8px;bottom:10px;width:48px;height:48px;transform:rotate(8deg)}.playlist-collage-template-wave.playlist-collage-card .playlist-collage-main{top:20px;left:20px;transform:rotate(3deg)}.playlist-collage-template-wave.playlist-collage-card .collage-photo-1{top:12px;left:112px}.playlist-collage-template-wave.playlist-collage-card .collage-photo-2{top:70px;right:18px;transform:rotate(-6deg)}.playlist-collage-template-wave.playlist-collage-hero .collage-material-back{top:170px;left:calc(50% - 112px);width:202px;height:104px;transform:rotate(-4deg)}.playlist-collage-template-wave.playlist-collage-hero .collage-material-accent{right:calc(50% - 156px);bottom:58px;width:74px;height:74px;transform:rotate(8deg)}.playlist-collage-template-wave.playlist-collage-hero .playlist-collage-main{top:62px;transform:translateX(-50%) rotate(3deg)}.playlist-collage-template-wave.playlist-collage-thumb .collage-material-back{top:47px;left:18px;width:52px;height:27px}.playlist-collage-template-wave.playlist-collage-thumb .collage-material-accent{width:26px;height:26px}.playlist-collage-template-grid .playlist-collage-main{transform:rotate(0deg)}.playlist-collage-template-grid.playlist-collage-hero .playlist-collage-main{transform:translateX(-50%) rotate(0deg)}.playlist-collage-template-grid.playlist-collage-card .collage-material-back{top:0;left:82px;width:76px;height:108px;transform:rotate(7deg)}.playlist-collage-template-grid.playlist-collage-card .collage-material-accent{right:104px;bottom:8px;width:48px;height:48px;transform:rotate(-7deg)}.playlist-collage-template-grid.playlist-collage-card .playlist-collage-main{top:28px;left:21px}.playlist-collage-template-grid.playlist-collage-card .collage-photo-1{top:14px;left:102px}.playlist-collage-template-grid.playlist-collage-card .collage-photo-2{top:72px;right:36px;transform:rotate(0deg)}.playlist-collage-template-grid.playlist-collage-hero .collage-material-back{top:24px;left:calc(50% + 50px);width:108px;height:152px;transform:rotate(7deg)}.playlist-collage-template-grid.playlist-collage-hero .collage-material-accent{right:calc(50% + 62px);bottom:52px;width:82px;height:82px;transform:rotate(-7deg)}.playlist-collage-template-grid.playlist-collage-thumb .collage-material-back{top:1px;left:42px;width:38px;height:62px}.playlist-collage-template-grid.playlist-collage-thumb .collage-material-accent{right:48px;width:25px;height:25px}.playlist-detail-shell{--playlist-lime:var(--color-brand-lime);--playlist-purple:var(--color-brand-purple);width:min(402px,100%);padding:10px 16px calc(236px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 15%,var(--color-page-detail-glow),var(--color-surface-transparent) 40%),var(--color-page-detail)}.playlist-detail-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-topbar);display:grid;grid-template-columns:var(--control-md) minmax(0,1fr) var(--control-md);align-items:center;min-height:var(--topbar-detail-height);margin:-10px -16px 0;padding:8px 16px 10px;background:linear-gradient(180deg,var(--color-page-detail-topbar-high),var(--color-page-detail-topbar-low) 78%,var(--color-page-detail-topbar-transparent));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.playlist-more-trigger,.playlist-round-icon{display:grid;width:var(--control-md);min-width:var(--control-md);height:var(--control-md);min-height:var(--control-md);place-items:center;border:0;border-radius:var(--radius-pill);padding:0;background:var(--color-surface-glass-soft);color:var(--color-text-strong);box-shadow:var(--shadow-glass-button);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.playlist-more-trigger svg,.playlist-primary-action svg,.playlist-round-icon svg,.playlist-secondary-action svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-icon)}.playlist-detail-topbar .playlist-more-trigger svg,.playlist-detail-topbar .playlist-round-icon svg{width:var(--icon-md);height:var(--icon-md)}.playlist-more-trigger svg circle{fill:currentColor;stroke:none}.playlist-showcase{display:grid;grid-gap:20px;gap:20px}.playlist-default-favorites-cover{display:grid;height:292px;margin-top:6px;place-items:center}.playlist-default-favorites-cover img{display:block;width:min(328px,100%);max-height:236px;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.playlist-title-block{display:grid;grid-gap:10px;gap:10px}.playlist-title-block h1{color:var(--color-text-strong);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.2}.playlist-author-line{display:flex;align-items:center;color:var(--color-text-primary)}.playlist-author-line,.playlist-meta-line{font-size:var(--text-sm);font-weight:var(--weight-medium)}.playlist-meta-line{color:var(--color-copy-secondary);line-height:1.35}.playlist-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.playlist-detail-tag{min-height:30px;padding:7px 11px;font-size:var(--text-sm);line-height:1}.playlist-action-row{display:grid;grid-template-columns:minmax(0,1fr) 166px;align-items:start;grid-gap:12px;gap:12px;margin-top:10px}.playlist-secondary-actions{display:flex;align-items:flex-start;gap:14px}.playlist-overflow-menu{position:relative}.playlist-overflow-menu[open]{z-index:var(--z-popover)}.playlist-secondary-actions .playlist-overflow-menu{width:var(--control-xl)}.playlist-secondary-action{display:grid;grid-template-rows:var(--control-md) var(--text-md);width:var(--control-xl);min-width:var(--control-xl);min-height:62px;align-content:start;justify-items:center;grid-gap:6px;gap:6px;border:0;border-radius:0;padding:0;background:transparent;color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;text-align:center;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.playlist-action-icon-circle{display:grid;width:var(--control-md);height:var(--control-md);place-items:center;border:1px solid var(--color-line-card);border-radius:var(--radius-pill);background:var(--color-surface-glass-muted);box-shadow:var(--shadow-icon-soft)}.playlist-secondary-action.active .playlist-action-icon-circle{background:var(--color-brand-lime-muted)}.playlist-secondary-action svg{width:var(--icon-sm);height:var(--icon-sm)}.playlist-primary-action .filled-icon,.playlist-secondary-action .filled-icon{fill:currentColor;stroke:currentColor}.playlist-overflow-menu summary{list-style:none;cursor:pointer}.playlist-overflow-menu summary::-webkit-details-marker{display:none}.playlist-secondary-actions .playlist-more-trigger{height:auto;border-radius:0;background:transparent;box-shadow:none}.playlist-more-trigger.compact{width:var(--control-sm);min-width:var(--control-sm);height:var(--control-sm);min-height:var(--control-sm);border-radius:var(--radius-pill);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.playlist-more-trigger.compact svg{width:var(--icon-md);height:var(--icon-md)}.playlist-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-topbar);display:grid;min-width:138px;overflow:hidden;border:1px solid var(--color-line-card);border-radius:var(--radius-lg);padding:6px;background:var(--color-surface-glass);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.playlist-overflow-menu.align-right .playlist-menu-panel{right:0;left:auto}.playlist-menu-panel a,.playlist-menu-panel button{display:flex;min-height:38px;align-items:center;justify-content:flex-start;border:0;border-radius:var(--radius-md);padding:10px 12px;background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.15;box-shadow:none;white-space:nowrap}.playlist-menu-panel button.danger{color:var(--color-danger)}.playlist-primary-action{display:grid;grid-template-columns:var(--icon-xl) minmax(0,1fr);align-items:center;width:166px;min-height:var(--control-primary);border:0;border-radius:var(--radius-pill);padding:10px 16px 10px 14px;background:var(--playlist-lime);color:var(--color-text-strong);box-shadow:0 12px 22px var(--color-brand-lime-shadow)}.playlist-primary-action span{display:grid;min-width:0;grid-gap:4px;gap:4px;text-align:left}.playlist-primary-action strong{font-size:var(--text-lg);font-weight:var(--weight-bold)}.playlist-primary-action small,.playlist-primary-action strong{overflow:hidden;line-height:1;text-overflow:ellipsis;white-space:nowrap}.playlist-primary-action small{color:var(--color-copy-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.playlist-track-card{margin-top:30px;padding:0;background:transparent;box-shadow:none}.playlist-track-card,.playlist-track-list{display:grid;grid-gap:14px;gap:14px}audio{width:100%}.player-shell{--player-bg:var(--color-page-player);--player-accent:var(--color-player-accent);--player-primary:var(--color-player-primary);--player-cover-top:hsla(0,0%,100%,.82);--player-cover-halo:rgba(142,107,232,.18);--player-cover-low:rgba(220,226,238,.42);--player-cover-shadow:rgba(25,21,18,.2);--player-cover-panel:hsla(0,0%,100%,.42);--player-transition-top:72vh;--player-transition-right:14px;--player-transition-bottom:112px;--player-transition-left:14px;position:relative;display:flex;flex-direction:column;width:min(430px,100%);height:100vh;min-height:100vh;height:100dvh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;padding:calc(12px + env(safe-area-inset-top)) clamp(16px,4vw,20px) calc(20px + env(safe-area-inset-bottom));background:radial-gradient(ellipse 86% 42% at 50% 31%,var(--player-cover-halo) 0,var(--color-surface-transparent) 68%),radial-gradient(circle at 50% 0,var(--player-cover-top) 0,var(--color-surface-transparent) 35%),linear-gradient(180deg,var(--color-surface-glass-soft) 0,var(--player-bg) 42%,var(--player-cover-low) 100%),var(--player-bg);-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0);transition:background .32s ease;will-change:clip-path,transform}.player-shell.player-shell-entering{animation:player-shell-expand-from-mini .44s cubic-bezier(.18,.9,.24,1) both}.player-shell.player-shell-minimizing{pointer-events:none;animation:player-shell-collapse-to-mini .34s cubic-bezier(.36,0,.22,1) forwards}.player-shell.player-shell-entering .full-player-now,.player-shell.player-shell-entering .player-bottom-stack,.player-shell.player-shell-entering .player-topbar{animation:player-content-rise .42s cubic-bezier(.18,.9,.24,1) both}.player-shell.player-shell-entering .player-topbar{animation-duration:.32s}.player-shell.player-shell-entering .player-bottom-stack{animation-delay:48ms}.player-shell.player-shell-minimizing .full-player-now,.player-shell.player-shell-minimizing .player-bottom-stack,.player-shell.player-shell-minimizing .player-topbar{animation:player-content-settle-to-mini .26s cubic-bezier(.36,0,.22,1) forwards}.player-topbar{display:grid;grid-template-columns:var(--control-sm) minmax(0,1fr) var(--control-sm);align-items:center;min-height:var(--control-xl);margin-bottom:6px}.player-topbar h1{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.2;text-align:center}.player-topbar-icon{display:grid;width:var(--control-sm);min-width:var(--control-sm);height:var(--control-sm);min-height:var(--control-sm);place-items:center;border:0;border-radius:var(--radius-pill);padding:0;background:transparent;box-shadow:none;color:var(--color-text-strong);cursor:pointer}.player-topbar-icon:disabled{cursor:default;opacity:.42}.player-topbar-spacer{display:block;width:var(--control-sm);height:var(--control-sm)}.player-topbar-icon svg{width:var(--icon-md);height:var(--icon-md)}.player-topbar-icon circle,.player-topbar-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-icon)}.player-topbar-icon circle{fill:currentColor;stroke:none}.full-player-now{display:grid;flex:1 1 auto;min-height:0;place-items:center;padding-block:18px}.full-player-cover-frame{position:relative;justify-self:center;width:min(100%,382px);aspect-ratio:16/9;border-radius:clamp(20px,6vw,28px);background:var(--player-cover-panel);filter:drop-shadow(0 20px 34px var(--player-cover-shadow))}.full-player-cover-clip{display:grid;overflow:hidden;width:100%;height:100%;place-items:center;border-radius:inherit;isolation:isolate;transform:translateZ(0)}.full-player-cover,.full-player-cover-clip img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;-webkit-clip-path:inset(0 round clamp(20px,6vw,28px));clip-path:inset(0 round clamp(20px,6vw,28px))}.full-player-cover{background:linear-gradient(165deg,rgba(63,111,178,.25),hsla(30,85%,73%,.22)),linear-gradient(135deg,#d9e1ec,#c8d3c1)}.player-bottom-stack{display:grid;flex:0 0 auto;grid-gap:16px;gap:16px;margin-top:auto;min-width:0}.full-player-title-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;width:100%;min-width:0;grid-gap:12px;gap:12px;padding:8px 0;overflow:hidden}.full-player-copy{display:grid;min-width:0;max-width:100%;grid-gap:8px;gap:8px}.full-player-copy h2{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.15}.full-player-copy h2,.full-player-copy p{min-width:0;max-width:100%;overflow:hidden}.full-player-copy p{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.25}.player-like-button{display:grid;width:40px;min-width:40px;height:40px;min-height:40px;place-items:center;border:0;border-radius:var(--radius-pill);padding:0;background:transparent;box-shadow:none}.player-like-button svg{width:22px;height:22px;color:var(--player-accent)}.player-like-button path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.player-like-button .filled-heart{fill:currentColor}.player-marquee{display:block;position:relative;overflow:hidden;width:100%;min-width:0;max-width:100%;white-space:nowrap}.player-marquee.scrolling{--marquee-fade-size:34px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--marquee-fade-size),#000 calc(100% - var(--marquee-fade-size)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--marquee-fade-size),#000 calc(100% - var(--marquee-fade-size)),transparent 100%)}.player-marquee.subtitle{--marquee-fade-size:26px}.player-marquee-text{display:inline-block;min-width:0;white-space:nowrap}.player-marquee.scrolling .player-marquee-text{animation:player-marquee 16s linear 1s infinite}.player-controls-panel{display:grid;grid-gap:14px;gap:14px;margin-bottom:2px;padding-top:0}.time-row{display:grid;grid-template-columns:50px minmax(0,1fr) 58px;align-items:center;grid-gap:12px;gap:12px;color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.time-row span:last-child{text-align:right}.player-controls-panel input[type=range]{width:100%;height:18px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--player-accent);cursor:pointer}.player-controls-panel input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--player-accent) 0,var(--player-accent) var(--player-progress,0),var(--color-progress-track-strong) var(--player-progress,0),var(--color-progress-track-strong) 100%)}.player-controls-panel input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border:3px solid var(--color-surface);border-radius:var(--radius-pill);background:var(--player-accent);box-shadow:var(--shadow-player-control);-webkit-appearance:none;appearance:none}.player-controls-panel input[type=range]::-moz-range-track{height:4px;border-radius:var(--radius-pill);background:var(--color-progress-track-strong)}.player-controls-panel input[type=range]::-moz-range-progress{height:4px;border-radius:var(--radius-pill);background:var(--player-accent)}.player-controls-panel input[type=range]::-moz-range-thumb{width:14px;height:14px;border:3px solid var(--color-surface);border-radius:var(--radius-pill);background:var(--player-accent);box-shadow:var(--shadow-player-control)}.transport-row{display:grid;grid-template-columns:44px 34px 58px 34px 44px;align-items:center;justify-content:space-between;grid-gap:clamp(8px,3vw,14px);gap:clamp(8px,3vw,14px)}.play-button,.player-mode-button,.player-skip-button{border:0;color:var(--color-text-strong);background:transparent}.player-mode-button{display:grid;min-width:0;min-height:42px;grid-gap:4px;gap:4px;padding:0;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.player-mode-button.active{color:var(--player-accent)}.player-mode-button.active svg{filter:drop-shadow(0 4px 10px var(--color-brand-purple-glow))}.player-mode-button svg{width:22px;height:22px;margin:0 auto}.player-mode-button path,.player-secondary-panel circle,.player-secondary-panel path,.player-skip-button path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}.player-skip-button{width:34px;min-width:34px;height:42px;min-height:42px;padding:0}.player-skip-button svg{width:24px;height:24px}.play-button{display:grid;width:58px;min-width:58px;height:58px;min-height:58px;place-items:center;border-radius:var(--radius-pill);padding:0;background:var(--player-primary);box-shadow:0 12px 24px var(--color-brand-lime-shadow)}.play-button svg{width:24px;height:24px}.play-button path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2}.play-button svg path:first-child:last-child{fill:currentColor;stroke:currentColor}.player-secondary-panel{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;align-items:start;border-top:1px solid var(--color-line-strong);padding-top:16px}.player-queue-drawer summary,.player-tool-button{display:grid;min-height:46px;justify-items:center;grid-gap:5px;gap:5px;border:0;padding:0;color:var(--color-text-primary);background:transparent;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer}.player-tool-button:disabled{cursor:default;opacity:.42}.player-speed-indicator strong{display:inline-grid;min-width:54px;height:22px;place-items:center;color:var(--color-text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--text-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);line-height:22px}.player-queue-drawer{position:relative}.player-queue-drawer summary{list-style:none;cursor:pointer}.player-queue-drawer summary::-webkit-details-marker{display:none}.player-queue-drawer svg,.player-tool-button svg{width:22px;height:22px;color:var(--color-text-strong)}.player-queue-list{position:absolute;z-index:4;right:min(-42vw,-120px);bottom:calc(100% + 14px);display:grid;width:min(354px,calc(100vw - 32px));max-height:min(62vh,560px);grid-gap:8px;gap:8px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-line-deep-faint);border-radius:var(--radius-lg);padding:10px;background:var(--color-surface-glass);box-shadow:var(--shadow-player-popover)}.queue-row{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"cover title" "cover meta";justify-items:start;width:100%;min-height:62px;border-color:var(--color-line-deep-faint);background:var(--color-surface);color:var(--color-text);text-align:left}.queue-row.active{border-color:var(--color-brand-purple-line-soft);background:var(--color-brand-purple-muted)}.queue-row img,.queue-row span{grid-area:cover;width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-surface-subtle)}.queue-row strong{grid-area:title;color:var(--color-text-strong)}.queue-row small,.queue-row strong{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.queue-row small{grid-area:meta;color:var(--color-text-muted)}.player-queue-sheet-layer{position:fixed;z-index:var(--z-modal);inset:0;display:grid;align-items:flex-end;justify-items:center;touch-action:auto}.player-queue-scrim{position:fixed;inset:0;display:block;width:100%;min-height:0;border:0;border-radius:0;padding:0;background:var(--color-scrim);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.player-queue-sheet{position:relative;z-index:1;display:grid;width:min(430px,100%);height:min(88vh,736px);min-height:min(636px,calc(100vh - 72px));height:min(88dvh,736px);min-height:min(636px,calc(100dvh - 72px));grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:13px 20px calc(16px + env(safe-area-inset-bottom));background:var(--color-surface-sheet);box-shadow:var(--shadow-player-sheet)}.player-queue-sheet-grip{justify-self:center;width:42px;height:4px;border-radius:var(--radius-pill);background:var(--color-sheet-grip)}.player-queue-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:6px 0 8px}.player-queue-sheet-heading{display:grid;min-width:0;grid-gap:2px;gap:2px}.player-queue-sheet-header h2{overflow:hidden;color:var(--color-text-strong);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.player-queue-sheet-header p{overflow:hidden;color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.player-queue-sheet-header-actions{display:flex;align-items:center;gap:8px;justify-self:end}.player-queue-close-button,.player-queue-edit-button{height:var(--control-xs);min-height:var(--control-xs);border:1px solid var(--color-line-control);border-radius:var(--radius-pill);background:var(--color-surface-glass-soft);color:var(--color-text-primary);box-shadow:none}.player-queue-edit-button{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1}.player-queue-close-button{display:grid;width:var(--control-xs);min-width:var(--control-xs);height:var(--control-xs);min-height:var(--control-xs);place-items:center;padding:0}.player-queue-close-button svg{width:var(--icon-compact);height:var(--icon-compact)}.player-queue-close-button path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.5}.player-queue-sheet-list{display:grid;min-height:0;align-content:start;grid-gap:8px;gap:8px;overflow:auto;padding:0 0 12px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.player-queue-sheet-row{display:grid;min-width:0;min-height:66px;grid-template-columns:minmax(0,1fr);align-items:center;border:1px solid var(--color-line-deep-soft);border-radius:var(--radius-sm);background:var(--color-surface-glass-raised);box-shadow:var(--shadow-player-row)}.player-queue-sheet-row.active{min-height:76px;border-color:var(--color-brand-lime-line);background:radial-gradient(circle at 78% 30%,var(--color-brand-lime-glow),var(--color-surface-transparent) 38%),var(--color-player-current-surface)}.player-queue-sheet-row.editing{grid-template-columns:var(--selection-size) minmax(0,1fr);gap:10px;padding-left:12px}.player-queue-sheet-row.selected{border-color:var(--color-brand-purple-line-soft);background:var(--color-brand-purple-muted)}.player-queue-sheet-row-main{display:grid;width:100%;min-height:64px;grid-template-columns:58px minmax(0,1fr) 34px;align-items:center;grid-gap:12px;gap:12px;border:0;border-radius:var(--radius-sm);padding:8px 12px;background:transparent;color:var(--color-text-strong);text-align:left;box-shadow:none}.player-queue-sheet-row.active .player-queue-sheet-row-main{min-height:74px}.player-queue-sheet-row.editing .player-queue-sheet-row-main{grid-template-columns:54px minmax(0,1fr) 22px;padding-left:0}.player-queue-thumb{display:block;width:54px;height:54px;overflow:hidden;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-cover-player-purple),var(--color-cover-player-lime)),var(--color-surface-subtle)}.player-queue-sheet-row.active .player-queue-thumb{width:58px;height:58px}.player-queue-thumb img{width:100%;height:100%;object-fit:cover}.player-queue-copy{display:grid;min-width:0;grid-gap:6px;gap:6px}.player-queue-copy small,.player-queue-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-queue-copy strong{color:var(--color-text-strong);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.15}.player-queue-copy small{color:var(--color-text-dim);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.2}.player-queue-playing{display:flex;width:28px;height:24px;align-items:flex-end;justify-content:center;gap:3px;color:var(--color-player-playing)}.player-queue-playing span{display:block;width:3px;height:12px;border-radius:var(--radius-pill);background:currentColor}.player-queue-playing span:nth-child(2){height:20px}.player-queue-playing span:nth-child(3){height:15px}.player-queue-playing.active span{animation:queue-equalizer .92s ease-in-out infinite}.player-queue-playing.active span:nth-child(2){animation-delay:.14s}.player-queue-playing.active span:nth-child(3){animation-delay:.28s}.player-queue-row-handle{display:grid;width:22px;height:22px;place-items:center;color:var(--color-copy-muted)}.player-queue-row-handle svg{width:20px;height:20px}.player-queue-row-handle path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.player-queue-sheet-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding-top:12px}.player-queue-sheet-action{display:inline-grid;min-width:0;min-height:44px;grid-template-columns:24px minmax(0,max-content);align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:var(--radius-pill);padding:11px 16px;background:var(--color-player-action-surface);color:var(--color-text-strong);font-size:var(--text-md);font-weight:var(--weight-bold);box-shadow:var(--shadow-player-action)}.player-queue-sheet-action.mode{border-color:var(--color-line-deep);background:var(--color-surface-glass-soft);color:var(--color-text-dim);box-shadow:none}.player-queue-sheet-action.mode.active{border-color:var(--color-brand-purple-line);background:var(--color-brand-purple-muted);color:var(--color-brand-purple-active);box-shadow:none}.player-queue-sheet-action.secondary{border-color:var(--color-line-deep-soft);background:var(--color-player-action-surface)}.player-queue-sheet-action.danger{background:var(--color-surface);color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger-line),0 10px 22px var(--color-line-faint)}.player-queue-sheet-action svg{width:20px;height:20px}.player-queue-sheet-action path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}@media (min-width:700px){body:has(.player-shell){display:grid;min-height:100dvh;justify-items:center;align-items:start}.player-shell{height:min(852px,100vh);min-height:min(852px,100vh);height:min(852px,100dvh);min-height:min(852px,100dvh);box-shadow:var(--shadow-player-shell)}.player-queue-sheet,.player-shell{width:min(393px,100%)}}@media (max-width:699px){@supports (-webkit-touch-callout:none){body:has(.player-shell){height:100svh;min-height:100svh}.player-shell{height:100svh;min-height:100svh}}}@keyframes player-shell-expand-from-mini{0%{-webkit-clip-path:inset(var(--player-transition-top) var(--player-transition-right) var(--player-transition-bottom) var(--player-transition-left) round 24px);clip-path:inset(var(--player-transition-top) var(--player-transition-right) var(--player-transition-bottom) var(--player-transition-left) round 24px);transform:translate3d(0,8px,0)}68%{-webkit-clip-path:inset(0 0 0 0 round 18px);clip-path:inset(0 0 0 0 round 18px);transform:translateZ(0)}to{-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0);transform:translateZ(0)}}@keyframes player-shell-collapse-to-mini{0%{-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0);transform:translateZ(0)}to{-webkit-clip-path:inset(var(--player-transition-top) var(--player-transition-right) var(--player-transition-bottom) var(--player-transition-left) round 24px);clip-path:inset(var(--player-transition-top) var(--player-transition-right) var(--player-transition-bottom) var(--player-transition-left) round 24px);transform:translate3d(0,8px,0)}}@keyframes player-content-rise{0%{opacity:0;transform:translate3d(0,28px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes player-content-settle-to-mini{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:.08;transform:translate3d(0,22px,0) scale(.98)}}@keyframes queue-equalizer{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}@keyframes player-marquee{0%,14%{transform:translateX(0)}86%,to{transform:translateX(calc(-1 * var(--marquee-distance, 0px)))}}@media (prefers-reduced-motion:reduce){.player-shell.player-shell-entering,.player-shell.player-shell-entering .full-player-now,.player-shell.player-shell-entering .player-bottom-stack,.player-shell.player-shell-entering .player-topbar,.player-shell.player-shell-minimizing,.player-shell.player-shell-minimizing .full-player-now,.player-shell.player-shell-minimizing .player-bottom-stack,.player-shell.player-shell-minimizing .player-topbar{animation:none}.player-shell.player-shell-entering,.player-shell.player-shell-minimizing{-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0);transform:none}}.create-flow-shell{--flow-title-size:var(--text-md);--flow-title-line:1.25;--flow-title-to-content:14px;--flow-module-gap:28px;width:min(430px,100%);min-height:100vh;min-height:100dvh;padding:16px 16px calc(250px + env(safe-area-inset-bottom));background:var(--color-page-warm)}.create-topbar{display:grid;grid-template-columns:var(--control-lg) minmax(0,1fr) var(--control-lg);align-items:center;min-height:var(--topbar-create-height);margin-bottom:18px}.create-topbar h1{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.2;text-align:center}.text-top-action,.topbar-icon{border:0;background:transparent;color:var(--color-brand-purple)}.topbar-icon{display:grid;width:var(--control-lg);min-width:var(--control-lg);height:var(--control-lg);min-height:var(--control-lg);place-items:center;padding:0}.topbar-spacer{display:block;width:var(--control-lg);height:var(--control-lg)}.topbar-icon:first-child{color:var(--color-text-strong)}.topbar-icon:disabled{opacity:.5}.chip-button svg,.drag-handle svg,.text-top-action svg,.topbar-icon svg{width:var(--icon-lg);height:var(--icon-lg);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-icon)}.text-top-action{justify-self:end;min-height:var(--control-lg);padding:0;font-size:var(--text-md);font-weight:var(--weight-bold)}.session-form-block,.session-section{display:grid;grid-gap:var(--flow-title-to-content);gap:var(--flow-title-to-content);margin-bottom:var(--flow-module-gap)}.session-form-block{gap:var(--flow-module-gap)}.field-label{display:grid;grid-gap:var(--flow-title-to-content);gap:var(--flow-title-to-content);color:var(--color-text-strong);font-size:var(--flow-title-size);font-weight:var(--weight-bold);line-height:var(--flow-title-line)}.field-label em{color:var(--color-text-faint);font-style:normal;font-weight:var(--weight-regular)}.quiet-input{border-color:var(--color-line);border-radius:var(--radius-xl);padding:15px 16px;color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-medium);box-shadow:inset 0 0 0 1px var(--color-surface-field-highlight)}.quiet-input::placeholder{color:var(--color-text-faint);font-weight:var(--weight-regular)}textarea.quiet-input::placeholder{font-weight:var(--weight-regular)}textarea.quiet-input{min-height:116px;padding-bottom:34px;resize:none}.collection-preview-card h2,.session-section h2{font-size:var(--flow-title-size);font-weight:var(--weight-bold);line-height:var(--flow-title-line)}.collection-preview-card,.empty-playlist-card,.preview-result-row{border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-surface)}.disabled-link{color:var(--color-text-faint);pointer-events:none}.preview-result-row strong{display:block;overflow:hidden;color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.collection-preview-card p,.preview-result-row small{display:block;overflow:hidden;color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.empty-playlist-card{display:grid;min-height:222px;place-items:center;padding:28px;text-align:center}.empty-playlist-card-link{color:inherit;cursor:pointer;text-decoration:none}.empty-playlist-card strong{font-size:var(--text-lg);font-weight:var(--weight-bold)}.empty-playlist-card span{color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-regular)}.empty-playlist-link{color:var(--color-brand-purple);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none}.empty-playlist-card-link:active .empty-playlist-link{color:var(--color-brand-purple-pressed)}.empty-playlist-illustration{display:block;width:132px;height:100px;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.session-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:var(--flow-title-to-content);gap:var(--flow-title-to-content)}.session-heading-copy{min-width:0}.session-section-heading p,.ui-note{color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.5}.chip-button{min-height:42px;border-color:var(--color-line);border-radius:var(--radius-pill);padding:9px 14px;background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap}.chip-button.active{border-color:var(--color-brand-purple);color:var(--color-brand-purple)}.audio-tag-field{align-content:start}.audio-tag-grid{display:flex;flex-wrap:wrap;gap:8px}.audio-tag-chip{display:inline-flex;min-height:34px;align-items:center;border:0;border-radius:var(--radius-pill);padding:8px 11px;background:var(--tag-soft);color:var(--tag-ink);font-size:var(--text-sm);font-weight:var(--weight-regular);box-shadow:none}.audio-tag-chip.selected{background:var(--tag-bg);color:var(--tag-ink);font-weight:var(--weight-medium);box-shadow:inset 0 0 0 2px var(--tag-border)}.tone-lime{--tag-soft:#eef8ad;--tag-bg:var(--color-brand-lime-strong);--tag-border:#bdd127;--tag-ink:#596015}.tone-violet{--tag-soft:#eee7ff;--tag-bg:#d9c8ff;--tag-border:#a98bdc;--tag-ink:#5c43a6}.tone-sky{--tag-soft:#e4f5ff;--tag-bg:#bde7ff;--tag-border:#82bfe0;--tag-ink:#27607f}.tone-amber{--tag-soft:#fff0c2;--tag-bg:#ffe08a;--tag-border:#e3b94e;--tag-ink:#7a5a0f}.tone-rose{--tag-soft:#ffe8ee;--tag-bg:#ffc4d4;--tag-border:#e891aa;--tag-ink:#8d3f58}.tone-mint{--tag-soft:#e1f8ee;--tag-bg:#bff2dc;--tag-border:#7dccad;--tag-ink:#2d7357}.tone-blue{--tag-soft:#e9efff;--tag-bg:#c7d9ff;--tag-border:#8fa9e8;--tag-ink:#34549d}.tone-stone{--tag-soft:#f2f1ec;--tag-bg:#e3e1d8;--tag-border:#c5c1b3;--tag-ink:#5f625b}.tone-orange{--tag-soft:#ffead8;--tag-bg:#ffc89d;--tag-border:#e49b62;--tag-ink:#8b4e1f}.tone-pink{--tag-soft:#fff0fa;--tag-bg:#ffd0ef;--tag-border:#e59fcd;--tag-ink:#8c4775}.tone-teal{--tag-soft:#e0f8f5;--tag-bg:#b8eee9;--tag-border:#79c8c0;--tag-ink:#2f746e}.tone-indigo{--tag-soft:#eceeff;--tag-bg:#ccd2ff;--tag-border:#929be4;--tag-ink:#4d569e}.tone-yellow{--tag-soft:#faf7c8;--tag-bg:#f5ef99;--tag-border:#d7cf59;--tag-ink:#6f681a}.tone-red{--tag-soft:#ffe7e2;--tag-bg:#ffb7aa;--tag-border:#df8275;--tag-ink:#89392f}.tone-cyan{--tag-soft:#ddf8fb;--tag-bg:#a8edf5;--tag-border:#6bc7d2;--tag-ink:#28737b}.tone-green{--tag-soft:#ecf8dd;--tag-bg:#cdebb0;--tag-border:#9ccf75;--tag-ink:#4c722f}.session-item-list{gap:10px}.session-item-list .item-row{grid-template-columns:76px minmax(0,1fr) 38px;gap:14px;border-radius:var(--radius-xl);padding:10px 12px;box-shadow:none}.session-item-list .item-row.selectable{grid-template-columns:var(--selection-size) 76px minmax(0,1fr) 38px}.session-item-list .item-cover{width:76px;height:76px;border-radius:var(--radius-lg)}.session-item-list .item-content strong{font-size:var(--text-md);line-height:1.35}.session-item-list .item-content span{font-size:var(--text-sm)}.session-item-list .item-actions{grid-column:auto}.drag-handle{width:38px;min-width:38px;height:38px;min-height:38px;border:0;background:transparent;color:var(--color-text-quiet)}.source-link-form{gap:10px;margin-bottom:26px}.source-link-label{gap:var(--flow-title-to-content)}.link-input{min-height:116px;padding:12px 14px;font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.45}.flow-action-bar{position:fixed;right:50%;bottom:0;z-index:var(--z-action-bar);display:grid;width:min(430px,100%);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:18px 16px calc(28px + env(safe-area-inset-bottom));transform:translateX(50%);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:var(--color-surface-glass-raised);box-shadow:var(--shadow-action-bar);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.flow-action-bar.single{grid-template-columns:1fr}.pill-action{display:inline-flex;min-height:var(--control-action);align-items:center;justify-content:center;gap:10px;border:0;border-radius:var(--radius-pill);padding:14px 16px;font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1}.pill-action svg{width:var(--icon-md);height:var(--icon-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--stroke-icon)}.primary-action{background:var(--color-brand-lime-strong);color:var(--color-text-strong)}.secondary-action{color:var(--color-text-primary)}.disabled-action,.secondary-action{background:var(--color-surface-muted)}.disabled-action{color:var(--color-text-disabled)}.source-platform-block{display:grid;grid-gap:10px;gap:10px;margin-bottom:26px}.source-platform-heading{color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.5}.source-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.source-chip{display:flex;width:80px;height:var(--control-md);min-height:var(--control-md);align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.source-chip.muted{color:var(--color-text-secondary)}.source-badge{display:inline-grid;width:var(--icon-md);height:var(--icon-md);place-items:center;border-radius:var(--radius-pill);color:var(--color-surface);line-height:1}.source-badge.bilibili{background:var(--color-source-bilibili)}.source-badge svg{width:15px;height:15px;fill:currentColor}.collection-preview-card{margin-bottom:30px;padding:20px}.collection-preview-card h2{margin-bottom:14px}.collection-preview-card p{margin-top:8px}.selectable-result-list{display:grid;grid-gap:8px;gap:8px}.preview-result-row{display:grid;grid-template-columns:var(--cover-preview) minmax(0,1fr) var(--selection-size);grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:var(--row-preview-min);padding:8px 10px;color:var(--color-text-primary);text-align:left}.preview-result-row img,.result-cover-fallback{width:var(--cover-preview);height:var(--cover-preview);border-radius:var(--radius-lg);object-fit:cover;background:linear-gradient(135deg,var(--color-result-cover-start),var(--color-result-cover-end))}.result-copy{display:grid;min-width:0;grid-gap:3px;gap:3px}@media (max-width:430px){.create-flow-shell{padding-right:16px;padding-bottom:calc(250px + env(safe-area-inset-bottom));padding-left:16px}.session-item-list .item-row{grid-template-columns:var(--cover-editor-mobile) minmax(0,1fr) 34px}.session-item-list .item-row.selectable{grid-template-columns:var(--selection-size) var(--cover-editor-mobile) minmax(0,1fr) 34px}.session-item-list .item-cover{width:var(--cover-editor-mobile);height:var(--cover-editor-mobile)}.preview-result-row img,.result-cover-fallback{width:var(--cover-preview);height:var(--cover-preview)}}.home-shell{--home-page-pad:16px;--home-grid-gap:8px;--home-card-height:204px;--home-collage-height:112px;width:min(430px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) var(--home-page-pad) calc(188px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--color-page-warm-strong) 0,var(--color-page-warm-muted) 52%,var(--color-page-warm-low) 100%)}.home-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 24px}.home-brand-copy{min-width:0}.home-brand-title{margin:0;line-height:1}.home-brand-wordmark{display:block;width:clamp(132px,38vw,166px);height:auto;object-fit:contain}.home-header p{margin-top:2px;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.35}.home-brand-logo{display:block;width:clamp(64px,19vw,82px);height:auto;flex:0 0 auto;object-fit:contain}.home-playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px var(--home-grid-gap);gap:10px var(--home-grid-gap);align-items:start}.home-playlist-card{position:relative;display:grid;height:var(--home-card-height);min-height:0;grid-template-rows:var(--home-collage-height) minmax(0,1fr);align-content:start;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);padding:8px 8px 10px;background:var(--color-surface);box-shadow:0 8px 18px var(--color-line-soft)}.home-load-more{display:grid;min-height:64px;place-items:center;padding:18px 0 4px;color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.35}.home-load-more button{min-height:36px;border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);padding:0 16px;background:var(--color-surface);color:var(--color-text-strong);font:inherit}.home-card-copy{display:grid;grid-gap:6px;gap:6px;min-width:0;align-content:end;padding:6px 2px 0}.home-card-copy h2{display:-webkit-box;overflow:hidden;color:var(--color-text-strong);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.28;letter-spacing:0;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-card-copy p{display:block;min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}@media (max-width:374px){.home-shell{--home-page-pad:12px;--home-card-height:198px;--home-collage-height:108px;padding-top:calc(22px + env(safe-area-inset-top))}.home-header{padding-bottom:20px}.home-card-copy h2{font-size:var(--text-md)}}@media (min-width:415px){.home-shell{--home-page-pad:18px;--home-grid-gap:10px;--home-card-height:210px;--home-collage-height:116px}}.me-shell{--home-card-height:204px;--home-collage-height:112px;width:min(430px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(30px + env(safe-area-inset-top)) 18px calc(190px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--color-page-profile-top) 0,var(--color-page-profile-mid) 52%,var(--color-page-profile-low) 100%)}.me-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:4px 0 24px}.me-hero h1{overflow-wrap:anywhere;color:var(--color-text-strong);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:1.06;letter-spacing:0}.me-settings{position:relative;z-index:8}.me-settings summary{list-style:none}.me-settings summary::-webkit-details-marker{display:none}.me-settings-button{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--color-line-faint);border-radius:var(--radius-pill);background:var(--color-surface-glass-raised);color:var(--color-text-strong);box-shadow:0 8px 22px var(--color-line-muted);cursor:pointer}.me-section-action svg,.me-settings-button svg,.me-stat-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.me-settings-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;border:1px solid var(--color-line-muted);border-radius:var(--radius-sm);padding:6px;background:var(--color-surface-glass-strong);box-shadow:0 14px 34px var(--color-line-dashed);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.me-settings-menu button{width:100%;min-height:40px;border:0;border-radius:var(--radius-xs);padding:0 10px;background:transparent;color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:left}.me-settings-menu button:active{background:var(--color-active-surface)}.me-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;padding-bottom:16px}.me-tab{position:relative;min-width:0;min-height:42px;border:0;padding:0 2px;background:transparent;color:var(--color-text-faint);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:0;line-height:1.2;overflow-wrap:anywhere}.me-tab.active{color:var(--color-text-strong);font-weight:var(--weight-bold)}.me-tab.active:after{position:absolute;right:50%;bottom:0;width:30px;height:3px;border-radius:var(--radius-pill);background:var(--color-brand-purple);content:"";transform:translateX(50%)}.me-stats-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;border:1px solid var(--color-line-faint);border-radius:var(--radius-sm);padding:14px 8px;background:var(--color-surface-glass-raised);box-shadow:var(--shadow-card-soft)}.me-stats-card.cache-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.me-stat-item{display:grid;min-width:0;grid-template-columns:34px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;padding:0 8px}.me-stat-item+.me-stat-item{border-left:1px solid var(--color-line-muted)}.me-stat-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--radius-pill)}.me-stat-icon.purple{background:var(--color-stat-purple-surface);color:var(--color-stat-purple-ink)}.me-stat-icon.lime{background:var(--color-stat-lime-surface);color:var(--color-stat-lime-ink)}.me-stat-icon.lavender{background:var(--color-stat-lavender-surface);color:var(--color-stat-lavender-ink)}.me-stat-icon svg{width:20px;height:20px;stroke-width:2.4}.me-stat-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-stat-item strong{display:block;min-width:0;overflow-wrap:anywhere}.me-stat-item small{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:1.25}.me-stat-item strong{margin-top:2px;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.15}.me-playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:start}.home-card-badge{position:absolute;top:12px;left:12px;z-index:2;border-radius:var(--radius-xs);padding:4px 8px;background:var(--color-badge-purple-surface);color:var(--color-badge-purple-ink);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1}.me-default-favorites-cover{display:grid;height:var(--home-collage-height);place-items:center}.me-default-favorites-cover img{display:block;width:min(166px,calc(100% + 8px));max-width:none;max-height:108px;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.me-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 14px}.me-section-title h2{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.2}.me-section-title h2 span{color:var(--color-text-subtle);font-weight:var(--weight-medium)}.me-section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.me-section-action{min-height:34px;border:0;border-radius:var(--radius-pill);padding:0 10px;background:transparent;color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-bold)}.me-section-action:disabled{opacity:.45}.me-cache-panel{display:grid;grid-gap:10px;gap:10px}.me-cache-list{display:grid;grid-gap:14px;gap:14px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.me-cache-menu{position:relative;display:grid;place-items:center}.me-cache-menu summary{list-style:none}.me-cache-menu summary::-webkit-details-marker{display:none}.me-cache-menu-trigger{display:grid;width:36px;height:36px;place-items:center;border-radius:var(--radius-pill);color:var(--color-text-subtle);cursor:pointer}.me-cache-menu-trigger svg{width:22px;height:22px;fill:currentColor}.me-cache-menu-panel{position:absolute;top:calc(50% + 18px);right:8px;z-index:var(--z-topbar);display:grid;min-width:128px;overflow:hidden;border:1px solid var(--color-line-card);border-radius:var(--radius-sm);padding:6px;background:var(--color-surface-glass);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.me-cache-menu-panel button{display:flex;min-height:38px;align-items:center;justify-content:flex-start;border:0;border-radius:var(--radius-xs);padding:10px 12px;background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.15;white-space:nowrap}.me-cache-menu-panel button:disabled{opacity:.45}.me-empty-state{grid-column:1/-1;min-height:112px;border:1px dashed var(--color-line-dashed);border-radius:var(--radius-sm);padding:22px;background:var(--color-surface-glass-muted);color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.4}@media (max-width:374px){.me-shell{padding-right:12px;padding-left:12px}.me-hero h1{font-size:var(--text-display)}.me-stats-card{padding-right:4px;padding-left:4px}.me-stat-item{grid-template-columns:30px minmax(0,1fr);gap:6px;padding:0 6px}.me-stat-icon{width:30px;height:30px}.me-stat-item strong{font-size:var(--text-sm)}}