
@font-face{font-family:Anton;src:url(/fonts/anton-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Fraunces;src:url(/fonts/fraunces-normal.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:Fraunces;src:url(/fonts/fraunces-italic.woff2) format("woff2");font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-normal.woff2) format("woff2");font-weight:400 800;font-display:swap}
:root{--display:Anton,"Arial Narrow",Impact,sans-serif;--serif:Fraunces,Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:14px;--shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -22px rgba(40,25,10,.45)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;
 background-image:radial-gradient(ellipse 120% 60% at 50% -10%,rgba(255,255,255,.55),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
body.playing{padding-bottom:92px}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.brand-mark{font-family:var(--display);font-size:28px;letter-spacing:.04em;line-height:1;color:var(--ink);position:relative}
.brand-mark::after{content:"";position:absolute;right:-9px;top:3px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.brand-mark.sm{font-size:22px}
.brand-sub{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-left:8px}
.nav{display:flex;gap:4px;align-items:center}
.nav a,.nav .linkbtn{white-space:nowrap;font:600 14px/1 var(--sans);text-decoration:none;padding:10px 12px;border-radius:999px;color:var(--mute)}
.nav a[aria-current]{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nav a:hover{color:var(--ink)}
/* hero */
.hero{padding:34px 0 24px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:auto -10% 0 -10%;height:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink) 35%,transparent) 0 6px,transparent 6px 10px)}
.hero.slim{padding:40px 0 28px}
.hero-in{display:grid;gap:30px}
.kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font:700 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.kicker .dot{color:var(--mute);font-size:10px}
.h1{margin:0;display:flex;flex-direction:column;line-height:.86}
.h1-top{font:600 italic clamp(22px,6vw,34px)/1.1 var(--serif);letter-spacing:-.01em;margin-bottom:4px}
.h1-word{font-family:var(--display);font-weight:400;font-size:clamp(104px,33vw,232px);letter-spacing:-.005em;line-height:.84;color:var(--ink);text-transform:uppercase}
.slim .h1-word{font-size:clamp(72px,20vw,150px)}
.h1-ed{align-self:flex-start;margin-top:12px;font:700 13px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--paper);background:var(--accent);padding:9px 14px 8px;border-radius:4px;transform:rotate(-1.5deg);box-shadow:3px 3px 0 var(--ink)}
.lede{font:400 18px/1.5 var(--serif);max-width:34ch;margin:20px 0 0;color:color-mix(in srgb,var(--ink) 85%,transparent)}
.lede a{color:var(--accent);font-weight:600}
.note{font:500 italic 20px/1.45 var(--serif);max-width:36ch;margin:20px 0 0}
.note span{display:block;font:600 13px/1 var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 20px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;font:700 15px/1 var(--sans);text-decoration:none;transition:transform .15s ease,background .15s,color .15s}
.btn svg{width:20px;height:20px}
.btn small{font-weight:600;font-size:12px;color:var(--mute)}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.ghost:hover small{color:inherit}
.btn:active{transform:scale(.97)}
.btn.small{min-height:42px;padding:0 16px;font-size:14px}
.btn.wide{width:100%}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:20px 0 0;font:500 14px/1.3 var(--sans);color:var(--mute)}
.facts b{color:var(--ink);font-weight:700}
.facts a,.linkbtn{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:none;border:0;background:none;padding:0;font-size:14px}
.facts a:hover,.linkbtn:hover{color:var(--accent)}
.facts svg,.linkbtn svg{width:18px;height:18px}
/* no.1 feature */
.no1{margin:0;display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;background:var(--ink);color:var(--paper);border-radius:20px;padding:14px;box-shadow:var(--shadow)}
.no1-art{position:relative}
.no1-art img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.stamp{position:absolute;left:-8px;top:-10px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;font:400 24px/1 var(--display);transform:rotate(-10deg);box-shadow:0 0 0 3px var(--ink)}
.stamp span{font:700 9px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1px}
.no1 figcaption{display:flex;flex-direction:column;gap:2px;min-width:0}
.no1-label{font:700 11px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 60%,transparent)}
.no1-t{font:700 22px/1.12 var(--serif);margin-top:4px}
.no1-a{font:500 15px/1.3 var(--sans);color:color-mix(in srgb,var(--paper) 72%,transparent)}
.no1 .btn{align-self:flex-start;margin-top:12px;border-color:var(--paper);color:var(--paper);min-height:40px;padding:0 15px}
.no1 .btn:hover{background:var(--paper);color:var(--ink)}
/* chart */
.chart{padding:30px 0 10px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:3px double color-mix(in srgb,var(--ink) 60%,transparent);padding-bottom:10px;margin-bottom:6px}
.sec-head h2{margin:0;font:400 34px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.sec-head p{margin:0;font:500 13px/1.3 var(--sans);color:var(--mute);text-align:right;max-width:24ch}
.sec-head a{color:var(--accent);font-weight:700;text-decoration:none}
.list{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:38px 56px minmax(0,1fr) auto 44px;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);cursor:pointer;border-radius:10px;transition:background .15s}
.has-mv .row{grid-template-columns:38px 30px 56px minmax(0,1fr) auto 44px}
.row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.rank{font:400 30px/1 var(--display);text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}
.row.top .rank{color:var(--accent);font-size:38px}
.art-w{position:relative;width:56px;height:56px}
.art{width:56px;height:56px;border-radius:7px;object-fit:cover;background:var(--paper2);box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.row.top .art-w,.row.top .art{width:56px;height:56px}
.info{display:flex;flex-direction:column;min-width:0;gap:1px}
.info>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info>.t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.t{font:650 16px/1.25 var(--sans);font-weight:650}
.row.top .t{font:700 17px/1.2 var(--serif)}
.a{font:500 14px/1.3 var(--sans);color:color-mix(in srgb,var(--ink) 78%,transparent)}
.al{display:none;font:400 13px/1.3 var(--sans);color:var(--mute)}
.wk{font:600 11px/1.3 var(--sans);color:var(--mute);letter-spacing:.04em}
.wk:empty{display:none}
.ex{display:inline-block;font:700 9px/1 var(--sans);text-decoration:none;background:color-mix(in srgb,var(--ink) 55%,transparent);color:var(--paper);padding:3px 4px 2px;border-radius:3px;vertical-align:2px;margin-left:4px}
.dur{font:500 13px/1 var(--sans);color:var(--mute);font-variant-numeric:tabular-nums}
.mv{display:inline-flex;align-items:center;gap:1px;font:700 11px/1 var(--sans)}
.mv svg{width:10px;height:10px}
.mv.up{color:#2f7a3d}.mv.down{color:var(--accent)}.mv.same{color:var(--mute)}
.mv.new{font-size:9px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent2);color:var(--paper);padding:3px 4px;border-radius:3px}
.pbtn{position:relative;width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;padding:0;color:var(--ink)}
.pbtn .ring{position:absolute;inset:0;width:44px;height:44px;transform:rotate(-90deg)}
.pbtn .ring circle{fill:none;stroke:color-mix(in srgb,var(--ink) 22%,transparent);stroke-width:2}
.pbtn .ring .prog{stroke:var(--accent);stroke-width:2.6;stroke-dasharray:113.1;stroke-dashoffset:calc(113.1 * (1 - var(--p,0)));stroke-linecap:round;opacity:0;transition:opacity .2s}
.pbtn svg:not(.ring){width:20px;height:20px;position:relative}
.pbtn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.row.on{background:color-mix(in srgb,var(--accent) 11%,transparent)}
.row.on .pbtn .prog{opacity:1}
.ic-play,.ic-pause{display:inline-flex}
.ic-pause{display:none}
.row.on.play .ic-play,.player.play .ic-play{display:none}
.row.on.play .ic-pause,.player.play .ic-pause{display:inline-flex}
.eq{position:absolute;inset:0;border-radius:7px;background:rgba(20,14,8,.55);display:none;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:16px}
.row.on.play .eq{display:flex}
.eq i{width:4px;height:12px;background:#fff;border-radius:2px;animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:-.4s}.eq i:nth-child(3){animation-delay:-.7s}
@keyframes eq{0%,100%{height:6px}50%{height:22px}}
.row.err .pbtn{opacity:.35}
/* full songs */
.full{padding:40px 0 10px}
.full-in{display:grid;gap:20px;background:var(--paper2);border-radius:22px;padding:22px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.full h2{margin:0 0 6px;font:400 34px/1 var(--display);text-transform:uppercase}
.full p{margin:0 0 16px;color:color-mix(in srgb,var(--ink) 80%,transparent);max-width:44ch}
.full-embed{position:relative;min-height:400px;border-radius:14px;overflow:hidden;background:#0f1111;display:grid;place-items:center}
.full-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed-load{border-color:#fff;color:#fff}
.embed-load:hover{background:#fff;color:#0f1111}
/* past editions */
.more{padding:40px 0 30px}
.egrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.ecard{display:block;text-decoration:none;background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1;background:var(--paper2)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.ecard-t{display:flex;flex-direction:column;padding:12px 14px 14px;gap:2px}
.ecard-no{font:400 22px/1 var(--display);color:var(--accent)}
.ecard-n{font:700 15px/1.2 var(--serif)}
.ecard-d{font:500 12px/1.3 var(--sans);color:var(--mute)}
.empty{margin-top:16px;border:1.5px dashed color-mix(in srgb,var(--ink) 30%,transparent);border-radius:18px;padding:24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.empty p{margin:0;max-width:52ch;color:color-mix(in srgb,var(--ink) 80%,transparent);font:400 16px/1.5 var(--serif)}
.empty .brand-mark{color:var(--accent)}
.empty .brand-mark::after{display:none}
/* archive */
.alist{display:grid;gap:14px;margin-top:10px}
.arow{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;text-decoration:none;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:18px;padding:12px;box-shadow:var(--shadow);transition:transform .15s}
.arow:hover{transform:translateY(-2px)}
.arow .mosaic{border-radius:10px;overflow:hidden}
.arow-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.arow-no{font:400 24px/1 var(--display);color:var(--accent)}
.arow-no em{font:700 10px/1 var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);padding:4px 7px;border-radius:999px;vertical-align:4px;margin-left:6px}
.arow-n{font:700 19px/1.2 var(--serif)}
.arow-d,.arow-1{font:500 13px/1.35 var(--sans);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow-1 b{color:var(--ink)}
.arow-go{font:400 26px/1 var(--display);color:var(--mute);padding-right:6px}
/* player */
.player{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:var(--paper);border-radius:18px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6);overflow:hidden;transform:translateY(0);transition:transform .25s ease}
.player[hidden]{display:block;transform:translateY(160%);visibility:hidden}
.player-in{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 10px 12px}
.pl-art{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#333}
.pl-info{display:flex;flex-direction:column;min-width:0}
.pl-t{font:700 15px/1.25 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-a{font:500 13px/1.3 var(--sans);color:color-mix(in srgb,var(--paper) 70%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-ctl{display:flex;align-items:center;gap:2px}
.pl-b{width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:var(--paper);display:grid;place-items:center;padding:0}
.pl-b svg{width:22px;height:22px}
.pl-b.main{background:var(--paper);color:var(--ink);width:46px;height:46px}
.pl-b:hover{background:color-mix(in srgb,var(--paper) 15%,transparent)}
.pl-b.main:hover{background:var(--accent);color:var(--paper)}
.pl-rank{display:none;font:400 26px/1 var(--display);color:var(--accent)}
.pl-amz{display:none;width:40px;height:40px;place-items:center;color:var(--paper);border-radius:50%}
.pl-amz svg{width:24px;height:24px}
.pl-amz:hover{background:color-mix(in srgb,var(--paper) 15%,transparent)}
.pl-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--paper) 18%,transparent)}
.pl-bar span{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--accent)}
.player [data-prev]{display:none}
/* footer */
.foot{margin-top:30px;border-top:3px double color-mix(in srgb,var(--ink) 55%,transparent);padding:28px 0 40px}
.foot-in{display:grid;gap:16px}
.foot-brand p{margin:8px 0 0;font:400 italic 16px/1.4 var(--serif);color:color-mix(in srgb,var(--ink) 80%,transparent)}
.foot-meta{margin:0;font:500 13px/1.6 var(--sans);color:var(--mute)}
.foot-meta a{color:var(--ink);font-weight:600}
@media (max-width:479px){.sec-head h2{font-size:30px}.sec-head p{font-size:12px;max-width:18ch}.facts{gap:6px 14px}.brand-sub{display:none}.dur{display:none}.row{grid-template-columns:34px 56px minmax(0,1fr) 44px;gap:11px}.has-mv .row{grid-template-columns:30px 28px 52px minmax(0,1fr) 44px;gap:9px}.kicker{letter-spacing:.12em}}
@media (min-width:420px){.no1{grid-template-columns:150px 1fr}}
@media (min-width:720px){
 .wrap{padding:0 32px}
 .row{grid-template-columns:52px 64px minmax(0,1fr) auto 46px;gap:16px;padding:12px 8px}
 .has-mv .row{grid-template-columns:52px 34px 64px minmax(0,1fr) auto 46px}
 .art-w,.art{width:64px;height:64px}
 .row.top .art-w,.row.top .art{width:72px;height:72px}
 .rank{font-size:36px}.row.top .rank{font-size:46px}
 .al{display:block}
 .player{left:50%;right:auto;width:min(720px,calc(100% - 40px));transform:translateX(-50%)}
 .player[hidden]{transform:translate(-50%,160%);visibility:hidden}
 .player [data-prev],.pl-rank{display:block}
 .pl-amz{display:grid}
 .player-in{grid-template-columns:auto 48px minmax(0,1fr) auto auto;padding:10px 14px 12px}
 .egrid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .full-in{grid-template-columns:1fr 1.25fr;align-items:center;padding:32px}
 .full-embed{min-height:352px}
 .foot-in{grid-template-columns:1fr 1fr;align-items:end}
 .foot-meta{text-align:right}
 .arow{grid-template-columns:120px minmax(0,1fr) auto;padding:14px 18px 14px 14px}
}
@media (min-width:1100px){
 .hero{padding:56px 0 44px}
 .hero-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.82fr);align-items:center;gap:64px}
 .h1-word{font-size:clamp(180px,17vw,250px)}
 .no1{grid-template-columns:1fr;padding:18px;border-radius:26px;transform:rotate(1.2deg)}
 .no1-t{font-size:30px}
 .stamp{width:76px;height:76px;font-size:36px;left:-16px;top:-16px}
 .stamp span{font-size:11px}
 .list{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(12,auto);column-gap:48px}
 .list.short{grid-auto-flow:row;grid-template-rows:none}
 .sec-head h2,.full h2{font-size:44px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
