/* Dark mode — v1 scope: global chrome (header/nav/search/AI, every page) is
   unscoped below. Page-body backgrounds/cards are scoped to body[data-page="…"]
   so pages not yet themed simply stay in their normal light look. */
:root{--dm-bg:#0b1220;--dm-surface:#131d30;--dm-surface-2:#1a2740;--dm-text:#e7ecf3;--dm-text-muted:#9aabc2;--dm-border:rgba(255,255,255,.12);--dm-pink:var(--brand-pink-tint)}

[data-theme="dark"]{color-scheme:dark}
[data-theme="dark"] .site-header{background:rgba(6,12,22,.9)}
[data-theme="dark"] .site-header.is-scrolled{background:rgba(6,12,22,.98)}

/* nav dropdown (desktop) */
[data-theme="dark"] .nav-dropdown{background:var(--dm-surface-2);box-shadow:0 1px 2px rgba(7,20,42,.07),0 24px 50px rgba(0,0,0,.5)}
[data-theme="dark"] .nav-dropdown a{color:var(--dm-text)}
[data-theme="dark"] .nav-dropdown a:hover{background:rgba(255,255,255,.06)}

/* site search overlay */
[data-theme="dark"] .search-panel-inner{background:var(--dm-surface-2)}
[data-theme="dark"] .search-top{color:var(--dm-text)}
[data-theme="dark"] .search-close{background:rgba(255,255,255,.08);color:var(--dm-text)}
[data-theme="dark"] .search-field{border-bottom-color:rgba(255,255,255,.25)}
[data-theme="dark"] .search-field input{color:var(--dm-text)}
[data-theme="dark"] .search-field input::placeholder{color:var(--dm-text-muted)}
[data-theme="dark"] .search-panel-inner>p{color:var(--dm-text-muted)}

/* AI assistant */
[data-theme="dark"] .ai-assistant{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] .ai-messages{background:var(--dm-bg)}
[data-theme="dark"] .ai-message.bot{background:var(--dm-surface);color:var(--dm-text)}
[data-theme="dark"] .ai-sources{border-top-color:var(--dm-border)}
[data-theme="dark"] .ai-sources>strong{color:var(--dm-text-muted)}
[data-theme="dark"] .ai-sources>a{color:var(--dm-pink)}
[data-theme="dark"] .ai-feedback{border-top-color:var(--dm-border)}
[data-theme="dark"] .ai-feedback>span{color:var(--dm-text-muted)}
[data-theme="dark"] .ai-feedback>button{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] .ai-feedback>button:hover:not(:disabled){background:var(--dm-surface);border-color:var(--dm-pink)}
[data-theme="dark"] .ai-feedback>button.picked{background:var(--dm-pink);border-color:var(--dm-pink);color:#1b0a12}
[data-theme="dark"] .ai-suggestions{border-top-color:var(--dm-border)}
[data-theme="dark"] .ai-suggestions button{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-pink)}
[data-theme="dark"] .ai-form{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] .ai-form textarea{color:var(--dm-text);background:transparent}
[data-theme="dark"] .ai-note{color:var(--dm-text-muted)}

/* =========================================================================
   Everything below only takes effect on pages listed here. Pages not yet
   listed keep their normal light styling until they get their own pass.
   ========================================================================= */
/* Grow this list as each page gets its dark-mode pass. */
[data-theme="dark"] :is(
  body[data-page="index"],
  body[data-page="about"],
  body[data-page="vision"],
  body[data-page="curriculum"],
  body[data-page="curriculum-2564"],
  body[data-page="people"],
  body[data-page="achievements"],
  body[data-page="services"],
  body[data-page="downloads"],
  body[data-page="location"],
  body[data-page="news"],
  body[data-page="news-detail"],
  body[data-page="events"],
  body[data-page="admissions"],
  body[data-page="contact"],
  body[data-page="search"],
  body[data-page="quiz"],
  body[data-page="skill-map"],
  body[data-page="career-path"],
  body[data-page="career-fit"],
  body[data-page="playground"],
  body[data-page="arcade"],
  body[data-page="campus-map"]
){--cream:var(--dm-bg);--blush:var(--dm-surface);--ink-2:var(--dm-text);--hairline:var(--dm-border);background:var(--dm-bg)}

/* shared components reused across many pages */
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .intro-copy h2,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"], body[data-page="events"], body[data-page="admissions"]) .section-head h2,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .service-title h2,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"], body[data-page="contact"]) .contact-copy h2,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .services-heading h2,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="news"]) .news-body h3{color:var(--dm-text)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"], body[data-page="events"], body[data-page="admissions"]) .section-head>p,
[data-theme="dark"] body[data-page="index"] .intro-copy .lead,
[data-theme="dark"] body[data-page="index"] .services-heading>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .intro{background:linear-gradient(180deg,var(--dm-bg),#0d1a2b)}

/* the brand magenta reads fine on white/cream but needs the pale variant once its
   background goes dark — every mini-label/number/timestamp on these pages */
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="curriculum-2564"], body[data-page="achievements"], body[data-page="services"], body[data-page="events"], body[data-page="admissions"], body[data-page="contact"], body[data-page="career-path"], body[data-page="career-fit"]) .mini-label,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .faq-card>span,
[data-theme="dark"] :is(body[data-page="index"], body[data-page="news"]) .news-body time{color:var(--dm-pink)}

/* hero news card */
[data-theme="dark"] body[data-page="index"] .hero-news{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="index"] .hero-news-list li{border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="index"] .hero-news-list a:hover{background:rgba(255,255,255,.05)}
[data-theme="dark"] body[data-page="index"] .hero-news-list strong{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .hero-news-empty{color:var(--dm-text-muted)}

/* quick links strip */
[data-theme="dark"] body[data-page="index"] .quick-card{background:var(--dm-surface)!important;border-color:var(--dm-border)!important}
[data-theme="dark"] body[data-page="index"] .quick-card strong{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .quick-card small{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .quick-card:hover{background:var(--dm-surface-2)!important}

/* intro + illustrated feature cards (the pastel illustrations themselves are left
   untouched on purpose — only the surrounding text/border needs to adapt) */
[data-theme="dark"] body[data-page="index"] .intro-feature{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="index"] .intro-feature-copy strong,
[data-theme="dark"] body[data-page="index"] .intro-feature-copy h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .intro-feature-copy p,
[data-theme="dark"] body[data-page="index"] .intro-feature-copy span{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .learning-points{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="index"] .learning-points div{border-color:var(--dm-border)}

/* highlights / faq cards */
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .faq-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .faq-card h3{color:var(--dm-text)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .faq-card p{color:var(--dm-text-muted)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="curriculum"], body[data-page="services"]) .faq-card:hover{background:var(--plum)}

/* news cards */
[data-theme="dark"] :is(body[data-page="index"], body[data-page="news"]) .news-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="news"]) .news-body p{color:var(--dm-text-muted)}
[data-theme="dark"] :is(body[data-page="index"], body[data-page="news"]) .news-source{color:var(--dm-text-muted)}

/* important services tiles */
[data-theme="dark"] body[data-page="index"] .home-services{background:linear-gradient(180deg,var(--dm-bg) 0,#0d1a2b 100%)}
[data-theme="dark"] body[data-page="index"] .service-image{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="index"] .service-tile strong{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .service-tile small{color:var(--dm-text-muted)}

/* tiktok section is already dark-toned; only the embed shell needs a dark backdrop */
[data-theme="dark"] body[data-page="index"] .tiktok-embed-shell{background:linear-gradient(145deg,#101a2c,#0b1220)}
[data-theme="dark"] body[data-page="index"] .tiktok-fallback{color:var(--dm-text)}

/* =========================================================================
   about.php (history.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="about"] .story-lead{color:var(--dm-text)}
[data-theme="dark"] body[data-page="about"] .story-copy>p:last-child{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="about"] .story-label span,
[data-theme="dark"] body[data-page="about"] .principles-title>span,
[data-theme="dark"] body[data-page="about"] .principle-grid b{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="about"] .principle-grid,
[data-theme="dark"] body[data-page="about"] .principle-grid article{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="about"] .principle-grid p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="about"] .learning-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="about"] .learning-card:hover{background:var(--dm-surface-2)}

/* =========================================================================
   vision.php (vision.css) — the animated belief/goal/strategy SVG
   illustrations are left untouched on purpose, same reasoning as the
   homepage's pastel feature cards: they're self-contained decorative art,
   not text-bearing UI, and already read fine against either background.
   ========================================================================= */
[data-theme="dark"] body[data-page="vision"] .beliefs{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="vision"] .mission-section{background:#0d1a2b}
[data-theme="dark"] body[data-page="vision"] .vision-section-head p,
[data-theme="dark"] body[data-page="vision"] .goal-sticky>p,
[data-theme="dark"] body[data-page="vision"] .identity-head p,
[data-theme="dark"] body[data-page="vision"] .mission-card p,
[data-theme="dark"] body[data-page="vision"] .identity-grid p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="vision"] .vision-section-head>span,
[data-theme="dark"] body[data-page="vision"] .belief-heading>span,
[data-theme="dark"] body[data-page="vision"] .goal-sticky>span,
[data-theme="dark"] body[data-page="vision"] .identity-head>span,
[data-theme="dark"] body[data-page="vision"] .belief-grid small,
[data-theme="dark"] body[data-page="vision"] .mission-card>b,
[data-theme="dark"] body[data-page="vision"] .goal-list b,
[data-theme="dark"] body[data-page="vision"] .identity-grid b{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="vision"] .belief-grid article{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="vision"] .belief-grid article:hover{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="vision"] .mission-card{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="vision"] .mission-card i{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="vision"] .goal-list{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="vision"] .goal-list article{border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="vision"] .goal-list article:hover{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="vision"] .identity-head h2{color:#5a6a80}
[data-theme="dark"] body[data-page="vision"] .identity-grid{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="vision"] .identity-grid article{border-color:var(--dm-border)}

/* =========================================================================
   curriculum.php (premium.css + career-explorer.css)
   ========================================================================= */
[data-theme="dark"] :is(body[data-page="curriculum"], body[data-page="services"]) .curriculum{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="curriculum"] .subnav{background:var(--dm-surface);border-bottom-color:var(--dm-border)}
[data-theme="dark"] :is(body[data-page="curriculum"], body[data-page="location"]) .curriculum-note{color:var(--dm-text-muted)}
[data-theme="dark"] :is(body[data-page="curriculum"], body[data-page="location"]) .curriculum-note a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="curriculum"] .career-card-heading>small,
[data-theme="dark"] body[data-page="curriculum"] .career-open-label{color:var(--dm-text-muted)!important}
[data-theme="dark"] body[data-page="curriculum"] .career-explorer{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="curriculum"] .career-intro>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="curriculum"] .career-explore-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="curriculum"] .career-card-heading h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="curriculum"] .career-card-details{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="curriculum"] .career-card-details p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="curriculum"] .career-footnote{color:var(--dm-text-muted)}

/* =========================================================================
   curriculum-2564.php (curriculum-2564.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-subnav{background:rgba(19,29,48,.94);border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-subnav a{color:var(--dm-text)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-overview{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-overview-copy>p,
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-skill-copy p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-overview-copy blockquote{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-highlights{background:#0d1a2b}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-highlights .legacy-heading>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-highlight-grid article{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-skills{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-skills .legacy-heading>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="curriculum-2564"] .legacy-tags span{background:var(--dm-surface);color:var(--dm-pink)}

/* =========================================================================
   people.php (premium.css + people.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="people"] .officer-directory{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="people"] .officer-directory .people-intro h2{color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .officer-directory .people-intro .mini-label{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="people"] .officer-directory .people-intro p{color:var(--dm-text-muted)}

/* =========================================================================
   achievements.php (premium.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="achievements"] .achievement-card,
[data-theme="dark"] body[data-page="achievements"] .achievement-feature,
[data-theme="dark"] body[data-page="achievements"] .achievement-empty{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="achievements"] .achievement-feature time,
[data-theme="dark"] body[data-page="achievements"] .achievement-card>div>p,
[data-theme="dark"] body[data-page="achievements"] .achievement-feature>div>p,
[data-theme="dark"] body[data-page="achievements"] .achievement-empty p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="achievements"] .achievement-card>div>a,
[data-theme="dark"] body[data-page="achievements"] .achievement-heading>a,
[data-theme="dark"] body[data-page="achievements"] .achievement-meta{color:var(--dm-pink)}

/* =========================================================================
   services.php (premium.css + style.css shared classes)
   ========================================================================= */
[data-theme="dark"] body[data-page="services"] .system-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="services"] .system-card p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="services"] .system-card a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="services"] .careers{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="services"] .career-chip{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] :is(body[data-page="services"], body[data-page="people"]) .student-services{background:linear-gradient(135deg,#0d1a2b,#0b1220)}
[data-theme="dark"] :is(body[data-page="services"], body[data-page="people"]) .service-title p{color:var(--dm-text-muted)}
[data-theme="dark"] :is(body[data-page="services"], body[data-page="people"]) .service-links{border-top-color:var(--dm-border)}
[data-theme="dark"] :is(body[data-page="services"], body[data-page="people"]) .service-links a{border-bottom-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] :is(body[data-page="services"], body[data-page="people"]) .service-links span{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="people"] .profile-card{color:#1b2430}
[data-theme="dark"] body[data-page="people"] .people-overview{background:linear-gradient(145deg,#0b1726,#101e30 65%,#211421)}
[data-theme="dark"] body[data-page="people"] .people-overview-head h2,
[data-theme="dark"] body[data-page="people"] .faculty-directory .people-section-head h2,
[data-theme="dark"] body[data-page="people"] .officer-directory .people-section-head h2{color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .people-overview-head>p,
[data-theme="dark"] body[data-page="people"] .faculty-directory .people-section-head>p,
[data-theme="dark"] body[data-page="people"] .officer-directory .people-section-head>p{color:var(--dm-text-muted);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="people"] .people-stats{background:rgba(20,34,52,.86);border-color:var(--dm-border);box-shadow:0 1px 2px rgba(7,20,42,.07),0 22px 50px rgba(0,0,0,.2)}
[data-theme="dark"] body[data-page="people"] .people-stats>div{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="people"] .people-stats>div>span{background:#172c42;color:#8bcbe1}
[data-theme="dark"] body[data-page="people"] .people-stats p{color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .faculty-directory,
[data-theme="dark"] body[data-page="people"] .officer-directory{background:var(--dm-bg)!important}
[data-theme="dark"] body[data-page="people"] .profile-card{background:var(--dm-surface)!important;border-color:var(--dm-border)!important;color:var(--dm-text)!important}
[data-theme="dark"] body[data-page="people"] .profile-copy h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .profile-open{color:#9fcce0;border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="people"] .profile-available{color:var(--dm-text-muted);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="people"] .people-profile-modal{background:var(--dm-surface);color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .profile-modal-copy h2{color:var(--dm-text)}
[data-theme="dark"] body[data-page="people"] .profile-modal-copy>strong,
[data-theme="dark"] body[data-page="people"] .profile-modal-copy>p{color:var(--dm-text-muted);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="people"] .profile-achievements{background:#172538}
[data-theme="dark"] body[data-page="people"] .profile-achievements ul{color:var(--dm-text-muted)}

/* =========================================================================
   downloads.php (premium.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="downloads"] .document-center{background:linear-gradient(180deg,var(--dm-bg),#0d1a2b)}
[data-theme="dark"] body[data-page="downloads"] .document-toolbar,
[data-theme="dark"] body[data-page="downloads"] .document-card,
[data-theme="dark"] body[data-page="downloads"] .document-empty{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="downloads"] .document-search kbd{color:var(--dm-text-muted);background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="downloads"] .document-filters button{background:var(--dm-surface);color:var(--dm-text-muted);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="downloads"] .document-number,
[data-theme="dark"] body[data-page="downloads"] .document-card p,
[data-theme="dark"] body[data-page="downloads"] .document-empty p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="downloads"] .document-type{background:var(--dm-surface-2);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="downloads"] .document-card-icon{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="downloads"] .document-card-copy small,
[data-theme="dark"] body[data-page="downloads"] .document-download{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="downloads"] .document-card-copy h3{color:var(--dm-text)}

/* =========================================================================
   location.php (premium.css)
   ========================================================================= */
[data-theme="dark"] body[data-page="location"] .location-divider,
[data-theme="dark"] body[data-page="location"] .location-website a,
[data-theme="dark"] body[data-page="location"] .map-larger-link{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="location"] .location-phone,
[data-theme="dark"] body[data-page="location"] .location-address{color:var(--dm-text-muted)}

/* =========================================================================
   news.php (premium.css + style.css)
   ========================================================================= */
[data-theme="dark"] :is(body[data-page="news"], body[data-page="search"]) .filters{background:var(--dm-surface)}
[data-theme="dark"] :is(body[data-page="news"], body[data-page="search"]) .filters button{color:var(--dm-text-muted)}
[data-theme="dark"] :is(body[data-page="news"], body[data-page="search"]) .filters button.active{background:var(--dm-surface-2);color:var(--dm-pink)}
[data-theme="dark"] :is(body[data-page="news"], body[data-page="search"]) .news-empty-state{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text-muted)}

/* =========================================================================
   news-detail.php
   ========================================================================= */
[data-theme="dark"] body[data-page="news-detail"] .news-detail-lead{color:var(--dm-text)}
[data-theme="dark"] body[data-page="news-detail"] .news-detail-content{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="news-detail"] .news-detail-layout aside{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="news-detail"] .news-detail-layout aside span,
[data-theme="dark"] body[data-page="news-detail"] .news-detail-layout aside a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="news-detail"] .news-detail-cover img{border-color:var(--dm-surface)}
[data-theme="dark"] body[data-page="news-detail"] .news-empty-state{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text-muted)}

/* =========================================================================
   events.php (events.css) — .event-hero is already dark-on-any-theme by
   design, so it's untouched below.
   ========================================================================= */
[data-theme="dark"] body[data-page="events"] .event-calendar-section{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="events"] .calendar-toolbar h2{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .calendar-toolbar nav a{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .calendar-shell{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="events"] .calendar-legend span{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="events"] .calendar-day{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="events"] .calendar-day:hover{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="events"] .calendar-day{border-right-color:var(--dm-border);border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="events"] .calendar-day>b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .calendar-day.muted{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="events"] .event-pill{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .event-pill.admission,
[data-theme="dark"] body[data-page="events"] .agenda-category.admission{background:var(--dm-surface-2);color:#f6a9d0}
[data-theme="dark"] body[data-page="events"] .event-pill.exam,
[data-theme="dark"] body[data-page="events"] .agenda-category.exam{background:var(--dm-surface-2);color:#f0b877}
[data-theme="dark"] body[data-page="events"] .event-pill.student,
[data-theme="dark"] body[data-page="events"] .agenda-category.student{background:var(--dm-surface-2);color:#7fdcb8}
[data-theme="dark"] body[data-page="events"] .event-pill.holiday,
[data-theme="dark"] body[data-page="events"] .agenda-category.holiday{background:var(--dm-surface-2);color:#f2a3ad}
[data-theme="dark"] body[data-page="events"] .event-mobile-list{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="events"] .event-mobile-list>a,
[data-theme="dark"] body[data-page="events"] .event-mobile-empty{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="events"] .event-mobile-list a>b{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="events"] .event-mobile-list span{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .event-mobile-list small{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="events"] .event-agenda{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="events"] .agenda-date b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .agenda-date span{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="events"] .agenda-date small{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="events"] .agenda-category{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .agenda-copy h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .agenda-copy>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="events"] .agenda-copy dt{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="events"] .agenda-copy dd{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .agenda-actions a{border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .agenda-actions a.register-link{color:#fff}
[data-theme="dark"] body[data-page="events"] .event-empty>b{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="events"] .event-empty h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="events"] .event-empty p{color:var(--dm-text-muted)}

/* =========================================================================
   admissions.php (admissions.css) — .admission-hero and .dynamic-faq
   (var(--navy) background) are already dark-on-any-theme by design.
   ========================================================================= */
[data-theme="dark"] body[data-page="admissions"] .admission-path{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="admissions"] .admission-card{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="admissions"] .admission-card h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="admissions"] .admission-card p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="admissions"] .admission-card section small{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="admissions"] .admission-card dl div{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="admissions"] .admission-card dt{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="admissions"] .admission-card dd{color:var(--dm-text)}
[data-theme="dark"] body[data-page="admissions"] .admission-empty{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="admissions"] .admission-empty>b{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="admissions"] .admission-empty h3,
[data-theme="dark"] body[data-page="admissions"] .admission-empty>p{color:var(--dm-text)}
[data-theme="dark"] body[data-page="admissions"] .admission-steps{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="admissions"] .steps-grid article{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="admissions"] .steps-grid h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="admissions"] .steps-grid p{color:var(--dm-text-muted)}

/* =========================================================================
   contact.php (style.css) — the Google Maps iframe is a third-party embed
   and can't be re-themed from here.
   ========================================================================= */
[data-theme="dark"] body[data-page="contact"] .contact-detail{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="contact"] .contact-detail b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="contact"] .contact-form{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="contact"] .contact-form input,
[data-theme="dark"] body[data-page="contact"] .contact-form textarea{border-bottom-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="contact"] .contact-form input::placeholder,
[data-theme="dark"] body[data-page="contact"] .contact-form textarea::placeholder{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="contact"] .form-alert.success{background:rgba(23,99,68,.25);color:#8fe4bf}
[data-theme="dark"] body[data-page="contact"] .form-alert.error{background:rgba(140,48,32,.25);color:#f2ab97}

/* =========================================================================
   search.php (premium.css) — reuses .filters and .news-empty-state,
   already extended to this page above.
   ========================================================================= */
[data-theme="dark"] body[data-page="search"] .search-hero-form{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="search"] .search-meta{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="search"] .search-result-type{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="search"] .search-result h3 a{color:var(--dm-text)}
[data-theme="dark"] body[data-page="search"] .search-result-url{color:#7fcf93}
[data-theme="dark"] body[data-page="search"] .search-result p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="search"] .search-result mark{background:rgba(246,188,224,.22);color:var(--dm-pink)}

/* =========================================================================
   quiz.php (quiz.css) — .quiz-hero is already dark-on-any-theme by design.
   ========================================================================= */
[data-theme="dark"] body[data-page="quiz"] .quiz-shell{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="quiz"] .quiz-start h2,
[data-theme="dark"] body[data-page="quiz"] .quiz-question h2,
[data-theme="dark"] body[data-page="quiz"] .quiz-result-card h2{color:var(--dm-text)}
[data-theme="dark"] body[data-page="quiz"] .quiz-start p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="quiz"] .quiz-progress{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="quiz"] .quiz-meta span{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="quiz"] .quiz-option{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="quiz"] .quiz-option:hover{border-color:var(--dm-pink);background:rgba(246,188,224,.1)}
[data-theme="dark"] body[data-page="quiz"] .quiz-option-mark{background:var(--dm-surface);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="quiz"] .quiz-back,
[data-theme="dark"] body[data-page="quiz"] .quiz-retake,
[data-theme="dark"] body[data-page="quiz"] .quiz-runner-up small{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="quiz"] .quiz-result-kicker,
[data-theme="dark"] body[data-page="quiz"] .quiz-apply-link{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="quiz"] .quiz-result-en{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="quiz"] .button-outline{border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="quiz"] .button-outline:hover{border-color:var(--dm-pink);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="quiz"] .quiz-runner-up{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="quiz"] .quiz-runner-up b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="quiz"] .quiz-result-footer{border-top-color:var(--dm-border)}

/* =========================================================================
   skill-map.php (skill-map.css) — .skillmap-hero is already dark-on-any-
   theme by design. .skillmap-node-skill and .is-selected variants already
   use a fixed dark bg + white text, unaffected by theme.
   ========================================================================= */
[data-theme="dark"] body[data-page="skill-map"] .skillmap-shell{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-legend span{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] #skillmap-reset{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] #skillmap-reset:hover{border-color:var(--dm-pink);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-canvas-wrap{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-canvas{background:linear-gradient(180deg,var(--dm-surface),var(--dm-bg))}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-edge{stroke:var(--dm-border)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-edge.is-active{stroke:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node-career,
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node-career .skillmap-node-icon{border-color:var(--dm-pink);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-dim{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-dim .skillmap-node-icon{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-dim.skillmap-node-skill{background:var(--dm-surface-2);color:var(--dm-text-muted);border-color:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-dim.skillmap-node-career{border-color:var(--dm-border);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-dim.skillmap-node-career .skillmap-node-icon{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-active.skillmap-node-skill{background:var(--dm-surface-2);border-color:var(--dm-pink);color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-node.is-active.skillmap-node-skill .skillmap-node-icon{color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-empty{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-empty .icon,
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-kind{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-card h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-card small,
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-lede{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-list li{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-actions .button-outline{border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-detail-actions .button-outline:hover{border-color:var(--dm-pink);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-scroll-hint{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="skill-map"] .skillmap-canvas-wrap:after{background:linear-gradient(90deg,transparent,rgba(11,18,32,.92))}

/* =========================================================================
   career-path.php (career-path.css + career-workbook.css) — this page has
   its own light-mode palette (--path-ink/--path-blue/--path-mint). Those
   vars are reused both as body text AND as intentional dark-bg+white-text
   accents (.path-visual-core, .path-action, .path-options a[aria-current],
   .path-step.is-complete .path-step-number), so they're left untouched
   (those specific elements stay correct on any theme) and every OTHER
   place that reads as text is overridden individually below instead.
   ========================================================================= */
[data-theme="dark"] body[data-page="career-path"] .path-page{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .path-crumb{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="career-path"] .path-crumb a,
[data-theme="dark"] body[data-page="career-path"] .path-hero a,
[data-theme="dark"] body[data-page="career-path"] .path-step-kicker,
[data-theme="dark"] body[data-page="career-path"] .path-text-link,
[data-theme="dark"] body[data-page="career-path"] .path-check,
[data-theme="dark"] body[data-page="career-path"] .path-progress-summary>span,
[data-theme="dark"] body[data-page="career-path"] .path-finish>span,
[data-theme="dark"] body[data-page="career-path"] .path-feedback{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .path-hero p,
[data-theme="dark"] body[data-page="career-path"] .path-visual>small,
[data-theme="dark"] body[data-page="career-path"] .path-options small,
[data-theme="dark"] body[data-page="career-path"] .path-storage,
[data-theme="dark"] body[data-page="career-path"] .path-plan-head>p,
[data-theme="dark"] body[data-page="career-path"] .path-step p,
[data-theme="dark"] body[data-page="career-path"] .path-link-note,
[data-theme="dark"] body[data-page="career-path"] .path-finish p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="career-path"] .path-hero h1,
[data-theme="dark"] body[data-page="career-path"] .path-sidebar h2,
[data-theme="dark"] body[data-page="career-path"] .path-plan-head h2,
[data-theme="dark"] body[data-page="career-path"] .path-step h3,
[data-theme="dark"] body[data-page="career-path"] .path-progress-summary,
[data-theme="dark"] body[data-page="career-path"] .path-node,
[data-theme="dark"] body[data-page="career-path"] .path-options a:not([aria-current]),
[data-theme="dark"] body[data-page="career-path"] .path-deliverable strong,
[data-theme="dark"] body[data-page="career-path"] .path-deliverable p,
[data-theme="dark"] body[data-page="career-path"] .path-finish h3{color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .path-visual{background:radial-gradient(ellipse,rgba(95,209,193,.14) 0,transparent 68%)}
[data-theme="dark"] body[data-page="career-path"] .path-node,
[data-theme="dark"] body[data-page="career-path"] .path-options a:not([aria-current]){background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-options a:hover{border-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .path-plan-head{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-skills span{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .path-plan progress,
[data-theme="dark"] body[data-page="career-path"] .path-plan progress::-webkit-progress-bar{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="career-path"] .path-steps:before{background:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-step-number{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .path-step-body{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-deliverable{background:var(--dm-surface-2);border-left-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .path-check{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-step.is-complete .path-step-body{border-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .path-finish{background:rgba(95,209,193,.12);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .path-tools button,
[data-theme="dark"] body[data-page="career-path"] .path-reset-confirm button{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .path-reset-confirm{background:rgba(224,180,90,.12);border-color:var(--dm-border);color:var(--dm-text)}

/* career-workbook.css — the embedded learning-activity widgets */
[data-theme="dark"] body[data-page="career-path"] .wb-intro{background:rgba(95,209,193,.12);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-intro>strong,
[data-theme="dark"] body[data-page="career-path"] .wb-intro #wb-status,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace h4,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace .wb-field,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace legend,
[data-theme="dark"] body[data-page="career-path"] .wb-chart strong,
[data-theme="dark"] body[data-page="career-path"] .wb-board strong,
[data-theme="dark"] body[data-page="career-path"] .wb-canvas strong,
[data-theme="dark"] body[data-page="career-path"] .wb-board p,
[data-theme="dark"] body[data-page="career-path"] .wb-canvas p,
[data-theme="dark"] body[data-page="career-path"] .wb-prototype label,
[data-theme="dark"] body[data-page="career-path"] .wb-flow>div,
[data-theme="dark"] body[data-page="career-path"] .wb-choice,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace blockquote,
[data-theme="dark"] body[data-page="career-path"] .wb-order,
[data-theme="dark"] body[data-page="career-path"] .wb-table{color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-path"] .wb-intro p,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace .wb-hint,
[data-theme="dark"] body[data-page="career-path"] .wb-workspace .wb-result,
[data-theme="dark"] body[data-page="career-path"] .wb-row-index,
[data-theme="dark"] body[data-page="career-path"] .wb-row label,
[data-theme="dark"] body[data-page="career-path"] .wb-preview small,
[data-theme="dark"] body[data-page="career-path"] .wb-flow>div:not(:last-child):after{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace>summary,
[data-theme="dark"] body[data-page="career-path"] .wb-lab-feedback{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace{border-color:var(--dm-border);background:var(--dm-surface)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace[open]>summary{background:var(--dm-surface-2);border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace :is(input,textarea,select){background:var(--dm-surface-2);color:var(--dm-text);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace :is(input,textarea,select):focus{border-color:var(--dm-pink);outline-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace button,
[data-theme="dark"] body[data-page="career-path"] .wb-intro button{background:var(--dm-surface-2);color:var(--dm-text);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace button:hover:not(:disabled),
[data-theme="dark"] body[data-page="career-path"] .wb-intro button:hover{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="career-path"] .wb-row{border-color:var(--dm-border);background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="career-path"] .wb-preview{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-flow>div{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-flow>.wb-decision{background:rgba(224,180,90,.14);border-color:#c9a45c}
[data-theme="dark"] body[data-page="career-path"] .wb-board>div,
[data-theme="dark"] body[data-page="career-path"] .wb-canvas>div{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="career-path"] .wb-board p,
[data-theme="dark"] body[data-page="career-path"] .wb-canvas p{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="career-path"] .wb-prototype{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace fieldset{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-choice{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-choice:has(input:checked){border-color:var(--dm-pink);background:rgba(246,188,224,.12)}
[data-theme="dark"] body[data-page="career-path"] .wb-workspace blockquote{background:rgba(224,180,90,.14)}
[data-theme="dark"] body[data-page="career-path"] .wb-order{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-table td,
[data-theme="dark"] body[data-page="career-path"] .wb-table th{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-path"] .wb-clear-confirm{background:rgba(224,180,90,.12);border-color:var(--dm-border);color:var(--dm-text)}

/* =========================================================================
   career-fit.php (career-fit.css) — .fit-primary already pairs a fixed
   dark navy background with white text, unaffected by theme.
   ========================================================================= */
[data-theme="dark"] body[data-page="career-fit"] .fit-page{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-fit"] .fit-breadcrumb,
[data-theme="dark"] body[data-page="career-fit"] .fit-intro p,
[data-theme="dark"] body[data-page="career-fit"] .fit-guide p,
[data-theme="dark"] body[data-page="career-fit"] .fit-facts small,
[data-theme="dark"] body[data-page="career-fit"] .fit-step,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-header p,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-card p,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-card li,
[data-theme="dark"] body[data-page="career-fit"] .fit-method p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="career-fit"] .fit-compass>.icon,
[data-theme="dark"] body[data-page="career-fit"] .fit-compass span,
[data-theme="dark"] body[data-page="career-fit"] .fit-facts>span,
[data-theme="dark"] body[data-page="career-fit"] .fit-all-careers,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-meta,
[data-theme="dark"] body[data-page="career-fit"] .fit-career-en,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-card>a,
[data-theme="dark"] body[data-page="career-fit"] .fit-result-actions>a{color:var(--dm-pink)!important}
[data-theme="dark"] body[data-page="career-fit"] .fit-compass>.icon{background:rgba(255,255,255,.06);box-shadow:0 0 0 22px rgba(255,255,255,.04),0 0 0 44px rgba(255,255,255,.02)}
[data-theme="dark"] body[data-page="career-fit"] .fit-facts{border-block-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-fit"] .fit-panel{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-fit"] .fit-panel progress,
[data-theme="dark"] body[data-page="career-fit"] .fit-panel progress::-webkit-progress-bar{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="career-fit"] .fit-panel progress::-webkit-progress-value{background:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-fit"] .fit-option{border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-fit"] .fit-option:hover{background:var(--dm-surface-2);border-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-fit"] .fit-option:has(input:checked){background:rgba(246,188,224,.12);border-color:var(--dm-pink);box-shadow:inset 0 0 0 1px var(--dm-pink)}
[data-theme="dark"] body[data-page="career-fit"] .fit-letter{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-fit"] .fit-option:last-child{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="career-fit"] .fit-secondary{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="career-fit"] #fit-error{color:#f2ab97}
[data-theme="dark"] body[data-page="career-fit"] .fit-result-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="career-fit"] .fit-result-card:first-child{border-top-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="career-fit"] .fit-project,
[data-theme="dark"] body[data-page="career-fit"] .fit-method{background:var(--dm-surface-2)}

/* =========================================================================
   playground.php (playground.css) — --pg-ink is overridden here (unlike
   career-path/career-fit) because its only background use is .pg-primary,
   fixed back below; every other .pg-page descendant inherits it as plain
   text color, so this one var override fixes most of the page at once.
   .pg-hero and .pg-hero .pg-primary already use fixed dark/teal colors
   regardless of theme, so they're untouched.
   ========================================================================= */
[data-theme="dark"] body[data-page="playground"] .pg-page{--pg-ink:var(--dm-text);background:var(--dm-bg)}
[data-theme="dark"] body[data-page="playground"] .pg-workspace .pg-primary,
[data-theme="dark"] body[data-page="playground"] .pg-feedback .pg-primary{background:#132743;color:#fff}
[data-theme="dark"] body[data-page="playground"] .pg-section-head p,
[data-theme="dark"] body[data-page="playground"] .pg-module-top>span:last-child,
[data-theme="dark"] body[data-page="playground"] .pg-module small,
[data-theme="dark"] body[data-page="playground"] .pg-module p,
[data-theme="dark"] body[data-page="playground"] .pg-module-status,
[data-theme="dark"] body[data-page="playground"] .pg-text-button,
[data-theme="dark"] body[data-page="playground"] .pg-table-wrap caption,
[data-theme="dark"] body[data-page="playground"] .pg-hint,
[data-theme="dark"] body[data-page="playground"] .pg-fine,
[data-theme="dark"] body[data-page="playground"] .pg-source{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="playground"] .pg-section-head .pg-kicker,
[data-theme="dark"] body[data-page="playground"] .pg-work-head,
[data-theme="dark"] body[data-page="playground"] .pg-order li:before,
[data-theme="dark"] body[data-page="playground"] .pg-passport .pg-kicker,
[data-theme="dark"] body[data-page="playground"] .pg-next-links a,
[data-theme="dark"] body[data-page="playground"] .pg-source a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="playground"] .pg-module{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="playground"] .pg-module-icon{background:var(--dm-surface-2);color:#7fe0cf}
[data-theme="dark"] body[data-page="playground"] .pg-tone-1 .pg-module-icon{color:#8ab8f0}
[data-theme="dark"] body[data-page="playground"] .pg-tone-2 .pg-module-icon{color:#e0b96b}
[data-theme="dark"] body[data-page="playground"] .pg-launch{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="playground"] .pg-launch:hover{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="playground"] .pg-workspace{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="playground"] .pg-message{background:var(--dm-surface-2);border-left-color:var(--dm-pink);color:var(--dm-text)}
[data-theme="dark"] body[data-page="playground"] .pg-choice{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="playground"] .pg-choice:has(input:checked){background:rgba(246,188,224,.12);border-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="playground"] .pg-workspace #pg-error{color:#f2ab97}
[data-theme="dark"] body[data-page="playground"] .pg-feedback{background:rgba(224,180,90,.14);border-color:#c9a45c}
[data-theme="dark"] body[data-page="playground"] .pg-feedback.pg-correct{background:rgba(95,209,193,.14);border-color:#5fd1c1}
[data-theme="dark"] body[data-page="playground"] .pg-result-star{color:#5fd1c1}
[data-theme="dark"] body[data-page="playground"] .pg-table-wrap th,
[data-theme="dark"] body[data-page="playground"] .pg-table-wrap td{border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="playground"] .pg-table-wrap thead{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="playground"] .pg-order li{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="playground"] .pg-order button{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="playground"] .pg-passport{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="playground"] .pg-passport #pg-total{color:#5fd1c1}
[data-theme="dark"] body[data-page="playground"] .pg-next-links a{background:var(--dm-surface-2);border-color:var(--dm-border)}

/* =========================================================================
   campus-map.php (campus-map.css + campus-3d.css + campus-vector.css).
   .campus-map-hero is already dark-on-any-theme by design. The whole
   <dialog id="campus-map-dialog"> (the "enlarge map" modal) is deliberately
   EXEMPT: it's a self-contained document/paper viewer with its own dark
   header and light reading surface for the map image and directory copy,
   independent of site theme — like the embedded Google Maps iframe
   elsewhere. Every selector below is scoped (by #building-directory id,
   [data-map-group] attribute, or a main-page-only ancestor class) to avoid
   bleeding into the dialog's copy of the same shared .building-group /
   .vector-record-source / .vector-directory-note markup. The 3D view's
   floating toolbar/help chips over the WebGL canvas are also left as
   fixed opaque-white chips on purpose — they must stay legible against
   whatever the 3D scene renders, independent of page theme.
   ========================================================================= */
[data-theme="dark"] body[data-page="campus-map"] .campus-map-heading .mini-label,
[data-theme="dark"] body[data-page="campus-map"] .campus-experience-heading .mini-label,
[data-theme="dark"] body[data-page="campus-map"] .vector-verification .mini-label,
[data-theme="dark"] body[data-page="campus-map"] #building-directory .directory-head .mini-label{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .campus-map-view{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-map-heading>p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .map-source-note{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .map-source-note .icon{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-card{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-toolbar{border-bottom-color:var(--dm-border);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-toolbar b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-toolbar a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-legend{background:var(--dm-surface-2);border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .plan-key{border-color:var(--dm-border);background:var(--dm-surface);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-plan-legend .plan-key>span{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .vector-downloads a{background:var(--dm-surface-2);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .vector-original-link{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory{background:var(--dm-surface);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .directory-head input{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .directory-head label .icon{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .vector-directory-note{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .directory-tabs button{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-group{border-color:var(--dm-border);background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-group>header{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-group header small{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-group header>b{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-group li{border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .vector-record-source{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] #building-directory .building-empty{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .vector-verification{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .vector-verification p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .vector-source-grid article{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .vector-source-grid a{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .vector-pending{background:rgba(224,180,90,.14);border-color:#c9a45c}
[data-theme="dark"] body[data-page="campus-map"] .vector-pending h3,
[data-theme="dark"] body[data-page="campus-map"] .vector-pending li>b{color:#e0b96b}
[data-theme="dark"] body[data-page="campus-map"] .vector-pending li{border-top-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .vector-pending small{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .campus-experience{background:var(--dm-bg);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-experience-heading p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .campus-mode{border-color:var(--dm-border);background:var(--dm-surface)}
[data-theme="dark"] body[data-page="campus-map"] .campus-mode button{color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-note{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-layout{border-color:var(--dm-border);background:var(--dm-surface)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-stage{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-sidebar{border-left-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-sidebar input,
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-sidebar select{border-color:var(--dm-border);background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-sidebar>button{background:var(--dm-surface-2);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-selection{border-bottom-color:var(--dm-border)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-selection small{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-selection p{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] #campus-3d-count{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-result{background:var(--dm-surface);border-bottom-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="campus-map"] .campus-3d-result[aria-pressed=true]{background:rgba(246,188,224,.12);color:var(--dm-pink)}

/* =========================================================================
   index.php — "ระเบียบการแต่งกาย" (dress code) homepage section. --blush/
   --ink-2/--hairline are already dark-safe via the shared index root-token
   block above; only the hardcoded colors below need explicit overrides.
   The floating rotate/zoom tool chips stay fixed opaque-white on purpose,
   same reasoning as campus-3d's — they must read against the 3D scene,
   not the page theme.
   ========================================================================= */
[data-theme="dark"] body[data-page="index"] .dress-code{background:var(--dm-bg)}
[data-theme="dark"] body[data-page="index"] .dress-code-photos{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="index"] .dc-tab{background:var(--dm-surface-2);color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .dc-tab:hover{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="index"] .dc-tab.active{background:var(--dm-pink);color:#1b0a12}
[data-theme="dark"] body[data-page="index"] .dress-code-note{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .dress-code-tag{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="index"] .dress-code-list dt{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .dress-code-list>div,[data-theme="dark"] body[data-page="index"] .dress-code-guide article{background:var(--dm-surface);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="index"] .dress-code-list>div.active,[data-theme="dark"] body[data-page="index"] .dress-code-list>div:hover,[data-theme="dark"] body[data-page="index"] .dress-code-list>div:focus-visible{background:var(--dm-surface-2);border-color:rgba(255,112,181,.38)}
[data-theme="dark"] body[data-page="index"] .dress-code-list dd,[data-theme="dark"] body[data-page="index"] .dress-code-guide p,[data-theme="dark"] body[data-page="index"] .dress-code-visual-caption{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .dress-code-guide b{color:var(--dm-text)}
[data-theme="dark"] body[data-page="index"] .dress-field-icon{background:rgba(255,255,255,.08);color:#8fc1ea}
[data-theme="dark"] body[data-page="index"] .dc-tab>span{background:rgba(255,255,255,.09);color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="index"] .dress-code-status{color:#7fd3a4}

@media(prefers-reduced-motion:no-preference){
  body,.site-header,.hero-news,.quick-card,.faq-card,.news-card{transition:background-color .25s ease,color .25s ease,border-color .25s ease}
}
[data-theme="dark"] .ai-message.bot .ai-inline-link{color:var(--dm-pink)}
[data-theme="dark"] .ai-handoff{border-top-color:rgba(255,255,255,.16)}
[data-theme="dark"] .ai-handoff.sent{color:#7fd3a4}
[data-theme="dark"] .ai-handoff-open{background:transparent;border-color:var(--dm-pink);color:var(--dm-pink)}
[data-theme="dark"] .ai-handoff-open:hover{background:rgba(255,255,255,.07)}
[data-theme="dark"] .ai-handoff-form button{background:var(--dm-pink);color:#2a0f20}
[data-theme="dark"] .ai-handoff-form input,[data-theme="dark"] .ai-handoff-form textarea{background:var(--dm-surface-2,#1d2430);border-color:rgba(255,255,255,.22);color:var(--dm-text,#e8edf4)}
[data-theme="dark"] .ai-handoff-form input::placeholder,[data-theme="dark"] .ai-handoff-form textarea::placeholder{color:var(--dm-text-muted,#9fb0c2)}
[data-theme="dark"] .ai-handoff-status{color:#ff9d94}

/* Newsletter page (newsletter.php) */
[data-theme="dark"] body[data-page="newsletter"] .newsletter-form{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="newsletter"] .newsletter-form input{border-bottom-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] .newsletter-copy h2,[data-theme="dark"] .newsletter-steps span{color:var(--dm-text)}
[data-theme="dark"] .newsletter-steps b{background:rgba(255,255,255,.08);color:var(--dm-text)}
[data-theme="dark"] .newsletter-privacy{border-top-color:var(--dm-border)}

/* =========================================================================
   arcade.php (arcade.css) — --ar-* tokens drive most colours, so the page
   is re-themed by overriding them; the hero and flashcard front stay navy.
   ========================================================================= */
[data-theme="dark"] body[data-page="arcade"] .ar-page{--ar-ink:var(--dm-text);--ar-muted:var(--dm-text-muted);--ar-line:var(--dm-border);--ar-surface:var(--dm-surface);--ar-soft:var(--dm-surface-2);background:var(--dm-bg)}
[data-theme="dark"] body[data-page="arcade"] .ar-kicker{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="arcade"] .ar-hero .ar-kicker{color:#72e3d0}
[data-theme="dark"] body[data-page="arcade"] .ar-primary{background:#72e3d0;color:#102c46}
[data-theme="dark"] body[data-page="arcade"] .ar-ghost{color:var(--dm-text);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="arcade"] .ar-ghost:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] body[data-page="arcade"] .ar-text{color:var(--dm-pink)}
[data-theme="dark"] body[data-page="arcade"] .ar-switch a{box-shadow:none}
[data-theme="dark"] body[data-page="arcade"] .ar-switch .ar-game-tile{color:#fff}
[data-theme="dark"] body[data-page="arcade"] .ar-cat{background:rgba(255,255,255,.08);color:var(--dm-text)}
[data-theme="dark"] body[data-page="arcade"] .ar-cat-business{background:rgba(138,184,240,.18);color:#8ab8f0}
[data-theme="dark"] body[data-page="arcade"] .ar-cat-data{background:rgba(114,227,208,.18);color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-cat-security{background:rgba(251,146,60,.18);color:#fdba74}
[data-theme="dark"] body[data-page="arcade"] .ar-cat-systems{background:rgba(167,139,250,.18);color:#c4b5fd}
[data-theme="dark"] body[data-page="arcade"] .ar-cat-dbis{background:rgba(224,185,107,.18);color:#e0b96b}
[data-theme="dark"] body[data-page="arcade"] .ar-stage,[data-theme="dark"] body[data-page="arcade"] .ar-deck,[data-theme="dark"] body[data-page="arcade"] .ar-pw-lab{box-shadow:none}
[data-theme="dark"] body[data-page="arcade"] .ar-rules b{color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-timer{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="arcade"] .ar-option{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="arcade"] .ar-option:hover:not(:disabled){background:rgba(255,255,255,.06);border-color:var(--dm-pink)}
[data-theme="dark"] body[data-page="arcade"] .ar-option kbd{background:rgba(255,255,255,.1);color:var(--dm-text)}
[data-theme="dark"] body[data-page="arcade"] .ar-option.is-correct{background:rgba(95,209,193,.16);border-color:#5fd1c1}
[data-theme="dark"] body[data-page="arcade"] .ar-option.is-wrong{background:rgba(242,171,151,.16);border-color:#f2ab97}
[data-theme="dark"] body[data-page="arcade"] .ar-feedback{background:rgba(224,180,90,.14);border-color:#c9a45c}
[data-theme="dark"] body[data-page="arcade"] .is-correct .ar-feedback{background:rgba(95,209,193,.14);border-color:#5fd1c1}
[data-theme="dark"] body[data-page="arcade"] .ar-feedback-label{color:#e0b96b}
[data-theme="dark"] body[data-page="arcade"] .ar-feedback-head span,[data-theme="dark"] body[data-page="arcade"] .ar-result-score strong,[data-theme="dark"] body[data-page="arcade"] .ar-result-best,[data-theme="dark"] body[data-page="arcade"] .ar-board-score,[data-theme="dark"] body[data-page="arcade"] .ar-submit-status,[data-theme="dark"] body[data-page="arcade"] .ar-tip b,[data-theme="dark"] body[data-page="arcade"] .ar-card-back em,[data-theme="dark"] body[data-page="arcade"] .ar-deck-done{color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-error{color:#f2ab97}
[data-theme="dark"] body[data-page="arcade"] .ar-submit input,[data-theme="dark"] body[data-page="arcade"] .ar-deck-filter select,[data-theme="dark"] body[data-page="arcade"] .ar-pw-field input{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] body[data-page="arcade"] .ar-board-tabs{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="arcade"] .ar-board-tabs button[aria-selected="true"]{background:var(--dm-surface);color:var(--dm-text)}
[data-theme="dark"] body[data-page="arcade"] .ar-board-list li:nth-child(-n+3){background:rgba(224,185,107,.12)}
[data-theme="dark"] body[data-page="arcade"] .ar-card-back{background:var(--dm-surface-2);border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="arcade"] .ar-card-example{color:var(--dm-text);background:rgba(255,255,255,.05)}
[data-theme="dark"] body[data-page="arcade"] .ar-card-example b{color:#e0b96b}
[data-theme="dark"] body[data-page="arcade"] .ar-deck-done{background:rgba(95,209,193,.12)}
[data-theme="dark"] body[data-page="arcade"] .ar-term-day{background:var(--dm-surface);border-color:rgba(224,185,107,.4)}
[data-theme="dark"] body[data-page="arcade"] .ar-term-day .ar-kicker{color:#e0b96b}
[data-theme="dark"] body[data-page="arcade"] .ar-known-list li{background:rgba(114,227,208,.16);color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-pw-meter{background:var(--dm-surface-2)}
[data-theme="dark"] body[data-page="arcade"] .ar-pw-checks li span{border-color:var(--dm-border)}
[data-theme="dark"] body[data-page="arcade"] .ar-pw-flags{color:#fdba74}
[data-theme="dark"] body[data-page="arcade"] .ar-pw-flags.is-good{color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-pw-badge{background:rgba(95,209,193,.14);border-color:#5fd1c1;color:#7fe0cf}
[data-theme="dark"] body[data-page="arcade"] .ar-source{color:var(--dm-text-muted)}
[data-theme="dark"] body[data-page="arcade"] .ar-next{background:var(--dm-surface)}
[data-theme="dark"] body[data-page="arcade"] .ar-next-links a{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-pink)}
[data-theme="dark"] body[data-page="index"] .home-arcade-cat{background:rgba(17,48,76,.1)}
