/* Elysia Music: lightweight, responsive legal and acknowledgments pages. */
:root{color-scheme:light;--bg:#fff;--surface:#f5f5f7;--text:rgba(0,0,0,.88);--secondary:rgba(0,0,0,.56);--divider:rgba(0,0,0,.12);--accent:#d60017;--hover:rgba(0,0,0,.045);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1f1f1f;--surface:#292929;--text:rgba(255,255,255,.92);--secondary:rgba(255,255,255,.55);--divider:rgba(255,255,255,.12);--accent:#fa586a;--hover:rgba(255,255,255,.075)}}
:root[data-theme=dark]{color-scheme:dark;--bg:#1f1f1f;--surface:#292929;--text:rgba(255,255,255,.92);--secondary:rgba(255,255,255,.55);--divider:rgba(255,255,255,.12);--accent:#fa586a;--hover:rgba(255,255,255,.075)}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-size:14px;line-height:1.7}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
a:hover{color:var(--accent)}
.legal-topbar{height:65px;padding:0 clamp(18px,5vw,45px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--divider)}
.legal-brand{font-size:22px;letter-spacing:-.8px;font-weight:700;white-space:nowrap}
.legal-brand span{font-weight:450}
.legal-toplinks{display:flex;align-items:center;gap:22px;color:var(--secondary);font-size:12px}
.legal-layout{width:min(100%,840px);padding:34px 28px 70px;margin:0 auto}
.legal-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:27px;font-size:12px;color:var(--secondary)}
.legal-eyebrow{font-size:12px;color:var(--accent);font-weight:650;letter-spacing:.04em;margin:0 0 8px}
.legal-layout h1{font-size:34px;letter-spacing:-1px;font-weight:700;line-height:1.25;margin:0 0 15px}
.legal-layout h2{font-size:19px;font-weight:660;letter-spacing:-.35px;line-height:1.4;margin:0 0 15px}
.legal-intro{margin:0 0 26px}
.legal-lead{max-width:680px;margin:0;color:var(--secondary);line-height:1.8}
.legal-card{padding:25px 28px;margin:0 0 18px;border-radius:16px;border:1px solid var(--divider);background:var(--surface)}
.legal-card p,.legal-card li{margin:0 0 12px;line-height:1.85}
.legal-card p:last-child,.legal-card li:last-child{margin-bottom:0}
.legal-card ul{padding-left:19px;margin:14px 0}
.legal-card li{padding-left:2px}
.legal-card a{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}
.legal-card a:hover{text-decoration:underline}
.legal-card strong{font-weight:650}
.legal-credits{list-style:none!important;padding:0!important;margin:0!important}
.legal-credit{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:11px 0!important;margin:0!important;border-bottom:1px solid var(--divider)}
.legal-credit:last-child{border-bottom:0;padding-bottom:0!important}
.legal-credit:first-child{padding-top:3px!important}
.legal-credit-name{min-width:0;font-size:14px}
.legal-credit-name strong{font-weight:750}
.legal-credit-meta{font-size:12px;color:var(--secondary)}
.legal-credit-link{flex:none;white-space:nowrap;font-size:12px;color:var(--accent)!important}
.legal-note{margin-top:22px;font-size:12px;line-height:1.8;color:var(--secondary)}
.legal-footer{width:min(100%,840px);margin:0 auto;padding:20px 28px calc(36px + env(safe-area-inset-bottom));border-top:1px solid var(--divider);color:var(--secondary);font-size:11px}
.legal-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:7px}
.legal-footer-links a:hover{text-decoration:underline}
.legal-divider{opacity:.5}
@media(max-width:600px){.legal-topbar{height:58px;padding-inline:19px}.legal-brand{font-size:20px}.legal-toplinks{gap:12px;font-size:11px}.legal-layout{padding:28px 20px 40px}.legal-layout h1{font-size:29px}.legal-layout h2{font-size:18px}.legal-card{padding:21px 20px;border-radius:13px}.legal-footer{padding:18px 20px calc(28px + env(safe-area-inset-bottom))}}
