:root{
  --font-display:'Cabinet Grotesk',sans-serif;--font-body:'Satoshi',sans-serif;
  --text-xs:clamp(.75rem,.73rem + .1vw,.8125rem);--text-sm:clamp(.875rem,.85rem + .1vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .1vw,1.0625rem);--text-lg:clamp(1.125rem,1rem + .5vw,1.375rem);
  --text-xl:clamp(1.5rem,1.3rem + 1vw,2rem);--text-2xl:clamp(2rem,1.4rem + 2.5vw,3.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --color-bg:oklch(.975 .006 85);--color-surface:oklch(1 0 0);--color-text:oklch(.23 .012 265);
  --color-muted:oklch(.46 .016 265);--color-primary:oklch(.46 .16 260);--color-line:oklch(.23 .012 265/.15);
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;
}
.wrap{max-width:1248px;margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-12))}
.masthead{background:oklch(.19 .008 265);color:oklch(.98 .003 85)}
.masthead-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.brand{display:flex;align-items:center;gap:var(--space-4);text-decoration:none}
.brand img{height:66px;width:auto}
.brand span{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.015em;line-height:1.45}
.edition{font-size:var(--text-sm);color:oklch(.84 .009 265);min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.divider{padding-inline:var(--space-2);opacity:.65}
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-8);padding-block:var(--space-12) var(--space-10)}
.eyebrow{display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;color:var(--color-muted);margin-bottom:var(--space-4)}
.draft{font-size:var(--text-xs);letter-spacing:.07em;padding:var(--space-1) var(--space-2);background:oklch(.92 .02 255);color:var(--color-primary);border-radius:var(--radius-sm)}
h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.045em}
.intro-copy{color:var(--color-muted);font-size:var(--text-base);margin-top:var(--space-3)}
.collection-stat{text-align:right;max-width:260px;flex-shrink:0;padding-bottom:var(--space-1)}
.collection-stat strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.collection-stat span{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-1)}
.search-box{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}
.search-box:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}
.search-symbol{font-size:var(--text-xl);line-height:1;color:var(--color-primary);transform:rotate(-20deg)}
#query{border:0;outline:0;flex:1;min-width:0;background:transparent;min-height:30px;font-size:var(--text-base)}
#query::placeholder{color:var(--color-muted);opacity:1}
.search-hint{font-size:var(--text-xs);letter-spacing:.07em;color:var(--color-muted);white-space:nowrap}
.filters{display:grid;grid-template-columns:1.4fr 1fr 1.15fr auto;gap:var(--space-4);align-items:end;margin-block:var(--space-5) var(--space-8)}
.filter label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-muted);margin-bottom:var(--space-2)}
.filter select{width:100%;min-height:46px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);font-size:var(--text-sm);text-overflow:ellipsis}
.reset{font-size:var(--text-sm);min-height:46px;padding-inline:var(--space-3);color:var(--color-primary);font-weight:700;text-decoration:underline;text-underline-offset:4px}
button:disabled{opacity:.5}
.results-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);font-size:var(--text-sm)}
#result-count{font-weight:700;font-variant-numeric:tabular-nums}
.updated{font-size:var(--text-xs);color:var(--color-muted)}
.song-list{border-top:2px solid var(--color-text)}
.table-head,.song-row{display:grid;grid-template-columns:1.6fr 1.25fr .85fr .7fr;gap:var(--space-4);padding:var(--space-4)}
.table-head{font-size:var(--text-xs);font-weight:700;color:var(--color-muted);background:oklch(.945 .008 85)}
.song-row{max-width:none;border-top:1px solid var(--color-line);font-size:var(--text-sm);line-height:1.5;align-items:start;content-visibility:auto;contain-intrinsic-size:auto 59px}
.song-row:nth-child(even){background:oklch(.99 .003 85)}
.song-title{font-weight:700;overflow-wrap:anywhere}
.song-artist{overflow-wrap:anywhere}
.company-code{color:var(--color-muted);overflow-wrap:anywhere}
.disc-id{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.025em}
.review-tag{display:block;font-size:var(--text-xs);font-weight:400;color:var(--color-muted);margin-top:var(--space-1)}
.pagination{border-top:1px solid var(--color-line);padding-block:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}
.page-controls{display:flex;align-items:center;gap:var(--space-4)}
.page-controls button,.empty button{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:700}
.page-controls button:enabled:hover,.empty button:hover{border-color:var(--color-primary);color:var(--color-primary)}
#page-count{font-variant-numeric:tabular-nums;font-size:var(--text-xs);white-space:nowrap}
.about{padding-block:var(--space-6);border-top:1px solid var(--color-line);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}
.about summary{cursor:pointer;min-height:44px;color:var(--color-text);font-weight:700;padding-block:var(--space-3)}
.about-copy{max-width:76ch;padding-bottom:var(--space-2)}.about-copy p+p{margin-top:var(--space-3)}
.footer{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-8);border-top:1px solid var(--color-line);font-size:var(--text-xs);color:var(--color-muted)}
.empty{padding:var(--space-12) var(--space-6);text-align:center;border-block:1px solid var(--color-line)}
.empty h2{font-size:var(--text-xl);font-family:var(--font-display)}.empty p{margin:var(--space-4) auto var(--space-6);color:var(--color-muted)}
.load-state{padding-block:var(--space-4)}
.skeleton{height:44px;margin-bottom:var(--space-3);background:oklch(.92 .008 85);border-radius:var(--radius-sm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:var(--space-4);top:var(--space-4);z-index:20;transform:translateY(-200%);background:white;padding:var(--space-3);border:2px solid var(--color-primary)}
.skip:focus{transform:none}
@media(max-width:760px){
 .masthead-inner{min-height:80px}.edition{font-size:var(--text-xs);text-align:right;max-width:125px}
 .edition .divider{display:none}.intro{display:block;padding-block:var(--space-8) var(--space-6)}
 .eyebrow{margin-bottom:var(--space-3)}.intro-copy{max-width:29ch}
 .collection-stat{text-align:left;max-width:none;display:flex;gap:var(--space-2);align-items:baseline;margin-top:var(--space-5)}
 .collection-stat strong{font-size:var(--text-base);font-family:var(--font-body)}.collection-stat span{max-width:28ch}
 .search-hint{display:none}.search-box{padding:var(--space-3)}#query{font-size:var(--text-sm);min-height:36px}
 .filters{grid-template-columns:1fr 1fr;gap:var(--space-3);margin-block:var(--space-4) var(--space-6)}
 .filter:first-child{grid-column:1/-1}.reset{justify-self:start;padding-left:0}
 .updated{display:none}.table-head{display:none}
 .song-row{grid-template-columns:1fr auto;gap:var(--space-1) var(--space-4);padding:var(--space-4) 0}
 .song-title{grid-column:1;grid-row:1}.song-artist{grid-column:1;grid-row:2}
 .company-code{grid-column:2;grid-row:1;font-size:var(--text-xs);text-align:right;max-width:105px}
 .disc-id{grid-column:2;grid-row:2;text-align:right;max-width:105px}
 .pagination{display:block;padding-block:var(--space-5)}.page-controls{justify-content:space-between;margin-top:var(--space-4)}
 .footer{display:block}.footer>span{display:block}.footer>span+span{margin-top:var(--space-2)}
}
