@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#e9ebef;font-synthesis:none;text-rendering:optimizelegibility;--panel:#121419;--panel-raised:#171a20;--border:#292c33;--muted:#8b909b;--cream:#e5dcc8;--red:#f15353;--yellow:#f6c851;--green:#55d88a;background:#090a0d;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% -10%,#262028 0,#0000 32rem),#090a0d;min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.app-shell{width:min(1460px,100% - 64px);margin:0 auto}.hero-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;min-height:230px;padding:56px 0 38px;display:flex}.eyebrow{color:#c3a96e;letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}h1,h2{font-family:Space Grotesk,system-ui,sans-serif}h1{letter-spacing:-.065em;margin:0;font-size:clamp(44px,6vw,84px);line-height:.92}h1 span{color:#696e78;font-weight:500}.status-chip{color:#b9f5ce;background:#10261a;border:1px solid #28523a;border-radius:99px;align-items:center;gap:9px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.status-chip.locked{color:#d8dbe1;background:#1d2026;border-color:#41454e}.notice{z-index:20;color:#f5e7bf;background:#332c19;border:1px solid #665628;border-radius:8px;justify-content:space-between;align-items:center;margin:18px 0 -2px;padding:12px 16px;display:flex;position:sticky;top:10px;box-shadow:0 12px 30px #0008}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:24px}.content-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:36px;padding:40px 0 80px;display:grid}.ranking-panel{border:1px solid var(--border);background:#0e1014;border-radius:12px;grid-area:1/2;position:sticky;top:24px;overflow:hidden}.ranking-heading{border-bottom:1px solid var(--border);padding:24px 24px 18px}.ranking-heading h2{letter-spacing:-.04em;margin:0;font-size:25px}.ranking-panel ol{margin:0;padding:8px 0;list-style:none}.ranking-panel li{grid-template-columns:30px 1fr auto;align-items:center;gap:11px;padding:11px 18px;display:grid}.ranking-panel li+li{border-top:1px solid #1d2026}.rank{color:#595e69;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:700}.rank-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.rank-title small{color:#636873;font-size:10px;font-weight:600;display:block}.ranking-panel strong{color:var(--cream);font-family:Space Grotesk,sans-serif;font-size:15px}.legend{border-top:1px solid var(--border);color:var(--muted);justify-content:space-around;padding:13px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:7px;height:7px}.legend .red{background:var(--red)}.legend .yellow{background:var(--yellow)}.legend .green{background:var(--green)}.albums{grid-area:1/1;gap:24px;display:grid}.album-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 16px 50px #0002}.album-header{border-bottom:1px solid var(--border);background:linear-gradient(105deg,#1a1d23,#121419);grid-template-columns:134px 1fr auto;align-items:center;gap:24px;padding:22px;display:grid}.poster{aspect-ratio:1;object-fit:cover;background:#20232a;border-radius:5px;width:134px;display:block;box-shadow:0 8px 24px #0008}.album-meta{align-self:end;padding-bottom:4px}.album-year{letter-spacing:.15em;font-weight:700;color:#c3a96e!important;margin:0 0 5px!important;font-size:11px!important}.album-meta h2{letter-spacing:-.055em;max-width:680px;margin:0;font-size:clamp(25px,3vw,39px);line-height:1}.album-meta p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:10px 0 0;font-size:12px}.album-score{text-align:right;align-self:start;min-width:80px}.album-score strong{color:var(--cream);letter-spacing:-.04em;font:700 25px Space Grotesk,sans-serif;display:block}.album-score span{color:#666c77;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.song-list{margin:0;padding:5px 22px 11px;list-style:none}.song-list li{border-bottom:1px solid #24272e;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:53px;display:grid}.song-list li:last-child{border-bottom:0}.track-number{color:#555b66;font:600 11px Space Grotesk,sans-serif}.song-title{color:#d8dbe0;padding:8px 0;font-size:14px;transition:color .15s}.song-list li.preview-1 .song-title{color:var(--red)}.song-list li.preview-2 .song-title{color:var(--yellow)}.song-list li.preview-3 .song-title{color:var(--green)}.stars{justify-content:flex-end;align-items:center;gap:2px;min-width:126px;display:flex}.star{color:#434750;cursor:pointer;background:0 0;border:0;width:31px;height:34px;padding:0;font-size:20px;line-height:1;transition:color .15s,transform .15s}.star-glyph{transform-origin:50%;display:block}.stars.rating-1 .star.filled{color:var(--red)}.stars.rating-2 .star.filled{color:var(--yellow)}.stars.rating-3 .star.filled{color:var(--green)}.star:disabled{cursor:default}.lock-card{color:#111318;background:var(--cream);border-radius:12px;justify-content:space-between;align-items:center;gap:30px;padding:28px 30px;display:flex}.lock-card h2{letter-spacing:-.045em;margin:0 0 7px;font-size:26px}.lock-card p:not(.eyebrow){color:#5d5b56;max-width:650px;margin:0;font-size:13px}.lock-card .eyebrow{color:#725b27}.lock-button,.route-error button{color:#f5f5f5;cursor:pointer;background:#121419;border:0;border-radius:6px;flex:none;padding:13px 20px;font-weight:700}.lock-button:disabled{opacity:.6}footer{color:#535862;border-top:1px solid var(--border);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:24px 0 34px;font-size:11px}.loading,.route-error{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100vh;padding:30px;display:grid}.loading p,.route-error p:not(.eyebrow){color:var(--muted)}.loader{border:3px solid #292d35;border-top-color:var(--cream);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.route-error h1{font-size:clamp(40px,8vw,76px)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.app-shell{width:min(100% - 32px,820px)}.content-grid{grid-template-columns:1fr}.ranking-panel{grid-area:auto;position:static}.albums{grid-area:auto}.ranking-panel ol{grid-template-columns:repeat(2,1fr);display:grid}.ranking-panel li:nth-child(2){border-top:0}}@media (width<=640px){.app-shell{width:min(100% - 20px,600px)}.hero-header{align-items:flex-end;min-height:180px;padding:42px 5px 28px}.hero-header h1{font-size:44px}.hero-header h1 span{display:block}.status-chip{padding:8px 10px;font-size:11px}.content-grid{gap:18px;padding:22px 0 50px}.ranking-panel ol{grid-template-columns:1fr}.ranking-panel li:nth-child(2){border-top:1px solid #1d2026}.album-header{grid-template-columns:88px 1fr;gap:15px;padding:14px}.poster{width:88px}.album-score{grid-area:1/2;align-self:start}.album-meta{grid-column:1/-1}.album-meta h2{font-size:28px}.song-list{padding:4px 13px 10px}.song-list li{grid-template-columns:27px minmax(0,1fr);padding:8px 0}.stars{grid-column:2;justify-content:flex-start;min-width:0}.lock-card{flex-direction:column;align-items:stretch;padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}
