*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0f0f0f;--surface: #1a1a1a;--high: #252525;--accent: #D4921A;--accent-btn: #F5A623;--on-accent: #000000;--text: #FFFFFF;--text-sec: #A0A0A0;--text-mut: #555555;--border: #2a2a2a;--content-width: 1100px;--content-pad: 40px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 14px;--gap-lg: 24px;--gap-xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-pill: 20px}html,body,#root{height:100%}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;max-width:var(--content-width);margin:0 auto;padding:var(--gap-xl) var(--content-pad);width:100%}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.section-label{font-size:.82rem;font-weight:600;letter-spacing:.01em;color:var(--text-sec)}@media (pointer: coarse){.tap-target{min-height:44px}}.list-row{transition:border-color .15s ease,background .15s ease}.list-row:hover{border-color:var(--accent);background:var(--high)}.btn-ghost{transition:border-color .15s ease,color .15s ease}.btn-ghost:hover{border-color:var(--text-sec);color:var(--text)}.btn-primary{transition:background .15s ease,transform .1s ease}.btn-primary:hover:not(:disabled){background:var(--accent-btn)}.btn-primary:active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion: reduce){.list-row,.btn-ghost,.btn-primary{transition:none}.btn-primary:active:not(:disabled){transform:none}}.skeleton-bar{background:var(--high);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translate(-100%);animation:skeleton-sweep 1.4s ease-in-out infinite}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton-bar:after{animation:none}}.home-bandeau{height:320px;width:100%;object-fit:cover;object-position:center 20%;display:block}.home-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width: 640px){.home-bandeau{height:220px}.home-cat-grid{grid-template-columns:repeat(2,1fr)}.home-pad{padding-left:16px;padding-right:16px}}@media (max-width: 1024px){.song-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width: 768px){.page-content{padding:var(--gap-lg) var(--gap-lg)}}@media (max-width: 640px){.song-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 400px){.song-grid{grid-template-columns:1fr!important}}.legal-content{color:var(--text-sec);line-height:1.7;font-size:.95rem;overflow-wrap:break-word}.legal-content h1{font-size:1.6rem;color:var(--text);margin:var(--gap-xl) 0 var(--gap-md);line-height:1.25}.legal-content h1:first-child{margin-top:0}.legal-content h2{font-size:1.25rem;color:var(--text);margin:var(--gap-lg) 0 var(--gap-sm)}.legal-content h3{font-size:1.05rem;color:var(--text);margin:var(--gap-lg) 0 var(--gap-sm)}.legal-content p{margin:0 0 var(--gap-md);text-wrap:pretty}.legal-content ul,.legal-content ol{margin:0 0 var(--gap-md);padding-left:1.4em}.legal-content li{margin:var(--gap-xs) 0}.legal-content a{color:var(--accent);text-decoration:underline}.legal-content strong{color:var(--text)}.legal-content hr{border:none;border-top:1px solid var(--border);margin:var(--gap-xl) 0}.legal-content blockquote{margin:0 0 var(--gap-md);padding:var(--gap-sm) var(--gap-md);border-left:3px solid var(--border);color:var(--text-mut);background:var(--surface);border-radius:var(--radius-sm)}.legal-content blockquote p:last-child{margin-bottom:0}.legal-content table{border-collapse:collapse;width:100%;margin:0 0 var(--gap-md);font-size:.9rem}.legal-content th,.legal-content td{border:1px solid var(--border);padding:var(--gap-xs) var(--gap-sm);text-align:left}.legal-content th{background:var(--high);color:var(--text)}.legal-content code{background:var(--high);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.88em}
