/* PPW SHARED THEME — Cardinal Gold + Red edition */

/* LIGHT MODE = the site's original appearance, with a subtle shared Cardinal/Gold accent layer. */
html.light-mode body,body.light-mode{background:initial;color:initial}

/* ---------- SHARED CARDINAL + GOLD ACCENTS ---------- */
:root{
  --ppw-cardinal:#8f1d2c;
  --ppw-cardinal-dark:#681421;
  --ppw-gold:#f2a900;
  --ppw-gold-light:#ffc84a;
}

/* Keep the original website mostly intact, but give major interactive elements the PPW colors. */
body :where(.section-links a,.section-links a span,.ppw-article-tags a,.badge){
  border-color:rgba(143,29,44,.28);
}
body :where(.section-links a:hover,.ppw-article-tags a:hover){
  border-color:var(--ppw-gold)!important;
}

/* ---------- THEME TRANSITION ---------- */
html.ppw-theme-going-dark::after,
html.ppw-theme-going-light::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  transform-origin:var(--ppw-theme-x,50%) var(--ppw-theme-y,50%);
  transform:scale(.02);
  opacity:.98;
  animation:ppwThemeReveal .7s cubic-bezier(.2,.75,.2,1) forwards;
}
html.ppw-theme-going-dark::after{background:radial-gradient(circle at var(--ppw-theme-x,50%) var(--ppw-theme-y,50%),#07080a 0%,#07080a 48%,#681421 61%,#f2a900 67%,transparent 74%)}
html.ppw-theme-going-light::after{background:radial-gradient(circle at var(--ppw-theme-x,50%) var(--ppw-theme-y,50%),#fff 0%,#fff 48%,#ffc84a 61%,#8f1d2c 67%,transparent 74%)}
@keyframes ppwThemeReveal{
  0%{opacity:.98;transform:scale(.02)}
  45%{opacity:.94;transform:scale(1.15)}
  78%{opacity:.58;transform:scale(1.85)}
  100%{opacity:0;transform:scale(2.4)}
}

/* ---------- PAGE-TO-PAGE LOADER ---------- */
html.dark-mode .ppw-loader,
html.dark-mode .ppw-loader::before,
html.dark-mode .ppw-loader::after{background:#07080a!important}
html.dark-mode .ppw-loader::before{background:radial-gradient(circle at 50% 42%,rgba(30,33,38,.95),rgba(10,12,15,.98) 52%,#07080a 100%)!important}
html.dark-mode .ppw-loader::after{background:linear-gradient(90deg,transparent 0%,rgba(242,169,0,.08) 35%,rgba(143,29,44,.10) 65%,transparent 100%)!important}
html.dark-mode .ppw-loader-title strong,
html.dark-mode .ppw-loader-school{color:#f5f5f5!important}
html.dark-mode .ppw-loader-title span{color:#ffb5c0!important}
html.dark-mode .ppw-loader-logo-wrap{background:rgba(18,21,25,.9)!important;border-color:#f2a900!important;box-shadow:0 20px 55px rgba(0,0,0,.45),inset 0 0 0 8px rgba(242,169,0,.10)!important}
html.dark-mode .ppw-loader-rule{background:rgba(255,255,255,.10)!important}
html.dark-mode .ppw-loader-bg-ring{border-color:rgba(255,255,255,.08)!important}
html.dark-mode .ppw-loader-bg-ring::after{border-color:rgba(242,169,0,.14)!important}

/* ---------- SHARED TOGGLE ---------- */
.ppw-page-theme-toggle{
  position:fixed!important;right:22px!important;bottom:22px!important;z-index:2147482999!important;
  min-width:132px!important;height:42px!important;padding:0 16px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #8f1d2c!important;border-radius:999px!important;background:#8f1d2c!important;color:#fff!important;
  font:700 13px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18),0 0 0 1px rgba(242,169,0,.15)!important;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease!important;
}
.ppw-page-theme-toggle:hover{transform:translateY(-2px)!important;background:#681421!important;border-color:#f2a900!important;box-shadow:0 12px 28px rgba(0,0,0,.24),0 0 18px rgba(242,169,0,.18)!important}
.ppw-page-theme-toggle:active{transform:translateY(0)!important}
html.dark-mode .ppw-page-theme-toggle{background:#f2a900!important;color:#17120a!important;border-color:#ffc84a!important}
html.dark-mode .ppw-page-theme-toggle:hover{background:#ffc84a!important;border-color:#8f1d2c!important}

/* ---------- ACTUAL DARK MODE ---------- */
html.dark-mode body,body.dark-mode{background:#07080a!important;color:#f5f5f5!important}
html.dark-mode body :where(
  main,section,article,aside,form,.section,.category-section,.school-layout,.life-layout,.sports-layout,
  .perspective-layout,.world-layout,.features-layout,.media-layout,.editorial-layout,.more-sections,.about-section,
  .story-card,.featured-card,.featured-card a,.life-card,.sports-card,.feature-card,.media-card,.editorial-card,
  .staff-card,.loading-card,.empty-card,.ppw-search-wrap,.ppw-week-card,.ppw-related-card,.ppw-list-card,
  .ppw-poll-card,.poll-card,.content-card,.article-card,.article-container,.article-header,.article-body,
  .article-content,.article-gallery,.related-card,.game-panel,.game-stats div,.weekly-challenge,.games-note,
  .auth-screen,.auth-card,.editor-panel,.articles-panel,.article-item,.permission-notice,.modal-content,.dropdown-menu
){background-color:#121519!important;color:#f5f5f5!important;border-color:#30343b!important}
html.dark-mode body :where(
  .story-card,.featured-card a,.life-card,.sports-card,.feature-card,.media-card,.editorial-card,.staff-card,
  .loading-card,.empty-card,.ppw-search-wrap,.ppw-week-card,.ppw-related-card,.ppw-list-card,.ppw-poll-card,
  .poll-card,.content-card,.article-card,.article-container,.article-item,.game-panel,.game-stats div,.auth-card,
  .editor-panel,.articles-panel
){background-color:#171a1f!important}

/* Gold/red details make dark mode feel like the actual PPW brand instead of plain black/gray. */
html.dark-mode body :where(h1,h2,h3,h4,h5,h6){color:#ffc84a!important}
html.dark-mode body :where(strong,b){color:#f2a900!important}
html.dark-mode body :where(a:not(.ppw-page-theme-toggle)){color:#ffb5c0}
html.dark-mode body :where(a:not(.ppw-page-theme-toggle):hover){color:#ffc84a!important}
html.dark-mode body :where(.story-card,.featured-card,.life-card,.sports-card,.feature-card,.media-card,.editorial-card,.staff-card,.game-panel,.article-card,.content-card){border-top:2px solid rgba(143,29,44,.65)!important}
html.dark-mode body :where(.section-links a,.ppw-article-tags a,.badge,.ppw-reading-time,.ppw-article-nav a){border-color:rgba(242,169,0,.28)!important}
html.dark-mode body :where(.section-links a:hover,.ppw-article-tags a:hover,.ppw-article-nav a:hover){border-color:#f2a900!important;box-shadow:0 0 14px rgba(242,169,0,.10)!important}
html.dark-mode body :where(.head-note,.meta,.muted,.help,.hero-description,.story-body p,.article-item p,.game-message,
  .games-hero p,.game-heading p,.ppw-search-wrap p,.ppw-week-card small,.ppw-related-card small,.games-note span){color:#b8bec7!important}
html.dark-mode body :where(.site-header,#mainNav,.games-header,.admin-header){background:#0d1014!important;color:#fff!important;border-color:#681421!important;box-shadow:0 2px 0 rgba(242,169,0,.12)!important}
html.dark-mode body :where(#mainNav a,.games-nav nav a,nav a,.brand,.games-brand){color:#fff!important}
html.dark-mode body :where(#mainNav a:hover,.games-nav nav a:hover,nav a:hover){color:#ffc84a!important}
html.dark-mode body :where(.site-footer,footer){background:#030405!important;color:#fff!important;border-color:#681421!important}
html.dark-mode body .welcome-strip{background:#681421!important;color:#fff!important;border-bottom:2px solid #f2a900!important}
html.dark-mode body .feature-band{background:#050608!important;color:#fff!important;border-top:1px solid rgba(242,169,0,.18)!important}
html.dark-mode body .ppw-games-card{background:#21181a!important;color:#fff!important;border-color:#8f1d2c!important;box-shadow:inset 0 2px 0 #f2a900!important}
html.dark-mode body .ppw-games-card p{color:#d9d0d0!important}
html.dark-mode body .ppw-week-strip{background:#b77d00!important;color:#111!important;border-bottom:2px solid #681421!important}
html.dark-mode body :where(input,textarea,select){background:#0d1014!important;color:#fff!important;border-color:#3a4049!important}
html.dark-mode body :where(input,textarea,select):focus{border-color:#f2a900!important;box-shadow:0 0 0 2px rgba(242,169,0,.12)!important}
html.dark-mode body :where(input,textarea)::placeholder{color:#858c96!important}
html.dark-mode body :where(.secondary-btn,.small-btn,.secondary-button,.small-button){background:#1c2026!important;color:#fff!important;border-color:#8f1d2c!important}
html.dark-mode body :where(.secondary-btn:hover,.small-btn:hover,.secondary-button:hover,.small-button:hover){border-color:#f2a900!important;color:#ffc84a!important}
html.dark-mode body :where(.back-to-ppw){background:#171a1f!important;color:#fff!important;border-color:#8f1d2c!important}
html.dark-mode body :where(.key){background:#30353d!important;color:#fff!important;border-color:#f2a900!important}
html.dark-mode body :where(.word-cell,.cw-cell){background:#171a1f!important;color:#fff!important;border-color:#454b55!important}
html.dark-mode body :where(.cw-input){color:#fff!important;background:#171a1f!important}
html.dark-mode body :where(.section-links a,.section-links a span){background:#171a1f!important;color:#fff!important}
html.dark-mode body :where(.ppw-article-tags a){background:#171a1f!important;color:#fff!important;border-color:#30343b!important}
html.dark-mode body :where(.ppw-reading-time,.ppw-article-nav a,.ppw-newsroom-stats>div){background:#20252c!important;color:#fff!important}
html.dark-mode body .story-placeholder{background:#20252c!important;color:#fff!important}
html.dark-mode body :where(.badge){background:#22272e!important;color:#fff!important}
html.dark-mode body :where(.empty-state){color:#aeb5bf!important}
html.dark-mode body :where(.ppw-spacer-btn){background:#1c2026!important;color:#ffb5c0!important;border-color:#681421!important}
html.dark-mode body :where(.games-page){color:#f5f5f5!important}
html.dark-mode body :where(.game-date){color:#b8bec7!important}
html.dark-mode body :where(.memory-card.flipped,.memory-card.matched){background:#342817!important;border-color:#f2a900!important}
html.dark-mode body :where(.games-note){background:#08090b!important;border-left:3px solid #8f1d2c!important}
html.dark-mode body img{filter:none!important}

@media(max-width:600px){.ppw-page-theme-toggle{right:14px!important;bottom:14px!important;min-width:118px!important;height:40px!important;padding:0 13px!important;font-size:12px!important}}
@media(prefers-reduced-motion:reduce){
  html.ppw-theme-going-dark::after,html.ppw-theme-going-light::after{animation:none!important;opacity:0!important}
  .ppw-page-theme-toggle{transition:none!important}
}
