.site-root{--accent:#c15a43;color:#241e1a;max-width:1920px;min-height:100vh;font-family:var(--font-sans), sans-serif;background:linear-gradient(#fbf6ec 0%,#f4ecdc 100%);margin:0 auto;font-weight:400;position:relative;overflow-x:hidden;box-shadow:0 0 80px -20px #241e1a2e}.site-serif{font-family:var(--font-serif), serif}.site-cormorant{font-family:var(--font-cormorant), serif;font-style:italic}.site-root a{color:var(--accent);text-decoration:none}.site-root a:hover{color:#241e1a}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-up{animation:.6s both fadeUp}.fade-in{animation:.7s both fadeIn}.grain{pointer-events:none;z-index:60;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"160\" height=\"160\"><filter id=\"n\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.8\" numOctaves=\"2\"/></filter><rect width=\"100%25\" height=\"100%25\" filter=\"url(%23n)\"/></svg>");position:fixed;inset:0}.nav-link{cursor:pointer;color:#6b6055;transition:color .2s}.nav-link:hover,.nav-link[data-active=true]{color:var(--accent)}.btn-dark{cursor:pointer;color:#241e1a;background:#f6efe1;border:1px solid #241e1a47;border-radius:2px;padding:14px 28px;font-family:inherit;font-size:15px;transition:transform .2s,border-color .2s,color .2s;display:inline-block}.btn-dark:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn-ghost{cursor:pointer;color:#241e1a;background:0 0;border:1px solid #241e1a47;border-radius:2px;padding:14px 28px;font-family:inherit;font-size:15px;transition:all .2s;display:inline-block}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.era-card{cursor:pointer;color:inherit;background:#fffdf880;border:1px solid #241e1a24;border-radius:4px;transition:all .25s;display:block;overflow:hidden}.era-card:hover{border-color:var(--accent);color:inherit;transform:translateY(-4px);box-shadow:0 24px 40px -28px #241e1a66}.song-grid{grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,26px);display:grid}@media (min-width:620px){.song-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:960px){.song-grid{grid-template-columns:repeat(4,1fr)}}.song-card{cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;width:100%;padding:0;font-family:inherit;transition:transform .25s;display:block}.song-card:hover{color:inherit;transform:translateY(-5px)}.song-card[aria-expanded=true] .song-card__art{border-color:var(--accent);box-shadow:0 14px 30px -18px #c15a438c}.song-card__art{aspect-ratio:1;text-align:center;background:linear-gradient(150deg,#efe6d5,#e2d5bf);border:1px solid #241e1a1a;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:18px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px -22px #241e1a80}.song-card__year{letter-spacing:.1em;color:#241e1a66;font-size:11px;position:absolute;top:12px;left:14px}.song-card__dot{background:var(--accent);opacity:.7;border-radius:50%;width:8px;height:8px;position:absolute;top:12px;right:14px}.song-card__subject{color:#2e2620;font-size:21px;font-weight:700;line-height:1.25}.song-detail-panel{background:#fffdf8b3;border:1px solid #241e1a24;border-radius:6px;grid-column:1/-1;margin:4px 0 8px;padding:clamp(24px,3vw,40px);position:relative;box-shadow:0 22px 50px -34px #241e1a66}.song-detail-panel__external{color:var(--accent);white-space:nowrap;font-size:14px;position:absolute;top:clamp(18px,2.4vw,28px);right:clamp(18px,2.4vw,28px)}.song-detail-panel__external:hover{text-decoration:underline}.song-detail-panel__badge{letter-spacing:.08em;color:var(--accent);background:#c15a431a;border-radius:999px;margin-bottom:16px;padding:6px 14px;font-size:12.5px;display:inline-block}.song-detail-panel__title{margin:0 0 6px;padding-right:96px;font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.05}.song-detail-panel__meta{border-top:1px solid #241e1a24;border-bottom:1px solid #241e1a24;flex-wrap:wrap;gap:24px;margin:22px 0 26px;padding:20px 0;display:flex}.song-detail-panel__meta-label{letter-spacing:.08em;color:#9a8b79;text-transform:uppercase;font-size:12px}.song-detail-panel__meta-value{color:#2e2620;margin-top:5px;font-size:16px}.song-card__thumb{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.song-card__art.has-thumb{padding:0}.song-card__art.has-thumb .song-card__year{color:#fff;background:#00000073;border-radius:999px;padding:2px 8px;top:10px;left:10px}.song-credits{grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 26px;font-size:15px;display:grid}.song-credits dt{color:#9a8b79;letter-spacing:.04em;white-space:nowrap}.song-credits dd{color:#2e2620;margin:0}.song-lyrics{white-space:pre-wrap;color:#453c34;background:#241e1a08;border:1px solid #241e1a14;border-radius:8px;margin:0 0 28px;padding:22px 24px;font-size:15.5px;line-height:1.9}.song-sources{color:#8a7c6d;margin:0 0 26px;font-size:13px}.song-sources__label{letter-spacing:.06em;text-transform:uppercase;color:#9a8b79;margin-right:8px;font-size:11.5px}.song-sources a{color:#8a7c6d;text-underline-offset:2px;word-break:break-all;margin-right:12px;text-decoration:underline}.song-sources a:hover{color:var(--accent)}.song-hero-thumb{position:absolute;inset:0}.song-hero-thumb img{object-fit:cover;width:100%;height:100%;display:block}.thanks-row{color:inherit;transition:all .2s}.thanks-row:hover{color:inherit;transform:translate(4px);border-color:var(--accent)!important}.thanks-inline-link{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.thanks-inline-link:hover{opacity:.75}.era-chip{cursor:pointer;letter-spacing:.03em;color:#453c34;border:1px solid #241e1a33;border-radius:999px;padding:8px 16px;font-size:13.5px;transition:all .2s}.era-chip:hover{border-color:var(--accent);color:var(--accent)}.img-slot{text-align:center;color:#241e1a80;background:linear-gradient(150deg,#efe6d5,#e2d5bf);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.img-slot span:first-child{opacity:.5;font-size:22px}.img-slot span:last-child{letter-spacing:.04em;font-size:12px;line-height:1.4}@media screen and (max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr!important}.grid-4{grid-template-columns:repeat(2,1fr)!important}}
