/* Website documents and attribution; existing homepage design is preserved. */
[hidden] { display: none !important; }
.developer-credit { display: inline-flex; flex-wrap: wrap; gap: .35em; align-items: baseline; }
.developer-credit > span { color: var(--muted); }
.developer-credit a { font-weight: 650; }
.player-availability { font-size: 13px; color: #c7c9cc; align-self: center; }
.play-btn:disabled { opacity: .5; cursor: default; transform: none; }
.legal-main { padding-top: 56px; padding-bottom: 72px; max-width: 940px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.legal-nav a { border: 1px solid var(--line); border-radius: 100px; padding: 10px 18px; font-size: 14px; }
.legal-nav a[aria-current="page"] { background: var(--text); color: var(--bg); }
.legal-card { padding: clamp(24px, 5vw, 56px); background: var(--surface); border: 1px solid var(--line); border-radius: 24px; margin-top: 24px; }
.legal-card h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; margin: 0 0 18px; }
.legal-card h2 { font-size: 21px; line-height: 1.4; letter-spacing: -.02em; margin: 32px 0 10px; }
.legal-card p { font-size: 16px; line-height: 1.75; color: var(--muted); margin: 10px 0; }
.legal-card .legal-intro { font-size: 18px; color: var(--text); }
.legal-card .legal-date { font-size: 13px; }
.legal-card a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-card code { font-size: .9em; overflow-wrap: anywhere; }
@media (max-width: 600px) { .legal-main { padding-top: 30px; } .legal-card { border-radius: 20px; } .legal-nav { gap: 8px; } .legal-nav a { padding: 10px 13px; } }
@media print { .topbar, .footer, .legal-nav, .back-link { display: none; } .legal-card { border: 0; padding: 0; } .legal-main { padding: 0; } }
/* Preserve the complete brand on mobile; override the legacy last-child rule. */
@media (max-width: 620px) {
  .brand span.wordmark { display: grid; }
  .brand .wordmark span { display: block; }
  .brand > span:not(.brand-mark):not(.wordmark) { display: inline-block; }
}
