/* ===== RIVET Academy — "The Depth" dark ground (black → purple · white ink) =====
   Shared across the academy hub, library pages (skills/frameworks/catalog) and role tracks.
   Chrome rules mirror the inline theme on academy/gtm-os-architect.html so every academy page matches. */

/* ---- ground ---- */
body.gtm-dark{ background:#000; }
body.gtm-dark .bg-field{ display:none; }
body.gtm-dark::before{ content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(96% 86% at 92% 100%, rgba(59,6,212,.55), transparent 60%),
    radial-gradient(80% 70% at 6% 3%, rgba(59,6,212,.26), transparent 55%),
    linear-gradient(158deg,#000 0%,#0a0430 46%,#1a0a63 100%); }

/* ---- header duo ---- */
body.gtm-dark .site-header{ background:transparent !important; }
body.gtm-dark .site-header .site-header__inner{ background:linear-gradient(158deg,rgba(22,9,66,.72),rgba(9,4,28,.66)) !important; border:1px solid rgba(255,255,255,.12) !important; -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%); }
body.gtm-dark .site-header.is-stuck .site-header__inner, body.gtm-dark .site-header[data-stuck] .site-header__inner{ background:linear-gradient(158deg,rgba(16,6,48,.9),rgba(6,3,20,.88)) !important; }
body.gtm-dark .site-header .brand--wordmark img{ content:url(logo-wordmark-footer.png); }
body.gtm-dark .site-header .nav__link{ color:rgba(255,255,255,.86) !important; }
body.gtm-dark .site-header .nav__link:hover{ color:#fff !important; }
body.gtm-dark .site-header .caret{ border-top-color:rgba(255,255,255,.6) !important; }
body.gtm-dark .site-header .btn--ghost{ color:#fff !important; border-color:rgba(255,255,255,.3) !important; }
body.gtm-dark .site-header .btn--ghost:hover{ background:rgba(255,255,255,.1) !important; }
body.gtm-dark .burger span{ background:#fff !important; }

/* ---- mega menu duo ---- */
body.gtm-dark .mega__card{ background:linear-gradient(158deg,rgba(22,9,66,.97),rgba(9,4,28,.98)) !important; border:1px solid rgba(255,255,255,.14) !important; -webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%); box-shadow:0 30px 70px -30px rgba(0,0,0,.85) !important; }
body.gtm-dark .mega__group-label{ color:#4CF3FE !important; }
body.gtm-dark .mega__link{ color:rgba(255,255,255,.82) !important; }
body.gtm-dark .mega__link:hover{ background:rgba(255,255,255,.06) !important; }
body.gtm-dark .mega__link b{ color:#fff !important; }
body.gtm-dark .mega__link small{ color:rgba(255,255,255,.6) !important; }
body.gtm-dark .mega__ico{ background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.16) !important; color:#fff !important; }
body.gtm-dark .mega__feature{ background:linear-gradient(158deg,rgba(59,6,212,.5),rgba(9,4,28,.4)) !important; border-color:rgba(255,255,255,.14) !important; }

/* ---- footer duo ---- */
body.gtm-dark .site-footer.f2{ background:transparent !important; border-top:1px solid rgba(255,255,255,.1); }
body.gtm-dark .site-footer .f2-glass{ background:rgba(255,255,255,.055) !important; border:1px solid rgba(255,255,255,.13) !important; -webkit-backdrop-filter:blur(14px) saturate(150%); backdrop-filter:blur(14px) saturate(150%); }
body.gtm-dark .site-footer :is(h3,h5,h5 a,.f2-slogan,.f2-give__copy b,.f2-apps__copy b,.f2-brand p b,b){ color:#fff !important; }
body.gtm-dark .site-footer :is(p,.f2-col a,.f2-base__c,.f2-base__c a,.f2-mighty,.f2-apps__copy span){ color:rgba(255,255,255,.72) !important; }
body.gtm-dark .site-footer .f2-col a:hover, body.gtm-dark .site-footer .f2-base__c a:hover{ color:#fff !important; }
body.gtm-dark .site-footer .eyebrow{ color:#4CF3FE !important; }
body.gtm-dark .site-footer :is(.f2-social a,.appbadge,.fccy__btn){ background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.16) !important; color:#fff !important; }
body.gtm-dark .site-footer .brand--wordmark img{ filter:none; }
body.gtm-dark .site-footer :is(.f2-top,.f2-base){ border-color:rgba(255,255,255,.1) !important; }

/* ---- content text ---- */
body.gtm-dark main{ color:rgba(255,255,255,.82); }
body.gtm-dark main :is(h1,h2,h3,h4,h5,.h2,dt,b,strong,summary){ color:#fff !important; }
body.gtm-dark main :is(p,li,dd,small,figcaption,blockquote,.lead){ color:rgba(255,255,255,.82) !important; }
body.gtm-dark main .muted, body.gtm-dark main .lead.muted{ color:rgba(255,255,255,.64) !important; }
body.gtm-dark main .eyebrow{ color:#4CF3FE !important; }
body.gtm-dark main .eyebrow::before{ background:#4CF3FE !important; }
body.gtm-dark main .hl{ color:#4CF3FE !important; }

/* ---- section rhythm: alt sections get a deep-glass band + fading grid ---- */
body.gtm-dark main > section{ position:relative; }
body.gtm-dark main > section.section--alt{ background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)) !important; }
body.gtm-dark main > section.section--alt::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:40px 40px; -webkit-mask-image:linear-gradient(180deg,#000,transparent 82%); mask-image:linear-gradient(180deg,#000,transparent 82%); }
body.gtm-dark main > section.section--alt > .wrap{ position:relative; z-index:1; }

/* ---- library toolbar / search / chips ---- */
body.gtm-dark main .lib-search input{ background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.16) !important; color:#fff !important; }
body.gtm-dark main .lib-search input::placeholder{ color:rgba(255,255,255,.5); }
body.gtm-dark main .lib-search svg{ color:rgba(255,255,255,.5); }
body.gtm-dark main .lib-chip{ background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.16) !important; color:rgba(255,255,255,.78) !important; }
body.gtm-dark main .lib-chip:hover{ border-color:rgba(76,243,254,.5) !important; color:#fff !important; }
body.gtm-dark main .lib-chip[aria-pressed="true"]{ background:var(--violet) !important; border-color:var(--violet) !important; color:#fff !important; }
body.gtm-dark main .lib-chip--role[aria-pressed="true"]{ background:#fff !important; border-color:#fff !important; color:#0a0430 !important; }
body.gtm-dark main .lib-count{ color:rgba(255,255,255,.6) !important; }
body.gtm-dark main .lib-roles__lbl{ color:rgba(255,255,255,.55) !important; }
body.gtm-dark main .lib-ladder__cap{ color:rgba(255,255,255,.6) !important; }
body.gtm-dark main .lib-ladder__cap b{ color:#fff !important; }

/* ---- library cards (posters keep their gradient tops; body → glass-dark) ---- */
body.gtm-dark main .lib-card{ background:rgba(255,255,255,.05) !important; border-color:rgba(255,255,255,.13) !important; box-shadow:0 22px 46px -26px rgba(0,0,0,.75) !important; }
body.gtm-dark main .lib-card__body{ color:rgba(255,255,255,.82); }
body.gtm-dark main .lib-card__meta{ color:rgba(255,255,255,.55) !important; }
body.gtm-dark main .lib-card__desc{ color:rgba(255,255,255,.72) !important; }
body.gtm-dark main .lib-step{ background:rgba(255,255,255,.05) !important; border-color:rgba(255,255,255,.13) !important; }
body.gtm-dark main .lib-step__t{ color:#fff; }
body.gtm-dark main .lib-step__d{ color:rgba(255,255,255,.55) !important; }
body.gtm-dark main .lib-empty{ color:rgba(255,255,255,.55) !important; }
/* badges keep semantic hue but lift for dark ground */
body.gtm-dark main .lib-badge--available{ color:#4be3a0 !important; }
body.gtm-dark main .lib-badge--soon{ color:#f5c24b !important; }

/* ---- library modal ---- */
body.gtm-dark main .lib-modal__panel{ background:linear-gradient(158deg,#160942,#09041c) !important; border:1px solid rgba(255,255,255,.14) !important; color:rgba(255,255,255,.84) !important; }
body.gtm-dark main .lib-modal__panel :is(h2,h3,b,strong,dt){ color:#fff !important; }
body.gtm-dark main .lib-modal__panel :is(p,li,dd,small){ color:rgba(255,255,255,.8) !important; }

/* ---- track / catalog components ---- */
body.gtm-dark main :is(.course,.dmode,.tile,.catcard,.figcard,.aeo,.miniquote,.delivery-note,.frow__media > *){
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 20px 44px -26px rgba(0,0,0,.7) !important; color:rgba(255,255,255,.84) !important; }
body.gtm-dark main :is(.course h3,.course__title,.dmode h3,.tile h3,.aeo h2,.miniquote__q){ color:#fff !important; }
body.gtm-dark main :is(.course__meta,.course__n,.dmode__ico,.tile__go,.miniquote__mark){ color:#4CF3FE !important; }
body.gtm-dark main .lvl-badge{ background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.18) !important; color:rgba(255,255,255,.82) !important; }
body.gtm-dark main .lvl-badge.is-ic{ background:rgba(76,243,254,.16) !important; border-color:rgba(76,243,254,.4) !important; color:#4CF3FE !important; }
/* the feature delivery tile keeps its accent field, just ensure ink is white */
body.gtm-dark main .dmode--feature{ background:linear-gradient(158deg,rgba(59,6,212,.5),rgba(9,4,28,.5)) !important; }
body.gtm-dark main .dmode--feature :is(p,li,small,span){ color:rgba(255,255,255,.82) !important; }

/* ---- gradient quote (certified-member testimonial) keeps its band; ensure contrast ---- */
body.gtm-dark main .gradquote{ box-shadow:0 24px 50px -28px rgba(0,0,0,.8) !important; }

/* ---- CTA band → bounded duo moment ---- */
body.gtm-dark main .ctaband{ background:linear-gradient(150deg,rgba(59,6,212,.6),rgba(255,0,212,.24) 70%,transparent) !important; border:1px solid rgba(255,255,255,.14) !important; }
body.gtm-dark main .ctaband :is(h2,p){ color:#fff !important; }
body.gtm-dark main .ctaband p{ color:rgba(255,255,255,.82) !important; }

/* ---- ghost buttons inside main ---- */
body.gtm-dark main .btn--ghost{ color:#fff !important; border-color:rgba(255,255,255,.3) !important; }
body.gtm-dark main .btn--ghost:hover{ background:rgba(255,255,255,.1) !important; }

/* ---- certified-members strip ---- */
body.gtm-dark main .cmemb__item{ background:rgba(255,255,255,.05) !important; border:1px solid rgba(255,255,255,.13) !important; box-shadow:0 20px 44px -26px rgba(0,0,0,.7) !important; }
body.gtm-dark main .cmemb__name{ color:#fff !important; }
body.gtm-dark main .cmemb__role{ color:rgba(255,255,255,.7) !important; }
body.gtm-dark main .cmemb__k{ color:#4CF3FE !important; }
body.gtm-dark main .cmemb__count{ color:rgba(255,255,255,.6) !important; }
body.gtm-dark main .cmemb__count b{ color:#fff !important; }
/* ---- category router cards + sub-labels ---- */
body.gtm-dark main .catsub__l{ color:rgba(255,255,255,.6) !important; }
body.gtm-dark main .catcard__meta{ color:rgba(255,255,255,.65) !important; }
body.gtm-dark main .catcard__price{ color:#fff !important; }
body.gtm-dark main .gradquote__badge{ color:#4CF3FE !important; }
/* ---- price/meta pills: purple → cyan; magenta stays the one precious accent ---- */
body.gtm-dark main .label{ color:#4CF3FE !important; }
body.gtm-dark main .label--magenta, body.gtm-dark main .label.is-magenta{ color:#ff86ec !important; }

/* ---- floating role artwork keeps its glow, sits fine on dark ---- */
body.gtm-dark main .artfloat{ filter:drop-shadow(0 20px 40px rgba(0,0,0,.5)); }
