
:root{--gold:#d4af37;--red:#c90000;--bg:#080808;--panel:#141414;--line:#2b2b2b;--text:#f3f3f3;--muted:#a0a0a0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,rgba(212,175,55,.13),transparent 34%),var(--bg);color:var(--text);font-family:Roboto,"Noto Sans JP",Arial,sans-serif;line-height:1.72}.site-header,.site-footer{background:#000;border-bottom:1px solid var(--line);padding:18px 5%}.site-footer{border-top:1px solid var(--line);border-bottom:0;margin-top:60px;color:#777}.brand{font-family:"Cinzel",serif;font-weight:700;letter-spacing:normal;color:var(--gold);text-decoration:none;font-size:1.5rem}.nav{margin-top:10px;display:flex;flex-wrap:wrap;gap:14px}.nav a{color:#ddd;text-decoration:none;font-weight:700}.nav a:hover,.breadcrumb a:hover{color:var(--gold)}main{max-width:1100px;margin:0 auto;padding:54px 5%}h1,h2,h3{font-family:"Oswald","Noto Sans JP",sans-serif;letter-spacing:normal;text-transform:uppercase;line-height:1.15}h1{font-size:clamp(2.5rem,7vw,4rem);margin:0 0 18px;color:#fff}h2{font-size:2rem;margin-top:52px;color:var(--gold)}h3{font-size:1.25rem;color:#fff}.lead{font-size:1.08rem;color:#ddd;max-width:850px}.meta{color:var(--muted);font-size:.95rem}.breadcrumb{color:#777;font-size:.9rem;margin-bottom:24px}.breadcrumb a{color:#bbb;text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:20px}.card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid var(--line);padding:18px;border-radius:10px}.card a{color:#fff;text-decoration:none}.card a:hover{color:var(--gold)}.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold);font-size:.72rem;padding:1px 7px;margin-left:6px}.track-list{columns:2;column-gap:40px;padding-left:22px}.liner{white-space:pre-wrap;background:#101010;border:1px solid var(--line);padding:22px;border-radius:10px}.cta{display:inline-block;margin-top:18px;background:var(--red);color:#fff;text-decoration:none;padding:12px 18px;font-weight:700}.video-list a{color:#fff}.album-embed{width:100%;max-width:720px;border:0;border-radius:12px}.note{font-size:.9rem;color:#888}@media(max-width:700px){.track-list{columns:1}main{padding-top:34px}.nav{font-size:.9rem}}.related-section{margin-top:52px;border-top:1px solid var(--line);padding-top:8px}.related-grid .card{min-height:104px}button.cta{border:0;cursor:pointer;font:inherit}button.cta:hover{filter:brightness(1.12)}

.seo-visual{margin:26px 0 20px;max-width:760px}.seo-visual img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 48px rgba(0,0,0,.35)}.seo-visual figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}.same-artist-nav{margin-top:48px;border-top:1px solid var(--line);padding-top:10px}.same-artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.same-artist-link{display:block;background:linear-gradient(145deg,rgba(212,175,55,.10),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:#fff}.same-artist-link span{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.same-artist-link strong{display:block;margin-top:5px}.same-artist-link em{display:block;color:var(--muted);font-style:normal;margin-top:4px}.same-artist-link:hover{border-color:var(--gold)}

.seo-visual{margin:26px 0 20px;max-width:760px}.seo-visual img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 48px rgba(0,0,0,.35)}.seo-visual figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}.same-artist-nav{margin-top:48px;border-top:1px solid var(--line);padding-top:10px}.same-artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.same-artist-link{display:block;background:linear-gradient(145deg,rgba(212,175,55,.10),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:#fff}.same-artist-link span{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.same-artist-link strong{display:block;margin-top:5px}.same-artist-link em{display:block;color:var(--muted);font-style:normal;margin-top:4px}.same-artist-link:hover{border-color:var(--gold)}

.seo-visual{margin:26px 0 20px;max-width:760px}.seo-visual img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 48px rgba(0,0,0,.35)}.seo-visual figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}.same-artist-nav{margin-top:48px;border-top:1px solid var(--line);padding-top:10px}.same-artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.same-artist-link{display:block;background:linear-gradient(145deg,rgba(212,175,55,.10),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:#fff}.same-artist-link span{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.same-artist-link strong{display:block;margin-top:5px}.same-artist-link em{display:block;color:var(--muted);font-style:normal;margin-top:4px}.same-artist-link:hover{border-color:var(--gold)}

/* Round 5 topic hub styles */
.hub-main { max-width: 1180px; margin: 0 auto; padding: 44px 22px 70px; }
.hub-main .lead { max-width: 900px; }
.hub-main section { margin-top: 32px; }
.hub-card .meta a { color: inherit; }
.hub-links .card-grid { margin-top: 14px; }
@media (max-width: 720px) { .hub-main { padding: 30px 14px 54px; } }
.topic-hub-links{margin:34px 0 18px;border:1px solid rgba(212,175,55,.22);background:rgba(212,175,55,.045);border-radius:12px;padding:18px}.topic-hub-links h2{margin-top:0}.hub-link-grid .card{border-color:rgba(212,175,55,.24)}.hub-link-grid .card strong{color:#fff}.hub-link-grid .card:hover{border-color:var(--gold)}
.seo-visual picture{display:block;width:100%}


/* Round 14 site search and data-derived FAQ */
.site-search-form{margin:28px 0 34px;padding:20px;border:1px solid rgba(212,175,55,.25);border-radius:12px;background:rgba(255,255,255,.035)}
.site-search-form label{display:block;color:var(--gold);font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.site-search-row{display:flex;gap:10px;flex-wrap:wrap}.site-search-row input{flex:1 1 300px;background:#050505;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:13px 14px;font:inherit}.site-search-row input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.site-search-row button{background:var(--red);border:0;border-radius:8px;color:#fff;font-weight:700;letter-spacing:.04em;padding:0 20px;cursor:pointer}.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.search-result-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid var(--line);padding:18px;border-radius:10px}.search-result-card a{color:#fff;text-decoration:none}.search-result-card a:hover{color:var(--gold)}.search-result-card p{color:#bbb;font-size:.92rem}.search-chips{display:flex;gap:6px;flex-wrap:wrap}.search-chip{border:1px solid rgba(212,175,55,.32);border-radius:999px;color:var(--gold);font-size:.72rem;padding:1px 8px}@media(max-width:700px){.site-search-row button{width:100%;min-height:44px}}

/* Round 17 large genre hub split styles */
.hub-subhub-section{border:1px solid rgba(212,175,55,.22);background:rgba(212,175,55,.04);border-radius:14px;padding:20px}.hub-subhub-section h2{margin-top:0}.hub-decade-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 18px}.hub-decade-nav a,.hub-decade-nav span{border:1px solid rgba(212,175,55,.32);border-radius:999px;color:var(--gold);padding:5px 12px;text-decoration:none}.hub-decade-nav span{background:rgba(212,175,55,.13);color:#fff}.hub-decade-nav a:hover{border-color:var(--gold);background:rgba(212,175,55,.08)}

/* Round 20 visible editor rating */
.editor-rating{margin:28px 0;border:1px solid rgba(212,175,55,.28);background:rgba(212,175,55,.055);border-radius:14px;padding:18px 20px}.editor-rating h2{margin-top:0}.editor-rating strong{color:var(--gold);font-size:1.25em}

/* Round 23 visible track duration */
.track-duration{display:inline-block;margin-left:.45em;color:var(--muted);font-size:.9em;break-inside:avoid}


/* Round 28 Spotify click-to-load facade */

/* Round 33 large-hub offscreen rendering */
@supports (content-visibility:auto){.card-grid[data-metalboost-large-hub="true"]>.hub-card{content-visibility:auto;contain-intrinsic-size:auto 190px}}@media print{.card-grid[data-metalboost-large-hub="true"]>.hub-card{content-visibility:visible;contain-intrinsic-size:auto}}

/* Round 40: conservative liner-note contextual links */
.liner .context-artist-link{color:var(--gold);font-weight:700;text-decoration-thickness:.08em;text-underline-offset:.18em}
.liner .context-artist-link:hover,.liner .context-artist-link:focus{color:#fff;text-decoration-color:var(--gold)}

/* data-equivalent: metalboost-hub-index-row-collapse-20260713 */
.hub-main > .lead + .hub-index-cards { margin-top: 0 !important; padding-top: 0 !important; }
.hub-main > .lead + .hub-index-cards > .card-grid { margin-top: 20px !important; }

/* === Hub navigation buttons — match ARTIST INDEX name buttons (color + hover motion) === */
/* Applies to hub index pages (Year/Scene/Genre/Decade) and every leaf "Related Topic Hubs"
   / "Subhubs" navigation grid. Album grids (.card.hub-card) are intentionally untouched. */
.hub-index-cards .card-grid,.hub-links .card-grid,.hub-link-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:15px;
}
.hub-btn-index{
  display:block;background:transparent;border:1px solid #444;color:#ccc;
  padding:15px 10px;text-align:center;text-decoration:none;cursor:pointer;
  font-family:"Oswald","Noto Sans JP",sans-serif;text-transform:uppercase;
  font-size:.9rem;letter-spacing:1px;transition:all .3s;
}
.hub-btn-index:hover,.hub-btn-index:focus-visible{
  border-color:#d4af37;color:#d4af37;background:rgba(212,175,55,.1);
  transform:translateY(-3px);outline:none;
}
.hub-btn-index:focus-visible{outline:2px solid #d4af37;outline-offset:3px}
.hub-btn-index-name{display:block;color:inherit}
.hub-btn-index-meta{
  display:block;margin-top:6px;color:#777;font-family:Roboto,"Noto Sans JP",sans-serif;
  font-size:.64rem;line-height:1.35;letter-spacing:.03em;text-transform:none;
}
.hub-btn-index:hover .hub-btn-index-meta,.hub-btn-index:focus-visible .hub-btn-index-meta{color:#c9b986}
.hub-btn-index-desc{display:none}
