@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

/* Listening Atlas hardening */
html, body { max-width:100%; overflow-x:hidden; overflow-x:clip; }
main, section, article, header, footer, nav, .section-shell, .site-header, .footer,
.feature-card, .chart-card, .era-card, .track-card { min-width:0; }
img, svg, canvas, video { max-width:100%; }
.trend-chart, .data-table-wrap, .love-table-wrap, .artist-table-wrap { max-width:100%; }

/* Ubuntu is the primary reading/display face; DM Mono remains for system labels. */
body, button, input, select, textarea {
  font-family:'Ubuntu', Arial, sans-serif;
}
.hero h1 span,
.artist-spotlight .big-number,
.track-card::after,
.love-score b {
  font-family:'Ubuntu', Arial, sans-serif;
  font-style:italic;
}
.hero h1 span { font-weight:300; }
.artist-spotlight .big-number,
.track-card::after,
.love-score b { font-weight:400; }
.track-card .love-detail,
.track-meta {
  font-family:'Ubuntu', Arial, sans-serif;
}

.atlas-menu-toggle {
  display:none; align-items:center; gap:8px; border:1px solid var(--line); background:rgba(var(--theme-paper-rgb),.48);
  color:var(--soft-ink); padding:6px 9px; cursor:pointer; font-family:'DM Mono',monospace;
  font-size:8px; text-transform:uppercase; letter-spacing:.055em;
}
.atlas-menu-toggle i { width:15px; height:9px; border-top:1px solid currentColor; border-bottom:1px solid currentColor; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.interaction-status { grid-column:1/-1; min-height:18px; color:var(--soft-ink); font-size:11px; line-height:1.4; }
.interaction-status.is-error { color:var(--crimson); }
.footer-nav { display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.footer-nav a:hover, .footer-nav a:focus-visible { color:var(--teal); }
@media (max-width:900px) {
  .site-header { position:relative; }
  .atlas-menu-toggle { display:inline-flex; }
  .nav-links {
    position:absolute; left:var(--gutter); right:var(--gutter); top:calc(100% + 1px); z-index:40;
    display:flex!important; flex-direction:column; align-items:stretch; gap:0; padding:10px;
    background:color-mix(in srgb,var(--paper) 94%,transparent); border:1px solid var(--line);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }
  .nav-links.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
  .nav-links a { padding:12px 10px; font-size:13px; border-bottom:1px solid var(--line-soft); }
  .nav-links a:last-child { border-bottom:0; }
}
@media (max-width:640px) {
  .header-right { gap:8px; }
  .theme-toggle span:last-child { display:none; }
  .footer { align-items:flex-start; }
  .footer-nav { justify-content:flex-start; }
  .trend-svg { min-width:620px; }
}
