:root{--bg:#ffffff;--bg-soft:#f5f5f8;--bg-card:#f7f7fa;--text:#1a1a22;--text-muted:#6b6b78;--border:#e7e7ec;--accent:#5b5bd6;--accent-dark:#4644b8;--accent-soft:#eeedfb;--danger:#d64545;--header-bg:rgba(255, 255, 255, 0.92);--overlay-bg:rgba(20, 20, 30, 0.5);--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 2px rgba(20, 20, 30, 0.05);--shadow-md:0 8px 24px rgba(20, 20, 30, 0.08);--player-height:84px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--bg:#16161d;--bg-soft:#1e1e27;--bg-card:#1c1c24;--text:#f0f0f5;--text-muted:#9696a5;--border:#2d2d38;--accent:#7b7bf0;--accent-dark:#9b9bff;--accent-soft:#26263a;--danger:#ff7a7a;--header-bg:rgba(22, 22, 29, 0.88);--overlay-bg:rgba(0, 0, 0, 0.6);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.45)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:var(--player-height)}h1,h2,h3,p{margin:0 0 .5em}ul{margin:0;padding:0;list-style:none}a{color:inherit}button{font-family:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1120px;margin:0 auto;padding:0 24px}main{min-height:60vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#fff;font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}.btn:hover{background:var(--accent-dark)}.btn:active{transform:scale(.97)}.btn-outline{background:0 0;border-color:var(--border);color:var(--text)}.btn-outline:hover{background:var(--bg-soft)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-soft);color:var(--text);cursor:pointer;flex:none;transition:background .15s,transform .1s}.btn-icon:hover{background:var(--accent-soft);color:var(--accent-dark)}.btn-icon:active{transform:scale(.94)}.btn-icon svg{width:18px;height:18px}.btn-icon.primary{width:46px;height:46px;background:var(--accent);color:#fff}.btn-icon.primary:hover{background:var(--accent-dark)}.btn-icon.small{width:32px;height:32px}.btn-icon.small svg{width:14px;height:14px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}.site-header{position:sticky;top:0;z-index:40;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:20px;padding:14px 24px}.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.25rem;text-decoration:none;flex:none}.logo .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}.nav-toggle{display:none;margin-left:auto}.main-nav{display:flex;gap:4px;margin-right:auto}.main-nav a{padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text-muted);font-size:.92rem;font-weight:500}.main-nav a:hover{background:var(--bg-soft);color:var(--text)}.main-nav a.active{background:var(--accent-soft);color:var(--accent-dark)}.hero{margin-top:24px;padding:56px 40px;border-radius:var(--radius-lg);background:linear-gradient(155deg,var(--accent-soft),var(--bg) 65%)}.hero .kicker{color:var(--accent-dark);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.hero h1{font-size:clamp(1.8rem, 4vw, 2.6rem);max-width:20ch}.hero p{color:var(--text-muted);max-width:55ch;font-size:1.05rem}.hero .actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.section{margin:48px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head h2{font-size:1.3rem}.section-head .link{font-size:.85rem;color:var(--accent);text-decoration:none;font-weight:600;white-space:nowrap}.section-head .link:hover{text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 20px}.cover{position:relative;overflow:hidden;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;letter-spacing:.02em;user-select:none;aspect-ratio:1/1;width:100%}.cover.round{border-radius:50%}.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}.card-cover-wrap{position:relative}.card .cover{font-size:1.35rem}.card-cover-wrap .play-btn{position:absolute;right:8px;bottom:8px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;box-shadow:var(--shadow-md)}.card:focus-within .play-btn,.card:hover .play-btn{opacity:1;transform:translateY(0)}.card .title{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .sub{color:var(--text-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-list{display:flex;flex-direction:column;gap:2px}.track-row{display:grid;grid-template-columns:26px 44px 1fr auto 40px;align-items:center;gap:14px;padding:8px 10px;border-radius:var(--radius-sm)}.track-row:hover{background:var(--bg-soft)}.track-row.is-playing{background:var(--accent-soft)}.track-row .index{color:var(--text-muted);font-size:.85rem;text-align:center;font-variant-numeric:tabular-nums}.track-row .thumb{width:44px;height:44px;font-size:.75rem;border-radius:8px;flex:none}.track-row .info{min-width:0}.track-row .info .title{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row .info .sub{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row .info .sub a{text-decoration:none}.track-row .info .sub a:hover{text-decoration:underline}.track-row .duration{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.empty-state{padding:70px 20px;text-align:center;color:var(--text-muted)}.empty-state strong{display:block;color:var(--text);font-size:1.05rem;margin-bottom:6px}.entity-hero{display:flex;gap:28px;align-items:flex-end;padding:40px 0 8px;flex-wrap:wrap}.entity-hero .cover{width:180px;font-size:2.4rem;flex:none}.entity-hero .kicker{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.entity-hero h1{font-size:clamp(1.6rem, 4vw, 2.3rem);margin:6px 0}.entity-hero .meta-line{color:var(--text-muted);font-size:.92rem}.entity-hero .actions{margin-top:18px;display:flex;gap:10px;align-items:center}.player-bar{position:fixed;left:0;right:0;bottom:0;height:var(--player-height);background:var(--bg);border-top:1px solid var(--border);box-shadow:var(--shadow-md);display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) minmax(0,180px);align-items:center;gap:16px;padding:0 20px;z-index:50}.player-bar.is-empty .player-controls,.player-bar.is-empty .player-seek-row,.player-bar.is-empty .player-volume{opacity:.4;pointer-events:none}.player-track{display:flex;align-items:center;gap:12px;min-width:0}.player-track .cover-slot{width:52px;flex:none}.player-track .cover-slot .cover{font-size:.9rem}.player-track .meta{min-width:0}.player-track .meta .title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-track .meta .artist{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-center{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.player-controls{display:flex;align-items:center;gap:8px}.player-seek-row{display:flex;align-items:center;gap:8px;width:100%;max-width:480px}.player-time{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums;width:36px;flex:none}.player-time.end{text-align:right}.player-error{font-size:.72rem;color:var(--danger);display:none}.player-error.visible{display:block}.player-volume{display:flex;align-items:center;gap:8px;justify-self:end;width:140px}.player-volume svg{width:16px;height:16px;color:var(--text-muted);flex:none}.site-footer{margin-top:80px;padding:32px 24px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem;text-align:center}.theme-modal-overlay{position:fixed;inset:0;z-index:100;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:20px}.theme-modal{background:var(--bg);color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px;max-width:340px;width:100%;text-align:center}.theme-modal-title{font-weight:700;font-size:1.05rem;margin-bottom:20px}.theme-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.theme-modal-actions .btn svg{width:16px;height:16px}@media (max-width:900px){.player-bar{grid-template-columns:minmax(0,1fr) auto}.player-track .meta .artist,.player-volume{display:none}}@media (max-width:760px){.nav-toggle{display:inline-flex}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;padding:8px 16px 16px;gap:2px;box-shadow:var(--shadow-md)}.site-header.nav-open .main-nav{display:flex}.site-header{position:sticky}.hero{padding:40px 24px}.entity-hero .cover{width:120px;font-size:1.7rem}.track-row{grid-template-columns:22px 38px 1fr auto 34px;gap:10px}}@media (max-width:560px){.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px 14px}.player-bar{padding:0 12px;gap:10px}.player-track .cover-slot{width:42px}:root{--player-height:74px}}