/* Privacy controls use first-party styles and no remote assets. */
.privacy-media-gate{
 position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
 width:100%;height:100%;min-height:220px;gap:11px;padding:20px;
 background:radial-gradient(ellipse at 48% 30%,#28101b,#100c12 70%);
 border:1px solid rgba(242,237,232,.16);color:#f2ede8;text-align:center;
 font-family:system-ui,-apple-system,sans-serif;
}
.privacy-media-icon{font-size:27px;line-height:1;color:#f2ede8}
.privacy-media-gate strong{font-size:clamp(15px,2vw,19px);font-weight:650}
.privacy-media-gate p{font-size:12px;line-height:1.55;color:#d5c9c9;max-width:48ch}
.privacy-media-gate button{
 border:1px solid #f2ede8;border-radius:5px;padding:10px 13px;
 font-size:12px;font-weight:650;background:#f2ede8;color:#100c12;cursor:pointer;
}
.privacy-media-gate a{color:#ded2d2;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.privacy-media-gate button:focus-visible,.privacy-media-gate a:focus-visible,
.privacy-banner button:focus-visible,.privacy-banner a:focus-visible,
.hero-media-consent button:focus-visible,.hero-media-consent a:focus-visible,
.legal-links a:focus-visible,.legal-links button:focus-visible{outline:3px solid #ffd36d;outline-offset:3px}
.music-media>.privacy-media-gate{height:100%;min-height:100%}
.music-3d-grid .privacy-media-gate{aspect-ratio:16/9}
#portfolio .pl-media .privacy-media-gate{width:100%;height:100%;min-height:100%}
#portfolio .single-media-portrait .privacy-media-gate{width:min(100%,430px);aspect-ratio:9/16;margin:auto}
.hero-consent-bg{position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 50% 45%,#311521 0%,#0b080d 90%)}
.hero-media-consent{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.hero-media-consent button,.hero-media-consent a{
 padding:8px 13px;border:1px solid rgba(242,237,232,.55);border-radius:5px;
 color:#f2ede8;background:rgba(9,7,12,.93);font:600 12px/1.4 system-ui,sans-serif;
}
.hero-media-consent button:hover,.hero-media-consent a:hover{background:#30141a}
.privacy-banner{
 position:fixed;z-index:99999;left:16px;right:16px;bottom:16px;
 width:min(920px,calc(100% - 32px));margin:auto;
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;
 padding:23px;border:1px solid #645761;border-radius:10px;
 background:#141015;color:#f2ede8;box-shadow:0 10px 45px rgba(0,0,0,.75);
 font:14px/1.5 system-ui,-apple-system,sans-serif;
}
.privacy-banner-copy strong{display:block;font-size:18px;margin-bottom:5px}
.privacy-banner-copy p{max-width:62ch;font-size:13px;color:#e6dbdf}
.privacy-banner-copy a{display:inline-block;margin-top:8px;text-decoration:underline;text-underline-offset:3px;color:#f2ede8;font-size:12px}
.privacy-banner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;max-width:300px}
.privacy-banner-actions button{
 flex:1 1 125px;min-height:40px;border:1px solid #b6a8b2;
 border-radius:5px;padding:8px 10px;cursor:pointer;
 color:#f2ede8;background:#2b222b;font:600 12px/1.3 system-ui,sans-serif;
}
.privacy-banner-actions button:hover{background:#50404d}
.privacy-choices{grid-column:1/-1;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.privacy-choices label{display:flex;gap:9px;align-items:center;cursor:pointer}
.privacy-choices input{width:19px;height:19px;accent-color:#e0382c}
.legal-links{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.legal-links a,.legal-links button{font:500 11px/1.5 system-ui,sans-serif;color:#d9ced1;text-decoration:underline;text-underline-offset:3px}
.legal-links a:hover,.legal-links button:hover{color:#fff}
@media(max-width:730px){
 .privacy-banner{grid-template-columns:1fr;padding:17px;gap:13px;bottom:8px;left:8px;right:8px;width:calc(100% - 16px);max-height:80vh;overflow-y:auto}
 .privacy-banner-actions{max-width:none;justify-content:stretch}
 .privacy-banner-actions button{flex:1 1 125px}
 .privacy-media-gate{padding:12px;min-height:200px;gap:7px}
 .privacy-media-gate p{font-size:11px}
 .privacy-media-gate button{font-size:11px;padding:8px}
 .hero-media-consent{margin-bottom:7px}
 .hero-media-consent button,.hero-media-consent a{font-size:10px;padding:7px 9px}
 .legal-links{justify-content:center}
 .music-card.portrait .privacy-media-gate{padding:8px;min-height:100%}
 .music-card.portrait .privacy-media-gate p{font-size:10px}
 .music-card.portrait .privacy-media-gate strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.privacy-banner{scroll-behavior:auto}}

/* Improved readability and keyboard targets in the existing dark theme. */
:root{--muted:#aa9da4}
.music-kicker,#portfolio .pl-meta .pl-cat,.pt-chip.active,.music-3d-empty small{color:#ff8175}
.segment{height:16px!important;background:transparent!important;overflow:visible!important}
.segment::before{content:'';position:absolute;top:7px;left:0;right:0;height:2px;background:rgba(242,239,233,.25)}
.segment .fill{top:7px!important;bottom:auto!important;height:2px}
.segment:focus-visible{outline:2px solid #ffd36d;outline-offset:4px}
