@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,500&display=swap');

:root{
  --font-title:'Source Serif 4',Georgia,serif !important;
  --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  --font-prose:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

/* ---------- TYPOGRAPHY ----------
   Headings keep the site's literary/fantasy character.
   Everything meant to be read for more than a few seconds uses Inter. */
body{
  font-family:var(--font-sans) !important;
  font-size:18px;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6,
.hero-title,.section-title,.archive-title,.review-title,.entry-card-title,
.loader-title,.review-author{
  font-family:var(--font-title) !important;
}

.nav-links a,.dropdown-link,.section-tag,.review-genre,.review-date,.review-link,
.entry-card-meta,.entry-card-link,.archive-breadcrumb,.archive-genre-label,
.fiction-tab,.fiction-nav-parent-label,.btn,.footer-copy,.meta-label,
.review-search,.review-sort,.review-result-count{
  font-family:var(--font-sans) !important;
}

/* Readable site copy */
.about-text p,
.world-text,
.review-excerpt,
.fiction-desc,
.irl-post-body,
.archive-desc,
.entry-card-excerpt,
.page-body p,
.page-body li,
.section-desc{
  font-family:var(--font-prose) !important;
  font-size:clamp(19px,1.35vw,22px) !important;
  line-height:1.78 !important;
  letter-spacing:-0.01em;
}

.page-body{
  font-family:var(--font-prose) !important;
  font-size:21px !important;
  line-height:1.82 !important;
}

.page-body p{
  max-width:72ch;
  margin-bottom:1.35em;
}

.hero-title{
  font-family:var(--font-title) !important;
  font-size:clamp(58px,7vw,108px) !important;
  font-weight:600 !important;
  line-height:.96 !important;
  letter-spacing:-1.7px !important;
}

.section-title,.archive-title{
  font-family:var(--font-title) !important;
  font-size:clamp(40px,4.5vw,64px) !important;
  font-weight:600 !important;
  line-height:1.02 !important;
  letter-spacing:-.8px !important;
}

.review-title{
  font-family:var(--font-title) !important;
  font-size:clamp(42px,5.5vw,76px) !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:-.8px !important;
}

.entry-card-title{
  font-family:var(--font-title) !important;
  font-size:clamp(28px,2.3vw,36px) !important;
  font-weight:600 !important;
  line-height:1.12 !important;
}

.review-author,.entry-card-author{
  font-size:20px !important;
}

.section-desc,.archive-desc{
  font-size:20px !important;
  line-height:1.7 !important;
}

.nav-links a{
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:1.35px !important;
}

.dropdown-link{
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:1.15px !important;
}

.btn{
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:1.6px !important;
  padding:15px 28px !important;
}

/* ---------- NAV / BRAND ----------
   Make the RMÖ d20 mark unmistakable rather than a tiny icon. */
nav{
  min-height:86px;
}

.nav-logo{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:74px;
  height:74px;
  flex:0 0 74px;
  font-size:0 !important;
  text-decoration:none;
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 46%,rgba(224,162,75,.12),transparent 62%);
  transition:background .25s ease,transform .25s ease;
}

.nav-logo img{
  display:block !important;
  width:68px !important;
  height:68px !important;
  object-fit:contain;
  opacity:1 !important;
  visibility:visible !important;
  filter:
    drop-shadow(0 0 8px rgba(224,162,75,.2))
    drop-shadow(0 0 18px rgba(184,50,50,.08));
  transition:transform .25s ease,filter .25s ease;
}

.nav-logo:hover{
  background:radial-gradient(circle at 50% 46%,rgba(224,162,75,.2),transparent 66%);
  transform:translateY(-1px);
}

.nav-logo:hover img{
  transform:scale(1.06);
  filter:
    drop-shadow(0 0 10px rgba(224,162,75,.35))
    drop-shadow(0 0 24px rgba(123,111,232,.12));
}

/* ---------- CARDS / READING SURFACES ---------- */
.entry-card{
  border:1px solid rgba(220,150,150,.08) !important;
  transition:transform .22s ease,background .3s,border-color .3s !important;
}

.entry-card:hover{
  transform:translateY(-4px);
  border-color:var(--border-hi) !important;
}

.review-card,
.entry-card,
.irl-post{
  backdrop-filter:blur(8px);
}

.entry-card-excerpt,.review-excerpt{
  color:rgba(221,218,232,.78) !important;
}

/* ---------- REVIEW ARCHIVE TOOLS ---------- */
.review-tools{
  max-width:1160px;
  margin:0 auto 32px;
  padding:0 40px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:14px;
  align-items:center;
}

.review-search,.review-sort{
  min-height:50px;
  border:1px solid var(--border-hi);
  background:rgba(10,11,18,.88);
  color:var(--white);
  font-size:14px !important;
  outline:none;
  transition:border-color .2s,background .2s;
}

.review-search{
  width:100%;
  padding:0 17px;
}

.review-sort{
  padding:0 40px 0 15px;
  cursor:pointer;
}

.review-search:focus,.review-sort:focus{
  border-color:var(--red-bright);
  background:rgba(17,19,32,.98);
}

.review-search::placeholder{
  color:var(--muted);
}

.review-result-count{
  grid-column:1/-1;
  font-size:12px !important;
  font-weight:600;
  line-height:1.4;
  letter-spacing:1.2px;
  color:var(--muted);
  text-transform:uppercase;
}

.entry-card[hidden]{
  display:none !important;
}

.review-empty{
  display:none;
  max-width:1160px;
  margin:24px auto;
  padding:40px;
  text-align:center;
  font:500 20px/1.6 var(--font-sans);
  color:var(--muted);
  border:1px solid var(--border);
  background:rgba(10,11,18,.76);
}

.review-empty.show{
  display:block;
}

/* ---------- ACCESSIBILITY ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

@media(max-width:900px){
  nav{
    min-height:74px;
  }

  .nav-logo{
    width:58px;
    height:58px;
    flex-basis:58px;
  }

  .nav-logo img{
    width:54px !important;
    height:54px !important;
  }

  .nav-links a{
    font-size:12px !important;
  }
}

@media(max-width:768px){
  .about-text p,
  .world-text,
  .review-excerpt,
  .fiction-desc,
  .irl-post-body,
  .archive-desc,
  .entry-card-excerpt,
  .page-body p,
  .page-body li,
  .section-desc{
    font-size:18px !important;
    line-height:1.72 !important;
  }

  .section-title,.archive-title{
    font-size:clamp(34px,9vw,50px) !important;
  }

  .review-title{
    font-size:clamp(38px,10vw,56px) !important;
  }

  .review-tools{
    padding:0 20px;
    grid-template-columns:1fr;
    margin-bottom:22px;
  }

  .review-sort{
    width:100%;
  }
}


/* ---------- HOMEPAGE DENSITY PASS ----------
   Reviews and IRL have less content than the larger archive sections,
   so keep them intentionally tighter and more editorial. */

/* Recent Reviews */
#reviews .section-inner{
  padding-top:72px !important;
}

#reviews .section-header{
  margin-bottom:36px !important;
}

#reviews .fiction-nav-wrap{
  margin-bottom:0 !important;
}

#reviews .fiction-hero{
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr) !important;
}

#reviews .fiction-hero-main{
  padding:46px 52px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

#reviews .fiction-title{
  margin-bottom:14px !important;
}

#reviews .fiction-excerpt{
  margin-bottom:20px !important;
  line-height:1.7 !important;
}

#reviews .fiction-meta-row{
  margin-top:6px !important;
  align-items:center;
}

/* Make the featured rating an actual visual element instead of tiny metadata. */
#reviews .fiction-meta-row .fiction-meta:last-child{
  font-size:19px !important;
  line-height:1 !important;
  letter-spacing:3px !important;
  color:#E8A330 !important;
  text-shadow:0 0 12px rgba(232,163,48,.18);
}

#reviews .sidebar-header{
  padding:17px 26px !important;
  font-size:10px !important;
}

#reviews .fiction-item{
  padding:14px 26px !important;
  gap:13px !important;
}

#reviews .fiction-item-num{
  font-size:24px !important;
}

#reviews .fiction-item-title{
  font-size:19px !important;
  margin:2px 0 4px !important;
}

/* Sidebar author/rating line is intentionally larger so the stars read clearly. */
#reviews .fiction-item-sub{
  font-size:11px !important;
  line-height:1.45 !important;
  letter-spacing:1.2px !important;
  color:rgba(221,218,232,.58) !important;
}

/* Legacy review-card stars, if this component is used again on the homepage. */
#reviews .review-stars{
  gap:5px !important;
  margin-top:16px !important;
}

#reviews .star{
  width:20px !important;
  height:20px !important;
}

/* IRL */
#irl{
  padding:58px 40px !important;
}

#irl .irl-layout{
  max-width:1160px;
  margin:0 auto;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr) !important;
  gap:1px;
  border:1px solid var(--border);
  background:var(--border);
}

#irl .irl-aside,
#irl .irl-posts{
  background:rgba(11,12,20,.92);
}

#irl .irl-aside{
  padding:48px 44px !important;
  justify-content:flex-start !important;
  border-right:none !important;
}

#irl .irl-aside-title{
  font-size:clamp(34px,3.5vw,50px) !important;
  margin-bottom:14px !important;
}

#irl .irl-aside-desc{
  font-family:var(--font-sans) !important;
  font-size:18px !important;
  line-height:1.7 !important;
  margin-bottom:22px !important;
  max-width:430px !important;
}

#irl .irl-aside-rule{
  margin-bottom:18px !important;
}

#irl .irl-aside-note{
  font-size:16px !important;
  line-height:1.6 !important;
  max-width:430px;
}

#irl .irl-posts{
  justify-content:center;
}

#irl .irl-post{
  padding:46px 48px !important;
  border-bottom:none !important;
}

#irl .irl-post-title{
  font-size:clamp(30px,3vw,42px) !important;
  margin-bottom:14px !important;
}

#irl .irl-post-body{
  font-size:19px !important;
  line-height:1.7 !important;
  max-width:680px !important;
  margin-bottom:22px !important;
}

#irl .irl-post-link{
  font-size:11px !important;
  letter-spacing:2px !important;
}

@media(max-width:900px){
  #reviews .fiction-hero{
    grid-template-columns:1fr !important;
  }

  #reviews .fiction-hero-main{
    padding:40px 32px !important;
  }

  #irl{
    padding:40px 20px !important;
  }

  #irl .irl-layout{
    grid-template-columns:1fr !important;
  }

  #irl .irl-aside{
    padding:38px 32px !important;
  }

  #irl .irl-post{
    padding:38px 32px !important;
  }
}

@media(max-width:600px){
  #reviews .section-inner{
    padding-top:56px !important;
  }

  #reviews .fiction-meta-row .fiction-meta:last-child{
    font-size:17px !important;
  }

  #reviews .fiction-item{
    padding:13px 20px !important;
  }

  #irl{
    padding:28px 14px !important;
  }

  #irl .irl-aside,
  #irl .irl-post{
    padding:30px 24px !important;
  }
}


/* ---------- RECENT REVIEWS: tighter + stronger rating ---------- */
#reviews .fiction-hero{
  min-height:0 !important;
  align-items:stretch !important;
}

#reviews .fiction-hero-main{
  padding:30px 38px !important;
  justify-content:flex-start !important;
}

#reviews .fiction-coming-label{
  margin-bottom:8px !important;
}

#reviews .fiction-title{
  font-size:clamp(34px,3.4vw,52px) !important;
  margin-bottom:10px !important;
}

#reviews .fiction-excerpt{
  font-size:18px !important;
  line-height:1.55 !important;
  max-width:620px !important;
  margin-bottom:14px !important;
  padding-left:16px !important;
}

#reviews .fiction-meta-row{
  margin-top:0 !important;
  gap:10px !important;
}

/* Featured stars */
#reviews .fiction-meta-row .fiction-meta:last-child{
  font-size:27px !important;
  line-height:1 !important;
  letter-spacing:4px !important;
  color:#E8A330 !important;
  text-shadow:0 0 14px rgba(232,163,48,.25);
  transform:translateY(-1px);
}

#reviews .fiction-hero-main > div[style*="margin-top:20px"]{
  margin-top:14px !important;
}

/* Right-side list */
#reviews .sidebar-header{
  padding:11px 20px !important;
}

#reviews .fiction-item{
  padding:9px 20px !important;
  min-height:0 !important;
}

#reviews .fiction-item-num{
  font-size:21px !important;
}

#reviews .fiction-item-title{
  font-size:17px !important;
  line-height:1.15 !important;
  margin:0 0 2px !important;
}

#reviews .fiction-item-sub{
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.9px !important;
}

/* Make sidebar star glyphs read more clearly without blowing up author text */
#reviews .fiction-item-sub{
  word-spacing:1px;
}

#reviews .fiction-item-sub::first-letter{
  letter-spacing:0;
}

/* Pull the next section upward by reducing excess bottom air */
#reviews{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

#reviews .rv-panel.active{
  margin-bottom:0 !important;
}

@media(max-width:900px){
  #reviews .fiction-hero-main{
    padding:30px 26px !important;
  }

  #reviews .fiction-meta-row .fiction-meta:last-child{
    font-size:23px !important;
  }

  #reviews .fiction-item{
    padding:11px 20px !important;
  }
}


/* ---------- RECENT REVIEWS: width correction ----------
   Keep the original vertical breathing room. Reduce horizontal dead space
   by bringing the review-list column further left. */
#reviews .fiction-hero{
  grid-template-columns:minmax(0,1fr) minmax(420px,1fr) !important;
  min-height:initial !important;
}

/* Restore the original vertical proportions */
#reviews .fiction-hero-main{
  padding:72px 60px !important;
  justify-content:initial !important;
}

#reviews .fiction-coming-label{
  margin-bottom:initial !important;
}

#reviews .fiction-title{
  font-size:clamp(24px,3.5vw,46px) !important;
  margin-bottom:22px !important;
}

#reviews .fiction-excerpt{
  font-size:19px !important;
  line-height:1.9 !important;
  max-width:680px !important;
  margin-bottom:32px !important;
  padding-left:20px !important;
}

#reviews .fiction-meta-row{
  margin-top:12px !important;
  gap:12px !important;
}

/* Keep the rating visually prominent */
#reviews .fiction-meta-row .fiction-meta:last-child{
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:4px !important;
  color:#E8A330 !important;
  text-shadow:0 0 14px rgba(232,163,48,.25);
}

#reviews .fiction-hero-main > div[style*="margin-top:20px"]{
  margin-top:20px !important;
}

/* Restore the sidebar's original vertical spacing */
#reviews .sidebar-header{
  padding:24px 32px !important;
  font-size:9px !important;
}

#reviews .fiction-item{
  padding:20px 32px !important;
  gap:16px !important;
  min-height:initial !important;
}

#reviews .fiction-item-num{
  font-size:28px !important;
}

#reviews .fiction-item-title{
  font-size:18px !important;
  line-height:1.2 !important;
  margin:5px 0 3px !important;
}

#reviews .fiction-item-sub{
  font-size:10px !important;
  line-height:1.35 !important;
  letter-spacing:1px !important;
}

/* Make star ratings on the right easier to read too */
#reviews .fiction-item-sub{
  color:rgba(221,218,232,.62) !important;
}

@media(max-width:1100px){
  #reviews .fiction-hero{
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important;
  }
}

@media(max-width:900px){
  #reviews .fiction-hero{
    grid-template-columns:1fr !important;
  }

  #reviews .fiction-hero-main{
    padding:52px 32px !important;
  }

  #reviews .fiction-meta-row .fiction-meta:last-child{
    font-size:24px !important;
  }
}


/* ---------- PAINTED MINIATURES HOMEPAGE ---------- */
.mini-nav-dropdown{min-width:270px !important;max-height:70vh;overflow:auto;}

.mini-home-section{
  position:relative;
  z-index:10;
  background:linear-gradient(180deg,rgba(8,9,13,.72),rgba(9,10,18,.92));
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.mini-home-inner{padding-top:86px !important;padding-bottom:86px !important;}
.mini-home-header{margin-bottom:42px !important;}

.mini-home-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}

.mini-home-feature,
.mini-home-group{
  background:rgba(10,11,18,.94);
}

.mini-home-feature{
  padding:58px 54px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.mini-home-kicker,
.mini-home-group-label{
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.mini-home-kicker{color:var(--red-bright);margin-bottom:16px;}

.mini-home-feature h3{
  font-family:var(--font-title);
  font-size:clamp(32px,3.4vw,50px);
  line-height:1;
  font-weight:600;
  margin-bottom:16px;
}

.mini-home-feature p{
  font-family:var(--font-sans);
  font-size:18px;
  line-height:1.7;
  color:rgba(221,218,232,.68);
  max-width:650px;
  margin-bottom:26px;
}

.mini-home-groups{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:1px;
  background:var(--border);
}

.mini-home-group{
  padding:36px 38px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:background .25s ease,transform .25s ease;
}

.mini-home-group:hover{
  background:var(--surface);
}

.mini-home-group.warhammer .mini-home-group-label{color:var(--red-bright);}
.mini-home-group.starcraft .mini-home-group-label{color:var(--teal);}

.mini-home-group strong{
  font-family:var(--font-title);
  font-size:28px;
  font-weight:600;
  color:var(--white);
  margin:8px 0 10px;
}

.mini-home-group span:last-child{
  font-family:var(--font-sans);
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
}

@media(max-width:900px){
  .mini-home-layout{grid-template-columns:1fr;}
  .mini-home-feature{padding:44px 32px;min-height:0;}
  .mini-home-groups{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
}

@media(max-width:650px){
  .mini-home-inner{padding-top:60px !important;padding-bottom:60px !important;}
  .mini-home-groups{grid-template-columns:1fr;}
  .mini-home-feature,.mini-home-group{padding:32px 24px;}
}

.mini-home-feature-preview{display:grid!important;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);gap:28px;align-items:center!important;padding:34px!important;}
.mini-home-preview-image{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border-hi);background:var(--deep);}
.mini-home-preview-image img{width:100%;height:100%;object-fit:cover;display:block;}
.mini-home-preview-image span{position:absolute;left:10px;bottom:10px;padding:6px 8px;background:rgba(8,9,13,.82);border:1px solid var(--border);font:700 8px var(--font-sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--violet);}
.mini-home-preview-copy{display:flex;flex-direction:column;align-items:flex-start;}
.mini-home-preview-copy h3{font-family:var(--font-title);font-size:clamp(30px,3vw,46px);margin:8px 0 6px;}
.mini-home-preview-meta{font:700 10px var(--font-sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:13px;}
@media(max-width:700px){.mini-home-feature-preview{grid-template-columns:1fr!important;}.mini-home-preview-image{max-width:520px;width:100%;}}

/* Shared full-site navigation for subpages */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:14px 34px;
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(180deg,rgba(8,9,13,.96) 0%,rgba(8,9,13,.78) 72%,transparent 100%);
}
.nav-links{display:flex;gap:26px;list-style:none;align-items:center}
.nav-links a{font-family:var(--font-sans);font-size:12px;letter-spacing:1.45px;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s;position:relative}
.nav-links a:hover{color:var(--white)}
.nav-item{position:relative}
.nav-item>a{display:flex;align-items:center;gap:5px}
.nav-arrow{font-size:8px;opacity:.55}
.nav-dropdown{
  position:absolute;top:calc(100% + 15px);left:50%;
  transform:translateX(-50%) translateY(-6px);
  min-width:220px;background:rgba(8,9,14,.985);
  border:1px solid var(--border);backdrop-filter:blur(20px);
  opacity:0;visibility:hidden;transition:.2s;z-index:200;
}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-col{padding:15px 0;text-align:center}
.dropdown-col-title{font-family:var(--font-sans);font-size:8px;letter-spacing:3px;text-transform:uppercase;padding:7px 20px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}
.dropdown-link{display:block;font-family:var(--font-sans);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:7px 20px;white-space:nowrap}
.dropdown-link:hover{color:var(--white);background:rgba(184,50,50,.07)}
.nav-social{display:flex;align-items:center;gap:7px}
.nav-social-link{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);color:var(--muted);text-decoration:none}
.nav-social-link:hover{color:var(--white);border-color:var(--border-hi)}
.nav-social-link svg{width:13px;height:13px;fill:currentColor}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;z-index:101}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white)}
.mobile-menu{display:none;position:fixed;inset:0;background:rgba(8,9,13,.985);z-index:99;flex-direction:column;align-items:center;justify-content:center;overflow:auto;padding:80px 0 40px}
.mobile-menu.open{display:flex}
.mobile-menu-links{list-style:none;text-align:center;width:100%;padding:0;margin:0}
.mobile-menu-links li{border-bottom:1px solid var(--border)}
.mobile-menu-links a{display:block;font-family:var(--font-title);font-size:clamp(26px,6vw,38px);color:var(--white);text-decoration:none;padding:20px 30px}
.mobile-menu-bottom{margin-top:28px}.mobile-menu-social{display:flex;gap:10px}
.mobile-menu-social a{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--muted)}
.mobile-menu-social svg{width:14px;height:14px;fill:currentColor}
@media(max-width:1080px){.nav-links{gap:16px}.nav-links a{font-size:10px}.nav-social{display:none}}
@media(max-width:820px){nav{padding:12px 20px}.nav-links,.nav-social{display:none}.hamburger{display:flex}}


/* ---------- DARK / LIGHT + LANGUAGE TOGGLES ---------- */
:root{
  color-scheme:dark;
}
html[data-theme="light"]{
  color-scheme:light;
  --ink:#F3EFE7 !important;
  --deep:#EAE4DA !important;
  --surface:#FFFDFC !important;
  --border:rgba(61,46,46,.12) !important;
  --border-hi:rgba(100,64,64,.28) !important;
  --red:#9D2D2D !important;
  --red-bright:#B73535 !important;
  --red-dim:rgba(157,45,45,.08) !important;
  --violet:#6659CA !important;
  --teal:#227E77 !important;
  --parchment:#4D433A !important;
  --white:#27242B !important;
  --muted:#746E75 !important;
  --card:#F8F4EE !important;
}

html[data-theme="light"] body{
  background:var(--ink) !important;
  color:var(--white) !important;
}

html[data-theme="light"] nav{
  background:linear-gradient(180deg,rgba(243,239,231,.98) 0%,rgba(243,239,231,.88) 72%,rgba(243,239,231,0) 100%) !important;
}

html[data-theme="light"] nav.scrolled{
  background:rgba(243,239,231,.94) !important;
  border-bottom-color:rgba(99,70,70,.14) !important;
}

html[data-theme="light"] .nav-dropdown{
  background:rgba(255,253,250,.985) !important;
}

html[data-theme="light"] .nav-dropdown::before{
  background:rgba(255,253,250,.985) !important;
}

html[data-theme="light"] .panel-dark,
html[data-theme="light"] .panel-deeper,
html[data-theme="light"] .mini-home-feature,
html[data-theme="light"] .mini-home-group,
html[data-theme="light"] .mini-hero-copy,
html[data-theme="light"] .mini-stats,
html[data-theme="light"] .mini-detail-gallery,
html[data-theme="light"] .mini-detail-info,
html[data-theme="light"] .mini-detail-panel,
html[data-theme="light"] .entry-card,
html[data-theme="light"] .review-card,
html[data-theme="light"] .irl-post{
  background:rgba(255,253,250,.90) !important;
}

html[data-theme="light"] .mobile-menu{
  background:rgba(243,239,231,.985) !important;
}

html[data-theme="light"] .mini-faction-logo,
html[data-theme="light"] .mini-card-faction-logo,
html[data-theme="light"] .mini-detail-faction-logo{
  filter:none !important;
  opacity:.82;
}

.rmo-site-controls{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}

.rmo-site-toggle{
  height:32px;
  min-width:54px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--border);
  background:rgba(8,9,13,.44);
  color:var(--muted);
  font:700 9px/1 var(--font-sans);
  letter-spacing:1.2px;
  text-transform:uppercase;
  cursor:pointer;
  transition:border-color .2s,color .2s,background .2s,transform .2s;
}

.rmo-site-toggle:hover{
  color:var(--white);
  border-color:var(--border-hi);
  background:rgba(255,255,255,.045);
  transform:translateY(-1px);
}

html[data-theme="light"] .rmo-site-toggle{
  background:rgba(255,255,255,.62);
}

.rmo-toggle-icon{
  font-size:12px;
  line-height:1;
  opacity:.8;
}

.rmo-toggle-value{
  min-width:20px;
  text-align:center;
}

.rmo-site-controls-floating{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:250;
  padding:7px;
  background:rgba(8,9,13,.72);
  border:1px solid var(--border);
  backdrop-filter:blur(16px);
}

@media(max-width:1080px){
  .rmo-site-controls{
    margin-left:auto;
  }
}

@media(max-width:820px){
  .rmo-site-controls{
    gap:4px;
  }
  .rmo-site-toggle{
    height:30px;
    min-width:46px;
    padding:0 7px;
  }
  .rmo-toggle-icon{
    display:none;
  }
}


/* ---------- COMPLETE LIGHT THEME PASS ---------- */
/* Surfaces */
html[data-theme="light"] body,
html[data-theme="light"] #fiction,
html[data-theme="light"] #worlds,
html[data-theme="light"] #reviews,
html[data-theme="light"] #irl,
html[data-theme="light"] #manifesto,
html[data-theme="light"] #social-section,
html[data-theme="light"] #subscribe,
html[data-theme="light"] footer,
html[data-theme="light"] .panel-dark,
html[data-theme="light"] .panel-deeper,
html[data-theme="light"] .fiction-nav-wrap,
html[data-theme="light"] .fiction-hero,
html[data-theme="light"] .fiction-hero-main,
html[data-theme="light"] .fiction-sidebar,
html[data-theme="light"] .fiction-item,
html[data-theme="light"] .fiction-coming,
html[data-theme="light"] .subgenre-strip,
html[data-theme="light"] .subgenre-card,
html[data-theme="light"] .world-grid,
html[data-theme="light"] .world-entry,
html[data-theme="light"] .worlds-coming,
html[data-theme="light"] .rv-panel,
html[data-theme="light"] .rv-grid,
html[data-theme="light"] .rv-coming,
html[data-theme="light"] .review-card,
html[data-theme="light"] .irl-layout,
html[data-theme="light"] .irl-aside,
html[data-theme="light"] .irl-posts,
html[data-theme="light"] .irl-post,
html[data-theme="light"] .irl-coming,
html[data-theme="light"] .manifesto-inner,
html[data-theme="light"] .social-section-inner,
html[data-theme="light"] .social-card,
html[data-theme="light"] .subscribe-inner,
html[data-theme="light"] .mini-page,
html[data-theme="light"] .mini-hero,
html[data-theme="light"] .mini-hero-copy,
html[data-theme="light"] .mini-stats,
html[data-theme="light"] .mini-stat,
html[data-theme="light"] .mini-system,
html[data-theme="light"] .mini-faction,
html[data-theme="light"] .mini-card,
html[data-theme="light"] .mini-card-body,
html[data-theme="light"] .mini-note-box,
html[data-theme="light"] .mini-empty,
html[data-theme="light"] .mini-detail-page,
html[data-theme="light"] .mini-detail-gallery,
html[data-theme="light"] .mini-detail-info,
html[data-theme="light"] .mini-detail-panel,
html[data-theme="light"] .mini-detail-notes,
html[data-theme="light"] .entry-card,
html[data-theme="light"] .archive-empty,
html[data-theme="light"] .empty{
  background:#FFFDFC !important;
  color:#27242B !important;
}

/* Slightly separated cards/panels */
html[data-theme="light"] .fiction-item,
html[data-theme="light"] .subgenre-card,
html[data-theme="light"] .world-entry,
html[data-theme="light"] .review-card,
html[data-theme="light"] .irl-post,
html[data-theme="light"] .social-card,
html[data-theme="light"] .mini-faction,
html[data-theme="light"] .mini-card,
html[data-theme="light"] .mini-stat,
html[data-theme="light"] .entry-card{
  background:#F7F2EA !important;
}

html[data-theme="light"] .fiction-item:hover,
html[data-theme="light"] .subgenre-card:hover,
html[data-theme="light"] .world-entry:hover,
html[data-theme="light"] .review-card:hover,
html[data-theme="light"] .irl-post:hover,
html[data-theme="light"] .social-card:hover,
html[data-theme="light"] .mini-faction:hover,
html[data-theme="light"] .mini-card:hover,
html[data-theme="light"] .entry-card:hover{
  background:#EEE7DD !important;
}

/* Text that was previously hard-coded as pale-on-dark */
html[data-theme="light"] .hero-sub,
html[data-theme="light"] .section-desc,
html[data-theme="light"] .about-text p,
html[data-theme="light"] .about-quote,
html[data-theme="light"] .fiction-excerpt,
html[data-theme="light"] .fiction-desc,
html[data-theme="light"] .subgenre-desc,
html[data-theme="light"] .fiction-coming-text,
html[data-theme="light"] .world-text,
html[data-theme="light"] .worlds-coming-text,
html[data-theme="light"] .review-excerpt,
html[data-theme="light"] .rv-coming-text,
html[data-theme="light"] .irl-aside-desc,
html[data-theme="light"] .irl-aside-note,
html[data-theme="light"] .irl-post-body,
html[data-theme="light"] .irl-post-mood,
html[data-theme="light"] .manifesto-text,
html[data-theme="light"] .manifesto-byline,
html[data-theme="light"] .social-section-desc,
html[data-theme="light"] .subscribe-desc,
html[data-theme="light"] .footer-desc,
html[data-theme="light"] .archive-desc,
html[data-theme="light"] .archive-empty-text,
html[data-theme="light"] .empty p,
html[data-theme="light"] .mini-lede,
html[data-theme="light"] .mini-card-note,
html[data-theme="light"] .mini-empty p,
html[data-theme="light"] .mini-note-box p,
html[data-theme="light"] .mini-detail-panel p,
html[data-theme="light"] .mini-detail-notes p,
html[data-theme="light"] .entry-card-excerpt{
  color:#615C63 !important;
}

/* Strong text/headings */
html[data-theme="light"] .hero-title,
html[data-theme="light"] .section-title,
html[data-theme="light"] .fiction-title,
html[data-theme="light"] .fiction-item-title,
html[data-theme="light"] .subgenre-name,
html[data-theme="light"] .world-title,
html[data-theme="light"] .review-title,
html[data-theme="light"] .irl-aside-title,
html[data-theme="light"] .irl-post-title,
html[data-theme="light"] .social-section-title,
html[data-theme="light"] .subscribe-title,
html[data-theme="light"] .footer-logo,
html[data-theme="light"] .archive-title,
html[data-theme="light"] .entry-card-title,
html[data-theme="light"] .mini-title,
html[data-theme="light"] .mini-system-title,
html[data-theme="light"] .mini-faction-name,
html[data-theme="light"] .mini-card-title,
html[data-theme="light"] .mini-detail-title,
html[data-theme="light"] .mini-detail-fact-value,
html[data-theme="light"] .mini-detail-notes h2,
html[data-theme="light"] .mini-home-group strong{
  color:#27242B !important;
}

/* Navigation / dropdown / mobile menu */
html[data-theme="light"] .nav-links a,
html[data-theme="light"] .dropdown-link,
html[data-theme="light"] .mobile-menu-links a,
html[data-theme="light"] .nav-social-link,
html[data-theme="light"] .mobile-menu-social a{
  color:#625D65 !important;
}
html[data-theme="light"] .nav-links a:hover,
html[data-theme="light"] .dropdown-link:hover,
html[data-theme="light"] .mobile-menu-links a:hover,
html[data-theme="light"] .nav-social-link:hover,
html[data-theme="light"] .mobile-menu-social a:hover{
  color:#242126 !important;
}
html[data-theme="light"] .mobile-menu{
  background:rgba(243,239,231,.985) !important;
}

/* Form controls */
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select{
  background:#FFFDFC !important;
  color:#27242B !important;
  border-color:rgba(61,46,46,.18) !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:#8A8389 !important;
}

/* Borders and separators */
html[data-theme="light"] .fiction-hero,
html[data-theme="light"] .fiction-sidebar,
html[data-theme="light"] .fiction-item,
html[data-theme="light"] .subgenre-strip,
html[data-theme="light"] .world-grid,
html[data-theme="light"] .review-card,
html[data-theme="light"] .irl-post,
html[data-theme="light"] .mini-stat,
html[data-theme="light"] .mini-faction,
html[data-theme="light"] .mini-card,
html[data-theme="light"] .mini-detail-hero,
html[data-theme="light"] .mini-detail-facts,
html[data-theme="light"] .mini-detail-fact,
html[data-theme="light"] .entry-card{
  border-color:rgba(61,46,46,.12) !important;
}

/* Keep media areas visually distinct */
html[data-theme="light"] .mini-card-media,
html[data-theme="light"] .mini-detail-main,
html[data-theme="light"] .mini-home-preview-image{
  background:#E8E1D8 !important;
}

/* Loader follows the selected site theme. */
html[data-theme="light"] #loader{
  background:#F3EFE7 !important;
  color:#27242B !important;
}

html[data-theme="light"] #loader .loader-text,
html[data-theme="light"] #loader .loader-sub,
html[data-theme="light"] #loader .loader-label{
  color:#5E5960 !important;
}

html[data-theme="light"] #loader svg,
html[data-theme="light"] #loader .d20-icon{
  color:#A92F2F !important;
}

/* Toast should also be readable in light mode. */
html[data-theme="light"] #toast{
  background:rgba(255,253,250,.97) !important;
  color:#27242B !important;
  border-color:rgba(157,45,45,.28) !important;
}


/* ---------- HOMEPAGE MINIATURE LIGHT-MODE FIX ---------- */
html[data-theme="light"] .mini-home-section{
  background:linear-gradient(180deg,#F3EFE7 0%,#ECE6DD 100%) !important;
  border-color:rgba(61,46,46,.14) !important;
}

html[data-theme="light"] .mini-home-layout{
  background:rgba(61,46,46,.12) !important;
  border-color:rgba(61,46,46,.14) !important;
}

html[data-theme="light"] .mini-home-feature,
html[data-theme="light"] .mini-home-group{
  background:#FBF8F3 !important;
}

html[data-theme="light"] .mini-home-feature:hover,
html[data-theme="light"] .mini-home-group:hover{
  background:#F2ECE4 !important;
}

html[data-theme="light"] .mini-home-feature h3,
html[data-theme="light"] .mini-home-feature h3 a,
html[data-theme="light"] .mini-home-group strong{
  color:#242126 !important;
}

html[data-theme="light"] .mini-home-feature p{
  color:#5E5960 !important;
  opacity:1 !important;
}

html[data-theme="light"] .mini-home-preview-meta,
html[data-theme="light"] .mini-home-group span:last-child{
  color:#6B656C !important;
  opacity:1 !important;
}

html[data-theme="light"] .mini-home-kicker{
  color:#A92F2F !important;
}

html[data-theme="light"] .mini-home-group.warhammer .mini-home-group-label{
  color:#A92F2F !important;
}

html[data-theme="light"] .mini-home-group.starcraft .mini-home-group-label{
  color:#1F756F !important;
}

html[data-theme="light"] .mini-home-preview-image{
  background:#E6DFD6 !important;
  border-color:rgba(61,46,46,.22) !important;
}

html[data-theme="light"] .mini-home-preview-image span{
  background:rgba(255,253,250,.94) !important;
  color:#5B4BBE !important;
  border-color:rgba(61,46,46,.14) !important;
}

html[data-theme="light"] .mini-home-feature .btn-red{
  color:#A92F2F !important;
  border-color:rgba(169,47,47,.48) !important;
  background:rgba(169,47,47,.03) !important;
}

html[data-theme="light"] .mini-home-feature .btn-red:hover{
  color:#7F2020 !important;
  background:rgba(169,47,47,.10) !important;
  border-color:#A92F2F !important;
}

html[data-theme="light"] .mini-home-header .section-desc{
  color:#5E5960 !important;
  opacity:1 !important;
}

html[data-theme="light"] .mini-home-header .section-title{
  color:#242126 !important;
}

html[data-theme="light"] .mini-home-header .section-rule::before,
html[data-theme="light"] .mini-home-header .section-rule::after{
  background:rgba(61,46,46,.18) !important;
}
