/* Naijacraft visual identity tokens and shared brand language. */
:root{
    --nc-brand-green:#18B85A;
    --nc-brand-deep:#0B6B3A;
    --nc-brand-glow:#2DE47A;
    --nc-brand-green-rgb:24,184,90;
    --nc-brand-glow-rgb:45,228,122;
    --nc-brand-gold:#D4AF37;
    --nc-background:#080C0A;
    --nc-surface:#121814;
    --nc-surface-raised:#19221C;
    --nc-brand-gradient:linear-gradient(135deg,var(--nc-brand-deep),var(--nc-brand-green) 58%,var(--nc-brand-glow));
    --nc-brand-aura:0 18px 55px rgba(var(--nc-brand-green-rgb),.16);
    --primary:var(--nc-brand-green);
    --primary-dark:var(--nc-brand-deep);
    --dark-bg:var(--nc-background);
    --darker-bg:#050806;
    --card-bg:var(--nc-surface);
    --card-hover:var(--nc-surface-raised);
    --nc-brand:var(--nc-brand-green);
}

body,.nc-app{background:var(--nc-background)}
.nc-content{background:radial-gradient(circle at 72% -5%,rgba(var(--nc-brand-green-rgb),.10),transparent 28rem),linear-gradient(180deg,#101712 0,var(--nc-background) 330px)}
.ncap-sidebar{background:linear-gradient(180deg,#070B08,var(--nc-background) 70%)}

::selection{background:rgba(var(--nc-brand-glow-rgb),.34);color:#fff}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--nc-brand-glow);outline-offset:3px}

.nc-home-intro,.nc-archive-hero,.nc-artist-cover{
    isolation:isolate;
    box-shadow:var(--nc-brand-aura);
}
.nc-home-intro,.nc-archive-hero{
    background:radial-gradient(circle at 84% 12%,rgba(var(--nc-brand-glow-rgb),.20),transparent 34%),radial-gradient(circle at 14% 105%,rgba(var(--nc-brand-green-rgb),.13),transparent 36%),linear-gradient(135deg,#121A15,#0A120D 58%,#082716);
}
.nc-home-intro::before,.nc-archive-hero::before{
    position:absolute;
    z-index:-1;
    top:50%;
    right:clamp(18px,6vw,78px);
    color:rgba(var(--nc-brand-glow-rgb),.075);
    content:"N";
    font-size:clamp(8rem,24vw,22rem);
    font-weight:950;
    line-height:.7;
    letter-spacing:-.12em;
    transform:translateY(-48%) rotate(-4deg);
    user-select:none;
}

.nc-home-intro-actions .nc-primary-link,.nc-artist-actions .nc-artist-play,.nc-artist-support-pay,.ncap-button{
    border-color:var(--nc-brand-green);
    background:linear-gradient(135deg,var(--nc-brand-green),#20C968);
    box-shadow:0 8px 24px rgba(var(--nc-brand-green-rgb),.16);
    color:#04140A;
}
.nc-home-intro-actions .nc-primary-link:hover,.nc-artist-actions .nc-artist-play:hover,.nc-artist-support-pay:hover,.ncap-button:hover{
    background:linear-gradient(135deg,var(--nc-brand-glow),var(--nc-brand-green));
    box-shadow:0 10px 30px rgba(var(--nc-brand-glow-rgb),.22);
}

.nc-editorial-art,.ncap-media-card,.nc-release-card,.ncap-dashboard-card{
    border-color:rgba(255,255,255,.09);
    background-color:var(--nc-surface);
}
.nc-editorial-card:hover .nc-editorial-art,.ncap-media-card:hover,.nc-release-card:hover{
    box-shadow:0 14px 38px rgba(var(--nc-brand-green-rgb),.13);
}
.nc-art-placeholder,.ncap-loading-card::before{
    color:var(--nc-brand-glow);
}
.ncap-loading-card::before{
    display:inline-grid;
    width:2rem;
    height:2rem;
    margin:0 auto .7rem;
    place-items:center;
    border:1px solid rgba(var(--nc-brand-glow-rgb),.3);
    border-radius:.55rem;
    background:rgba(var(--nc-brand-green-rgb),.08);
    content:"N";
    font-weight:950;
}

/* Gold is deliberately reserved for premium campaigns, awards and editorial badges. */
.nc-premium-campaign,.nc-award-badge{--nc-campaign-accent:var(--nc-brand-gold)}

@media(max-width:760px){
    .nc-home-intro::before,.nc-archive-hero::before{right:12px;font-size:10rem}
}
@media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto}
}
