:root {
  --ink: #2c1909;
  --muted-ink: #6e4c2a;
  --wood: #8d531f;
  --wood-light: #b87932;
  --wood-dark: #341a07;
  --paper: #f7e6b2;
  --paper-light: #fff4d0;
  --paper-dark: #dfbf79;
  --green: #628f2d;
  --green-dark: #345816;
  --red: #c93b28;
  --red-dark: #7f2118;
  --blue: #347fc1;
  --purple: #8253a8;
  --orange: #c87826;
  --gold: #f0bf43;
  --shadow: 0 14px 30px rgba(30, 17, 5, .32);
  --soft-shadow: 0 8px 18px rgba(41, 23, 6, .22);
  --panel-radius: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  background:
    linear-gradient(rgba(16, 48, 25, .2), rgba(14, 38, 20, .48)),
    url('../images/site-bg.png') center top / cover fixed no-repeat,
    #315f36;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(90deg, rgba(11,31,17,.35), transparent 16%, transparent 84%, rgba(11,31,17,.35));
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select { font: inherit; }
button, .button, a { -webkit-tap-highlight-color: transparent; }

.site-shell {
  width: min(1510px, calc(100% - 18px));
  margin: 8px auto 22px;
}
main { position: relative; }

/* WOODEN NAVIGATION */
.topbar {
  position: sticky;
  top: 5px;
  z-index: 100;
  display: flex;
  align-items: stretch;
  min-height: 62px;
  border: 4px solid var(--wood-dark);
  border-radius: 10px 10px 18px 18px;
  color: #fff3cf;
  background:
    url('../images/ui/wood-texture.png') center / 240px 80px repeat,
    linear-gradient(#a26329 0%, #824617 52%, #6a3510 100%);
  box-shadow:
    0 6px 0 rgba(52, 26, 7, .72),
    0 15px 28px rgba(26, 13, 4, .3),
    inset 0 2px 0 rgba(255,255,255,.2),
    inset 0 -4px 0 rgba(42,20,5,.34);
  overflow: visible;
}
.topbar::before,
.topbar::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 34px;
  height: 46px;
  background:
    linear-gradient(90deg, transparent 0 8px, #d2a35e 8px 12px, transparent 12px 18px, #d2a35e 18px 22px, transparent 22px),
    radial-gradient(circle, #5c3211 0 4px, transparent 5px) center 5px/100% 18px repeat-y;
  filter: drop-shadow(0 2px 0 #311707);
}
.topbar::before { left: -21px; }
.topbar::after { right: -21px; transform: scaleX(-1); }
.home-badge,
.join-button,
.site-nav a,
.menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}
.home-badge {
  width: 72px;
  border-right: 3px solid rgba(53,25,6,.48);
  text-shadow: 0 3px 0 rgba(0,0,0,.25);
}
.home-badge span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 2px solid rgba(255,240,198,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  font-size: 28px;
}
.site-nav {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: center;
}
.site-nav a {
  position: relative;
  padding: 14px 15px 12px;
  border-right: 2px solid rgba(52,24,6,.22);
  text-shadow: 0 2px 0 rgba(0,0,0,.28);
  white-space: nowrap;
  transition: color .15s ease, background .15s ease, transform .15s ease;
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 7px;
  height: 3px;
  border-radius: 999px;
  background: transparent;
}
.site-nav a:hover,
.site-nav a.active {
  color: #ffe57f;
  background: linear-gradient(rgba(255,233,150,.13), rgba(255,233,150,.03));
}
.site-nav a:hover::after,
.site-nav a.active::after { background: #ffe57f; box-shadow: 0 1px 0 #6e4213; }
.join-button {
  align-self: center;
  margin: 7px 10px 7px 8px;
  padding: 9px 17px;
  border: 3px solid #3b1d08;
  border-radius: 12px;
  background:
    url('../images/ui/wood-texture.png') center / 210px 70px,
    linear-gradient(#ad7133, #744017);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 0 #3a1b07;
  white-space: nowrap;
}
.join-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.menu-toggle {
  display: none;
  margin: 8px;
  padding: 10px 14px;
  border: 2px solid rgba(255,255,255,.22);
  border-radius: 10px;
  color: #fff;
  background: rgba(255,255,255,.1);
}

/* HERO */
.home-hero,
.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 5px solid var(--wood-dark);
  box-shadow:
    0 7px 0 rgba(66,36,10,.7),
    var(--shadow),
    inset 0 0 0 3px rgba(255,238,188,.42);
  background: url('../images/site-bg.png') center 46% / cover no-repeat;
}
.home-hero::before,
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(210,244,255,.04), rgba(214,246,255,.24) 30%, rgba(214,246,255,.30) 50%, rgba(214,246,255,.24) 70%, rgba(210,244,255,.04)),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(244,224,166,.12));
}
.home-hero::after,
.page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 34px;
  z-index: 1;
  background:
    radial-gradient(ellipse at 8px 34px, #356c2d 0 14px, transparent 15px) 0 0/30px 34px repeat-x,
    linear-gradient(180deg, transparent, rgba(44,103,39,.6));
  opacity: .9;
  pointer-events: none;
}
.home-hero {
  display: grid;
  grid-template-columns: 245px minmax(0,1fr) 245px;
  align-items: end;
  min-height: 360px;
  margin: 13px 0 15px;
  padding: 8px 24px 0;
  border-radius: 23px 23px 16px 16px;
}
.hero-leaf {
  position: absolute;
  z-index: 0;
  width: 150px;
  height: 110px;
  top: 0;
  background: none;
  pointer-events: none;
}
.hero-leaf-left { left: 0; }
.hero-leaf-right { right: 0; transform: scaleX(-1); }
.home-character,
.hero-character {
  position: relative;
  z-index: 3;
  object-fit: contain;
  filter: drop-shadow(0 10px 7px rgba(35,18,4,.35));
}
.home-character { max-height: 330px; }
.home-dizzy { justify-self: start; margin-left: -10px; }
.home-daisy { justify-self: end; margin-right: -10px; }
.home-hero-copy {
  position: relative;
  z-index: 4;
  align-self: center;
  text-align: center;
  padding: 5px 0 32px;
}
.home-logo {
  width: min(625px, 100%);
  margin: 0 auto -2px;
  filter: drop-shadow(0 6px 4px rgba(45,21,5,.22));
}
.welcome-line {
  max-width: 790px;
  margin: 2px auto 15px;
  font-size: clamp(1rem, 1.33vw, 1.25rem);
  font-weight: 900;
  line-height: 1.35;
  color: #38200d;
  text-shadow: 0 2px 0 rgba(255,255,255,.7);
}
.welcome-line em { color: #c43122; font-style: normal; }
.feature-pips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  max-width: 820px;
  margin: auto;
}
.feature-pips div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 55px;
  padding: 7px 9px;
  border: 2px solid rgba(75,43,14,.24);
  border-radius: 12px;
  color: #3b220e;
  background:
    url('../images/ui/paper-texture.png') center/180px 180px,
    linear-gradient(rgba(255,255,255,.88), rgba(245,233,198,.78));
  box-shadow: 0 4px 10px rgba(45,24,6,.16), inset 0 1px 0 #fff;
  backdrop-filter: blur(3px);
}
.feature-pips b { color: #ca3a28; font-size: 22px; text-shadow: 0 1px 0 #fff; }
.feature-pips span { font-size: .9rem; font-weight: 900; }
.feature-pips small { display: block; margin-top: 1px; font-size: .69rem; opacity: .75; }

/* PANELS */
.panel {
  position: relative;
  border: 4px solid #5a3210;
  border-radius: var(--panel-radius);
  padding: 18px;
  background:
    url('../images/ui/paper-texture.png') center / 180px 180px repeat,
    linear-gradient(180deg, rgba(255,255,255,.5), transparent 18%),
    linear-gradient(180deg, var(--paper-light), var(--paper) 58%, var(--paper-dark));
  box-shadow:
    var(--soft-shadow),
    inset 0 0 0 2px rgba(255,255,255,.45),
    inset 0 -4px 0 rgba(123,80,27,.12);
}
.panel::before,
.panel::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #e5b55b 0 18%, #7c4618 22% 60%, #402007 64%);
  box-shadow: 0 1px 0 rgba(255,255,255,.45);
}
.panel::before { top: 8px; left: 8px; }
.panel::after { right: 8px; bottom: 8px; }
.panel h1,
.panel h2,
.panel h3,
.hero-centre h1 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .015em;
}
.panel h2,
.panel h3 { margin-top: 0; }
.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 15px;
}
.panel-title h2 { margin: 0; text-transform: uppercase; letter-spacing: .04em; }
.section-heading { display: flex; flex-direction: column; gap: 1px; }
.section-kicker {
  color: #956521;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.archive-title h2 {
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1;
}
.ribbon {
  position: relative;
  display: inline-block;
  margin: -30px 0 13px 4px;
  padding: 8px 25px;
  border: 2px solid rgba(64,31,8,.38);
  border-radius: 5px;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
  text-shadow: 0 2px 0 rgba(0,0,0,.2);
  box-shadow: 0 4px 0 rgba(63,34,10,.27), inset 0 1px 0 rgba(255,255,255,.28);
}
.ribbon::before,
.ribbon::after {
  content: "";
  position: absolute;
  top: 7px;
  width: 16px;
  height: 24px;
  background: inherit;
  z-index: -1;
}
.ribbon::before { left: -11px; clip-path: polygon(100% 0, 100% 100%, 0 75%, 25% 50%, 0 25%); }
.ribbon::after { right: -11px; clip-path: polygon(0 0, 0 100%, 100% 75%, 75% 50%, 100% 25%); }
.ribbon.red { background: linear-gradient(#dc4e3a, var(--red)); }
.ribbon.blue { background: linear-gradient(#4f9bd7, var(--blue)); }
.ribbon.green { background: linear-gradient(#80aa3e, var(--green)); }
.ribbon.purple { background: linear-gradient(#9f6ec4, var(--purple)); }
.ribbon.orange { background: linear-gradient(#dc933d, var(--orange)); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border: 3px solid var(--green-dark);
  border-radius: 9px;
  color: #fffbe7;
  background:
    linear-gradient(rgba(255,255,255,.08), transparent),
    linear-gradient(#78a93b, #4c7220);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 3px 0 rgba(43,76,17,.55);
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease;
}
.button:hover { transform: translateY(-2px); filter: brightness(1.06); }
.button.red { background: linear-gradient(#dd523e, #ad2d1f); border-color: var(--red-dark); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 3px 0 #761e15; }
.button.blue { background: linear-gradient(#55a0dd, #2b6da9); border-color: #214f7c; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 3px 0 #204d78; }
.button.purple { background: linear-gradient(#9f6fc2, #704795); border-color: #56346f; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 3px 0 #52316d; }
.map-button { min-width: 210px; }
.text-link { display: inline-block; margin-top: 10px; color: #7f2718; font-weight: 900; }
.text-link:hover { text-decoration: underline; }
.toolbar { display: flex; gap: 9px; flex-wrap: wrap; }
.toolbar input,
.toolbar select {
  min-width: 190px;
  padding: 11px 13px;
  border: 2px solid #b3965e;
  border-radius: 9px;
  color: #3b2917;
  background: rgba(255,253,244,.95);
  box-shadow: inset 0 2px 6px rgba(76,47,16,.08), 0 1px 0 #fff;
}
.home-search input { min-width: 315px; }

/* HOME CONTENT */
.homepage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 14px;
  align-items: stretch;
}
.archive-home { padding: 19px 20px 18px; }
.game-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 13px;
}
.home-game-grid {
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 11px;
}
.game-card,
.character-card,
.media-card,
.shop-card,
.link-card {
  position: relative;
  overflow: hidden;
  border: 2px solid rgba(91,51,16,.24);
  border-radius: 12px;
  padding: 9px;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.18)),
    #f2dfaa;
  box-shadow: 0 5px 11px rgba(52,30,7,.14), inset 0 1px 0 #fff;
  transition: transform .16s ease, box-shadow .16s ease;
}
.game-card::after,
.character-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(102,64,23,.12);
  border-radius: 8px;
  pointer-events: none;
}
.game-card:hover,
.character-card:hover,
.media-card:hover,
.shop-card:hover,
.link-card:hover {
  transform: translateY(-5px) rotate(-.15deg);
  box-shadow: 0 12px 20px rgba(51,28,7,.22), inset 0 1px 0 #fff;
}
.cover-frame { position: relative; overflow: hidden; border-radius: 8px; }
.game-cover {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 3px solid #8a5b27;
  border-radius: 8px;
  box-shadow: inset 0 0 0 2px #f6d98c, 0 4px 8px rgba(58,31,8,.22);
}
.cover-shine {
  position: absolute;
  inset: 3px;
  border-radius: 6px;
  background: linear-gradient(125deg, rgba(255,255,255,.22), transparent 28%, transparent 70%, rgba(255,255,255,.08));
  pointer-events: none;
}
.game-card h3,
.character-card h3 {
  position: relative;
  z-index: 1;
  margin: 9px 0 4px;
  font-size: .95rem;
  line-height: 1.14;
}
.game-card .meta {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}
.game-card .meta span + span::before { content: "•"; margin-right: 6px; color: #a06d25; }
.meta { margin: 2px 0; color: var(--muted-ink); font-size: .75rem; font-weight: 900; }
.tag {
  display: inline-block;
  margin-top: 7px;
  padding: 4px 9px;
  border: 1px solid #7a9a43;
  border-radius: 999px;
  background: linear-gradient(#dcebb7, #bad581);
  color: #3b571c;
  font-size: .72rem;
  font-weight: 900;
}
.centre-action { margin-top: 14px; text-align: center; }

.play-home {
  display: flex;
  flex-direction: column;
  padding: 17px;
  text-align: center;
}
.play-home h2 { margin: 3px 0 3px; font-size: 1.48rem; line-height: 1.02; }
.play-kicker { margin: 0 0 10px; color: #8c2c1d; font-size: .78rem; font-weight: 900; }
.featured-stamp {
  position: absolute;
  top: 55px;
  right: 8px;
  z-index: 4;
  transform: rotate(7deg);
  padding: 5px 10px;
  border: 2px solid #8b2519;
  border-radius: 6px;
  color: #fff;
  background: #d4422e;
  box-shadow: 0 3px 0 #7a2118;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}
.feature-shot {
  position: relative;
  min-height: 180px;
  overflow: hidden;
  margin: 8px 0 11px;
  border: 5px solid #3f230c;
  border-radius: 11px;
  background: #102117;
  box-shadow: inset 0 0 0 2px #8d6531, 0 5px 11px rgba(44,23,5,.25);
}
.image-shot img { width: 100%; height: 100%; object-fit: cover; }
.screen-vignette {
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.5);
  pointer-events: none;
}
.online-dot {
  position: absolute;
  right: 7px;
  bottom: 7px;
  padding: 5px 8px 5px 20px;
  border-radius: 999px;
  color: #edffdb;
  background: rgba(18,44,20,.86);
  font-size: .67rem;
  font-weight: 900;
}
.online-dot::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 7px;
  height: 7px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #8cea4b;
  box-shadow: 0 0 8px #8cea4b;
}
.play-home p { line-height: 1.38; }
.play-home .button { margin-top: auto; }

.dashboard-row {
  display: grid;
  grid-template-columns: 1.08fr 1.05fr 1.12fr .9fr;
  gap: 14px;
  margin-top: 14px;
}
.dashboard-row.three { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.dashboard-card { min-width: 0; padding: 16px; }
.news-card {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 9px;
}
.news-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid #a53222;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, #f7c94c, #cf3e2c 68%);
  box-shadow: 0 3px 0 #81261b;
  font-size: .7rem;
  font-weight: 900;
}
.news-card h3 { margin: 0 0 1px; font-size: .95rem; }
.news-card p { margin: 3px 0; font-size: .82rem; }
.list { list-style: none; margin: 0; padding: 0; }
.list li {
  padding: 8px 0;
  border-bottom: 1px dashed rgba(90,55,20,.27);
}
.list li:last-child { border-bottom: 0; }
.list strong,
.list span { display: block; }
.list strong { font-size: .92rem; }
.list span { margin-top: 2px; color: var(--muted-ink); font-size: .77rem; }
.people-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin-bottom: 9px;
}
.people-strip a { font-size: .75rem; font-weight: 900; text-align: center; }
.people-strip img {
  width: 100%;
  aspect-ratio: 1.25;
  object-fit: cover;
  margin-bottom: 5px;
  border: 3px solid #8d5e2b;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(45,24,5,.18);
}
.people-strip.compact img { aspect-ratio: 1; border-radius: 50%; }
.new-here {
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 16%, rgba(194,65,37,.16) 0 18px, transparent 19px),
    repeating-linear-gradient(135deg, rgba(131,89,39,.06) 0 10px, transparent 10px 20px),
    url('../images/ui/paper-texture.png') center/180px 180px,
    linear-gradient(var(--paper-light), var(--paper-dark));
}
.compass-mark {
  position: absolute;
  right: 17px;
  top: 45px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 3px solid #7a4b18;
  border-radius: 50%;
  color: #b53725;
  background: #f6d66c;
  box-shadow: inset 0 0 0 3px #f9e9a2, 0 3px 0 #6d4216;
  font-size: 22px;
}

/* INNER PAGE HERO */
.page-hero {
  display: grid;
  grid-template-columns: 185px 1fr 185px;
  align-items: end;
  min-height: 205px;
  margin: 13px 0 15px;
  padding: 4px 24px 0;
  border-radius: 20px;
}
.page-hero.compact { min-height: 190px; }
.hero-character { max-height: 183px; }
.hero-character.left { justify-self: start; }
.hero-character.right { justify-self: end; }
.hero-centre {
  position: relative;
  z-index: 4;
  align-self: center;
  padding: 11px 0 26px;
  text-align: center;
}
.main-logo { width: min(500px,100%); margin: 0 auto; }
.eyebrow {
  margin: 0 0 5px;
  color: #7a4219;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hero-centre h1 {
  margin: 0 0 7px;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .96;
  text-transform: uppercase;
  text-shadow: 0 3px 0 rgba(255,255,255,.78), 0 6px 10px rgba(56,29,7,.18);
}
.hero-centre > p:last-child {
  max-width: 720px;
  margin: 0 auto;
  font-size: clamp(.92rem,1.1vw,1.08rem);
  font-weight: 900;
  line-height: 1.32;
}

/* COMMON LAYOUTS */
.layout { display: grid; grid-template-columns: minmax(0,1fr) 315px; gap: 14px; }
.side-stack { display: grid; gap: 14px; align-content: start; }
.side-stack .panel { text-align: center; }
.stat-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.stat {
  padding: 12px 8px;
  border: 2px solid rgba(94,57,18,.18);
  border-radius: 10px;
  background: rgba(255,255,255,.42);
  text-align: center;
  font-size: .78rem;
  font-weight: 800;
}
.stat strong { display: block; color: #6e3b15; font-size: 1.2rem; }
.section-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.archive-grid { grid-template-columns: repeat(4,1fr); }
.featured-game-cover,
.side-cover {
  width: min(260px,100%);
  aspect-ratio: 4/5;
  object-fit: cover;
  margin: 0 auto 11px;
  border: 4px solid #855723;
  border-radius: 10px;
  box-shadow: 0 7px 13px rgba(44,24,6,.24);
}
.feature-row {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 18px;
  align-items: center;
}
.play-page-shot { min-height: 280px; }
.timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 10px;
  text-align: center;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 6%; right: 6%; top: 34px;
  height: 4px;
  border-radius: 99px;
  background: #9a6e2e;
}
.timeline > div { position: relative; z-index: 1; }
.year { color: #744419; font-weight: 900; }
.dot { width: 14px; height: 14px; margin: 7px auto 9px; border: 3px solid #6f4118; border-radius: 50%; background: #7ba93b; }
.mini-cover { width: 82px; aspect-ratio: 4/5; object-fit: cover; margin: 0 auto 6px; border: 2px solid #8a5b27; border-radius: 5px; }
.character-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.character-card { padding: 10px; }
.character-card p:not(.meta) { min-height: 62px; font-size: .83rem; line-height: 1.35; }
.character-portrait-img,
.featured-character-img,
.character-detail-img {
  width: 100%;
  aspect-ratio: 1.45;
  object-fit: cover;
  border: 3px solid #8c5d2a;
  border-radius: 10px;
  box-shadow: 0 5px 10px rgba(49,27,6,.18);
}
.featured-character-img { width: min(285px,100%); margin: 0 auto 11px; }
.profile-layout { display: grid; grid-template-columns: 410px 1fr; gap: 14px; }
.detail-cover { width: 100%; aspect-ratio: 4/5; object-fit: cover; border: 4px solid #875923; border-radius: 11px; box-shadow: 0 8px 15px rgba(46,24,5,.22); }
.quick-nav { display: grid; gap: 8px; }
.quick-nav a { padding: 10px 12px; border: 2px solid rgba(92,54,16,.17); border-radius: 8px; background: rgba(255,255,255,.42); font-weight: 900; }
.quick-nav a:hover { background: #fff5cf; }
.community-main { min-width: 0; }
.community-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gallery-mini { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.gallery-mini img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 2px solid #865a29; border-radius: 8px; }
.member-avatar { width: 200px; aspect-ratio: 1.4; object-fit: cover; margin: 0 auto 10px; border: 4px solid #a27637; border-radius: 17px; }
.gallery-strip { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.gallery-strip a { font-size: .78rem; font-weight: 900; text-align: center; }
.gallery-strip img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 5px; border: 2px solid #865a29; border-radius: 8px; }
.media-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.media-card img,
.shop-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; margin-bottom: 10px; border: 3px solid #895b28; border-radius: 9px; }
.empty { padding: 30px; text-align: center; font-weight: 900; }
.spacer { height: 14px; }
code { padding: 2px 5px; border-radius: 5px; background: rgba(255,255,255,.44); }

/* FOOTER */
.site-footer {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  margin-top: 15px;
  padding: 15px 18px;
  border: 4px solid #3d2410;
  border-radius: 12px 12px 18px 18px;
  color: #f6e7bb;
  background:
    url('../images/ui/wood-texture.png') center / 240px 80px repeat,
    linear-gradient(#33251a, #17100b);
  box-shadow: var(--shadow), inset 0 2px 0 rgba(255,255,255,.08);
}
.site-footer > div { padding: 3px 17px; border-right: 1px solid rgba(255,255,255,.1); }
.site-footer > div:last-child { border-right: 0; }
.site-footer strong,
.site-footer span { display: block; }
.site-footer strong { margin-bottom: 5px; color: #f5cd66; font-size: .86rem; text-transform: uppercase; }
.site-footer span { font-size: .78rem; line-height: 1.38; opacity: .88; }
.site-footer .site-footer-legal {
  grid-column: 1 / -1;
  margin-top: 11px;
  padding: 14px 17px 3px;
  border-top: 1px solid rgba(255,255,255,.16);
  border-right: 0;
  text-align: center;
}
.site-footer-legal p {
  margin: 0 0 9px;
  font-size: .76rem;
  line-height: 1.48;
  opacity: .9;
}
.site-footer-legal strong {
  display: inline;
  margin: 0;
  color: inherit;
  font-size: inherit;
  text-transform: none;
}
.footer-medal {
  display: inline-grid !important;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-right: 7px;
  border: 2px solid #c99425;
  border-radius: 50%;
  color: #3a240b;
  background: #f0c449;
  box-shadow: inset 0 0 0 2px #ffe99a;
}

@media (max-width: 1250px) {
  .site-nav a { padding-inline: 9px; }
  .home-hero { grid-template-columns: 195px 1fr 195px; min-height: 330px; }
  .home-character { max-height: 290px; }
  .home-game-grid { grid-template-columns: repeat(3,1fr); }
  .dashboard-row { grid-template-columns: repeat(2,1fr); }
  .archive-grid,
  .character-grid,
  .game-grid,
  .media-grid { grid-template-columns: repeat(3,1fr); }
  .layout { grid-template-columns: 1fr; }
  .side-stack { grid-template-columns: repeat(2,1fr); }
  .site-footer { grid-template-columns: repeat(2,1fr); }
  .site-footer > div:nth-child(2) { border-right: 0; }
}

@media (max-width: 890px) {
  .site-shell { width: calc(100% - 10px); }
  .menu-toggle { display: flex; }
  .site-nav {
    display: none;
    position: absolute;
    left: 0; right: 0;
    top: calc(100% + 9px);
    padding: 11px;
    flex-direction: column;
    align-items: stretch;
    border: 4px solid var(--wood-dark);
    border-radius: 14px;
    background: url('../images/ui/wood-texture.png') center/240px 80px, linear-gradient(#945827,#66350f);
    box-shadow: var(--shadow);
  }
  .site-nav.open { display: flex; }
  .site-nav a { justify-content: flex-start; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); padding: 11px 14px; }
  .join-button { margin-left: auto; }
  .home-hero,
  .page-hero { grid-template-columns: 1fr; min-height: 0; padding: 13px; }
  .home-hero-copy,
  .hero-centre { order: 1; padding-bottom: 18px; }
  .home-character,
  .hero-character { order: 2; max-height: 215px; justify-self: center !important; }
  .home-daisy,
  .hero-character.right { display: none; }
  .home-logo { max-width: 540px; }
  .feature-pips { grid-template-columns: repeat(2,1fr); }
  .homepage-grid { grid-template-columns: 1fr; }
  .panel-title { align-items: stretch; flex-direction: column; }
  .toolbar { flex-direction: column; }
  .toolbar input,
  .toolbar select { width: 100%; min-width: 0; }
  .home-search input { min-width: 0; }
  .game-grid,
  .archive-grid,
  .character-grid,
  .media-grid { grid-template-columns: repeat(2,1fr); }
  .side-stack { grid-template-columns: 1fr; }
  .feature-row,
  .profile-layout,
  .community-columns { grid-template-columns: 1fr; }
  .dashboard-row,
  .dashboard-row.three { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: repeat(3,1fr); }
  .gallery-strip { grid-template-columns: repeat(3,1fr); }
  .section-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .join-button { display: none; }
  .home-badge { width: 55px; }
  .home-hero { min-height: 0; }
  .feature-pips { grid-template-columns: 1fr; }
  .home-game-grid,
  .game-grid,
  .archive-grid,
  .character-grid,
  .media-grid,
  .section-grid { grid-template-columns: 1fr; }
  .people-strip { grid-template-columns: repeat(2,1fr); }
  .timeline { grid-template-columns: repeat(2,1fr); }
  .gallery-strip { grid-template-columns: repeat(2,1fr); }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); padding: 10px 4px; }
  .site-footer > div:last-child { border-bottom: 0; }
}


/* =========================================================
   v1.5 AESTHETIC CORRECTION — natural wood, restrained frames
   ========================================================= */

/* Remove the artificial vector decorations and rope-end shapes. */
.topbar::before,
.topbar::after,
.hero-leaf,
.homepage-grid::before,
.layout::before,
.section-grid::before,
.dashboard-row::before,
.panel::before,
.panel::after { display: none !important; }

/* One natural timber plank rather than segmented vector boxes. */
.topbar {
  min-height: 60px;
  border: 3px solid #3d210b;
  border-radius: 13px;
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(0,0,0,.10)),
    url('../images/ui/wood-texture.png') center / 520px 130px repeat;
  box-shadow:
    0 4px 0 rgba(48,24,7,.72),
    0 12px 22px rgba(27,14,4,.24),
    inset 0 1px 0 rgba(255,244,211,.22),
    inset 0 -2px 0 rgba(42,20,5,.25);
}
.home-badge { width: 66px; border-right: 1px solid rgba(55,28,8,.34); }
.site-nav a {
  border-right: 1px solid rgba(55,28,8,.22);
  padding-inline: 15px;
}
.join-button {
  border-width: 2px;
  border-radius: 10px;
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(0,0,0,.08)),
    url('../images/ui/wood-texture.png') center / 340px 95px repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 2px 0 #351906;
}

/* Hero framing remains subtle so the artwork remains the focus. */
.home-hero,
.page-hero {
  border: 4px solid #44250d;
  box-shadow:
    0 4px 0 rgba(62,34,10,.60),
    0 13px 25px rgba(30,17,5,.27),
    inset 0 0 0 2px rgba(255,238,188,.30);
}
.home-hero::after,
.page-hero::after { opacity: .55; }

/* Major sections have a slim, hand-painted timber rim — not a chunky vector border. */
.panel {
  border: 5px solid transparent;
  border-radius: 15px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), transparent 18%) padding-box,
    url('../images/ui/paper-texture.png') center / 520px 520px repeat padding-box,
    url('../images/ui/wood-texture.png') center / 440px 110px repeat border-box;
  box-shadow:
    0 0 0 2px #4a280e,
    0 5px 0 rgba(58,29,8,.48),
    0 13px 25px rgba(35,19,5,.23),
    inset 0 0 0 1px rgba(255,250,226,.58);
}

/* Small wooden title plaques, kept narrow and unembellished. */
.panel-title h2,
.play-home > h2,
.new-here > h2,
.side-stack .panel > h2,
.preview-panel .panel-title h2 {
  display: inline-block;
  margin: 0;
  padding: 7px 15px 8px;
  border: 2px solid #42220a;
  border-radius: 7px;
  color: #fff0c7;
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(0,0,0,.08)),
    url('../images/ui/wood-texture.png') center / 330px 90px repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 0 rgba(53,25,6,.42);
  text-shadow: 0 1px 1px rgba(0,0,0,.45);
}
.panel-title h2::before,
.panel-title h2::after,
.play-home > h2::before,
.play-home > h2::after,
.new-here > h2::before,
.new-here > h2::after,
.side-stack .panel > h2::before,
.side-stack .panel > h2::after { content: none !important; }

/* Cards are parchment inserts. The wood belongs around sections, not every object. */
.game-card,
.character-card,
.media-card,
.shop-card,
.link-card {
  border: 1px solid rgba(91,55,20,.34);
  border-radius: 10px;
  padding: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,.08)),
    url('../images/ui/paper-texture.png') center / 390px 390px repeat;
  box-shadow: 0 4px 9px rgba(52,30,7,.12), inset 0 1px 0 rgba(255,255,255,.72);
}
.game-card::after,
.character-card::after { content: none; }
.game-card:hover,
.character-card:hover,
.media-card:hover,
.shop-card:hover,
.link-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 9px 16px rgba(51,28,7,.18), inset 0 1px 0 rgba(255,255,255,.75);
}

/* Covers and portraits use a thin, believable inset lip. */
.cover-frame,
.character-portrait-img,
.featured-character-img,
.feature-shot {
  border: 2px solid #6f451d;
  border-radius: 8px;
  background: #ead49c;
  box-shadow:
    0 0 0 1px rgba(255,240,190,.72),
    0 3px 7px rgba(45,23,5,.20),
    inset 0 0 0 1px rgba(66,33,8,.18);
}
.game-cover {
  border: 0;
  border-radius: 6px;
  box-shadow: none;
}

/* Inputs are clean parchment controls, not timber boxes. */
.toolbar input,
.toolbar select {
  border: 2px solid #b2945c;
  border-radius: 9px;
  background: rgba(255,253,244,.96);
  box-shadow: inset 0 2px 5px rgba(76,47,16,.07), 0 1px 0 rgba(255,255,255,.75);
}

/* The side feature is visually quieter and better balanced. */
.play-home { padding: 16px; }
.play-home > h2 { width: auto; align-self: center; }
.feature-shot { border-width: 3px; }

/* Footer uses the same raster timber without oversized rails. */
.site-footer {
  border: 3px solid #311906;
  background:
    linear-gradient(rgba(255,255,255,.04), rgba(0,0,0,.18)),
    url('../images/ui/wood-texture.png') center / 520px 130px repeat;
  box-shadow: 0 4px 0 rgba(40,19,5,.58), 0 10px 20px rgba(21,11,3,.24);
}

@media (max-width: 820px) {
  .panel { border-width: 4px; }
  .panel-title h2,
  .play-home > h2,
  .new-here > h2,
  .side-stack .panel > h2 { padding: 6px 12px 7px; }
}

/* =========================================================
   v1.6 AESTHETIC PASS — natural hand-painted timber edging
   ========================================================= */
html, body { overflow-x: hidden; }
body {
  background:
    linear-gradient(rgba(17,45,22,.15), rgba(9,28,15,.46)),
    url('../images/site-bg.png') center top / cover fixed no-repeat,
    #2e5831;
}
.site-shell { width: min(1480px, calc(100% - 22px)); margin-top: 10px; }
.topbar {
  min-height: 58px; border: 2px solid #3d210b; border-radius: 10px;
  background: linear-gradient(180deg,rgba(255,255,255,.11),rgba(0,0,0,.08)), url('../images/ui/wood-texture.png') center/620px 155px repeat;
  box-shadow: 0 3px 0 rgba(48,24,7,.72),0 10px 18px rgba(26,13,4,.24),inset 0 1px 0 rgba(255,244,211,.25),inset 0 -2px 0 rgba(42,20,5,.25);
}
.home-badge { width: 62px; }
.home-badge span { width: 35px; height: 35px; border-width: 1px; font-size: 24px; }
.site-nav a { padding: 12px 14px 11px; border-right: 1px solid rgba(55,28,8,.19); font-size: .96rem; }
.site-nav a::after { bottom: 5px; height: 2px; }
.join-button { margin: 7px 8px; padding: 8px 15px; border: 2px solid #3b1d08; border-radius: 8px; background: linear-gradient(180deg,rgba(255,255,255,.10),rgba(0,0,0,.10)),url('../images/ui/wood-texture.png') center/390px 100px repeat; box-shadow: inset 0 1px 0 rgba(255,255,255,.19),0 2px 0 #351906; }
.home-hero,.page-hero,.panel { border-style: solid; border-color: transparent; border-image-source: url('../images/ui/wood-frame-natural.png'); border-image-slice: 45; border-image-repeat: stretch; border-radius: 0; }
.home-hero,.page-hero { border-width: 12px; box-shadow: 0 12px 26px rgba(29,16,5,.28); }
.home-hero { min-height: 330px; margin: 12px 0 13px; padding: 3px 20px 0; grid-template-columns: 218px minmax(0,1fr) 218px; }
.home-character { max-height: 300px; }
.home-logo { width: min(585px,100%); }
.home-hero-copy { padding-bottom: 27px; }
.welcome-line { max-width: 760px; margin-bottom: 12px; font-size: clamp(.98rem,1.22vw,1.17rem); }
.feature-pips { gap: 7px; max-width: 760px; }
.feature-pips div { min-height: 49px; border: 1px solid rgba(82,49,18,.27); border-radius: 8px; background: linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,235,197,.70)),url('../images/ui/paper-texture.png') center/260px 260px; box-shadow: 0 3px 8px rgba(45,24,6,.13),inset 0 1px 0 rgba(255,255,255,.9); }
.feature-pips b { font-size: 19px; }.feature-pips span { font-size: .84rem; }.feature-pips small { font-size: .66rem; }
.home-hero::after,.page-hero::after { opacity: .42; height: 27px; }
.panel { border-width: 11px; padding: 14px 15px 15px; background: linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 19%),url('../images/ui/paper-texture.png') center/520px 520px repeat,#f3dfa5; box-shadow: 0 5px 0 rgba(45,23,6,.30),0 11px 22px rgba(35,19,5,.20),inset 0 0 0 1px rgba(255,250,226,.50); }
.panel-title h2,.play-home>h2,.new-here>h2,.side-stack .panel>h2,.preview-panel .panel-title h2 { padding: 10px 28px 12px; border: 0; border-radius: 0; color: #fff0c6; background: url('../images/ui/wood-plaque-natural.png') center/100% 100% no-repeat; box-shadow: none; text-shadow: 0 2px 1px rgba(34,15,3,.65); font-family: "Arial Rounded MT Bold","Trebuchet MS",sans-serif; letter-spacing: .035em; }
.archive-title h2 { font-size: clamp(1.25rem,1.65vw,1.72rem); }.section-kicker { padding-left: 9px; color: #87581e; font-size: .68rem; }
.ribbon { margin-top: -25px; padding: 7px 19px 8px; border-width: 1px; border-radius: 6px; box-shadow: 0 3px 0 rgba(63,34,10,.22),inset 0 1px 0 rgba(255,255,255,.26); }.ribbon::before,.ribbon::after { display:none; }
.game-card,.character-card,.media-card,.shop-card,.link-card { border: 1px solid rgba(96,60,23,.23); border-radius: 7px; padding: 8px; background: linear-gradient(180deg,rgba(255,255,255,.43),rgba(255,255,255,.07)),rgba(241,220,166,.62); box-shadow: 0 3px 7px rgba(52,30,7,.10),inset 0 1px 0 rgba(255,255,255,.62); }
.game-card:hover,.character-card:hover,.media-card:hover,.shop-card:hover,.link-card:hover { transform: translateY(-2px); box-shadow: 0 7px 13px rgba(51,28,7,.15),inset 0 1px 0 rgba(255,255,255,.7); }
.cover-frame,.character-portrait-img,.featured-character-img,.feature-shot,.gallery-mini img,.gallery-strip img,.media-card img,.shop-card img,.featured-game-cover,.side-cover,.detail-cover { border: 1px solid rgba(77,43,13,.56); border-radius: 5px; box-shadow: 0 3px 6px rgba(45,23,5,.16); }
.cover-frame { background:#e4c981; }.game-cover { border-radius:4px; }.cover-shine { inset:1px; border-radius:4px; opacity:.65; }.game-card h3,.character-card h3 { margin-top:7px; }
.homepage-grid { gap:11px; }.archive-home { padding:15px 16px 14px; }.home-game-grid { gap:8px; }.play-home { padding:14px; }.play-home h2 { font-size:1.22rem; }
.feature-shot { min-height:172px; margin-top:6px; border-width:2px; }.featured-stamp { top:50px; right:5px; padding:4px 8px; border-width:1px; box-shadow:0 2px 0 #7a2118; }
.dashboard-row { gap:11px; margin-top:11px; }.dashboard-card { padding:14px; }.people-strip img { border-width:1px; border-radius:6px; }
.button { padding:9px 14px; border-width:2px; border-radius:7px; box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 2px 0 rgba(43,76,17,.55); }.button:hover { transform:translateY(-1px); }
.toolbar input,.toolbar select { padding:10px 12px; border-width:1px; border-radius:7px; }
.page-hero { min-height:180px; margin:12px 0 13px; padding:3px 20px 0; grid-template-columns:165px 1fr 165px; }.page-hero.compact { min-height:172px; }.hero-character { max-height:164px; }.hero-centre { padding-bottom:22px; }.hero-centre h1 { font-size:clamp(1.9rem,3.5vw,3.3rem); }.main-logo { width:min(450px,100%); }
.site-footer { margin-top:12px; border:2px solid #2d1605; border-radius:9px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.20)),url('../images/ui/wood-texture.png') center/620px 155px repeat; box-shadow:0 3px 0 rgba(40,19,5,.55),0 9px 17px rgba(21,11,3,.22); }
@media (max-width:1250px){.home-hero{grid-template-columns:180px 1fr 180px;min-height:306px}.home-character{max-height:270px}.site-nav a{padding-inline:8px;font-size:.9rem}}
@media (max-width:890px){.site-shell{width:calc(100% - 8px)}.home-hero,.page-hero{border-width:9px}.panel{border-width:9px;padding:12px}.panel-title h2,.play-home>h2,.new-here>h2,.side-stack .panel>h2{padding:9px 20px 10px}body{background-attachment:scroll}}


/* =========================================================
   v1.7 STORYBOOK FINISH — thin natural timber, cleaner paper
   ========================================================= */

:root {
  --frame-wood: #704019;
  --frame-dark: #321907;
  --paper-clean: #f8e9bd;
  --paper-highlight: #fff7dc;
}

/* The scene should feel open and illustrated, not boxed in. */
body {
  background:
    linear-gradient(rgba(15,42,20,.10), rgba(8,25,13,.38)),
    url('../images/site-bg.png') center top / cover fixed no-repeat,
    #2d5630;
}
.site-shell { width: min(1460px, calc(100% - 18px)); }

/* One continuous wooden navigation plank. */
.topbar {
  min-height: 56px;
  border: 2px solid #321906;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.12)),
    url('../images/ui/wood-texture.png') center / 720px 180px repeat;
  box-shadow:
    0 3px 0 rgba(43,20,5,.64),
    0 10px 18px rgba(22,12,3,.22),
    inset 0 1px 0 rgba(255,244,211,.28),
    inset 0 -2px 0 rgba(43,20,5,.22);
}
.home-badge { width: 58px; border-right: 1px solid rgba(55,28,8,.22); }
.site-nav { gap: 2px; padding-inline: 5px; }
.site-nav a {
  padding: 11px 12px 10px;
  border-right: 0;
  border-radius: 8px;
  font-size: .94rem;
}
.site-nav a:hover,
.site-nav a.active {
  background: rgba(255,226,132,.12);
  color: #ffe68a;
}
.site-nav a::after { left: 27%; right: 27%; bottom: 4px; }
.join-button {
  padding: 8px 14px;
  border: 2px solid #341a07;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.12)),
    url('../images/ui/wood-texture.png') center / 460px 115px repeat;
}

/* Thin raster-textured trim around the big illustrated areas. */
.home-hero,
.page-hero,
.panel {
  border-image: none !important;
  border-style: solid;
  border-color: transparent;
  border-radius: 16px;
  background-clip: padding-box, padding-box, border-box;
}
.home-hero,
.page-hero {
  border-width: 7px;
  background:
    linear-gradient(90deg, rgba(215,246,255,.05), rgba(217,247,255,.25) 34%, rgba(217,247,255,.27) 50%, rgba(217,247,255,.25) 66%, rgba(215,246,255,.05)) padding-box,
    url('../images/site-bg.png') center 46% / cover no-repeat padding-box,
    url('../images/ui/wood-texture.png') center / 700px 175px repeat border-box;
  box-shadow:
    0 0 0 2px #3b210c,
    0 5px 0 rgba(49,25,7,.42),
    0 13px 25px rgba(25,14,4,.24),
    inset 0 0 0 2px rgba(255,240,197,.28);
}
.home-hero {
  min-height: 315px;
  grid-template-columns: 205px minmax(0,1fr) 205px;
  margin: 11px 0 12px;
  padding: 2px 18px 0;
}
.home-character { max-height: 286px; }
.home-dizzy { margin-left: -2px; }
.home-daisy { margin-right: -2px; }
.home-logo { width: min(565px,100%); }
.home-hero-copy { padding-bottom: 25px; }
.welcome-line { max-width: 730px; margin-bottom: 11px; font-size: clamp(.96rem,1.18vw,1.12rem); }
.feature-pips { max-width: 740px; gap: 7px; }
.feature-pips div {
  min-height: 47px;
  padding: 6px 8px;
  border: 1px solid rgba(88,55,23,.25);
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(250,238,203,.72)),
    url('../images/ui/paper-texture.png') center / 320px 320px;
  box-shadow: 0 3px 7px rgba(45,24,6,.11), inset 0 1px 0 rgba(255,255,255,.85);
}
.home-hero::after,
.page-hero::after { height: 22px; opacity: .35; }

/* Major content panels: only a narrow wooden lip, then paper. */
.panel {
  border-width: 6px;
  padding: 14px 15px 15px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 19%) padding-box,
    url('../images/ui/paper-texture.png') center / 560px 560px repeat padding-box,
    url('../images/ui/wood-texture.png') center / 620px 150px repeat border-box;
  box-shadow:
    0 0 0 1px #43250e,
    0 3px 0 rgba(49,25,7,.30),
    0 10px 20px rgba(31,17,5,.18),
    inset 0 0 0 1px rgba(255,250,226,.58),
    inset 0 0 18px rgba(151,101,36,.06);
}
.panel::before {
  display: block !important;
  content: "";
  position: absolute;
  inset: 5px;
  width: auto;
  height: auto;
  border: 1px solid rgba(122,79,28,.17);
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}
.panel::after { display: none !important; }

/* Natural little heading boards, not oversized decorative vectors. */
.panel-title h2,
.play-home > h2,
.new-here > h2,
.side-stack .panel > h2,
.preview-panel .panel-title h2 {
  padding: 7px 15px 8px;
  border: 1px solid #3e210b;
  border-radius: 7px;
  color: #fff0c9;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.12)),
    url('../images/ui/wood-texture.png') center / 420px 105px repeat;
  box-shadow: 0 2px 0 rgba(49,24,6,.38), inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow: 0 1px 1px rgba(30,13,3,.65);
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: clamp(1.14rem,1.5vw,1.55rem);
  line-height: 1.05;
}
.section-kicker { padding-left: 3px; font-size: .66rem; color: #8d5a1e; }
.panel-title { margin-bottom: 12px; }

/* Ribbons remain coloured accents, but are flatter and smaller. */
.ribbon {
  margin: -21px 0 11px 3px;
  padding: 6px 15px 7px;
  border: 1px solid rgba(55,27,7,.35);
  border-radius: 5px;
  box-shadow: 0 2px 0 rgba(52,27,8,.23), inset 0 1px 0 rgba(255,255,255,.22);
  font-size: .78rem;
}

/* Paper cards sit inside the wooden sections without their own frames. */
.game-card,
.character-card,
.media-card,
.shop-card,
.link-card {
  border: 1px solid rgba(105,67,27,.23);
  border-radius: 8px;
  padding: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,.07)),
    rgba(245,228,184,.62);
  box-shadow: 0 3px 7px rgba(52,30,7,.09), inset 0 1px 0 rgba(255,255,255,.70);
}
.game-card:hover,
.character-card:hover,
.media-card:hover,
.shop-card:hover,
.link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 13px rgba(51,28,7,.14), inset 0 1px 0 rgba(255,255,255,.74);
}
.cover-frame,
.character-portrait-img,
.featured-character-img,
.feature-shot,
.gallery-mini img,
.gallery-strip img,
.media-card img,
.shop-card img,
.featured-game-cover,
.side-cover,
.detail-cover {
  border: 1px solid rgba(73,42,14,.56);
  border-radius: 6px;
  box-shadow: 0 3px 6px rgba(45,23,5,.14);
}
.cover-frame { padding: 3px; background: rgba(227,201,137,.76); }
.game-cover { border-radius: 4px; }
.cover-shine { inset: 4px; opacity: .48; }
.game-card h3,
.character-card h3 { margin-top: 7px; font-size: .92rem; }
.meta { font-size: .72rem; }

.homepage-grid { grid-template-columns: minmax(0,1fr) 304px; gap: 11px; }
.home-game-grid { gap: 8px; }
.archive-home { padding: 14px 15px 13px; }
.play-home { padding: 13px; }
.play-home h2 { font-size: 1.18rem; }
.feature-shot { min-height: 164px; margin: 6px 0 10px; border-width: 1px; }
.featured-stamp { top: 45px; right: 5px; padding: 4px 7px; border-width: 1px; box-shadow: 0 2px 0 #7a2118; font-size: .64rem; }
.dashboard-row { gap: 11px; margin-top: 11px; }
.dashboard-card { padding: 13px; }

/* Cleaner controls and less chunky buttons. */
.button {
  padding: 8px 13px;
  border-width: 1px;
  border-radius: 7px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 2px 0 rgba(43,76,17,.48);
}
.button:hover { transform: translateY(-1px); }
.toolbar { gap: 7px; }
.toolbar input,
.toolbar select {
  padding: 9px 11px;
  border: 1px solid #ad8f59;
  border-radius: 7px;
}
.home-search input { min-width: 300px; }

/* Interior pages share the same quiet trim. */
.page-hero {
  min-height: 170px;
  grid-template-columns: 154px 1fr 154px;
  margin: 11px 0 12px;
  padding: 2px 18px 0;
}
.page-hero.compact { min-height: 164px; }
.hero-character { max-height: 154px; }
.hero-centre { padding-bottom: 20px; }
.main-logo { width: min(430px,100%); }
.hero-centre h1 { font-size: clamp(1.8rem,3.25vw,3rem); }

/* Footer is a single restrained plank. */
.site-footer {
  margin-top: 11px;
  border: 2px solid #2d1605;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.20)),
    url('../images/ui/wood-texture.png') center / 720px 180px repeat;
  box-shadow: 0 3px 0 rgba(39,18,5,.52), 0 8px 16px rgba(20,10,3,.20);
}

@media (max-width: 1250px) {
  .home-hero { grid-template-columns: 170px 1fr 170px; min-height: 292px; }
  .home-character { max-height: 255px; }
  .site-nav a { padding-inline: 8px; font-size: .88rem; }
}
@media (max-width: 890px) {
  .home-hero,
  .page-hero { border-width: 6px; }
  .panel { border-width: 5px; padding: 12px; }
  .panel::before { inset: 4px; }
  .panel-title h2,
  .play-home > h2,
  .new-here > h2,
  .side-stack .panel > h2 { padding: 6px 12px 7px; }
  body { background-attachment: scroll; }
}

/* =========================================================
   v1.8 HAND-CRAFTED UI PASS — fewer boxes, better signboards
   ========================================================= */

/* Remove the synthetic rope/end pieces left over from the early build. */
.topbar::before,
.topbar::after { display: none !important; }

/* Slightly warmer, more illustrated overall balance. */
body {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 32%),
    linear-gradient(rgba(13,39,19,.08), rgba(8,24,12,.42)),
    url('../images/site-bg.png') center top / cover fixed no-repeat,
    #2e5932;
}
.site-shell { width: min(1480px, calc(100% - 16px)); }

/* A single, believable timber navigation plank. */
.topbar {
  min-height: 58px;
  border-color: #2c1505;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(53,22,3,.13)),
    url('../images/ui/wood-texture.png') center / 760px 190px repeat;
  box-shadow:
    0 3px 0 rgba(45,21,5,.70),
    0 10px 20px rgba(21,11,3,.24),
    inset 0 1px 0 rgba(255,244,209,.27),
    inset 0 -2px 0 rgba(43,20,5,.24);
}
.site-nav a {
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  font-size: .93rem;
  letter-spacing: .005em;
}
.site-nav a:hover,
.site-nav a.active {
  background: rgba(255,227,137,.11);
  box-shadow: inset 0 0 0 1px rgba(255,235,171,.08);
}
.home-badge span { background: rgba(255,248,218,.07); }

/* Hero: keep the artwork rich and the centre clean enough to read. */
.home-hero,
.page-hero {
  border-width: 6px;
  border-radius: 15px;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(235,251,255,.30), rgba(225,248,255,.08) 48%, transparent 72%) padding-box,
    url('../images/site-bg.png') center 46% / cover no-repeat padding-box,
    url('../images/ui/wood-texture.png') center / 720px 180px repeat border-box;
  box-shadow:
    0 0 0 1px #2d1606,
    0 4px 0 rgba(49,25,7,.46),
    0 13px 25px rgba(25,14,4,.23),
    inset 0 0 0 1px rgba(255,244,205,.28);
}
.home-hero {
  min-height: 310px;
  grid-template-columns: 205px minmax(0,1fr) 205px;
  padding-inline: 16px;
}
.home-character { max-height: 284px; }
.home-logo { width: min(570px,100%); }
.welcome-line { max-width: 750px; color: #35200f; }
.feature-pips div {
  border-color: rgba(99,65,29,.23);
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(247,232,192,.78)),
    url('../images/ui/paper-texture.png') center / 340px 340px;
  box-shadow: 0 2px 6px rgba(45,24,6,.10), inset 0 1px 0 rgba(255,255,255,.9);
}

/* Main panels: narrow wood lip with warm paper, not a chunky frame. */
.panel {
  border-width: 5px;
  border-radius: 14px;
  padding: 15px 16px 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 18%) padding-box,
    url('../images/ui/paper-texture.png') center / 600px 600px repeat padding-box,
    url('../images/ui/wood-texture.png') center / 640px 160px repeat border-box;
  box-shadow:
    0 0 0 1px #3a1f0b,
    0 3px 0 rgba(48,24,7,.29),
    0 10px 19px rgba(31,17,5,.17),
    inset 0 0 0 1px rgba(255,250,226,.58),
    inset 0 0 20px rgba(151,101,36,.045);
}
.panel::before {
  inset: 6px;
  border-color: rgba(117,77,31,.14);
  border-radius: 8px;
}

/* Only the major section titles sit on irregular raster wooden boards. */
.panel-title h2,
.preview-panel .panel-title h2 {
  display: inline-flex;
  align-items: center;
  min-height: 43px;
  padding: 8px 27px 10px;
  border: 0;
  border-radius: 0;
  color: #fff0ca;
  background: url('../images/ui/wood-plaque-natural.png') center / 100% 100% no-repeat;
  box-shadow: none;
  text-shadow: 0 2px 1px rgba(31,13,3,.72);
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  font-size: clamp(1.16rem,1.55vw,1.62rem);
  letter-spacing: .025em;
}
.archive-title h2 { font-size: clamp(1.23rem,1.7vw,1.78rem); }
.panel-title { align-items: center; margin-bottom: 13px; }
.section-kicker { margin-left: 8px; color: #89591e; }

/* Side panels already have coloured header tabs, so avoid a second wooden plaque. */
.play-home > h2,
.new-here > h2,
.side-stack .panel > h2 {
  width: auto;
  padding: 0;
  border: 0;
  color: #3b210d;
  background: none;
  box-shadow: none;
  text-shadow: none;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .005em;
}
.play-home > h2 { margin-top: 2px; font-size: 1.42rem; }
.side-stack .panel > h2 { margin: 2px 0 8px; font-size: 1.35rem; }
.new-here > h2 { padding-right: 40px; font-size: 1.38rem; }

/* Coloured tabs are smaller and feel pinned to the parchment. */
.ribbon {
  margin: -20px 0 11px 2px;
  padding: 6px 15px 7px;
  border: 1px solid rgba(55,27,7,.34);
  border-radius: 5px 5px 7px 7px;
  box-shadow: 0 2px 0 rgba(52,27,8,.22), inset 0 1px 0 rgba(255,255,255,.23);
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  font-size: .76rem;
}

/* Cards are parchment leaves inside the framed section, not separate framed windows. */
.game-card,
.character-card,
.media-card,
.shop-card,
.link-card {
  border: 1px solid rgba(108,72,31,.20);
  border-radius: 7px;
  padding: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.06)),
    rgba(246,231,191,.58);
  box-shadow: 0 2px 6px rgba(52,30,7,.085), inset 0 1px 0 rgba(255,255,255,.72);
}
.game-card:hover,
.character-card:hover,
.media-card:hover,
.shop-card:hover,
.link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 13px rgba(51,28,7,.14), inset 0 1px 0 rgba(255,255,255,.76);
}
.cover-frame,
.character-portrait-img,
.featured-character-img,
.feature-shot,
.gallery-mini img,
.gallery-strip img,
.media-card img,
.shop-card img,
.featured-game-cover,
.side-cover,
.detail-cover {
  border: 1px solid rgba(78,45,15,.58);
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(45,23,5,.16);
}

/* Character cards gain the compact coloured name labels seen in the concept. */
.character-card h3 {
  z-index: 3;
  width: calc(100% - 30px);
  margin: -17px auto 7px;
  padding: 4px 8px 5px;
  border: 1px solid #355312;
  border-radius: 5px;
  color: #fff9dc;
  background: linear-gradient(#7da83a, #4b711d);
  box-shadow: 0 2px 0 rgba(48,29,8,.34), inset 0 1px 0 rgba(255,255,255,.22);
  text-shadow: 0 1px 0 rgba(0,0,0,.28);
}
.character-card:nth-child(4n+2) h3 { border-color:#8d2742; background:linear-gradient(#df5275,#b93255); }
.character-card:nth-child(4n+3) h3 { border-color:#24567f; background:linear-gradient(#4e9bd4,#2f72aa); }
.character-card:nth-child(4n+4) h3 { border-color:#704184; background:linear-gradient(#a36ac0,#75478d); }

/* Buttons should feel like painted game buttons rather than browser controls. */
.button {
  border-width: 2px;
  border-radius: 7px;
  padding: 9px 15px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 42%),
    linear-gradient(#79aa3c, #4d7420);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 2px 0 rgba(43,76,17,.55), 0 4px 8px rgba(44,24,6,.10);
}
.button:hover { transform: translateY(-1px); }
.toolbar input,
.toolbar select {
  border-width: 1px;
  border-color: #ad8c51;
  background:
    linear-gradient(rgba(255,255,255,.86),rgba(255,252,239,.92)),
    url('../images/ui/paper-texture.png') center/360px 360px;
}

/* Tighter, more balanced homepage rows. */
.homepage-grid { gap: 12px; }
.home-game-grid { gap: 9px; }
.dashboard-row { gap: 12px; margin-top: 12px; }
.dashboard-card { padding-top: 15px; }
.play-home { padding: 15px; }
.feature-shot { min-height: 175px; }
.people-strip img { border-color: rgba(79,45,15,.52); }

/* Inner pages retain the same compact storybook proportions. */
.page-hero {
  min-height: 178px;
  grid-template-columns: 165px 1fr 165px;
  margin: 11px 0 13px;
}
.page-hero.compact { min-height: 170px; }
.hero-character { max-height: 162px; }
.hero-centre { padding-bottom: 21px; }
.hero-centre h1 { font-size: clamp(1.9rem,3.4vw,3.25rem); }

/* Footer remains dark timber but loses the heavy boxed feel. */
.site-footer {
  border: 2px solid #2b1506;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.22)),
    url('../images/ui/wood-texture.png') center / 660px 165px repeat;
  box-shadow: 0 3px 0 rgba(40,19,5,.56), 0 9px 18px rgba(21,11,3,.23);
}

@media (max-width: 1250px) {
  .home-hero { grid-template-columns: 180px 1fr 180px; min-height: 300px; }
  .home-character { max-height: 267px; }
  .site-nav a { padding-inline: 8px; font-size: .88rem; }
}
@media (max-width: 890px) {
  body { background-attachment: scroll; }
  .site-shell { width: calc(100% - 8px); }
  .home-hero,
  .page-hero { border-width: 5px; }
  .panel { border-width: 4px; padding: 13px; }
  .panel-title h2,
  .preview-panel .panel-title h2 { padding: 7px 19px 9px; }
  .character-card h3 { width: calc(100% - 24px); }
}


/* v1.9 — WordPress database integration */
.database-cover { object-fit: contain; background: #1d2230; }
.database-grid .game-card { min-width: 0; }
.database-grid .game-card h3 { min-height: 2.25em; }
.card-credit { margin: 5px 0 0; min-height: 2.4em; color: #76502a; font-size: .75rem; line-height: 1.25; }
.result-count { margin: -4px 0 13px; color: #785126; font-size: .84rem; font-weight: 800; }
.pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:18px; }
.pagination a { min-width:34px; padding:7px 9px; border:1px solid #8e642e; border-radius:6px; background:#f9eac0; text-align:center; font-weight:900; }
.pagination a.active,.pagination a:hover { color:#fff8d9; background:#5d8427; }
.download-list { display:grid; gap:9px; }
.download-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:13px; align-items:center; padding:11px; border:1px solid rgba(100,64,24,.22); border-radius:8px; background:rgba(255,255,255,.33); }
.download-card img,.download-icon { width:64px; height:64px; object-fit:cover; border:1px solid #8f642f; border-radius:7px; background:#e5c985; }
.download-icon { display:grid; place-items:center; color:#fff; background:linear-gradient(#75a33d,#4a711d); font-size:2rem; font-weight:900; }
.download-card h3 { margin:0 0 4px; font-size:1rem; }.download-card p { margin:2px 0; font-size:.84rem; }
.database-profile { align-items:start; }.database-detail-cover { object-fit:contain; background:#18202b; }
.screenshot-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:10px; }.screenshot-grid img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#10151c; border:1px solid #765022; border-radius:5px; }
.credits-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0; }.credits-grid div { padding:9px; border:1px solid rgba(98,61,22,.18); border-radius:7px; background:rgba(255,255,255,.34); }.credits-grid strong,.credits-grid span { display:block; }.credits-grid strong { color:#7b431b; font-size:.76rem; text-transform:uppercase; }.credits-grid span { margin-top:3px; font-size:.87rem; }
.game-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.download-button { display:grid; grid-template-columns:32px 1fr; column-gap:8px; padding:9px; border:1px solid #476d1b; border-radius:7px; color:#fff; background:linear-gradient(#78a83b,#4c7420); box-shadow:0 2px 0 #345412; }.download-button>span { grid-row:1/3; align-self:center; font-size:1.4rem; }.download-button strong,.download-button small { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; }.download-button small { opacity:.8; white-space:nowrap; }
.database-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }.record-section { min-width:0; }.rich-content { font-size:.92rem; line-height:1.6; }.rich-content h3,.rich-content h4,.rich-content h5 { color:#6e3b15; }.rich-content img { max-width:100%; }.video-frame { position:relative; aspect-ratio:16/9; }.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:8px; }
.database-feature-shot { min-height:220px; background:#18202b; }.database-feature-shot img { width:100%; height:100%; object-fit:contain; }
.news-thumb { width:62px; height:62px; object-fit:cover; border-radius:7px; border:1px solid #8e632e; }.news-archive { display:grid; gap:12px; }.news-archive-card { display:grid; grid-template-columns:160px 1fr; gap:16px; padding:12px; border-bottom:1px dashed rgba(99,61,22,.3); }.news-archive-card img { width:160px; aspect-ratio:4/3; object-fit:cover; border-radius:7px; }.news-archive-card h2 { margin:2px 0 7px; }.article-content { max-width:950px; margin-inline:auto; }.article-hero-image { width:min(700px,100%); max-height:460px; object-fit:contain; margin:0 auto 18px; }.product-price { color:#5a7d27; font-size:1.3rem; font-weight:900; }
@media(max-width:890px){.download-card{grid-template-columns:52px 1fr}.download-card .button{grid-column:1/-1}.download-card img,.download-icon{width:52px;height:52px}.database-sections{grid-template-columns:1fr}.credits-grid,.game-downloads{grid-template-columns:1fr}.news-archive-card{grid-template-columns:1fr}.news-archive-card img{width:100%;max-height:250px}.site-nav a{font-size:.82rem}}

/* v2.0 — archive administration, global search and deeper catalogue pages */
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;padding:10px 14px;border-radius:8px;color:#fff;background:#38200e;font-weight:900}.skip-link:focus{top:12px}.site-footer a{color:inherit;text-decoration:underline;text-decoration-color:#d8b76c;text-underline-offset:3px}.platform-pills{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.platform-pills a{padding:6px 10px;border:1px solid #8a672e;border-radius:999px;background:#f7e7b7;color:#563512;font-size:.78rem;font-weight:900}.related-section{margin-top:14px}.creator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.creator-card{padding:14px;border:1px solid rgba(93,58,21,.24);border-radius:9px;background:rgba(255,255,255,.36)}.creator-card h3{margin:0 0 7px}.creator-card p{min-height:2.6em;margin:0 0 8px;color:#725024;font-size:.84rem}.search-sections{display:grid;gap:20px}.search-sections>section{padding-top:8px;border-top:1px dashed rgba(90,54,20,.3)}.global-search input{min-width:min(700px,100%);font-size:1.08rem}.credits-grid a{color:#6a3c16;text-decoration:underline;text-underline-offset:2px}.rich-content blockquote{margin:15px 0;padding:12px 16px;border-left:5px solid #8a5e28;background:rgba(255,255,255,.35)}.rich-content figure{margin:15px 0}.rich-content figcaption{color:#6f604e;font-size:.82rem}.article-content .rich-content img{display:block;width:auto;height:auto;max-height:800px;margin:16px auto;border-radius:7px}.media-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.creator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.creator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search{align-items:stretch}.global-search input{min-width:0;width:100%}}
@media(max-width:480px){.creator-grid{grid-template-columns:1fr}}

/* v2.1 — Community & Preservation Edition */
.eyebrow{display:block;margin-bottom:4px;color:#80501f;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:10px 4px 13px;padding:8px 12px;border:1px solid rgba(73,42,14,.32);border-radius:9px;background:rgba(250,232,183,.88);font-size:.85rem;font-weight:800}.breadcrumbs a{color:#6a3d18;text-decoration:underline;text-underline-offset:2px}
.forum-landing-grid,.community-dashboard,.member-profile-layout,.my-yolkfolk-grid,.account-form-layout,.community-game-panel{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.forum-main-column,.community-main,.my-yolkfolk-main,.member-profile-main{display:grid;gap:14px;min-width:0}
.archive-search-panel{display:grid;gap:10px}.community-search-form{display:flex;gap:9px}.community-search-form input,.filter-bar input,.filter-bar select,.account-form input,.account-form select,.stacked-form input,.collection-form select,.collection-form textarea,.review-form select,.review-form textarea{width:100%;padding:10px 12px;border:1px solid #a47d42;border-radius:7px;color:var(--ink);background:rgba(255,252,237,.94);font:inherit}.community-search-form input{font-size:1rem}.archive-quick-links{display:flex;flex-wrap:wrap;gap:7px}.archive-quick-links a,.collection-tabs a{padding:6px 10px;border:1px solid rgba(99,61,22,.28);border-radius:999px;background:rgba(255,255,255,.42);font-size:.8rem;font-weight:900}
.forum-group{padding:0;overflow:hidden}.forum-group>.forum-group-heading{padding:15px 17px}.forum-group-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid rgba(93,56,20,.23);background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.08))}.forum-group-heading h2{margin:0}.forum-group-heading>span{color:#765025;font-size:.8rem;font-weight:900}.forum-board-list{display:grid}.forum-board-row{display:grid;grid-template-columns:48px minmax(260px,1fr) 72px 72px 190px;gap:12px;align-items:center;padding:14px 17px;border-bottom:1px dashed rgba(90,55,20,.28)}.forum-board-row:last-child{border-bottom:0}.forum-board-row:hover{background:rgba(255,255,255,.22)}.forum-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #89602d;border-radius:50%;background:linear-gradient(#fff7db,#e7c980);font-size:1.45rem}.forum-board-copy h3{margin:0 0 4px}.forum-board-copy h3 a:hover{text-decoration:underline}.forum-description{color:#6d4b28;font-size:.83rem}.forum-description p{margin:0}.subforum-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.subforum-links a{padding:3px 7px;border-radius:4px;background:rgba(103,72,34,.1);color:#694018;font-size:.72rem;font-weight:900}.forum-count{text-align:center}.forum-count strong,.forum-count span{display:block}.forum-count strong{font-size:1.05rem}.forum-count span{color:#805d35;font-size:.68rem;text-transform:uppercase}.forum-last{display:grid;gap:4px;font-size:.76rem}.forum-last a{font-weight:900}.forum-last span{color:#765631}.archive-notice p{line-height:1.55}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-bar input{flex:1 1 260px}.filter-bar select{width:auto;min-width:180px}.subforum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.subforum-card{display:grid;gap:3px;padding:11px;border:1px solid rgba(93,57,20,.24);border-radius:8px;background:rgba(255,255,255,.34)}.subforum-card span{color:#785630;font-size:.78rem}.topic-table{margin-top:13px;border:1px solid rgba(94,58,22,.23);border-radius:9px;overflow:hidden}.topic-table-head,.topic-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px 130px;gap:10px;align-items:center}.topic-table-head{padding:9px 13px;color:#fff4d5;background:linear-gradient(#85501f,#633613);font-size:.72rem;font-weight:900;text-transform:uppercase}.topic-row{padding:12px 13px;border-bottom:1px dashed rgba(91,56,21,.25)}.topic-row:last-child{border-bottom:0}.topic-row>strong,.topic-row>span{text-align:center}.topic-row h3{display:inline;margin:0;font-size:1rem}.topic-row p{margin:4px 0;color:#76532f;font-size:.8rem}.topic-row>div>span{color:#76532f;font-size:.74rem}.topic-status-icons{display:inline-flex;gap:3px;margin-right:5px}.topic-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px}.topic-heading h1{margin:1px 0 6px;font-size:clamp(1.55rem,3vw,2.5rem)}.topic-heading p{margin:0;color:#72502b}.topic-heading-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.topic-heading-badges span,.answer-badge{padding:5px 8px;border:1px solid #8c672f;border-radius:999px;background:#f4df9f;font-size:.72rem;font-weight:900}
.forum-poll{margin-bottom:13px}.poll-row{display:grid;gap:5px;margin:9px 0}.poll-row>div:first-child{display:flex;justify-content:space-between}.poll-bar{height:12px;overflow:hidden;border:1px solid #8b6834;border-radius:99px;background:#e2c986}.poll-bar span{display:block;height:100%;background:linear-gradient(90deg,#6d9d32,#9ac957)}
.forum-post-list{display:grid;gap:11px}.forum-post{display:grid;grid-template-columns:170px minmax(0,1fr);overflow:hidden;border:2px solid rgba(75,43,13,.62);border-radius:11px;background:linear-gradient(90deg,rgba(229,200,132,.96) 0 170px,rgba(250,235,191,.97) 170px);box-shadow:var(--soft-shadow)}.post-author{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 10px;text-align:center}.post-author>a{display:flex;flex-direction:column;align-items:center;gap:6px}.post-author span,.post-author small{color:#76502a;font-size:.76rem}.post-avatar,.member-profile-avatar,.member-card-avatar,.member-mini-avatar,.member-avatar-small{object-fit:cover;border:2px solid #7f5526;border-radius:50%;background:linear-gradient(#fff8dd,#e8cc8d)}.post-avatar{width:76px;height:76px}.post-content{min-width:0;padding:13px 15px;background:rgba(255,251,233,.55)}.post-content>header{display:flex;gap:10px;align-items:center;padding-bottom:8px;border-bottom:1px dashed rgba(94,58,22,.25);color:#77532d;font-size:.75rem}.post-content>header a{margin-right:auto;font-weight:900}.forum-rich-content{padding:10px 0;line-height:1.55;overflow-wrap:anywhere}.forum-rich-content p{margin:.55em 0}.forum-rich-content blockquote{margin:10px 0;padding:8px 12px;border-left:4px solid #8b5e25;background:rgba(255,255,255,.42)}.forum-rich-content img{max-width:100%;height:auto;margin:8px auto;border-radius:6px}.forum-rich-content pre{overflow:auto;padding:10px;border-radius:6px;background:#352417;color:#fff2d0}.redacted{padding:1px 5px;border-radius:3px;background:#efe0b5;color:#84522a;font-size:.86em}.post-content>footer{display:flex;gap:10px;padding-top:8px;border-top:1px dashed rgba(94,58,22,.25);color:#73502c;font-size:.78rem}.post-attachments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.post-attachments a{display:grid;gap:4px;padding:5px;border:1px solid rgba(86,50,18,.24);border-radius:6px;background:rgba(255,255,255,.36)}.post-attachments img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#1d1e22}.post-attachments span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.archive-readonly-footer{display:flex;gap:12px;align-items:center;margin-top:13px}.archive-readonly-footer strong,.archive-readonly-footer span{display:block}.archive-readonly-footer span{flex:1;color:#73522e;font-size:.82rem}
.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:13px}.member-card{text-align:center}.member-card-avatar{width:104px;height:104px;margin:0 auto 8px}.member-card h2{margin:0;font-size:1.08rem}.member-rank{margin:4px 0 10px;color:#7b4f20;font-size:.78rem;font-weight:900;text-transform:uppercase}.member-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:9px 0}.member-card-stats span{padding:6px 3px;border-radius:6px;background:rgba(255,255,255,.35);font-size:.65rem;text-transform:uppercase}.member-card-stats strong{display:block;font-size:.88rem}.member-profile-layout{grid-template-columns:280px minmax(0,1fr)}.member-profile-card{text-align:center;position:sticky;top:82px}.member-profile-avatar{width:160px;height:160px;margin:0 auto 10px}.member-signature{margin-top:16px;padding:12px;border-left:5px solid #86551e;background:rgba(255,255,255,.3)}.claim-approved,.form-success{padding:9px;border:1px solid #6d962f;border-radius:7px;background:#dcebbd;color:#31520d;font-weight:900}.member-mini-list{display:grid;gap:7px}.member-mini-list>a{display:flex;gap:9px;align-items:center;padding:7px;border:1px solid rgba(92,56,20,.2);border-radius:7px;background:rgba(255,255,255,.3)}.member-mini-avatar{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px}.member-mini-list span{display:grid}.member-mini-list small{color:#78542d}.avatar-fallback{display:grid;place-items:center;color:#71461b;font-weight:900}
.community-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:13px}.gallery-item{padding:8px}.gallery-item>a{display:block;overflow:hidden;border-radius:6px;background:#1e2527}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:contain}.gallery-item h2{margin:8px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.gallery-item p{margin:0;color:#75502b;font-size:.72rem}.audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.audio-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:13px}.audio-icon{display:grid;place-items:center;width:66px;height:66px;border:2px solid #725022;border-radius:50%;color:#fff3cb;background:linear-gradient(#9c64bd,#6d3d8a);font-size:2rem;font-weight:900}.audio-card h2{margin:2px 0 5px}.audio-card audio{width:100%;margin:8px 0}
.community-welcome-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center}.community-welcome-actions h2{margin:2px 0 7px}.community-action-buttons{display:grid;gap:7px}.community-category-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.community-category-cards a{display:grid;gap:3px;padding:9px;border:1px solid rgba(93,56,20,.23);border-radius:7px;background:rgba(255,255,255,.3)}.community-category-cards span{color:#77542d;font-size:.72rem}.community-gallery-preview{grid-template-columns:repeat(3,1fr)}.audio-preview-list{display:grid;gap:7px}.audio-preview-list a{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid rgba(91,55,20,.2);border-radius:7px;background:rgba(255,255,255,.3)}.audio-preview-list span{font-size:1.4rem}.thread-list-rich li{padding:9px 0}
.account-form-layout{grid-template-columns:minmax(0,620px) minmax(260px,1fr);justify-content:center}.account-form,.stacked-form{display:grid;gap:10px}.account-form label,.stacked-form label,.collection-form label,.review-form label{display:grid;gap:5px;font-weight:900}.form-error{padding:9px;border:1px solid #a53a2d;border-radius:7px;background:#f4c7bd;color:#762014;font-weight:900}.check-list{display:grid;gap:8px;padding-left:20px}.my-yolkfolk-grid{grid-template-columns:minmax(0,1fr) 310px}.panel-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-title-row h2{margin:2px 0}.collection-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.collection-section{padding:13px 0;border-top:1px dashed rgba(93,56,20,.26)}.collection-section h3{margin:0 0 8px}.collection-section h3 span{color:#7b582f;font-size:.8rem}.collection-game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.collection-game-grid article{padding:7px;border:1px solid rgba(91,55,20,.22);border-radius:7px;background:rgba(255,255,255,.31)}.collection-game-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#192027}.collection-game-grid strong{display:block;margin-top:5px;font-size:.78rem}.collection-game-grid p{font-size:.72rem}.stacked-form+ .stacked-form{margin-top:15px;padding-top:15px;border-top:1px dashed rgba(93,56,20,.25)}
.community-game-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px}.collection-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.collection-form .wide,.collection-form button{grid-column:1/-1}.review-form{display:grid;gap:8px;padding:11px;border:1px solid rgba(93,56,20,.24);border-radius:8px;background:rgba(255,255,255,.28)}.rating-summary{display:flex;gap:12px;align-items:center;margin:10px 0}.rating-summary>strong{font-size:2.6rem}.rating-summary>span{display:grid;color:#ae6d13;font-size:1.25rem}.rating-summary small{color:#72502b;font-size:.72rem}.approved-review-list{display:grid;gap:8px;margin-top:12px}.approved-review-list article{padding:10px;border:1px solid rgba(93,56,20,.22);border-radius:7px;background:rgba(255,255,255,.3)}.approved-review-list header{display:flex;justify-content:space-between;gap:10px}.approved-review-list header span{color:#b06d10}.approved-review-list p{margin:7px 0}.approved-review-list small{color:#76532e}.search-result-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:13px}
@media(max-width:1320px){.site-nav a{padding-inline:7px;font-size:.78rem}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.forum-landing-grid,.community-dashboard,.my-yolkfolk-grid{grid-template-columns:1fr}.forum-board-row{grid-template-columns:44px minmax(0,1fr) 62px 62px}.forum-last{grid-column:2/-1;padding-top:6px;border-top:1px dashed rgba(90,55,20,.2)}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-game-panel{grid-template-columns:1fr}.side-stack{position:static}}
@media(max-width:820px){.forum-post{grid-template-columns:1fr;background:rgba(250,235,191,.97)}.post-author{flex-direction:row;justify-content:flex-start;text-align:left;border-bottom:1px solid rgba(84,50,17,.22)}.post-author>a{flex-direction:row}.post-avatar{width:55px;height:55px}.topic-table-head{display:none}.topic-row{grid-template-columns:1fr 1fr 1fr}.topic-row>div{grid-column:1/-1}.topic-row>strong,.topic-row>span{text-align:left}.topic-row>strong::before{content:'Count: ';font-weight:400}.member-profile-layout,.account-form-layout{grid-template-columns:1fr}.member-profile-card{position:static}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-grid,.search-result-sections{grid-template-columns:1fr}.community-welcome-actions{grid-template-columns:1fr}.community-action-buttons{display:flex;flex-wrap:wrap}.collection-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-readonly-footer{align-items:flex-start;flex-direction:column}.post-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.forum-board-row{grid-template-columns:40px 1fr}.forum-count{display:none}.forum-last{grid-column:1/-1}.forum-group-heading{align-items:flex-start;flex-direction:column}.subforum-grid,.community-category-cards{grid-template-columns:1fr}.member-grid,.community-gallery-grid{grid-template-columns:1fr}.collection-form{grid-template-columns:1fr}.collection-form .wide,.collection-form button{grid-column:auto}.collection-game-grid{grid-template-columns:1fr}.community-search-form{align-items:stretch;flex-direction:column}.post-attachments{grid-template-columns:1fr}.panel-title-row{align-items:flex-start;flex-direction:column}.audio-card{grid-template-columns:1fr}.audio-icon{width:54px;height:54px}}


/* v2.2 live forum, launcher, submissions and launch pages */
.live-forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.live-forum-main{display:grid;gap:18px}.live-category-list{display:grid;gap:10px}.live-category-row{display:grid;grid-template-columns:52px minmax(0,1fr) 110px 110px;gap:14px;align-items:center;padding:15px;border-radius:15px;background:rgba(255,255,255,.34);border:1px solid rgba(91,54,20,.18)}.live-category-row small,.live-topic-list article span{display:block;color:#705a3c}.live-category-row>b{font-size:1.1rem}.live-topic-list{display:grid}.live-topic-list article{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;padding:16px 4px;border-bottom:1px dashed rgba(91,54,20,.25)}.live-topic-list h3,.live-topic-list p{margin:0 0 5px}.live-topic-list>article>span{text-align:right}.live-post-body{font-size:1.02rem;line-height:1.7;white-space:normal}.forum-post footer form{display:inline-flex;gap:5px}.mini-action{border:1px solid rgba(83,46,12,.25);background:#f5e4b6;border-radius:9px;padding:5px 9px;cursor:pointer}.report-control{display:inline-block}.report-control form{display:flex;gap:6px;margin-top:7px}.report-control input{min-width:220px}.live-reply-panel textarea,.submission-form textarea{width:100%}.submission-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submission-form .wide,.submission-form .ribbon,.submission-form button{grid-column:1/-1}.online-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.online-game-card{overflow:hidden;border-radius:18px;background:rgba(255,255,255,.36);border:1px solid rgba(89,51,17,.22)}.online-game-card>img,.online-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;background:#d6c58f}.online-placeholder{display:grid;place-items:center}.online-placeholder img{max-width:65%;max-height:65%;object-fit:contain}.online-game-card>div:last-child{padding:15px}.online-game-card h3{margin:0 0 8px}.online-game-card p{min-height:48px}.online-game-card span{display:block;margin-bottom:12px;color:#6c573d}.launcher-shell{padding:10px 0 20px}.launcher-shell>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-radius:18px 18px 0 0;background:#2b1b0f;color:#fff}.launcher-shell h1{margin:0}.launcher-shell>header>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.launcher-frame-wrap{height:calc(100vh - 210px);min-height:520px;background:#000;border:8px solid #2b1b0f;border-top:0}.launcher-frame-wrap iframe{width:100%;height:100%;border:0;background:#000}.launcher-help{text-align:center}.not-found-page{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:30px;min-height:480px}.not-found-character{max-height:360px;margin:auto}.notification-unread{border-left:5px solid #7a49a5;padding-left:12px}.community-welcome-actions .button.ghost{background:rgba(255,255,255,.35)}
@media(max-width:980px){.live-forum-layout{grid-template-columns:1fr}.online-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-category-row{grid-template-columns:45px minmax(0,1fr)}.live-category-row>span:nth-last-child(-n+2){display:none}.launcher-frame-wrap{height:70vh;min-height:420px}.not-found-page{grid-template-columns:1fr}.not-found-character{max-height:240px}.submission-form{grid-template-columns:1fr}.submission-form>*{grid-column:1!important}}
@media(max-width:620px){.online-game-grid{grid-template-columns:1fr}.live-topic-list article{grid-template-columns:1fr}.live-topic-list>article>span{text-align:left}.launcher-shell>header{align-items:flex-start;flex-direction:column}.launcher-frame-wrap{height:65vh;min-height:360px}}


/* v2.3 — complete Game Media, Other Media and Community media archive */
.nav-group{position:relative;display:flex;align-items:stretch}.nav-group>a{height:100%}.nav-group>a span{font-size:.67em;opacity:.8}.nav-dropdown{position:absolute;z-index:180;top:calc(100% - 2px);left:0;display:none;min-width:210px;padding:7px;border:2px solid #4b270c;border-radius:0 0 10px 10px;background:linear-gradient(rgba(255,255,255,.07),rgba(0,0,0,.14)),url('../images/ui/wood-texture.png') center/520px 130px;color:#fff5d5;box-shadow:0 12px 22px rgba(32,17,5,.3)}.nav-dropdown a{display:block!important;padding:9px 12px!important;border:0!important;border-radius:6px;font-size:.84rem!important;white-space:nowrap}.nav-dropdown a:hover{background:rgba(255,229,127,.17)}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block}
.media-hub-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:15px}.media-hub-intro h2{margin:2px 0 7px}.media-summary{display:grid;min-width:135px;text-align:center}.media-summary strong{font-size:2.4rem;color:#6b4019}.media-summary span{font-weight:900}.media-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.media-hub-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;overflow:hidden}.media-hub-card>img{width:150px;height:150px;object-fit:cover;border:1px solid rgba(76,42,12,.3);border-radius:8px;background:#2b251e}.media-hub-icon{display:grid;place-items:center;width:150px;height:150px;border-radius:8px;color:#fff5ce;background:linear-gradient(145deg,#8e5c2a,#4d2b12);font-size:4rem}.media-hub-card h2{margin:2px 0 6px}.media-hub-card p{min-height:3.5em;margin:0 0 11px}.media-breadcrumbs{display:flex;justify-content:space-between;gap:15px;margin:0 3px 12px;padding:9px 13px;border:1px solid rgba(83,47,15,.3);border-radius:9px;background:rgba(248,231,184,.88);font-size:.85rem;font-weight:900}.media-breadcrumbs a{text-decoration:underline;text-underline-offset:2px}.media-library-toolbar{margin-bottom:14px}.media-filter-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,280px) auto auto;gap:9px}.media-filter-form input,.media-filter-form select{width:100%}.button.ghost{color:#5e3a16;background:rgba(255,255,255,.38);border-color:#9d7540;box-shadow:none}.archive-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.archive-media-card{overflow:hidden;padding:8px}.archive-media-image,.resource-preview{width:100%;padding:0;border:0;cursor:zoom-in;background:#1d2329}.archive-media-image img{width:100%;aspect-ratio:4/3;object-fit:contain}.archive-media-card>div{padding:9px 5px 5px}.archive-media-card h2{margin:0 0 4px;font-size:.94rem}.archive-media-card p{margin:0;color:#73502b;font-size:.74rem}.media-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.media-audio-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px}.media-type-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff3d0;background:linear-gradient(145deg,#9660b5,#64357f);font-size:1.8rem;font-weight:900}.media-audio-card h2{margin:2px 0 7px;font-size:1rem}.media-audio-card audio{width:100%;margin:3px 0 8px}.media-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.media-article-card h2{margin:3px 0 8px;font-size:1.08rem}.media-article-card p{min-height:4.8em}.media-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.media-video-card h2{margin:12px 0 4px}.media-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-resource-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:11px;align-items:center}.media-resource-card .resource-preview{width:82px;height:82px}.media-resource-card .resource-preview img{width:100%;height:100%;object-fit:contain;background:#f7e9bd}.media-resource-card .media-type-icon{width:72px;height:72px}.media-resource-card h2{margin:2px 0 8px;font-size:.94rem}.media-lightbox[hidden]{display:none}.media-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:28px;background:rgba(15,9,4,.91)}.media-lightbox figure{max-width:min(1200px,95vw);max-height:92vh;margin:0;text-align:center}.media-lightbox img{display:block;max-width:100%;max-height:84vh;margin:auto;object-fit:contain}.media-lightbox figcaption{margin-top:9px;color:#fff4d0;font-weight:900}.media-lightbox-close{position:fixed;top:16px;right:20px;width:45px;height:45px;border:2px solid #fff1c0;border-radius:50%;color:#fff;background:#6b2e1d;font-size:2rem;cursor:pointer}.community-media-shelf{margin-bottom:14px}.community-media-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px}.community-media-links a{display:grid;grid-template-rows:90px auto auto;overflow:hidden;border:1px solid rgba(89,52,18,.23);border-radius:8px;background:rgba(255,255,255,.31);text-align:center}.community-media-links img{width:100%;height:90px;object-fit:cover;background:#28231d}.community-media-links>a>span{display:grid;place-items:center;height:90px;color:#fff4d2;background:linear-gradient(145deg,#86542b,#4c2c14);font-size:2.4rem}.community-media-links strong{padding:7px 6px 2px}.community-media-links small{padding:0 6px 7px;color:#75522d}.media-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.media-search-results a{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid rgba(89,52,18,.2);border-radius:7px;background:rgba(255,255,255,.3)}.media-search-results>a>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:#744a24}.media-search-results strong,.media-search-results small{display:block}.media-search-results small{color:#76532d;font-size:.72rem}
@media(max-width:1250px){.media-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-media-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:890px){.nav-group{display:block}.nav-group>a{display:flex!important}.nav-dropdown{position:static;display:grid!important;min-width:0;padding:0 0 5px 18px;border:0;background:none;box-shadow:none}.nav-dropdown a{padding:7px 10px!important;border-left:2px solid rgba(255,229,127,.35)!important;border-radius:0}.media-hub-grid,.media-article-grid,.media-resource-grid{grid-template-columns:1fr}.archive-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-audio-grid,.media-video-grid{grid-template-columns:1fr}.media-filter-form{grid-template-columns:1fr}.community-media-links{grid-template-columns:repeat(2,minmax(0,1fr))}.media-search-results{grid-template-columns:1fr}}
@media(max-width:560px){.media-hub-intro{grid-template-columns:1fr}.media-hub-card{grid-template-columns:95px 1fr}.media-hub-card>img,.media-hub-icon{width:95px;height:105px}.archive-media-grid{grid-template-columns:1fr}.community-media-links{grid-template-columns:1fr}.media-resource-card{grid-template-columns:70px 1fr}.media-lightbox{padding:12px}}


/* v2.4 complete-site pages */
.link-directory-section{margin-top:18px;padding:22px}.link-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.link-directory-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:16px;background:rgba(255,255,255,.42);border:1px solid rgba(90,52,18,.18)}.link-directory-card h3,.external-shop-card h3{margin:0 0 6px}.link-directory-card p,.external-shop-card p{margin:0;line-height:1.45}.link-site-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#6e9633;color:#fff;font-size:1.3rem;font-weight:900}.shop-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px}.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.shop-card{padding:18px;display:flex;flex-direction:column}.shop-card img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.35);margin-bottom:12px}.shop-card .button{margin-top:auto}.external-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.external-shop-card{padding:18px;border-radius:16px;background:rgba(255,255,255,.4);border:1px solid rgba(90,52,18,.18)}.museum-welcome{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px;padding:20px}.museum-welcome>img{max-height:220px;margin:auto}.museum-tile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.museum-tile{overflow:hidden;text-align:center;padding:10px;transition:transform .18s ease}.museum-tile:hover{transform:translateY(-3px)}.museum-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:8px}.patron-panel{text-align:center;padding:24px}.patron-panel>img{max-width:760px;margin:0 auto 22px;border-radius:18px}.patron-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:900px;margin:0 auto 22px}.patron-name{padding:18px;border-radius:16px;background:rgba(255,255,255,.42);font-size:1.1rem}.patron-name span{color:#d19620;margin-right:8px}.packs-intro{display:grid;grid-template-columns:minmax(160px,320px) 1fr;align-items:center;gap:24px;padding:22px}.packs-intro img{max-height:180px;margin:auto}.pack-thumb{width:120px;height:90px;object-fit:contain;border-radius:12px}.legacy-static-page{padding:clamp(20px,4vw,46px);max-width:1100px;margin-inline:auto}.legacy-static-page img{display:block;max-width:100%;height:auto;margin:18px auto;border-radius:14px}.legacy-static-page h2,.legacy-static-page h3{margin-top:1.6em}.legacy-static-page p{line-height:1.7}.legacy-source-note{margin-top:30px;padding-top:16px;border-top:1px dashed rgba(80,45,15,.3);display:flex;justify-content:space-between;gap:16px}.remember-login{display:flex!important;align-items:center;gap:10px}.remember-login input{width:auto!important}.account-state-debug{font-size:.75rem;opacity:.65}
@media(max-width:1050px){.museum-tile-grid{grid-template-columns:repeat(3,1fr)}.shop-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.link-directory-grid,.external-shop-grid,.shop-product-grid,.patron-grid{grid-template-columns:1fr}.link-directory-card{grid-template-columns:44px 1fr}.link-directory-card .button{grid-column:1/-1}.museum-welcome,.packs-intro{grid-template-columns:1fr}.museum-tile-grid{grid-template-columns:repeat(2,1fr)}.shop-intro{align-items:flex-start;flex-direction:column}.legacy-source-note{flex-direction:column}}


/* v2.5 — spacing and readability polish
   Gives forms, result counts, headings and card copy a consistent breathing rhythm. */
.media-library-toolbar {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding-top: 18px;
  padding-bottom: 19px;
}
.media-library-toolbar .media-filter-form {
  margin: 0;
  align-items: stretch;
}
.media-library-toolbar .result-count,
.result-count {
  margin: 0;
  padding: 11px 2px 0;
  border-top: 1px dashed rgba(104, 68, 28, .28);
  color: #785126;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.45;
}
.media-filter-form input,
.media-filter-form select,
.media-filter-form .button,
.filter-bar input,
.filter-bar select,
.filter-bar .button,
.toolbar input,
.toolbar select {
  min-height: 46px;
  line-height: 1.3;
}
.media-filter-form input,
.media-filter-form select {
  padding-block: 11px;
}

/* General vertical rhythm inside parchment panels. */
.panel p,
.panel li,
.link-directory-card p,
.external-shop-card p,
.media-hub-card p,
.media-article-card p,
.legacy-static-page p {
  line-height: 1.55;
}
.panel h1 + p,
.panel h2 + p,
.panel h3 + p,
.panel .eyebrow + h2,
.panel .eyebrow + h3 {
  margin-top: 7px;
}
.panel p + p { margin-top: .75em; }
.panel p + .button,
.panel p + .text-link,
.panel ul + .button,
.panel ol + .button { margin-top: 11px; }
.panel-title + p,
.panel-title-row + p { margin-top: 4px; }

/* Media cards and hubs had several labels sitting too tightly together. */
.media-hub-intro { gap: 22px; }
.media-hub-intro h2 { margin: 0 0 9px; }
.media-hub-intro p { margin: 0; }
.media-hub-card { padding: 13px; }
.media-hub-card h2 { margin: 1px 0 8px; line-height: 1.22; }
.media-hub-card p { margin: 0 0 13px; }
.archive-media-card > div { padding: 11px 7px 7px; }
.archive-media-card h2 { margin: 0 0 6px; line-height: 1.25; }
.archive-media-card p { margin: 0 0 5px; line-height: 1.4; }
.media-audio-card,
.media-resource-card,
.media-article-card,
.media-video-card { padding: 15px; }
.media-audio-card h2,
.media-resource-card h2 { line-height: 1.28; }
.media-article-card h2 { margin: 5px 0 10px; line-height: 1.25; }
.media-video-card h2 { margin: 14px 0 7px; line-height: 1.25; }
.media-resource-card .eyebrow,
.media-audio-card .eyebrow,
.media-article-card .eyebrow { display: inline-block; margin-bottom: 3px; }

/* Forms and account panels. */
.account-form,
.stacked-form,
.collection-form,
.review-form { row-gap: 13px; }
.account-form label,
.stacked-form label,
.collection-form label,
.review-form label { gap: 7px; line-height: 1.35; }
.form-error { line-height: 1.45; }
.filter-bar { margin-bottom: 14px; }

/* New complete-site sections. */
.shop-intro > div > :first-child,
.museum-welcome > div > :first-child,
.packs-intro > div > :first-child { margin-top: 0; }
.shop-intro p,
.museum-welcome p,
.packs-intro p { margin-bottom: 12px; }
.link-directory-section > .panel-title,
.link-directory-section > h2 { margin-bottom: 18px; }
.link-directory-card h3,
.external-shop-card h3 { line-height: 1.25; }
.link-directory-card p,
.external-shop-card p { margin-top: 2px; }

@media (max-width: 890px) {
  .media-library-toolbar { gap: 12px; padding-top: 15px; padding-bottom: 16px; }
  .media-library-toolbar .result-count { padding-top: 10px; }
  .media-hub-card { padding: 11px; }
}

/* =========================================================
   v2.6 MOBILE RESPONSIVE EDITION
   Compact, touch-friendly and intentionally less cluttered.
   ========================================================= */
.menu-icon,.account-icon{display:none}
main,.panel,.layout,.homepage-grid,.dashboard-row,.media-hub-grid,.archive-media-grid,.media-resource-grid,.media-article-grid,.media-video-grid,.media-audio-grid{min-width:0}
iframe,video,audio{max-width:100%}
pre,.code,.break-code{white-space:pre-wrap;overflow-wrap:anywhere}
.legacy-static-page,.panel,.media-card,.game-card,.character-card{overflow-wrap:anywhere}

@media(max-width:890px){
:root{--panel-radius:12px;--shadow:0 8px 18px rgba(30,17,5,.22);--soft-shadow:0 5px 12px rgba(41,23,6,.16)}
html{scroll-padding-top:64px}body{background-attachment:scroll;background-position:center top;font-size:16px}body.nav-open{overflow:hidden}
.site-shell{width:calc(100% - 6px);margin:3px auto 12px}
.topbar{top:2px;min-height:52px;align-items:center;border-width:2px;border-radius:10px;box-shadow:0 2px 0 rgba(45,21,5,.6),0 7px 14px rgba(21,11,3,.2)}
.home-badge{flex:0 0 46px;width:46px;min-height:48px}.home-badge span{width:32px;height:32px;font-size:21px}
.menu-toggle{display:inline-flex;min-width:88px;min-height:42px;margin:4px 5px;gap:7px;border:1px solid rgba(255,244,211,.25);border-radius:8px}.menu-icon{display:inline;font-size:1.25rem;line-height:1}
.join-button{min-height:42px;margin:4px 5px 4px auto;padding:7px 12px;border-width:1px;white-space:nowrap}
.account-icon{display:inline-block;width:13px;height:13px;margin-right:7px;border:2px solid #fff2c7;border-radius:50%;color:transparent;box-shadow:0 9px 0 -3px #fff2c7}
.site-nav{display:none;position:fixed;z-index:500;top:59px;left:6px;right:6px;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;padding:8px;border:2px solid #321906;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.1)),url('../images/ui/wood-texture.png') center/620px 155px repeat;box-shadow:0 16px 38px rgba(18,9,2,.48)}
.site-nav.open{display:grid}.site-nav>a,.site-nav>.nav-group>a{min-height:45px;justify-content:flex-start;padding:10px 13px;border:0;border-bottom:1px solid rgba(255,244,211,.12);border-radius:7px;font-size:.98rem}.site-nav>a:last-child{border-bottom:0}.site-nav a.active{color:#ffe783;background:rgba(255,232,151,.12)}.site-nav a::after{display:none}.nav-group{display:block}.nav-group>a span{display:none}.nav-dropdown{display:none!important}
.home-hero,.page-hero,.page-hero.compact{display:block;min-height:0;margin:7px 0 9px;padding:13px 12px 12px;border-width:3px;border-radius:12px;background-position:center 42%}.home-character,.hero-character,.hero-leaf{display:none!important}.home-hero-copy,.hero-centre{padding:0;text-align:center}.home-logo{width:min(390px,92%);margin:0 auto 3px}.main-logo{width:min(300px,82%)}.welcome-line{max-width:620px;margin:3px auto 10px;font-size:.94rem;line-height:1.35}.hero-centre h1{margin:4px 0;font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.05}.hero-centre .hero-subtitle,.hero-centre p{margin:5px auto;line-height:1.35}
.feature-pips{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:600px}.feature-pips div{min-height:43px;padding:5px 7px;gap:5px;border-radius:7px}.feature-pips b{font-size:16px}.feature-pips span{font-size:.77rem;line-height:1.15}.feature-pips small{font-size:.61rem}
.panel{border-width:3px;border-radius:12px;padding:12px;box-shadow:0 2px 0 rgba(48,24,7,.25),0 6px 14px rgba(31,17,5,.14)}.panel::before,.panel::after{display:none!important}.panel-title{align-items:stretch;flex-direction:column;gap:9px;margin-bottom:11px}.panel-title h2,.preview-panel .panel-title h2{min-height:0;padding:0 0 8px;color:var(--ink);background:none;border-bottom:2px solid rgba(104,67,27,.24);text-shadow:none;font-family:"Arial Rounded MT Bold","Trebuchet MS",sans-serif;font-size:1.25rem;line-height:1.1}.section-kicker{margin:0 0 3px;padding:0;font-size:.64rem}.ribbon{margin:-17px 0 9px;padding:5px 11px 6px;font-size:.67rem}
.button,button,input,select,textarea,summary{min-height:44px}.button,button{justify-content:center}.toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form{width:100%;align-items:stretch;flex-direction:column;gap:8px}.toolbar input,.toolbar select,.toolbar .button,.filter-bar input,.filter-bar select,.filter-bar .button,.media-filter-form input,.media-filter-form select,.media-filter-form .button,.global-search input,.global-search .button{width:100%;min-width:0}.media-library-toolbar{gap:10px;margin-bottom:10px;padding:11px}.media-library-toolbar .result-count,.result-count{padding-top:8px;font-size:.82rem}
.homepage-grid,.layout,.feature-row,.profile-layout,.community-columns,.forum-landing-grid,.community-dashboard,.my-yolkfolk-grid,.live-forum-layout,.member-profile-layout,.account-form-layout,.database-sections,.museum-welcome,.packs-intro{grid-template-columns:1fr!important}.side-stack{position:static;grid-template-columns:1fr}
.home-game-grid,.game-grid,.archive-grid,.media-grid,.archive-media-grid,.museum-tile-grid,.community-gallery-grid,.collection-game-grid,.online-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.character-grid,.media-hub-grid,.media-resource-grid,.media-article-grid,.media-video-grid,.media-audio-grid,.shop-product-grid,.external-shop-grid,.link-directory-grid,.patron-grid,.creator-grid,.community-category-cards,.subforum-grid,.search-result-sections{grid-template-columns:1fr}
.home-game-grid .game-card:nth-child(n+5){display:none}.home-game-grid .game-card{padding:6px}.game-card h3{margin:6px 0 3px;font-size:.82rem;line-height:1.2}.game-card .meta{gap:3px;font-size:.68rem;line-height:1.2}.centre-action .button{width:100%}.play-home{padding:12px}.feature-shot{min-height:0;aspect-ratio:16/9}
.dashboard-row,.dashboard-row.three{display:flex;gap:9px;margin-top:9px;padding:2px 1px 10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dashboard-row::-webkit-scrollbar{display:none}.dashboard-row>.panel{flex:0 0 min(86vw,370px);scroll-snap-align:start}
.character-card>a{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:11px;align-items:start}.character-card .character-portrait-img{grid-row:1/span 5;width:105px;height:132px;object-fit:cover}.character-card h3{width:100%;margin:0 0 5px}.character-card p{margin:3px 0}.character-card>a>p:not(.meta){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.86rem}.character-card .button{width:100%;margin-top:5px}
.archive-media-card.panel,.media-audio-card.panel,.media-resource-card.panel,.media-article-card.panel,.media-video-card.panel,.shop-card.panel,.museum-tile.panel{border:1px solid rgba(101,64,25,.24);padding:7px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.04)),rgba(246,231,191,.76);box-shadow:0 3px 8px rgba(48,26,7,.1)}.archive-media-card h2,.shop-card h2,.media-article-card h2,.media-video-card h2{font-size:.92rem}.archive-media-card p,.shop-card p{font-size:.78rem}.shop-card .button{width:100%}.media-hub-card{grid-template-columns:82px minmax(0,1fr);gap:10px}.media-hub-card>img,.media-hub-icon{width:82px;height:90px}
.forum-board-row{grid-template-columns:38px minmax(0,1fr)}.forum-count{display:none}.forum-last{grid-column:1/-1;padding-top:5px}.forum-post{grid-template-columns:1fr}.post-author{flex-direction:row;justify-content:flex-start;text-align:left;padding:8px;border-bottom:1px solid rgba(84,50,17,.18)}.post-avatar{width:48px;height:48px}.topic-table-head{display:none}.topic-row{grid-template-columns:1fr;gap:4px}.topic-row>*{text-align:left!important}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}
.pagination{flex-wrap:wrap;justify-content:center;gap:5px}.pagination a{min-width:40px;min-height:40px;display:grid;place-items:center}
.site-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:9px;padding:8px;border-width:2px}.site-footer>div{min-width:0;padding:8px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.site-footer>div:nth-child(2n){border-right:0}.site-footer>div:nth-last-child(-n+2){border-bottom:0}.site-footer strong{font-size:.72rem}.site-footer span{font-size:.68rem}
}

@media(max-width:560px){
.menu-toggle{min-width:46px;width:46px;padding:6px}.menu-label{display:none}.join-button{width:45px;min-width:45px;padding:6px}.account-label{display:none}.account-icon{margin-right:0}
.home-logo{width:min(320px,94%)}.main-logo{width:min(245px,80%)}.welcome-line{font-size:.88rem}.feature-pips{gap:5px}.feature-pips div{min-height:40px;padding:4px 5px}.feature-pips span{font-size:.72rem}.feature-pips small{display:none}
.panel{padding:10px}.panel-title h2,.preview-panel .panel-title h2{font-size:1.12rem}.ribbon{margin-top:-15px}
.home-game-grid,.game-grid,.archive-grid,.media-grid,.archive-media-grid,.museum-tile-grid,.community-gallery-grid,.collection-game-grid,.online-game-grid,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cover-frame{padding:2px}.game-card h3{font-size:.77rem}
.link-directory-card{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px}.link-directory-card .button{grid-column:1/-1;width:100%}.link-site-icon{width:36px;height:36px}
.media-hub-card{grid-template-columns:68px minmax(0,1fr)}.media-hub-card>img,.media-hub-icon{width:68px;height:76px}.media-hub-card h2{font-size:1rem}.media-hub-card p{font-size:.82rem}
.character-card>a{grid-template-columns:88px minmax(0,1fr);gap:9px}.character-card .character-portrait-img{width:88px;height:112px}.character-card>a>p:not(.meta){-webkit-line-clamp:2;font-size:.8rem}.character-card .button{min-height:38px;padding:6px 8px;font-size:.78rem}
.community-media-links,.gallery-strip,.people-strip,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.media-lightbox{padding:8px}.media-lightbox-close{top:8px;right:8px;width:42px;height:42px}.video-frame{aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%}.site-footer{grid-template-columns:1fr 1fr!important}
}

@media(max-width:390px){.feature-pips{grid-template-columns:1fr 1fr}.feature-pips b{display:none}.home-game-grid,.game-grid,.archive-grid,.archive-media-grid,.museum-tile-grid,.community-gallery-grid,.collection-game-grid,.online-game-grid,.member-grid{gap:6px}.game-card{padding:5px}.site-footer span{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:890px){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar{top:max(2px,env(safe-area-inset-top))}.site-nav{top:calc(59px + env(safe-area-inset-top));max-height:calc(100dvh - 68px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.site-footer{margin-bottom:env(safe-area-inset-bottom)}}


/* =========================================================
   v2.7 YOLKFOLK ONLINE — DIZZY 1 + DIZZY 2
   ========================================================= */
.yolkfolk-online-welcome{padding:18px 22px}.online-player-status{display:flex;align-items:center;gap:16px}.online-player-status>div{flex:1}.online-player-status h2{margin:2px 0 4px}.online-player-status p{margin:0}.online-dot{width:17px;height:17px;border-radius:50%;background:#69bd35;box-shadow:0 0 0 5px rgba(105,189,53,.18),0 0 18px rgba(88,190,36,.65);flex:0 0 auto}
.online-duo-grid{display:grid;gap:20px}.online-feature-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.7fr);gap:18px;padding:18px}.online-feature-main{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;min-width:0}.online-cover-wrap{position:relative;align-self:start;padding:8px;border-radius:13px;background:rgba(255,255,255,.35);box-shadow:inset 0 0 0 1px rgba(87,50,18,.22)}.online-cover-wrap img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;box-shadow:0 8px 18px rgba(39,20,5,.25)}.online-badge{position:absolute;left:14px;right:14px;bottom:14px;padding:7px 9px;border-radius:7px;background:rgba(45,99,25,.92);color:white;text-align:center;font-weight:900;font-size:.75rem;text-transform:uppercase}.online-feature-copy h2{margin:3px 0 8px;font-size:clamp(1.6rem,3vw,2.4rem)}.online-feature-copy>p{font-size:1.02rem}.online-feature-list{display:grid;gap:6px;margin:14px 0;padding:0;list-style:none}.online-feature-list li{position:relative;padding-left:24px}.online-feature-list li::before{content:'✓';position:absolute;left:0;color:#4e8626;font-weight:900}.online-actions{display:flex;flex-wrap:wrap;gap:9px}.button.disabled{pointer-events:none;filter:grayscale(.5);opacity:.65}.installation-note{margin:12px 0 0;padding:9px 11px;border-radius:8px;background:rgba(128,77,27,.09);font-size:.84rem}.installation-note code{font-weight:800}
.online-board{padding:14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.08)),rgba(220,191,126,.34);border:1px solid rgba(92,55,19,.22)}.online-board-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(91,54,18,.18)}.online-board h3{margin:2px 0;font-size:1.1rem}.online-board ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px}.online-board li{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:7px 8px;border-radius:7px;background:rgba(255,255,255,.38);font-size:.84rem}.online-board li.is-you{background:rgba(255,225,101,.38);box-shadow:inset 0 0 0 1px rgba(169,113,18,.35)}.online-board li .rank{font-weight:900;color:#8b3c1e}.online-board li small{display:block;font-size:.58rem;opacity:.68}.online-board .empty-score{display:block;text-align:center;padding:16px}.your-online-best{display:flex;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(91,54,18,.18);font-size:.82rem}.ghost-explainer{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.ghost-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ghost-steps div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 7px;border-radius:10px;background:rgba(255,255,255,.32);text-align:center;font-weight:800}.ghost-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#6b972f;color:white}
.launcher-main{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px}.launcher-live-panel{padding:14px;border-radius:13px;background:var(--parchment);border:2px solid rgba(83,47,14,.55)}.launcher-live-panel h2{font-size:1.15rem}.launcher-live-panel ol{list-style:none;padding:0;display:grid;gap:5px}.launcher-live-panel li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;padding:7px;border-radius:7px;background:rgba(255,255,255,.34)}.launcher-live-panel li small{grid-column:2}.launcher-account-note{font-size:.78rem;line-height:1.35}.my-online-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.my-online-records article{display:grid;gap:5px;padding:14px;border-radius:10px;background:rgba(255,255,255,.32);border:1px solid rgba(91,54,18,.18)}.my-online-records h3{margin:0}.my-online-records article>strong{font-size:1.7rem;color:#a33b25}.my-online-records article>span{font-weight:800}
@media(max-width:1050px){.online-feature-card{grid-template-columns:1fr}.online-feature-main{grid-template-columns:170px minmax(0,1fr)}.launcher-main{grid-template-columns:1fr}.launcher-live-panel{display:none}}
@media(max-width:890px){.online-player-status{align-items:stretch;flex-wrap:wrap}.online-player-status .button{flex:1}.online-feature-card{padding:11px;gap:11px}.online-feature-main{grid-template-columns:120px minmax(0,1fr);gap:12px}.online-cover-wrap{padding:4px}.online-feature-copy h2{font-size:1.35rem}.online-feature-copy>p{font-size:.88rem}.online-feature-list{font-size:.8rem}.online-feature-list li:nth-child(2),.online-feature-list li:nth-child(4){display:none}.online-actions .button{flex:1}.online-board{padding:10px}.ghost-explainer{grid-template-columns:1fr}.ghost-steps{grid-template-columns:repeat(4,1fr)}.launcher-shell header{align-items:stretch;flex-direction:column}.launcher-shell header>div:last-child{display:grid;grid-template-columns:1fr 1fr}.my-online-records{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.yolkfolk-online-welcome{padding:12px}.online-dot{display:none}.online-feature-main{grid-template-columns:92px minmax(0,1fr)}.online-badge{left:7px;right:7px;bottom:7px;padding:4px;font-size:.58rem}.online-feature-copy .eyebrow{font-size:.58rem}.online-feature-copy h2{font-size:1.12rem}.online-feature-copy>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.online-feature-list{display:none}.online-actions{display:grid;grid-template-columns:1fr}.installation-note{grid-column:1/-1}.online-board li{grid-template-columns:28px minmax(0,1fr) auto}.online-board li>span:last-child{display:none}.ghost-steps{grid-template-columns:repeat(2,1fr)}.my-online-records{grid-template-columns:1fr}.launcher-frame-wrap{min-height:calc(100dvh - 190px)}}

/* =========================================================
   v2.8 FUN & POLISH EDITION
   ========================================================= */
.hero-action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px auto 14px}.hero-action-row .button{min-height:42px}.hero-play{box-shadow:0 5px 0 #6f2117,0 10px 20px rgba(67,25,8,.2)}
.home-online-stage{margin:15px 0;padding:17px}
.home-online-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-online-card{display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;padding:12px;border:1px solid rgba(92,54,18,.18);border-radius:13px;background:rgba(255,255,255,.31);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.home-online-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.46);box-shadow:0 10px 20px rgba(53,29,7,.14)}.home-online-cover{position:relative}.home-online-cover img{width:100%;height:100%;min-height:170px;object-fit:cover;border-radius:9px;border:2px solid rgba(94,55,18,.38)}.home-online-cover span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(50,104,25,.92);color:white;font-size:.7rem;font-weight:900}.home-online-card h3{margin:2px 0 5px;font-size:1.35rem}.home-online-card p{margin:0 0 9px;font-size:.88rem;line-height:1.42}.home-personal-best{display:flex;flex-wrap:wrap;gap:5px 10px;padding:7px 9px;margin:8px 0;border-radius:8px;background:rgba(255,223,104,.22);font-size:.78rem}.home-personal-best b{color:#7d3b18}.card-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.card-action-row .button{padding:8px 11px;min-height:36px;font-size:.78rem}
.fun-card{position:relative;display:flex;flex-direction:column;overflow:hidden}.fun-card .game-card-main{display:block;flex:1}.card-quick-actions{display:flex;gap:4px;padding:6px 3px 2px;margin-top:auto;border-top:1px solid rgba(89,52,18,.15)}.card-quick-actions a{flex:1;padding:6px 4px;border-radius:6px;background:rgba(255,255,255,.3);text-align:center;font-size:.68rem;font-weight:900;transition:background .15s ease,color .15s ease}.card-quick-actions a:hover{background:#fff0bd;color:#7d321c}.card-quick-actions .play-chip{background:#5e8d2d;color:white}.fun-card .cover-frame{transition:transform .2s ease,filter .2s ease}.fun-card:hover .cover-frame{transform:translateY(-2px) rotate(-.35deg);filter:saturate(1.08)}
.stacked-actions{display:grid;gap:8px;text-align:center}.home-discovery-row{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;margin:14px 0}.recent-game-list{display:grid;gap:6px}.recent-game{display:grid;grid-template-columns:45px minmax(0,1fr) 22px;gap:9px;align-items:center;padding:7px;border-radius:8px;background:rgba(255,255,255,.28)}.recent-game:hover{background:rgba(255,255,255,.5)}.recent-game img{width:45px;height:55px;object-fit:cover;border-radius:5px}.recent-game span,.recent-game strong,.recent-game small{display:block;min-width:0}.recent-game strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.84rem}.recent-game small{font-size:.68rem;opacity:.72}.daily-trivia{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center}.daily-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff8c8,#eab84c 60%,#a6611e);font-size:2rem;box-shadow:inset 0 0 0 4px rgba(255,255,255,.42),0 7px 14px rgba(64,34,7,.2)}.daily-trivia h2{margin:2px 0 5px}.daily-trivia p{margin:0 0 9px}.activity-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.activity-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:7px;border-radius:8px;background:rgba(255,255,255,.24)}.activity-egg{display:grid;place-items:center;width:22px;height:26px;border-radius:50% 50% 45% 45%;background:#fff3ca;color:#d2452f;border:1px solid rgba(93,51,15,.22)}.activity-list strong,.activity-list span{display:block}.activity-list strong{font-size:.82rem}.activity-list span{font-size:.7rem;opacity:.72}.quick-adventure-buttons{display:grid;gap:7px}.quick-adventure-buttons>a{display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border-radius:9px;background:rgba(255,255,255,.29)}.quick-adventure-buttons>a:hover{background:rgba(255,255,255,.52)}.quick-adventure-buttons b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#699835;color:white}.quick-adventure-buttons span,.quick-adventure-buttons small{display:block}.quick-adventure-buttons small{font-size:.67rem;opacity:.7}
.game-fun-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0}.game-fun-toolbar .button{font-size:.8rem;min-height:38px;padding:8px 12px}
.ghost-preferences-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:12px}.ghost-preferences-panel h2{margin:2px 0 4px}.ghost-preferences-panel p{margin:0}.ghost-preferences{display:flex;align-items:end;gap:9px;padding:9px;border-radius:11px;background:rgba(255,255,255,.25);transition:box-shadow .2s ease}.ghost-preferences.saved{box-shadow:0 0 0 3px rgba(94,143,45,.25)}.ghost-preferences label{display:grid;gap:4px;font-size:.7rem;font-weight:900}.ghost-preferences select{min-width:135px;padding:8px;border:1px solid rgba(86,48,14,.3);border-radius:7px;background:#fff7da}.toggle-label{display:flex!important;align-items:center;gap:6px;padding:8px}.toggle-label input{width:18px;height:18px}.online-title-row{display:flex;justify-content:space-between;gap:10px;align-items:start}.online-personal-record{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:9px;margin:9px 0;border-radius:9px;background:rgba(255,222,94,.2)}.online-personal-record span{grid-column:1/-1;font-size:.65rem;text-transform:uppercase;font-weight:900}.online-personal-record strong{color:#9d3422}.online-personal-record small{align-self:end}.save-note{font-size:.72rem!important;color:#537229}.launcher-frame-wrap{position:relative}.launcher-loading{position:absolute;inset:0;z-index:5;display:grid;place-content:center;gap:6px;text-align:center;color:#4e2c11;background:linear-gradient(rgba(255,243,202,.95),rgba(224,193,123,.96)),url('../images/ui/paper-texture.png');transition:opacity .35s ease,visibility .35s ease}.launcher-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-egg{font-size:3.2rem;animation:yolkfolk-bob 1s ease-in-out infinite}.launcher-loading strong{font-size:1.2rem}.launcher-loading small{opacity:.7}
.community-live-pulse{margin-bottom:14px}.community-pulse-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.community-pulse-grid h3{margin:0 0 8px}
.mobile-dock{display:none}.button{position:relative;overflow:hidden}.click-spark{position:absolute;z-index:10;pointer-events:none;transform:translate(-50%,-50%);color:#fff2a1;text-shadow:0 1px 4px #7d321b;animation:yolkfolk-spark .55s ease-out forwards}@keyframes yolkfolk-spark{0%{opacity:1;transform:translate(-50%,-50%) scale(.4) rotate(0)}100%{opacity:0;transform:translate(-50%,-110%) scale(1.8) rotate(50deg)}}@keyframes yolkfolk-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@media(hover:hover) and (pointer:fine){.game-card,.media-card,.character-card{transition:transform .18s ease,box-shadow .18s ease}.game-card:hover,.media-card:hover,.character-card:hover{transform:translateY(-3px);box-shadow:0 11px 20px rgba(51,28,7,.14)}}
@media(max-width:1050px){.home-online-card{grid-template-columns:105px minmax(0,1fr)}.home-online-cover img{min-height:145px}.ghost-preferences-panel{grid-template-columns:1fr}.ghost-preferences{justify-content:flex-start}.community-pulse-grid{grid-template-columns:1fr}}
@media(max-width:890px){body{padding-bottom:76px}.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(var(--dock-items,5),minmax(0,1fr));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom));z-index:120;padding:5px;border:2px solid #3a1d08;border-radius:15px;color:#fff1c5;background:url('../images/ui/wood-texture.png') center/230px 76px,linear-gradient(#8b511f,#60300f);box-shadow:0 8px 25px rgba(25,12,3,.45),inset 0 1px rgba(255,255,255,.18)}.mobile-dock a{display:grid;place-items:center;gap:1px;min-width:0;padding:5px 2px;border-radius:9px;font-weight:900}.mobile-dock a.active{color:#ffe074;background:rgba(255,255,255,.12)}.mobile-dock span{font-size:1rem}.mobile-dock small{font-size:.58rem;white-space:nowrap}.mobile-dock .dock-play{margin:-17px 3px 0;background:linear-gradient(#d85835,#9c2c1f);border:2px solid #592015;box-shadow:0 4px 0 #4a1d13}.mobile-dock .dock-play span{font-size:1.3rem}.site-footer{margin-bottom:0}.hero-action-row{display:grid;grid-template-columns:1fr 1fr}.hero-action-row .hero-play{grid-column:1/-1}.home-online-games{grid-template-columns:1fr}.home-discovery-row{grid-template-columns:1fr}.ghost-preferences{display:grid;grid-template-columns:1fr 1fr}.ghost-preferences label{min-width:0}.ghost-preferences select{min-width:0;width:100%}.toggle-label{grid-column:1/-1}.community-pulse-grid{grid-template-columns:1fr}}
@media(max-width:560px){.home-online-stage{padding:10px}.home-online-card{grid-template-columns:84px minmax(0,1fr);gap:9px;padding:8px}.home-online-cover img{min-height:118px}.home-online-card h3{font-size:1rem}.home-online-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.76rem}.home-personal-best{display:none}.home-online-card .card-action-row{display:grid;grid-template-columns:1fr}.home-discovery-row{gap:9px}.daily-trivia{grid-template-columns:52px minmax(0,1fr);gap:10px}.daily-icon{width:50px;height:50px;font-size:1.4rem}.daily-trivia h2{font-size:1rem}.daily-trivia p{font-size:.8rem}.card-quick-actions a{font-size:.59rem;padding:5px 2px}.game-fun-toolbar{display:grid;grid-template-columns:1fr 1fr}.game-fun-toolbar .button{width:100%}.ghost-preferences{grid-template-columns:1fr}.toggle-label{grid-column:auto}.community-live-pulse{padding:10px}.mobile-dock small{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){.loading-egg{animation:none}.click-spark{display:none}}


/* =========================================================
   v2.9 MOBILE SPACING & READABILITY POLISH
   Focus: cleaner spacing and better hero/info-bar readability.
   ========================================================= */
@media (max-width: 890px) {
  .site-shell { width: calc(100% - 8px); margin: 4px auto 14px; }
  .topbar { padding: 5px; gap: 6px; }
  .home-badge, .menu-toggle, .join-button { box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }

  /* Improve readability of page/home hero copy on busy scenery */
  .home-hero-copy,
  .page-hero .hero-centre {
    max-width: min(100%, 720px);
    margin: 0 auto;
    padding: 10px 12px 12px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,249,236,.88), rgba(250,239,214,.78));
    border: 1px solid rgba(113,67,20,.22);
    box-shadow: 0 2px 8px rgba(48,24,7,.12), inset 0 1px 0 rgba(255,255,255,.45);
    backdrop-filter: blur(2px);
  }
  .home-hero .eyebrow,
  .page-hero .eyebrow {
    display: inline-block;
    margin: 0 auto 7px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255,247,226,.92);
    border: 1px solid rgba(120,74,23,.18);
    color: #754016;
    font-size: .71rem;
    line-height: 1.15;
    letter-spacing: .12em;
  }
  .home-hero-copy .welcome-line,
  .page-hero .hero-centre > p:last-child {
    max-width: 28ch;
    margin-left: auto;
    margin-right: auto;
    font-size: .95rem;
    line-height: 1.42;
    text-wrap: balance;
  }
  .page-hero .hero-centre h1,
  .home-hero-copy h1 {
    max-width: 12ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
    text-shadow: 0 2px 0 rgba(255,255,255,.72), 0 4px 10px rgba(62,33,8,.12);
  }

  /* More breathing room between stacked sections */
  main > section,
  main > article,
  main > .panel,
  .layout,
  .homepage-grid,
  .home-discovery-row,
  .community-pulse-grid,
  .game-fun-toolbar,
  .media-library-toolbar,
  .dashboard-row,
  .search-sections,
  .database-sections {
    margin-top: 12px;
  }
  .panel { padding: 13px; }
  .panel-title,
  .panel-title-row,
  .section-heading { margin-bottom: 12px; gap: 10px; }
  .panel-title h2,
  .section-heading h2,
  .play-home > h2,
  .new-here > h2,
  .side-stack .panel > h2 { line-height: 1.08; }

  /* Cleaner button stacks and toolbars */
  .hero-action-row,
  .game-fun-toolbar,
  .card-action-row { gap: 9px; }
  .game-fun-toolbar .button,
  .hero-action-row .button,
  .card-action-row .button,
  .toolbar .button,
  .filter-bar .button,
  .media-filter-form .button,
  .global-search .button,
  .community-search-form .button { min-height: 46px; }

  /* Reduce visual crowding in cards */
  .game-card,
  .character-card,
  .archive-media-card.panel,
  .media-audio-card.panel,
  .media-resource-card.panel,
  .media-article-card.panel,
  .media-video-card.panel,
  .shop-card.panel,
  .museum-tile.panel,
  .dashboard-card,
  .online-board,
  .home-online-card { padding: 10px; }
  .game-card h3,
  .character-card h3,
  .archive-media-card h2,
  .shop-card h2,
  .media-article-card h2,
  .media-video-card h2,
  .home-online-card h3 { line-height: 1.18; }
  .result-count,
  .meta,
  .game-card .meta,
  .news-list span,
  .thread-list span { line-height: 1.3; }
}

@media (max-width: 560px) {
  .site-shell { width: calc(100% - 6px); }
  .topbar { min-height: 54px; }
  .panel { padding: 12px; }
  .home-hero, .page-hero, .page-hero.compact { padding: 12px 10px; }
  .home-hero-copy,
  .page-hero .hero-centre { padding: 10px 10px 11px; }
  .home-hero .eyebrow,
  .page-hero .eyebrow { font-size: .67rem; padding: 4px 8px; }
  .page-hero .hero-centre h1,
  .home-hero-copy h1 { max-width: 11ch; font-size: clamp(1.72rem, 8.3vw, 2.35rem); }
  .home-hero-copy .welcome-line,
  .page-hero .hero-centre > p:last-child { max-width: 24ch; font-size: .91rem; }

  .hero-action-row,
  .game-fun-toolbar { grid-template-columns: 1fr; }
  .game-fun-toolbar .button,
  .hero-action-row .button,
  .card-action-row .button { width: 100%; }

  .home-game-grid,
  .game-grid,
  .archive-grid,
  .media-grid,
  .archive-media-grid,
  .museum-tile-grid,
  .community-gallery-grid,
  .collection-game-grid,
  .online-game-grid,
  .member-grid { gap: 10px !important; }

  .button,
  button,
  input,
  select,
  textarea { font-size: 16px; }

  .result-count {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(104,67,27,.16);
  }

  .daily-trivia,
  .recent-game,
  .activity-list li,
  .quick-adventure-buttons > a,
  .home-online-card,
  .download-card,
  .link-directory-card,
  .news-archive-card { gap: 10px; }

  /* Make the top info bar on detail pages easier to read */
  .page-hero .eyebrow {
    box-shadow: 0 1px 4px rgba(54,28,7,.08);
  }
}


/* =========================================================
   v3.0 MOBILE FINISHING PASS
   Dedicated phone header, compact detail heroes, and cleaner flow.
   ========================================================= */
.mobile-brand { display: none; }
.hero-more { display: none; }

@media (max-width: 890px) {
  body { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  [id] { scroll-margin-top: 72px; scroll-margin-bottom: 96px; }

  .topbar {
    display: grid;
    grid-template-columns: 44px 48px minmax(0,1fr) 46px;
    min-height: 56px;
    padding: 4px;
    gap: 5px;
  }
  .home-badge,
  .menu-toggle,
  .join-button {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 5px;
    border-radius: 10px;
  }
  .home-badge { flex-basis: auto; }
  .home-badge span { width: 30px; height: 30px; font-size: 20px; }
  .menu-toggle { display: inline-flex; gap: 0; }
  .menu-label, .account-label { display: none; }
  .account-icon { margin: 0; width: 15px; height: 15px; }

  .mobile-brand {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2px 7px;
    color: #fff3cf;
    line-height: 1;
    text-align: center;
    text-shadow: 0 2px 2px rgba(40,18,3,.55);
  }
  .mobile-brand span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: Georgia, serif;
    font-size: 1.02rem;
    font-weight: 900;
    letter-spacing: .02em;
    white-space: nowrap;
  }
  .mobile-brand small {
    margin-top: 3px;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .12em;
    opacity: .78;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .site-nav {
    top: calc(63px + env(safe-area-inset-top));
    left: 7px;
    right: 7px;
    max-height: calc(100dvh - 74px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding: 10px;
    border-radius: 14px;
  }
  .site-nav > a,
  .site-nav > .nav-group > a {
    min-height: 47px;
    margin: 1px 0;
    padding: 11px 13px;
    border-radius: 8px;
  }

  /* Keep the homepage scenic, while making inner page info unmissable. */
  .home-hero-copy {
    padding: 2px 2px 5px;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .home-logo { filter: drop-shadow(0 3px 2px rgba(255,255,255,.42)); }
  .home-hero-copy .welcome-line {
    max-width: 31ch;
    padding: 8px 10px;
    border-radius: 11px;
    background: rgba(255,249,233,.78);
    box-shadow: 0 2px 8px rgba(50,25,6,.11);
  }

  .page-hero,
  .page-hero.compact {
    padding: 10px;
    background-position: center 48%;
  }
  .page-hero .hero-centre {
    width: 100%;
    max-width: 720px;
    padding: 12px 12px 13px;
    background: linear-gradient(180deg, rgba(255,250,238,.94), rgba(249,233,198,.88));
    border: 1px solid rgba(94,53,16,.25);
    box-shadow: 0 4px 12px rgba(49,24,6,.14), inset 0 1px 0 rgba(255,255,255,.62);
  }
  .page-hero .eyebrow {
    color: #fff8df;
    background: linear-gradient(180deg,#8d5729,#6f3d17);
    border: 1px solid #4d280d;
    box-shadow: 0 2px 0 rgba(51,24,6,.26);
    text-shadow: 0 1px 1px rgba(34,16,3,.55);
  }
  .page-hero .hero-centre h1 {
    max-width: 14ch;
    margin: 7px auto 8px;
    font-size: clamp(1.7rem, 7vw, 2.25rem);
    line-height: 1.02;
  }
  .page-hero .hero-description {
    max-width: 34ch;
    margin: 0 auto;
    color: #3d2817;
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.43;
  }
  .page-hero .hero-description.is-collapsible:not(.is-expanded) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  .hero-more {
    display: inline-flex;
    min-height: 36px;
    margin: 9px auto 0;
    padding: 6px 13px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(91,52,17,.27);
    border-radius: 999px;
    color: #633816;
    background: rgba(255,255,255,.52);
    font: inherit;
    font-size: .73rem;
    font-weight: 900;
  }

  /* Top-level mobile rhythm */
  main { display: flow-root; }
  main > :first-child { margin-top: 7px; }
  main > :last-child { margin-bottom: 14px; }
  main > section + section,
  main > section + article,
  main > article + section,
  main > .layout + section,
  main > section + .layout { margin-top: 13px; }

  .panel-title-row {
    align-items: flex-start;
    flex-direction: column;
  }

  /* Compact but clear action areas */
  .game-fun-toolbar {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin: 10px 0 13px;
  }
  .game-fun-toolbar .button {
    width: 100%;
    min-width: 0;
    padding: 8px 7px;
    font-size: .76rem;
    line-height: 1.15;
  }
  .game-fun-toolbar .button:nth-child(n+3) { grid-column: 1 / -1; }

  .profile-layout.database-profile { gap: 13px; }
  .database-detail-cover { max-height: min(68dvh, 680px); object-fit: contain; }
  .screenshot-grid { gap: 10px; }
  .stat-grid { gap: 8px; }
  .stat { padding: 10px 7px; }
  .credits-grid { grid-template-columns: 1fr; }
  .quick-nav { gap: 6px; }
  .quick-nav a { padding: 9px; }

  /* Cleaner mobile cards. */
  .home-online-card,
  .archive-media-card.panel,
  .media-hub-card,
  .shop-card.panel,
  .museum-tile.panel,
  .character-card,
  .download-card,
  .news-archive-card {
    border-radius: 10px;
    box-shadow: 0 3px 9px rgba(47,25,7,.11);
  }
  .home-online-card p,
  .archive-media-card p,
  .shop-card p,
  .news-archive-card p { line-height: 1.38; }

  .mobile-dock {
    left: max(7px,env(safe-area-inset-left));
    right: max(7px,env(safe-area-inset-right));
    bottom: max(7px,env(safe-area-inset-bottom));
    min-height: 66px;
    padding: 5px 6px;
    border-radius: 17px;
    box-shadow: 0 10px 28px rgba(25,12,3,.42), inset 0 1px rgba(255,255,255,.2);
    transition: transform .18s ease, opacity .18s ease;
  }
  .mobile-dock a { min-height: 51px; padding: 5px 2px; }
  .mobile-dock span { font-size: 1.03rem; }
  .mobile-dock small { font-size: .58rem; }
  .mobile-dock .dock-play {
    min-height: 61px;
    margin: -14px 3px 0;
    border-radius: 12px;
  }
  .mobile-dock.is-keyboard-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 18px));
  }
}

@media (max-width: 560px) {
  .topbar { grid-template-columns: 42px 46px minmax(0,1fr) 44px; }
  .home-badge, .menu-toggle, .join-button { width: 42px; min-width: 42px; }
  .mobile-brand span { font-size: .96rem; }
  .mobile-brand small { font-size: .51rem; letter-spacing: .09em; }

  .page-hero .hero-centre { padding: 11px 10px 12px; }
  .page-hero .hero-centre h1 { max-width: 12ch; font-size: clamp(1.65rem, 8vw, 2.08rem); }
  .page-hero .hero-description { max-width: 29ch; font-size: .9rem; }

  .hero-action-row {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }
  .hero-action-row .hero-play { grid-column: 1 / -1; }
  .hero-action-row .button { min-width: 0; padding-inline: 8px; }

  .feature-pips div { min-height: 44px; }
  .home-online-stage .panel-title-row h2 { font-size: 1.55rem; line-height: 1.04; }
  .home-online-stage .eyebrow { font-size: .63rem; line-height: 1.25; }

  .game-fun-toolbar { grid-template-columns: 1fr 1fr; }
  .game-fun-toolbar .button:nth-child(n+3) { grid-column: 1 / -1; }

  .profile-layout.database-profile > .panel { padding: 9px; }
  .detail-cover.database-detail-cover { border-radius: 7px; }
  .community-game-panel { gap: 12px; }
  .collection-form, .review-form { gap: 10px; }

  .mobile-dock { min-height: 64px; }
  .mobile-dock a { min-height: 49px; }
  .mobile-dock .dock-play { min-height: 59px; }
}

@media (max-width: 380px) {
  .mobile-brand small { display: none; }
  .mobile-brand span { font-size: .9rem; }
  .game-fun-toolbar { grid-template-columns: 1fr; }
  .game-fun-toolbar .button { grid-column: auto !important; }
  .home-game-grid,
  .game-grid,
  .archive-grid,
  .media-grid,
  .archive-media-grid,
  .museum-tile-grid,
  .community-gallery-grid,
  .collection-game-grid,
  .online-game-grid,
  .member-grid { grid-template-columns: 1fr !important; }
}

/* Preserve page hero copy styling on desktop when a mobile expand button follows it. */
.hero-centre > .hero-description {
  max-width: 720px;
  margin: 0 auto;
  font-size: clamp(.92rem,1.1vw,1.08rem);
  font-weight: 900;
  line-height: 1.32;
}

/* =========================================================
   v3.1 YOLKFOLK ONLINE SOURCE PORT EXPERIENCE
   ========================================================= */
.launcher-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.launcher-live-pill{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid rgba(255,229,151,.3);border-radius:999px;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:900}.launcher-live-pill i{width:8px;height:8px;border-radius:50%;background:#78df48;box-shadow:0 0 0 4px rgba(120,223,72,.13),0 0 7px #78df48}.game-launcher-page{background:#07121a}.game-launcher-page .site-shell{width:100%;max-width:none;margin:0}.game-launcher-page .topbar,.game-launcher-page .site-footer,.game-launcher-page .mobile-dock{display:none!important}.game-launcher-page #main-content{padding:0}.launcher-shell{height:100dvh;padding:0;background:linear-gradient(#132838,#07131d);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.launcher-shell>header{border-radius:0;padding:8px 12px;min-height:58px;background:linear-gradient(180deg,#3b2717,#23160d);box-shadow:0 2px 0 #6f4620;z-index:3}.launcher-shell>header h1{font-size:1.15rem;line-height:1.05}.launcher-shell>header p{margin:2px 0 0;color:#ddcdaa;font-size:.72rem}.launcher-shell>header .eyebrow{margin-bottom:2px;color:#ffe28a;font-size:.62rem}.launcher-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:0;background:#000}.launcher-frame-wrap{height:100%;min-height:0;border:0;background:#000;position:relative}.launcher-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#000}.launcher-live-panel{height:100%;overflow-y:auto;border:0;border-left:2px solid #4c3017;border-radius:0;padding:12px;background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.02)),var(--parchment)}.launcher-live-panel h2{margin:7px 0 9px}.launcher-live-panel ol{margin:0}.launcher-help{margin:0;padding:6px 12px;background:#101a20;color:#ded2b4;font-size:.68rem;line-height:1.3;text-align:center}.launcher-loading{position:absolute;inset:0;z-index:5}.launcher-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:1050px){.launcher-main{grid-template-columns:1fr}.launcher-live-panel{display:none}}
@media(max-width:760px){.launcher-shell>header{min-height:48px;padding:5px 7px;align-items:center;flex-direction:row}.launcher-shell>header>div:first-child{min-width:0}.launcher-shell>header h1{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.launcher-shell>header p,.launcher-shell>header .eyebrow{display:none}.launcher-tools{margin-left:auto;gap:4px;flex-wrap:nowrap}.launcher-tools .button{min-height:36px;padding:6px 9px;font-size:.66rem}.launcher-live-pill{min-height:34px;padding:5px 8px;font-size:.62rem}.launcher-help{display:none}.launcher-shell{grid-template-rows:auto minmax(0,1fr)}.launcher-main{height:100%}}
@media(max-height:520px) and (orientation:landscape){.launcher-shell>header{position:absolute;z-index:8;top:4px;left:4px;right:auto;width:auto;min-height:0;padding:3px;border-radius:8px;background:rgba(10,18,22,.75);box-shadow:none}.launcher-shell>header>div:first-child,.launcher-live-pill{display:none}.launcher-tools .button{min-height:28px;padding:3px 7px;font-size:.58rem}.launcher-main{grid-row:1/-1}.launcher-frame-wrap{height:100dvh}}


/* =========================================================
   v3.2 OVERLAP FIXES
   Prevent decorative labels from colliding with titles on tighter layouts.
   ========================================================= */
.play-home{position:relative}
.featured-stamp{
  position:static;
  align-self:flex-end;
  display:inline-flex;
  margin:2px 2px 8px auto;
  transform:rotate(7deg);
  max-width:fit-content;
}
.play-home > h2{clear:both}

@media (max-width: 890px){
  .featured-stamp{
    margin:0 0 8px auto;
    padding:4px 8px;
    font-size:.63rem;
    transform:rotate(6deg);
  }
  .play-home h2{margin-top:0}
}

@media (max-width: 560px){
  .featured-stamp{
    margin:0 2px 7px auto;
    padding:3px 7px;
    border-radius:5px;
    font-size:.6rem;
  }
}

/* =========================================================
   v3.3 MEMBER PROFILE CONTROL PANEL
   ========================================================= */
.profile-notice{max-width:980px;margin:12px auto}
.account-control-layout,.public-profile-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.account-control-summary,.public-profile-card{position:sticky;top:82px;text-align:center}
.account-control-main,.public-profile-main{display:grid;gap:16px;min-width:0}
.account-avatar-preview{display:grid;place-items:center}
.account-avatar-large,.public-profile-avatar{display:grid;place-items:center;width:178px;height:178px;margin:4px auto 12px;object-fit:cover;border:5px solid #8d5b27;border-radius:50%;background:linear-gradient(#fff8dd,#e8cc8d);box-shadow:0 0 0 5px rgba(255,244,208,.65),0 10px 22px rgba(58,31,8,.22);font-size:3rem}
.account-dashboard-avatar .member-profile-avatar{display:grid;place-items:center;width:112px;height:112px;margin:5px auto 10px;font-size:2rem}
.account-control-summary h2,.public-profile-card h2{margin:5px 0 2px}
.account-summary-bio{font-size:.88rem;line-height:1.45}
.account-control-links{display:grid;gap:8px;margin-top:13px}
.profile-visibility-state{display:grid;gap:3px;margin:14px 0 0;padding:10px;border-radius:9px;background:rgba(255,255,255,.32)}
.profile-visibility-state span{font-size:.75rem;line-height:1.35;color:#76512c}
.avatar-editor-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center}
.avatar-upload-form{align-self:stretch;align-content:center}
.profile-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.profile-settings-form>label,.profile-password-form>label{display:grid;gap:5px;font-weight:900}
.profile-settings-form small,.profile-password-form small,.avatar-upload-form small{font-weight:400;color:#76512c;line-height:1.35}
.profile-wide{grid-column:1/-1}
.profile-privacy-options{display:grid;gap:8px;margin:2px 0 0;padding:12px;border:1px solid rgba(92,55,19,.24);border-radius:10px;background:rgba(255,255,255,.28)}
.profile-privacy-options legend{padding:0 6px;color:#724117;font-weight:900}
.form-check{display:flex!important;align-items:flex-start;gap:9px;padding:8px;border-radius:8px;background:rgba(255,255,255,.28);font-weight:800!important}
.form-check-input{flex:0 0 auto;width:19px!important;height:19px!important;min-height:0!important;margin-top:1px}
.form-check-label{line-height:1.3}
.profile-form-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.profile-password-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:13px;align-items:end}
.profile-password-form .button{min-height:44px}
.profile-detail-line{display:flex;justify-content:center;gap:8px;align-items:center;margin:7px 0;font-size:.86rem}
.profile-detail-line span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(122,78,25,.12);font-weight:900}
.profile-about-panel .profile-bio{font-size:1rem;line-height:1.65}
.profile-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.profile-stat-row div{padding:10px 6px;border:1px solid rgba(91,54,18,.18);border-radius:9px;background:rgba(255,255,255,.31);text-align:center}
.profile-stat-row strong,.profile-stat-row span{display:block}.profile-stat-row strong{font-size:1.35rem;color:#6d3c17}.profile-stat-row span{font-size:.7rem;font-weight:900;text-transform:uppercase}
.profile-collection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.profile-collection-grid article{padding:7px;border:1px solid rgba(91,55,20,.2);border-radius:8px;background:rgba(255,255,255,.3);text-align:center}
.profile-collection-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:5px;background:#17202b}
.profile-collection-grid strong,.profile-collection-grid span{display:block}.profile-collection-grid strong{margin-top:6px;font-size:.78rem;line-height:1.2}.profile-collection-grid span{margin-top:3px;color:#76502b;font-size:.66rem;text-transform:uppercase;font-weight:900}
.profile-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-activity-grid h3{margin-top:0}
.account-dashboard-card{text-align:center}.account-dashboard-card .account-control-links{margin-top:10px}

@media(max-width:1050px){
  .account-control-layout,.public-profile-layout{grid-template-columns:250px minmax(0,1fr)}
  .profile-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
  .account-control-layout,.public-profile-layout{grid-template-columns:1fr}
  .account-control-summary,.public-profile-card{position:static}
  .account-control-summary{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 14px;text-align:left;align-items:center}
  .account-control-summary .ribbon{grid-column:1/-1}
  .account-control-summary .account-avatar-preview{grid-row:2/span 4}.account-control-summary .account-avatar-large{width:100px;height:100px;margin:0;font-size:1.8rem}
  .account-control-summary h2,.account-control-summary p{margin:0}.account-control-summary .account-control-links,.account-control-summary .profile-visibility-state{grid-column:1/-1}
  .avatar-editor-row{grid-template-columns:140px minmax(0,1fr)}
  .account-avatar-large,.public-profile-avatar{width:140px;height:140px}
  .profile-settings-form{grid-template-columns:1fr}.profile-wide{grid-column:auto}
  .profile-password-form{grid-template-columns:1fr 1fr}.profile-password-form .button{grid-column:1/-1}
  .profile-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .account-control-layout,.public-profile-layout,.account-control-main,.public-profile-main{gap:11px}
  .account-control-summary{grid-template-columns:82px minmax(0,1fr);padding:11px}.account-control-summary .account-avatar-large{width:76px;height:76px;font-size:1.25rem}
  .avatar-editor-row{grid-template-columns:1fr;text-align:center}.avatar-editor-row .account-avatar-large{width:126px;height:126px}.avatar-upload-form{text-align:left}
  .profile-form-actions{display:grid;grid-template-columns:1fr}.profile-form-actions .button{width:100%}
  .profile-password-form{grid-template-columns:1fr}.profile-password-form .button{grid-column:auto;width:100%}
  .profile-stat-row{grid-template-columns:repeat(2,1fr)}
  .profile-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .profile-activity-grid{grid-template-columns:1fr;gap:12px}
  .public-profile-avatar{width:132px;height:132px}
}
.review-author{display:flex;align-items:center;gap:8px}.review-avatar{display:grid;place-items:center;width:34px;height:34px;object-fit:cover;border:2px solid #8a5b2a;border-radius:50%;background:#f3dfad;color:#6b3c17;font-size:.68rem;font-weight:900}

/* v3.4 download availability and spacing */
.game-download-section{margin-bottom:20px;padding-bottom:18px;border-bottom:1px dashed rgba(96,57,20,.24)}
.game-download-section .game-downloads{margin-bottom:0}
.game-download-section + p,.game-download-section + .quick-nav{margin-top:18px}
.quick-nav{margin-top:20px}
.download-availability-note{margin:12px 0 0;padding:10px 12px;border-left:4px solid #bd7626;border-radius:6px;background:rgba(255,235,184,.5);color:#754116;font-weight:800;line-height:1.4}
.download-button.disabled{cursor:not-allowed;border-color:#9b8564;color:#6e5b45;background:linear-gradient(#d8c9ac,#bfae8e);box-shadow:0 2px 0 #998465;opacity:.82}
.button.disabled{cursor:not-allowed;pointer-events:none;color:#665746;background:#c7b99e;box-shadow:none;opacity:.8}
.download-card.is-disabled{opacity:.85;background:rgba(232,221,197,.72)}
.download-card.is-disabled h3{color:#705c44}
.download-unavailable{max-width:760px;margin:30px auto;text-align:center}
@media(max-width:890px){.game-download-section{margin-bottom:18px;padding-bottom:16px}.quick-nav{margin-top:18px}.download-availability-note{font-size:.84rem}}

/* v3.5 expandable Play Online catalogue */
.extra-online-grid{margin-top:14px}.online-extra-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;padding:13px}.online-extra-card>img,.online-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid rgba(91,52,17,.3);border-radius:9px;background:#17202b}.online-placeholder{display:grid;place-items:center;color:#f7df9d;font-size:3rem}.online-extra-card h3{margin:3px 0 6px;font-size:1.25rem}.online-extra-card p{margin:5px 0 10px}.online-extra-card .button{width:max-content}
@media(max-width:890px){.extra-online-grid{grid-template-columns:1fr!important}.online-extra-card{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:560px){.online-extra-card{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:9px}.online-extra-card h3{font-size:1rem}.online-extra-card p:not(.meta){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.8rem}.online-extra-card .button{width:100%}}

/* =========================================================
   v3.6 SUBMISSION FORM LAYOUT POLISH
   ========================================================= */
.submission-layout{
  grid-template-columns:minmax(0,720px) minmax(300px,1fr);
  gap:18px;
  align-items:start;
}
.submission-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  align-items:start;
  min-width:0;
}
.submission-form > *{min-width:0}
.submission-form .ribbon,
.submission-wide,
.submission-submit{
  grid-column:1/-1;
}
.submission-field{
  display:grid;
  gap:7px;
  min-width:0;
  color:var(--ink);
  font-weight:900;
}
.submission-field > span{
  display:block;
  line-height:1.25;
}
.submission-field input,
.submission-field select,
.submission-field textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.submission-field textarea{
  resize:vertical;
  line-height:1.48;
}
.submission-field small{
  color:#76512c;
  font-size:.76rem;
  font-weight:500;
  line-height:1.35;
}
.submission-upload{
  padding-top:2px;
}
.submission-upload input[type="file"]{
  padding:9px;
  border:1px solid rgba(93,56,20,.26);
  border-radius:8px;
  background:rgba(255,255,255,.4);
}
.submission-rights{
  margin:0;
  padding:11px 12px;
  border:1px solid rgba(89,55,21,.22);
  background:rgba(255,255,255,.34);
}
.submission-submit{
  width:100%;
  min-height:48px;
  margin-top:2px;
}
.submission-help{
  gap:16px;
}
.submission-help .panel{
  min-width:0;
}
.submission-steps{
  display:grid;
  gap:12px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.submission-steps li{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  align-items:start;
  text-align:left;
}
.submission-steps li > span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#fff9dc;
  background:#795024;
  font-weight:900;
}
.submission-steps p{
  margin:3px 0 0;
  line-height:1.42;
}

@media(max-width:1050px){
  .submission-layout{
    grid-template-columns:minmax(0,1fr) 320px;
  }
}
@media(max-width:820px){
  .submission-layout{
    grid-template-columns:1fr;
  }
  .submission-help{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .submission-form{
    grid-template-columns:1fr;
    gap:13px;
  }
  .submission-form > *{
    grid-column:1!important;
  }
  .submission-help{
    grid-template-columns:1fr;
  }
  .submission-field textarea{
    min-height:180px;
  }
}
@media(max-width:560px){
  .submission-layout{
    gap:12px;
  }
  .submission-form{
    padding:12px;
  }
  .submission-field small{
    font-size:.72rem;
  }
  .submission-rights{
    align-items:flex-start;
  }
}


/* =========================================================
   v3.7 SUBMISSION VALIDATION EXPERIENCE
   ========================================================= */
.submission-error-summary{
  padding:14px 16px;
  border-left:5px solid #b83b2b;
}
.submission-error-summary strong{display:block;margin-bottom:6px}
.submission-error-summary ul{margin:0;padding-left:20px}
.submission-error-summary li+li{margin-top:4px}
.submission-field input:invalid:not(:placeholder-shown),
.submission-field textarea:invalid:not(:placeholder-shown),
.submission-field select:invalid{
  border-color:#b94a38;
  box-shadow:0 0 0 2px rgba(185,74,56,.12);
}
@media(max-width:680px){
  .submission-error-summary{padding:12px}
}


/* =========================================================
   v4.0 LAUNCH CANDIDATE
   Minimal public copy, launch announcement and production states.
   ========================================================= */
.site-announcement{margin:7px 0;padding:9px 14px;border:2px solid #5e3514;border-radius:10px;background:#ffe18b;color:#4b2b0d;text-align:center;font-weight:900;box-shadow:0 4px 10px rgba(45,23,5,.15)}
.site-announcement a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.public-minimal-copy .hero-description,
.public-minimal-copy .hero-more,
.public-minimal-copy .welcome-line,
.public-minimal-copy .public-explanation,
.public-minimal-copy .submission-field small,
.public-minimal-copy .submission-help,
.public-minimal-copy .account-form-layout>aside,
.public-minimal-copy .ghost-explainer,
.public-minimal-copy .online-feature-list,
.public-minimal-copy .installation-note,
.public-minimal-copy .media-hub-intro p,
.public-minimal-copy .community-welcome-actions p,
.public-minimal-copy .shop-intro p,
.public-minimal-copy .packs-intro,
.public-minimal-copy .museum-welcome p,
.public-minimal-copy .new-here>p,
.public-minimal-copy .online-player-status p,
.public-minimal-copy .ghost-preferences-panel>div>p,
.public-minimal-copy .online-feature-copy>p,
.public-minimal-copy .quick-adventure-buttons small,
.public-minimal-copy .community-action-buttons+ p{display:none!important}
.public-minimal-copy .home-hero-copy{padding-top:7px}
.public-minimal-copy .page-hero .hero-centre{padding-top:13px}
.public-minimal-copy .media-hub-intro,.public-minimal-copy .shop-intro{min-height:0}
.legal-panel{max-width:980px;margin-inline:auto}.legal-panel h2{margin-top:22px}.legal-panel ul{line-height:1.65}
.legal-consent{padding:10px;border:1px solid rgba(99,61,22,.22);border-radius:9px;background:rgba(255,255,255,.32)}
@media(max-width:890px){.site-announcement{margin:5px 0;padding:8px 10px;font-size:.82rem}.public-minimal-copy .home-hero-copy,.public-minimal-copy .page-hero .hero-centre{padding-top:8px}}

/* =========================================================
   v4.1 CLASSIC CODEMASTERS COLLECTION
   ========================================================= */
.classic-archive-banner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin:12px 0;
  padding:15px 17px;
  overflow:hidden;
  background:
    linear-gradient(105deg,rgba(255,244,201,.96),rgba(232,203,128,.94)),
    url('../images/ui/paper-texture.png');
}
.classic-archive-emblem{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:3px solid #5b310f;
  border-radius:50%;
  background:linear-gradient(#f7d964,#d89426);
  color:#6b2f16;
  font-size:1.75rem;
  text-shadow:0 1px rgba(255,255,255,.55);
  box-shadow:inset 0 2px rgba(255,255,255,.4),0 5px 10px rgba(67,34,7,.2);
}
.classic-archive-copy{min-width:0}
.classic-archive-copy h2{margin:2px 0 0;font-size:clamp(1.22rem,2vw,1.72rem);line-height:1.08}
.classic-archive-button{white-space:nowrap;margin:0}
@media(max-width:760px){
  .classic-archive-banner{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:12px}
  .classic-archive-emblem{width:48px;height:48px;font-size:1.4rem}
  .classic-archive-button{grid-column:1/-1;width:100%}
}
@media(max-width:420px){
  .classic-archive-banner{grid-template-columns:42px minmax(0,1fr);gap:9px;padding:10px}
  .classic-archive-emblem{width:40px;height:40px;border-width:2px;font-size:1.15rem}
  .classic-archive-copy .eyebrow{font-size:.58rem}
  .classic-archive-copy h2{font-size:1rem}
}



/* v4.2 — DIZZYAGE web player integration */
.dizzyage-card-badge{position:absolute;left:8px;bottom:8px;z-index:2;padding:5px 8px;border:1px solid rgba(68,20,12,.75);border-radius:999px;color:#fff8d0;background:linear-gradient(#df5d37,#9d2b20);box-shadow:0 2px 0 #572018;font-size:.62rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}
.cover-frame{position:relative}
.card-quick-actions .play-link{color:#fff7ce;background:linear-gradient(#d95a35,#9e2c20)}
.game-download-entry{display:grid;gap:8px;min-width:0}.game-download-entry.is-playable{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.game-download-entry .download-button{min-width:0}.dizzyage-version-play{display:grid;place-items:center;min-width:138px;text-align:center}
.dizzyage-archive-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:16px}.dizzyage-archive-emblem{display:grid;place-items:center;width:68px;height:68px;border:3px solid #4a1f12;border-radius:22px;color:#fff2a5;background:linear-gradient(145deg,#e3633d,#96291e);box-shadow:0 5px 0 #4a1f12;font-size:1.8rem}.dizzyage-archive-copy h2{margin:2px 0 3px}.dizzyage-archive-copy strong{color:#9e2d20}
.dizzyage-launcher-page{padding-bottom:0;background:#020105}.dizzyage-launcher-page .site-shell{width:100%;max-width:none;min-height:100dvh;margin:0}.dizzyage-launcher-page .topbar,.dizzyage-launcher-page .site-footer,.dizzyage-launcher-page .mobile-dock{display:none!important}.dizzyage-launcher-page main{padding:0!important}.dizzyage-launcher-shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);background:#020105}.dizzyage-launcher-shell>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:8px 12px;color:#fff4c5;background:linear-gradient(#35204d,#160e26);border-bottom:1px solid rgba(255,255,255,.12)}.dizzyage-launcher-shell>header h1{margin:1px 0 0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dizzyage-launcher-shell .launcher-tools{display:flex;gap:7px}.dizzyage-frame-wrap{min-height:0}.dizzyage-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#020105}
@media(max-width:760px){.dizzyage-archive-banner{grid-template-columns:auto minmax(0,1fr);gap:11px}.dizzyage-archive-banner>.button{grid-column:1/-1;width:100%}.dizzyage-archive-emblem{width:54px;height:54px;border-radius:17px;font-size:1.35rem}.game-download-entry.is-playable{grid-template-columns:1fr}.dizzyage-version-play{width:100%;min-width:0}.dizzyage-launcher-shell>header{min-height:48px;padding:5px 7px}.dizzyage-launcher-shell>header .eyebrow{display:none}.dizzyage-launcher-shell>header h1{font-size:.82rem}.dizzyage-launcher-shell .launcher-tools .button{min-height:36px;padding:6px 9px;font-size:.66rem}}

/* v4.6 editable navigation */
.mobile-dock{grid-template-columns:repeat(var(--dock-items,5),minmax(0,1fr))}


/* =========================================================
   v4.8 MOBILE LAYOUT STABILITY
   Compact navigation, cleaner stacked blocks and a smaller dock.
   ========================================================= */
.nav-overview{display:none!important}
.home-recently-viewed-wide{margin-top:14px}

@media (max-width:890px){
  html,body{overflow-x:hidden}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  body.nav-open::after{content:"";position:fixed;inset:0;z-index:590;background:rgba(20,10,3,.56);backdrop-filter:blur(2px)}
  body.nav-open .topbar{z-index:620}
  body.nav-open .mobile-dock{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}

  .site-shell{width:calc(100% - 10px);margin:5px auto 12px}
  .topbar{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    grid-template-areas:"home brand menu";
    min-height:56px;
    padding:5px;
    gap:6px;
    border-width:2px;
    border-radius:12px;
  }
  .home-badge{grid-area:home;width:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;border:0}
  .mobile-brand{grid-area:brand;display:flex!important}
  .menu-toggle{grid-area:menu;display:inline-flex!important;width:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:5px!important;border-radius:10px}
  .join-button{display:none!important}
  .menu-icon{font-size:1.35rem}

  .site-nav{
    position:fixed!important;
    z-index:630!important;
    top:calc(66px + env(safe-area-inset-top))!important;
    left:8px!important;
    right:8px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    padding:8px!important;
    border:2px solid #321906!important;
    border-radius:14px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.10)),
      url('../images/ui/wood-texture.png') center/620px 155px repeat!important;
    box-shadow:0 18px 42px rgba(18,9,2,.52)!important;
  }
  .site-nav.open{display:block!important}
  .site-nav>a,
  .site-nav>.nav-group>a{
    min-height:43px!important;
    justify-content:space-between!important;
    margin:2px 0!important;
    padding:9px 12px!important;
    border:1px solid rgba(255,244,211,.10)!important;
    border-radius:9px!important;
    color:#fff3cf;
    background:rgba(255,255,255,.045);
    font-size:.92rem!important;
    line-height:1.15;
  }
  .site-nav>a:hover,
  .site-nav>a.active,
  .site-nav>.nav-group>a:hover,
  .site-nav>.nav-group>a.active{background:rgba(255,229,127,.13)!important}
  .nav-group{display:block!important}
  .nav-group>a span{display:inline!important;font-size:.72rem;transition:transform .18s ease}
  .nav-group.submenu-open>a span{transform:rotate(180deg)}
  .nav-dropdown{display:none!important;position:static!important;min-width:0!important;margin:2px 0 7px!important;padding:5px!important;border:0!important;border-radius:9px!important;background:rgba(37,17,4,.24)!important;box-shadow:none!important}
  .nav-group.submenu-open>.nav-dropdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .nav-dropdown a,.nav-overview{
    display:flex!important;
    min-height:38px!important;
    align-items:center!important;
    padding:7px 9px!important;
    border:1px solid rgba(255,244,211,.08)!important;
    border-radius:7px!important;
    color:#f8e7bd!important;
    background:rgba(255,255,255,.04)!important;
    font-size:.79rem!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .nav-overview{color:#ffe27f!important;font-weight:900!important}

  main>*{min-width:0;max-width:100%}
  .panel{border-width:2px!important;border-radius:12px!important;padding:12px!important;box-shadow:0 2px 0 rgba(48,24,7,.22),0 6px 13px rgba(31,17,5,.12)!important}
  .homepage-grid,.home-online-games,.dashboard-row,.dashboard-row.three{gap:11px!important}

  .dashboard-row,.dashboard-row.three{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    margin-top:12px!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .dashboard-row>.panel,.dashboard-row.three>.panel{flex:none!important;width:auto!important;max-width:none!important;scroll-snap-align:none!important}
  .dashboard-card{min-width:0!important}

  .home-online-stage{padding:13px!important}
  .home-online-stage .panel-title-row{gap:8px;margin-bottom:11px}
  .home-online-stage .panel-title-row h2{max-width:16ch;margin:3px 0 0;font-size:clamp(1.42rem,6.2vw,1.85rem)!important;line-height:1.04}
  .home-online-stage .eyebrow{font-size:.61rem!important;line-height:1.25}
  .home-online-games{grid-template-columns:1fr!important}
  .home-online-card{width:100%;min-width:0}

  .home-recently-viewed-wide{margin-top:12px}

  .mobile-dock{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:max(5px,env(safe-area-inset-bottom))!important;
    min-height:58px!important;
    padding:4px 5px!important;
    border-radius:14px!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .mobile-dock a{min-height:45px!important;padding:4px 2px!important;border-radius:8px!important}
  .mobile-dock span{font-size:.94rem!important}
  .mobile-dock small{font-size:.52rem!important;line-height:1!important}
  .mobile-dock .dock-play{min-height:53px!important;margin:-8px 2px 0!important;border-radius:11px!important}
  .mobile-dock .dock-play span{font-size:1.12rem!important}
  main>:last-child{margin-bottom:18px}
}

@media (max-width:560px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .site-shell{width:calc(100% - 8px)}
  .topbar{grid-template-columns:42px minmax(0,1fr) 42px;min-height:54px}
  .home-badge,.menu-toggle{width:42px!important;min-width:42px!important;min-height:42px!important}
  .site-nav{top:calc(63px + env(safe-area-inset-top))!important}
  .nav-group.submenu-open>.nav-dropdown{grid-template-columns:1fr 1fr}

  .home-online-card{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:9px!important;
    border-radius:11px!important;
  }
  .home-online-cover{width:76px}
  .home-online-cover img{width:76px!important;height:auto!important;min-height:0!important;aspect-ratio:3/4;object-fit:cover}
  .home-online-cover span{left:5px;right:auto;bottom:5px;padding:3px 6px;font-size:.6rem}
  .home-online-card>div:last-child{min-width:0}
  .home-online-card h3{margin:2px 0 8px!important;font-size:1.12rem!important;line-height:1.12!important}
  .home-online-card .eyebrow{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem!important}
  .home-online-card .card-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .home-online-card .card-action-row .button{width:100%!important;min-height:42px!important;padding:7px 5px!important;font-size:.7rem!important;line-height:1.1!important}
  .home-personal-best{display:none!important}

  .news-card{grid-template-columns:54px minmax(0,1fr);gap:10px}
  .news-thumb,.news-icon{width:54px;height:54px}
  .news-card h3{font-size:1rem;line-height:1.15}
  .news-card p{font-size:.78rem;line-height:1.35}

  .mobile-dock{min-height:56px!important}
  .mobile-dock a{min-height:43px!important}
  .mobile-dock .dock-play{min-height:51px!important}
}

@media (max-width:380px){
  .nav-group.submenu-open>.nav-dropdown{grid-template-columns:1fr}
  .home-online-card{grid-template-columns:70px minmax(0,1fr)!important}
  .home-online-cover,.home-online-cover img{width:70px!important}
  .home-online-card .card-action-row{grid-template-columns:1fr!important}
}


/* v4.9 Keep the featured Play dock button red in every interaction state. */
@media(max-width:890px){
  .mobile-dock .dock-play,
  .mobile-dock .dock-play.active,
  .mobile-dock .dock-play:link,
  .mobile-dock .dock-play:visited,
  .mobile-dock .dock-play:hover,
  .mobile-dock .dock-play:focus,
  .mobile-dock .dock-play:focus-visible,
  .mobile-dock .dock-play:active{
    color:#fff4cf!important;
    background:linear-gradient(#d85835,#9c2c1f)!important;
    border-color:#592015!important;
    box-shadow:0 4px 0 #4a1d13!important;
    opacity:1!important;
  }
  .mobile-dock .dock-play.active span,
  .mobile-dock .dock-play.active small{color:#fff4cf!important;}
}


/* v5.1 simplified homepage hero actions */
.hero-simple-actions{max-width:760px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px}
.hero-simple-actions .button{width:100%;justify-content:center;text-align:center}
.hero-simple-actions .hero-random{background:linear-gradient(180deg,rgba(255,252,242,.96),rgba(247,232,197,.94));color:#4a2b17;border:2px solid rgba(105,63,25,.62);box-shadow:0 4px 0 rgba(92,52,18,.38)}
.hero-simple-actions .hero-random:hover,.hero-simple-actions .hero-random:focus-visible{background:linear-gradient(180deg,#fffdf7,#f5e3b8);color:#3d2111}
@media(max-width:890px){.hero-simple-actions{grid-template-columns:1fr;max-width:none}.hero-simple-actions .hero-play{grid-column:auto}}

/* =========================================================
   v5.2 COMMUNITY-LED HOMEPAGE
   ========================================================= */
.home-hero>.home-hero-copy{grid-column:1/-1;width:min(860px,100%);justify-self:center}

.dizzy-community-welcome{
  display:grid;
  grid-template-columns:minmax(170px,240px) minmax(0,1fr);
  align-items:end;
  gap:24px;
  margin:14px 0;
  padding:20px 26px 22px;
  overflow:hidden;
}
.dizzy-welcome-art{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:260px}
.dizzy-welcome-art::after{content:"";position:absolute;left:10%;right:10%;bottom:8px;height:22px;border-radius:50%;background:rgba(72,38,11,.18);filter:blur(7px)}
.dizzy-welcome-art img{position:relative;z-index:2;width:min(230px,100%);max-height:300px;object-fit:contain;filter:drop-shadow(0 9px 6px rgba(49,25,7,.24))}
.dizzy-welcome-art span{position:absolute;z-index:3;left:50%;bottom:5px;transform:translateX(-50%);padding:5px 14px;border:2px solid #5a2f12;border-radius:999px;color:#fff4cf;background:linear-gradient(#a8652c,#704014);box-shadow:0 3px 0 #4a260e;font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.dizzy-welcome-bubble{position:relative;align-self:center;padding:24px 26px;border:2px solid rgba(103,62,24,.38);border-radius:22px;background:linear-gradient(180deg,rgba(255,254,247,.92),rgba(249,237,207,.92));box-shadow:0 5px 12px rgba(57,29,8,.12),inset 0 1px 0 rgba(255,255,255,.8)}
.dizzy-welcome-bubble::before{content:"";position:absolute;left:-22px;bottom:56px;width:38px;height:38px;border-left:2px solid rgba(103,62,24,.38);border-bottom:2px solid rgba(103,62,24,.38);background:#f7e9c7;transform:rotate(45deg)}
.dizzy-welcome-bubble>*{position:relative;z-index:1}
.dizzy-welcome-bubble h1{margin:4px 0 8px;font-size:clamp(2rem,4vw,3.45rem);line-height:.96;color:#3a1e0f}
.dizzy-welcome-bubble p{max-width:980px;margin:7px 0;color:#513822;font-size:1rem;line-height:1.48}
.dizzy-welcome-speech{display:grid;gap:1px;margin:7px 0 16px}
.dizzy-welcome-speech .dizzy-speech-intro{font-size:1.06rem;font-weight:750;color:#432714}
.community-number-row span{display:grid;justify-items:center;gap:1px;padding:11px 8px;border:1px solid rgba(101,61,23,.22);border-radius:13px;background:rgba(255,255,255,.55);text-align:center}
.community-number-row b{color:#9e2d20;font-size:1.45rem;line-height:1}
.community-number-row small{color:#664a34;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.dizzy-welcome-actions{display:flex;flex-wrap:wrap;gap:8px}
.dizzy-welcome-actions .button{min-width:150px;justify-content:center}

.community-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.community-home-card{min-width:0;padding:17px 18px 18px}
.community-home-card>h2{margin:8px 0 14px;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.05;color:#3a1e0f}
.community-home-activity{margin-top:0}
.community-topic-list{margin:0;padding:0;list-style:none}
.community-topic-list li{display:grid;gap:3px;padding:10px 0;border-bottom:1px dashed rgba(83,47,17,.22)}
.community-topic-list li:last-child{border-bottom:0}
.community-topic-list a{color:#3f2413;text-decoration:none}
.community-topic-list span{color:#765c48;font-size:.76rem}
.community-news-card{grid-template-columns:60px minmax(0,1fr);gap:11px;padding:10px 0}
.community-news-card .news-thumb,.community-news-card .news-icon{width:60px;height:60px}
.community-news-card h3{font-size:1rem;line-height:1.12}
.community-news-card p:not(.meta){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:5px;font-size:.78rem;line-height:1.35}
.community-door-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.community-door-grid a{display:grid;gap:3px;min-height:92px;padding:13px;border:1px solid rgba(101,61,23,.22);border-radius:13px;color:#4a2b17;text-decoration:none;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(249,235,199,.68));box-shadow:0 3px 7px rgba(55,29,8,.09);transition:transform .16s ease,box-shadow .16s ease}
.community-door-grid a:hover,.community-door-grid a:focus-visible{transform:translateY(-2px);box-shadow:0 6px 11px rgba(55,29,8,.14)}
.community-door-grid b{font-size:1rem}
.community-door-grid span{color:#715943;font-size:.75rem;line-height:1.3}
.community-number-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.community-number-row b{font-size:1.1rem}
.community-number-row small{font-size:.58rem}

@media(max-width:1100px){
  .community-home-grid{grid-template-columns:1fr 1fr}
  .community-home-grid>.community-home-card:last-child{grid-column:1/-1}
}
@media(max-width:890px){
  .dizzy-community-welcome{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;padding:14px!important}
  .dizzy-welcome-art{min-height:170px;align-self:center}
  .dizzy-welcome-art img{width:112px;max-height:175px}
  .dizzy-welcome-art span{bottom:-1px;font-size:.57rem;padding:4px 9px}
  .dizzy-welcome-bubble{padding:16px 15px;border-radius:15px}
  .dizzy-welcome-bubble::before{left:-14px;bottom:42px;width:26px;height:26px}
  .dizzy-welcome-bubble h1{font-size:clamp(1.65rem,6vw,2.35rem)}
  .dizzy-welcome-bubble p{font-size:.88rem;line-height:1.42}
  .dizzy-welcome-speech{margin-bottom:13px}
  .dizzy-welcome-speech .dizzy-speech-intro{font-size:.93rem}
  .dizzy-welcome-actions{display:grid;grid-template-columns:1fr 1fr}
  .dizzy-welcome-actions .button{min-width:0;width:100%;padding-inline:7px;font-size:.7rem}
  .dizzy-welcome-actions .button:last-child{grid-column:1/-1}
  .community-home-grid{grid-template-columns:1fr;gap:11px}
  .community-home-grid>.community-home-card:last-child{grid-column:auto}
}
@media(max-width:560px){
  .home-hero>.home-hero-copy{width:100%}
  .dizzy-community-welcome{display:block;padding:12px!important}
  .dizzy-welcome-art{float:left;width:92px;min-height:126px;margin:0 10px 3px 0}
  .dizzy-welcome-art img{width:88px;max-height:130px}
  .dizzy-welcome-art span{font-size:.5rem;padding:3px 7px}
  .dizzy-welcome-bubble{padding:14px 12px}
  .dizzy-welcome-bubble::before{display:none}
  .dizzy-welcome-bubble h1{font-size:1.65rem}
  .dizzy-welcome-bubble p{font-size:.82rem}
  .dizzy-welcome-speech{margin-bottom:12px}
  .dizzy-welcome-speech .dizzy-speech-intro{font-size:.86rem}
  .dizzy-welcome-actions{clear:both}
  .community-home-card{padding:14px!important}
  .community-door-grid{grid-template-columns:1fr 1fr;gap:7px}
  .community-door-grid a{min-height:78px;padding:10px}
  .community-door-grid b{font-size:.9rem}
  .community-door-grid span{font-size:.68rem}
}
@media(max-width:380px){
  .dizzy-welcome-actions{grid-template-columns:1fr}
  .dizzy-welcome-actions .button:last-child{grid-column:auto}
  .community-door-grid{grid-template-columns:1fr}
}


/* =========================================================
   v5.3 COMMUNITY CHARACTER HOSTS AND YOLKFOLK VILLAGE
   ========================================================= */
.community-character-host{
  display:grid;
  grid-template-columns:170px minmax(0,1fr) minmax(210px,270px);
  align-items:center;
  gap:18px;
  margin:12px 0 16px;
  padding:14px 18px 14px 14px;
  border:3px solid #6d3b17;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,254,246,.96),rgba(247,233,199,.96));
  box-shadow:0 4px 0 rgba(74,37,11,.68),0 12px 24px rgba(45,24,7,.14);
  overflow:hidden;
}
.community-character-portrait{position:relative;min-width:0;align-self:stretch;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(94,52,18,.35);border-radius:15px;background:#8bc8ea;box-shadow:0 3px 0 rgba(83,45,14,.34)}
.community-character-portrait img{width:100%;height:100%;min-height:128px;object-fit:cover;display:block}
.community-character-portrait strong{position:absolute;left:8px;bottom:8px;padding:4px 10px;border:2px solid #5c2d11;border-radius:999px;color:#fff3ce;background:linear-gradient(#a8652c,#704014);box-shadow:0 2px 0 #4a260e;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}
.community-character-message{min-width:0}
.community-character-message h2{margin:4px 0 6px;color:#391d0e;font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1.02}
.community-character-message p{max-width:760px;margin:0 0 11px;color:#5d4431;font-size:.9rem;line-height:1.45}
.community-character-actions{display:flex;flex-wrap:wrap;gap:7px}
.community-character-actions .button{min-width:145px;justify-content:center}
.community-character-stats{display:grid;grid-template-columns:1fr;gap:7px}
.community-character-stats span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px 11px;border:1px solid rgba(100,58,22,.18);border-radius:11px;background:rgba(255,255,255,.55)}
.community-character-stats b{color:#a23022;font-size:1.25rem;line-height:1}
.community-character-stats small{color:#725742;font-size:.65rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}

.community-village{width:min(1440px,calc(100% - 20px));margin:18px auto 12px;padding:16px 18px 18px;border:3px solid #6d3b17;border-radius:22px;background:linear-gradient(180deg,rgba(255,252,239,.97),rgba(245,228,190,.97));box-shadow:0 4px 0 rgba(74,37,11,.68),0 12px 24px rgba(45,24,7,.14)}
.community-village-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}
.community-village-heading h2{margin:3px 0 0;color:#391d0e;font-size:clamp(1.45rem,2.8vw,2.15rem);line-height:1}
.community-village-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.community-village-card{position:relative;min-width:0;min-height:138px;overflow:hidden;border:2px solid rgba(94,52,18,.30);border-radius:14px;color:#fff;text-decoration:none;background:#76b7df;box-shadow:0 3px 0 rgba(83,45,14,.34);transition:transform .16s ease,box-shadow .16s ease}
.community-village-card:hover,.community-village-card:focus-visible{transform:translateY(-3px);box-shadow:0 5px 0 rgba(83,45,14,.34),0 9px 16px rgba(55,29,8,.18)}
.community-village-card img{width:100%;height:100%;min-height:138px;display:block;object-fit:cover}
.community-village-card::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(46,23,6,.84))}
.community-village-card span{position:absolute;z-index:2;left:10px;right:10px;bottom:9px;display:grid;gap:1px;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.community-village-card strong{font-size:.9rem;line-height:1.05}
.community-village-card small{font-size:.62rem;font-weight:800;color:#fff0c8}

@media(max-width:1080px){
  .community-character-host{grid-template-columns:145px minmax(0,1fr)}
  .community-character-stats{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .community-character-stats span{grid-template-columns:1fr;justify-items:center;text-align:center}
  .community-village-track{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:890px){
  .community-character-host{grid-template-columns:112px minmax(0,1fr);gap:11px;padding:10px!important;border-width:2px;border-radius:13px}
  .community-character-portrait img{min-height:112px}
  .community-character-portrait strong{left:5px;bottom:5px;padding:3px 7px;font-size:.53rem}
  .community-character-message h2{font-size:1.35rem}
  .community-character-message p{font-size:.78rem;line-height:1.36}
  .community-character-actions{display:grid;grid-template-columns:1fr 1fr}
  .community-character-actions .button{min-width:0;width:100%;padding:7px 6px;font-size:.67rem}
  .community-character-stats{gap:5px}
  .community-character-stats span{padding:7px 5px}
  .community-character-stats b{font-size:1rem}
  .community-character-stats small{font-size:.52rem}
  .community-village{width:calc(100% - 8px);padding:12px 11px 14px;border-width:2px;border-radius:14px}
  .community-village-heading{display:block;margin-bottom:9px}
  .community-village-heading h2{font-size:1.35rem}
  .community-village-track{display:flex;overflow-x:auto;gap:8px;padding:1px 1px 7px;scroll-snap-type:x mandatory;scrollbar-width:thin}
  .community-village-card{flex:0 0 148px;min-height:112px;scroll-snap-align:start}
  .community-village-card img{min-height:112px}
}
@media(max-width:560px){
  .community-character-host{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start}
  .community-character-portrait img{min-height:96px}
  .community-character-message .eyebrow{font-size:.56rem}
  .community-character-message h2{font-size:1.13rem;margin-top:3px}
  .community-character-message p{font-size:.72rem;margin-bottom:8px}
  .community-character-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .community-character-stats{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .community-village{margin-bottom:82px}
}
@media(max-width:380px){
  .community-character-host{grid-template-columns:74px minmax(0,1fr)}
  .community-character-portrait img{min-height:88px}
  .community-character-actions{grid-template-columns:1fr}
}

/* =========================================================
   v5.4 CHARACTER ARTWORK AND SIGNED SECTION NOTES
   ========================================================= */
.community-character-note{
  position:relative;
  max-width:760px;
  margin:4px 0 12px;
  padding:10px 13px 9px 16px;
  border:1px solid rgba(105,61,22,.20);
  border-left:5px solid #d04a31;
  border-radius:10px;
  background:rgba(255,255,255,.60);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.community-character-note::before{
  content:"“";
  position:absolute;
  left:7px;
  top:-5px;
  color:rgba(164,54,37,.18);
  font-family:Georgia,serif;
  font-size:2.4rem;
  line-height:1;
}
.community-character-note p{
  position:relative;
  margin:0;
  color:#563b29;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.86rem;
  font-style:italic;
  line-height:1.38;
}
.community-character-note cite{
  display:block;
  margin-top:4px;
  color:#8a4429;
  font-size:.62rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:890px){
  .community-character-note{margin:3px 0 9px;padding:8px 10px 7px 12px;border-left-width:4px}
  .community-character-note p{font-size:.72rem;line-height:1.32}
  .community-character-note cite{font-size:.52rem}
}
@media(max-width:560px){
  .community-character-note{grid-column:1/-1}
  .community-character-note p{font-size:.69rem}
}


/* =========================================================
   v5.5 POGIE AND ZAKS HIDDEN CHARACTER EASTER EGGS
   ========================================================= */
.community-easter-eggs{
  position:relative;
  z-index:1;
  width:min(1440px,calc(100% - 20px));
  height:0;
  margin:0 auto;
  pointer-events:none;
}
.community-easter-egg{
  position:absolute;
  z-index:1;
  display:block;
  pointer-events:auto;
  opacity:.98;
  filter:drop-shadow(0 8px 7px rgba(52,27,8,.28));
  transition:transform .18s ease,filter .18s ease;
}
.community-easter-egg:hover,.community-easter-egg:focus-visible{
  filter:drop-shadow(0 10px 9px rgba(52,27,8,.36));
}
.community-easter-egg img{display:block;width:100%;height:auto}
.community-easter-egg-pogie{
  left:clamp(18px,6vw,96px);
  top:-68px;
  width:102px;
  transform:rotate(-7deg);
}
.community-easter-egg-pogie:hover,.community-easter-egg-pogie:focus-visible{transform:rotate(-2deg) translateY(-5px)}
.community-easter-egg-zaks{
  right:clamp(20px,7vw,116px);
  top:-92px;
  width:116px;
  transform:rotate(7deg);
}
.community-easter-egg-zaks:hover,.community-easter-egg-zaks:focus-visible{transform:rotate(2deg) translateY(-6px)}
.community-village{position:relative;z-index:2}
@media(max-width:890px){
  .community-easter-eggs{width:calc(100% - 8px)}
  .community-easter-egg-pogie{left:18px;top:-48px;width:72px}
  .community-easter-egg-zaks{right:20px;top:-62px;width:80px}
}
@media(max-width:560px){
  .community-easter-egg-pogie{left:12px;top:-39px;width:58px}
  .community-easter-egg-zaks{right:12px;top:-50px;width:64px}
}
@media(prefers-reduced-motion:no-preference){
  .community-easter-egg-pogie{animation:pogiePeek 5.5s ease-in-out infinite}
  .community-easter-egg-zaks{animation:zaksLurk 7s ease-in-out infinite}
}
@keyframes pogiePeek{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes zaksLurk{0%,100%{translate:0 0}50%{translate:0 -3px}}


/* =========================================================
   v5.6 LIVING YOLKFOLK
   ========================================================= */
.living-community{width:min(1440px,calc(100% - 20px));margin:18px auto 14px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr) minmax(250px,.7fr);gap:10px}
.living-card{min-width:0;border:2px solid rgba(94,52,18,.32);border-radius:16px;background:linear-gradient(180deg,rgba(255,253,243,.98),rgba(244,227,189,.98));box-shadow:0 3px 0 rgba(83,45,14,.40),0 10px 20px rgba(55,29,8,.10);overflow:hidden}
.living-heading{display:flex;align-items:center;gap:8px;padding:11px 12px 9px;border-bottom:1px solid rgba(94,52,18,.15)}
.living-heading h2{min-width:0;margin:0;color:#3a1e0f;font-size:1rem;line-height:1.1}
.living-heading>a{margin-left:auto;color:#a53322;font-size:.65rem;font-weight:950;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}
.live-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#66b733;box-shadow:0 0 0 4px rgba(102,183,51,.15)}
.living-activity-list{display:grid;max-height:250px;overflow:auto}
.living-activity-list>a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:8px 11px;color:#4b3120;text-decoration:none;border-bottom:1px solid rgba(94,52,18,.10)}
.living-activity-list>a:last-child{border-bottom:0}.living-activity-list>a:hover{background:rgba(255,255,255,.48)}
.living-activity-list img{width:42px;height:42px;display:block;object-fit:cover;border:1px solid rgba(94,52,18,.18);border-radius:12px;background:#8bc8ea}
.living-activity-list span{display:grid;min-width:0}.living-activity-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.living-activity-list small{margin-top:2px;color:#7c624d;font-size:.59rem;font-weight:800}
.living-spotlight-card{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:stretch}
.living-spotlight-art{min-height:176px;background:#87c4e7}.living-spotlight-art img{width:100%;height:100%;display:block;object-fit:cover}
.living-spotlight-card>div:last-child{align-self:center;min-width:0;padding:13px}.living-spotlight-card h2{margin:3px 0 6px;color:#371b0d;font-size:1.18rem;line-height:1.05}.living-spotlight-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;color:#684f3d;font-size:.7rem;line-height:1.4}.living-spotlight-card .text-link{font-size:.66rem}
.living-presence-list{display:grid;padding:5px 9px 9px}.living-person{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;padding:6px 2px}.living-person>img,.living-avatar-fallback{width:38px;height:38px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 1px 0 rgba(83,45,14,.26);background:#8bc8ea}.living-avatar-fallback{display:grid;place-items:center;color:#fff;font-size:.67rem;font-weight:950;background:#a85e2a}.living-person>span:last-child{display:grid;min-width:0}.living-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3f291b;font-size:.7rem}.living-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a604c;font-size:.56rem;font-weight:800}.living-person a{text-decoration:none}
.living-empty{display:grid;place-items:center;gap:4px;min-height:135px;padding:14px;text-align:center;color:#725844}.living-empty>span{font-size:1.45rem}.living-empty strong{font-size:.75rem}.living-empty a{color:#a53322;font-size:.63rem;font-weight:950}
.living-character-notice{display:grid!important;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:9px;padding:8px 11px!important}.living-notice-character{grid-row:1;display:grid;justify-items:center;gap:1px}.living-notice-character img{width:46px;height:46px;display:block;object-fit:cover;border:2px solid rgba(92,48,16,.22);border-radius:12px;background:#8bc8ea}.living-notice-character small{font-size:.52rem;font-weight:950;color:#6c4a31}
.community-easter-egg-pogie.is-found{animation:none!important;transform:translateY(-38px) rotate(7deg)!important;opacity:0;pointer-events:none;transition:transform .45s ease,opacity .45s ease}
.pogie-found-toast{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:300;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px;min-width:min(300px,calc(100% - 24px));padding:8px 13px 8px 8px;border:3px solid #5e3214;border-radius:16px;color:#3b2112;background:linear-gradient(#fff8dc,#eed69f);box-shadow:0 4px 0 #47230d,0 15px 35px rgba(38,19,5,.30);opacity:0;transform:translate(-50%,20px);transition:opacity .25s ease,transform .25s ease}.pogie-found-toast.show{opacity:1;transform:translate(-50%,0)}.pogie-found-toast img{width:54px;height:54px;object-fit:contain}.pogie-found-toast span{display:grid}.pogie-found-toast strong{font-size:.9rem}.pogie-found-toast small{color:#77583f;font-size:.65rem;font-weight:850}
.profile-achievement-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.profile-achievement{display:inline-grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(94,52,18,.17);border-radius:12px;background:rgba(255,255,255,.55)}.profile-achievement img{width:34px;height:34px;object-fit:contain}.profile-achievement span{display:grid}.profile-achievement strong{font-size:.69rem}.profile-achievement small{color:#735943;font-size:.55rem;font-weight:800}
.zaks-error-page .not-found-character{object-fit:contain;background:transparent}.zaks-error-page h1{color:#6d1f18}
@media(max-width:1080px){.living-community{grid-template-columns:1fr 1fr}.living-activity-card{grid-column:1/-1}.living-activity-list{grid-template-columns:1fr 1fr;max-height:none}.living-activity-list>a:nth-child(odd){border-right:1px solid rgba(94,52,18,.10)}}
@media(max-width:700px){.living-community{width:calc(100% - 8px);grid-template-columns:1fr;gap:8px;margin:10px auto}.living-activity-card{grid-column:auto}.living-activity-list{display:flex;overflow-x:auto;max-height:none;padding:7px;scroll-snap-type:x mandatory}.living-activity-list>a{flex:0 0 250px;border:1px solid rgba(94,52,18,.12)!important;border-radius:11px;background:rgba(255,255,255,.30);scroll-snap-align:start}.living-spotlight-card{grid-template-columns:94px minmax(0,1fr)}.living-spotlight-art{min-height:142px}.living-presence-list{display:flex;overflow-x:auto;gap:5px;padding:8px}.living-person{flex:0 0 165px;border:1px solid rgba(94,52,18,.12);border-radius:11px;padding:7px;background:rgba(255,255,255,.30)}.living-character-notice{grid-template-columns:42px minmax(0,1fr)}.living-notice-character img{width:39px;height:39px}.pogie-found-toast{bottom:calc(72px + env(safe-area-inset-bottom))}}

/* v5.7 Community Village ------------------------------------------------ */
.community-village-gateway{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(255,250,230,.98),rgba(229,244,209,.98))}.community-village-gateway h2{margin:3px 0 7px}.community-village-gateway p{margin:0;max-width:760px}.community-village-gateway-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.village-chatter{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 18px}.village-chatter article{display:flex;align-items:center;gap:12px;min-width:0}.village-chatter article:last-child{justify-content:flex-end;text-align:right}.village-chatter img{width:76px;height:76px;object-fit:contain;flex:0 0 auto}.village-chatter p{margin:0;padding:12px 14px;border:2px solid rgba(92,54,21,.14);border-radius:16px;background:rgba(255,255,255,.54);font-weight:800}.village-chatter strong{display:block;margin-top:5px;color:#875025;font-size:.75rem}
.village-hub-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.village-hub-main{display:grid;gap:16px;min-width:0}.noticeboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.noticeboard-note{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;min-width:0;padding:14px;border:2px solid rgba(103,61,25,.16);border-radius:16px;background:linear-gradient(145deg,rgba(255,251,233,.92),rgba(244,226,183,.88));box-shadow:0 3px 0 rgba(106,61,22,.18)}.noticeboard-note.pinned::before{content:"●";position:absolute;right:10px;top:8px;color:#c84b2f}.noticeboard-note img{width:74px;height:88px;object-fit:contain;align-self:end}.noticeboard-note span{color:#9a5a28;font-size:.67rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.noticeboard-note h3{margin:3px 0 6px}.noticeboard-note p{margin:0 0 7px;line-height:1.42}.village-empty{display:grid;gap:4px;padding:26px;border:2px dashed rgba(92,54,21,.20);border-radius:16px;text-align:center;color:#72533d;background:rgba(255,255,255,.34)}.village-empty strong{color:#3e2414;font-size:1.1rem}
.diary-feed{display:grid;gap:10px}.diary-feed>article{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;padding:11px;border:1px solid rgba(92,54,21,.14);border-radius:14px;background:rgba(255,255,255,.34)}.diary-feed>article>img,.diary-feed>article>a>img{width:100%;height:118px;display:block;object-fit:cover;border-radius:10px}.diary-feed h3{margin:3px 0 5px}.diary-feed p{margin:0 0 6px}.diary-feed span,.diary-feed small{color:#755b49;font-size:.75rem}
.shared-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shared-collection-grid>a{display:grid;gap:7px;min-width:0;padding:11px;border:2px solid rgba(92,54,21,.14);border-radius:15px;color:#3d2415;text-decoration:none;background:rgba(255,255,255,.42);transition:transform .15s ease,box-shadow .15s ease}.shared-collection-grid>a:hover{transform:translateY(-3px);box-shadow:0 7px 14px rgba(59,30,8,.12)}.collection-cover-stack{height:116px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;overflow:hidden;border-radius:10px;background:#c7dce8}.collection-cover-stack img{width:100%;height:116px;object-fit:cover}.shared-collection-grid small{color:#735946}.village-challenge{text-align:center;overflow:hidden}.village-challenge>img{width:130px;height:130px;object-fit:contain;margin:-8px auto 4px}.village-challenge h2{margin:12px 0 6px}.village-event-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.village-event-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;padding:8px;border:1px solid rgba(92,54,21,.12);border-radius:12px;background:rgba(255,255,255,.34)}.village-event-list time{display:grid;place-items:center;padding:5px;border-radius:10px;color:#fff;background:#7eaf3f}.village-event-list time strong{font-size:1.25rem;line-height:1}.village-event-list time span{font-size:.66rem;font-weight:900;text-transform:uppercase}.village-event-list li>div{display:grid;gap:2px}.village-event-list small{color:#745d4d}.village-event-list a{font-size:.76rem;font-weight:900}.village-submit-details{margin-top:12px;border-top:1px dashed rgba(92,54,21,.20);padding-top:10px}.village-submit-details summary{cursor:pointer;font-weight:950;color:#6b3c16}.stack-form{display:grid;gap:9px;margin-top:10px}.stack-form label{display:grid;gap:4px;font-weight:850}.stack-form input,.stack-form textarea,.stack-form select{width:100%;min-width:0}.village-quick-links{display:grid;gap:7px}.village-quick-links a{padding:10px 11px;border:1px solid rgba(92,54,21,.14);border-radius:11px;background:rgba(255,255,255,.38);font-weight:900;text-decoration:none}
.creator-profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.creator-profile-card{position:sticky;top:82px;text-align:center}.creator-profile-image{display:grid;place-items:center;width:178px;height:178px;margin:0 auto 12px;object-fit:cover;border:5px solid #8d5b27;border-radius:50%;background:linear-gradient(#fff8dd,#e8cc8d);font-size:3rem}.creator-profile-main{display:grid;gap:16px;min-width:0}.creator-current-project{background:linear-gradient(135deg,rgba(255,247,222,.96),rgba(255,225,174,.94))}.creator-current-project h2{margin:14px 0 7px}.game-community-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.game-community-actions h2{margin:3px 0 0}.game-community-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inline-collection-add{display:flex;gap:7px;align-items:stretch}.inline-collection-add select{min-width:170px}.community-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.community-screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.community-screenshot-grid figure{margin:0;border:1px solid rgba(92,54,21,.14);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.34)}.community-screenshot-grid img{width:100%;height:160px;display:block;object-fit:cover}.community-screenshot-grid figcaption{display:grid;padding:8px}.community-screenshot-grid figcaption span{color:#735946;font-size:.72rem}.collection-public-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.collection-public-head h2{margin:3px 0 5px}.collection-create-form{display:grid;grid-template-columns:1fr 1.5fr auto auto;gap:10px;align-items:end}.collection-create-form label{display:grid;gap:4px}.collection-create-form .check-line{align-self:center}.my-shared-collections{display:grid;gap:11px;margin-top:16px}.my-shared-collections>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid rgba(92,54,21,.14);border-radius:14px;background:rgba(255,255,255,.34)}.my-shared-collections h3{margin:0 0 4px}.my-shared-collections p{margin:0 0 5px}.my-shared-collections span{color:#735946;font-size:.78rem}.collection-mini-covers{grid-column:1/-1;display:flex;gap:7px;overflow-x:auto}.collection-mini-covers>span{position:relative;flex:0 0 80px}.collection-mini-covers img{width:80px;height:92px;object-fit:cover;border-radius:8px}.collection-mini-covers form{position:absolute;right:-3px;top:-3px}.collection-mini-covers button{width:24px;height:24px;border:0;border-radius:50%;color:#fff;background:#b8422a;font-weight:950;cursor:pointer}
@media(max-width:1050px){.village-hub-grid{grid-template-columns:1fr}.village-hub-grid>.side-stack{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.shared-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-profile-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){.community-village-gateway{display:grid}.community-village-gateway-actions{justify-content:stretch}.community-village-gateway-actions .button{width:100%}.village-chatter{grid-template-columns:1fr;padding:10px}.village-chatter article:last-child{justify-content:flex-start;text-align:left}.village-chatter article:last-child p{order:2}.village-chatter article:last-child img{order:1}.noticeboard-grid,.community-project-grid,.shared-collection-grid{grid-template-columns:1fr}.diary-feed>article{grid-template-columns:105px minmax(0,1fr)}.diary-feed>article>img,.diary-feed>article>a>img{height:95px}.village-hub-grid>.side-stack{display:grid;grid-template-columns:1fr}.creator-profile-layout{grid-template-columns:1fr}.creator-profile-card{position:static}.game-community-actions,.collection-public-head{display:grid}.game-community-action-buttons{justify-content:stretch}.game-community-action-buttons form,.game-community-action-buttons .button{width:100%}.inline-collection-add{display:grid;grid-template-columns:1fr auto;width:100%}.collection-create-form{grid-template-columns:1fr}.my-shared-collections>article{grid-template-columns:1fr}.community-screenshot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.noticeboard-note{grid-template-columns:58px minmax(0,1fr);padding:10px}.noticeboard-note img{width:58px;height:72px}.diary-feed>article{grid-template-columns:1fr}.diary-feed>article>img,.diary-feed>article>a>img{height:150px}.community-screenshot-grid{grid-template-columns:1fr}.collection-cover-stack{height:105px}.collection-cover-stack img{height:105px}.village-chatter img{width:58px;height:58px}.inline-collection-add{grid-template-columns:1fr}.inline-collection-add .button{width:100%}}


/* =========================================================
   v5.8 CHARACTER ARTWORK — UNBOXED AND TRANSPARENCY SAFE
   Character artwork is shown naturally, without coloured portrait boxes,
   forced crops or backgrounds that hide transparent edges.
   ========================================================= */
.community-character-portrait{
  align-self:end;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.community-character-portrait img{
  display:block;
  width:100%;
  height:auto;
  max-height:220px;
  min-height:0;
  object-fit:contain;
  object-position:center bottom;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 8px 7px rgba(55,29,8,.20));
}
.community-character-portrait strong{
  position:static;
  margin-top:4px;
  padding:0;
  border:0;
  border-radius:0;
  color:#77451f;
  background:transparent;
  box-shadow:none;
  font-size:.64rem;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}

/* Footer village: characters float naturally above their labels. */
.community-village-card{
  display:grid;
  grid-template-rows:118px auto;
  align-items:end;
  min-height:0;
  overflow:visible;
  border:0;
  border-radius:0;
  color:#3f2514;
  background:transparent;
  box-shadow:none;
}
.community-village-card:hover,
.community-village-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:none;
}
.community-village-card img{
  width:100%;
  height:118px;
  min-height:0;
  display:block;
  object-fit:contain;
  object-position:center bottom;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 7px 6px rgba(55,29,8,.18));
}
.community-village-card::after{display:none}
.community-village-card span{
  position:static;
  z-index:auto;
  display:grid;
  gap:2px;
  margin-top:3px;
  padding:7px 8px;
  border:1px solid rgba(94,52,18,.14);
  border-radius:10px;
  color:#3f2514;
  text-align:center;
  text-shadow:none;
  background:rgba(255,250,235,.72);
}
.community-village-card strong{font-size:.84rem}
.community-village-card small{color:#75563e;font-size:.60rem}

/* Character artwork used in archive/profile pages also keeps its natural edges. */
.character-portrait-img,
.featured-character-img,
.character-detail-img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center bottom;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 7px rgba(55,29,8,.18));
}
.character-card .character-portrait-img{
  width:100%;
  height:170px;
  object-fit:contain;
}
.featured-character-img{max-height:300px}
.character-detail-figure{
  display:grid;
  place-items:center;
  align-self:start;
  min-width:0;
  padding:8px;
  background:transparent;
}
.character-detail-img{
  max-width:410px;
  max-height:560px;
}

/* Small character reactions and notices should not create coloured squares. */
.living-notice-character img{
  width:48px;
  height:54px;
  object-fit:contain;
  object-position:center bottom;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 4px 4px rgba(55,29,8,.16));
}
.noticeboard-note img,
.village-chatter img{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  object-fit:contain;
  filter:drop-shadow(0 5px 5px rgba(55,29,8,.15));
}

@media(max-width:1080px){
  .community-character-portrait img{max-height:185px}
}
@media(max-width:890px){
  .community-character-portrait img{max-height:150px;min-height:0}
  .community-village-card{grid-template-rows:100px auto;flex-basis:148px;min-height:0}
  .community-village-card img{height:100px;min-height:0}
  .character-card .character-portrait-img{height:145px}
}
@media(max-width:560px){
  .community-character-portrait img{max-height:125px;min-height:0}
  .community-character-portrait strong{font-size:.52rem}
  .character-card .character-portrait-img{height:125px}
  .character-detail-figure{padding:0 4px}
  .living-notice-character img{width:42px;height:48px}
}
@media(max-width:380px){
  .community-character-portrait img{max-height:105px;min-height:0}
}

/* v5.9 — expanded History page */
.history-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:24px;align-items:center}
.history-intro-copy h2{margin:12px 0 10px;font-size:clamp(1.8rem,3vw,2.7rem)}
.history-intro-copy p{max-width:920px;margin:0 0 12px;line-height:1.68}
.history-at-a-glance{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.history-at-a-glance div,.history-community-stats div{padding:16px 12px;border:2px solid rgba(94,57,18,.16);border-radius:13px;background:rgba(255,255,255,.42);text-align:center}
.history-at-a-glance strong,.history-community-stats strong{display:block;color:#8b2f20;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1}
.history-at-a-glance span,.history-community-stats span{display:block;margin-top:5px;color:#745642;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.history-era-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.history-era-card{min-height:260px}
.history-era-card h2{margin:14px 0 10px;font-size:clamp(1.55rem,2.5vw,2.15rem)}
.history-era-card p{margin:0 0 10px;line-height:1.62}
.history-people .section-heading,.history-full-timeline .section-heading{margin-bottom:16px}
.history-people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.history-people-grid article{padding:16px;border:2px solid rgba(94,57,18,.14);border-radius:13px;background:rgba(255,255,255,.34)}
.history-people-grid h3{margin:0 0 8px;color:#6f3518;font-size:1.18rem}
.history-people-grid p{margin:0;line-height:1.56;font-size:.9rem}
.history-milestone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.history-milestone{display:grid;grid-template-columns:74px minmax(0,1fr);gap:11px;align-items:center;min-width:0;padding:9px;border:2px solid rgba(94,57,18,.14);border-radius:12px;background:rgba(255,255,255,.38);transition:transform .16s ease,background .16s ease}
.history-milestone:hover{transform:translateY(-2px);background:#fff7dc}
.history-milestone img{width:74px;height:88px;object-fit:cover;border:2px solid #8d5d2a;border-radius:7px}
.history-milestone span{min-width:0}
.history-milestone strong{display:block;color:#3e2618;line-height:1.2}
.history-milestone small{display:block;margin-top:5px;color:#795c47;font-size:.7rem;line-height:1.35}
.history-year-list{display:grid;gap:14px}
.history-year-group{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;padding-top:14px;border-top:2px solid rgba(94,57,18,.12)}
.history-year-group:first-child{padding-top:0;border-top:0}
.history-year-heading{display:grid;align-content:start;gap:4px;padding:10px;border-radius:11px;background:linear-gradient(#905021,#6d3818);color:#fff4d0;text-align:center;box-shadow:0 3px 0 #50250f}
.history-year-heading strong{font-size:1.35rem}
.history-year-heading span{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.history-year-games{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.history-year-games>a{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid rgba(94,57,18,.13);border-radius:10px;background:rgba(255,255,255,.34)}
.history-year-games>a:hover{background:#fff6d8}
.history-year-games img{width:62px;height:72px;object-fit:cover;border-radius:6px;border:1px solid #8d5d2a}
.history-year-games strong{display:block;line-height:1.18;font-size:.86rem}
.history-year-games small{display:block;margin-top:4px;color:#795c47;font-size:.65rem;line-height:1.3}
.history-community{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:22px;align-items:center}
.history-community h2{margin:14px 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}
.history-community p{margin:0 0 11px;line-height:1.62}
.history-community-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.history-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media(max-width:1100px){.history-milestone-grid{grid-template-columns:repeat(3,1fr)}.history-people-grid{grid-template-columns:1fr 1fr}.history-year-games{grid-template-columns:1fr 1fr}}
@media(max-width:890px){.history-intro,.history-community{grid-template-columns:1fr}.history-era-grid{grid-template-columns:1fr}.history-milestone-grid{grid-template-columns:1fr 1fr}.history-year-group{grid-template-columns:82px minmax(0,1fr)}.history-year-heading{padding:9px 5px}}
@media(max-width:620px){.history-intro{padding:18px}.history-at-a-glance,.history-community-stats{grid-template-columns:1fr 1fr}.history-people-grid,.history-milestone-grid,.history-year-games{grid-template-columns:1fr}.history-year-group{display:block}.history-year-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;text-align:left}.history-year-games>a{grid-template-columns:58px minmax(0,1fr)}.history-year-games img{width:58px;height:68px}.history-actions{display:grid}.history-actions .button{width:100%;text-align:center}}
@media(max-width:390px){.history-at-a-glance,.history-community-stats{grid-template-columns:1fr}}

/* =========================================================
   v5.14 — Refined, responsive site footer
   ========================================================= */
.site-footer {
  display: block !important;
  overflow: hidden;
  padding: 0 !important;
  color: #f8edcf;
  border: 2px solid #2b1506;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(33,13,2,.24)),
    url('../images/ui/wood-texture.png') center / 680px 170px repeat;
  box-shadow:
    0 3px 0 rgba(40,19,5,.56),
    0 12px 24px rgba(21,11,3,.25),
    inset 0 1px 0 rgba(255,244,205,.16);
}
.site-footer > .site-footer-top,
.site-footer > .site-footer-legal {
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 0;
}
.site-footer-top {
  display: grid;
  grid-template-columns: minmax(235px,1.18fr) repeat(3,minmax(160px,1fr));
  align-items: stretch;
  padding: 22px 26px 20px !important;
}
.site-footer-top > * {
  min-width: 0;
  padding: 1px 24px;
  border-right: 1px solid rgba(255,245,214,.14);
}
.site-footer-top > :first-child { padding-left: 2px; }
.site-footer-top > :last-child { padding-right: 2px; border-right: 0; }
.footer-wordmark {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 58px;
  color: inherit;
  text-decoration: none !important;
}
.footer-yolk {
  display: grid !important;
  flex: 0 0 48px;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #6e3c10;
  border-radius: 50% 48% 52% 46%;
  color: #55300d;
  background: radial-gradient(circle at 35% 30%,#fff4ae 0 9%,#f7cf52 28%,#d99321 72%,#9a5315 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75),0 3px 0 rgba(43,18,3,.38),0 7px 12px rgba(31,13,2,.22);
  font-size: 1.2rem;
  font-weight: 1000;
  text-shadow: 0 1px rgba(255,255,255,.3);
  transform: rotate(-3deg);
}
.footer-wordmark-copy { min-width: 0; }
.footer-wordmark-copy strong {
  display: block;
  margin: 0 0 5px;
  color: #ffe078;
  font-size: .92rem;
  line-height: 1.12;
  letter-spacing: .015em;
  text-transform: uppercase;
}
.footer-wordmark-copy small {
  display: block;
  color: rgba(255,244,216,.82);
  font-size: .78rem;
  line-height: 1.35;
}
.site-footer-column h2 {
  margin: 0 0 10px;
  color: #ffe078;
  font: 900 .82rem/1.1 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 0;
  align-items: center;
}
.site-footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 7px;
  color: rgba(255,246,222,.9);
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.18;
  text-decoration: none;
  transition: color .16s ease,background .16s ease,transform .16s ease;
}
.site-footer-links a:first-child { margin-left: -9px; }
.site-footer-links a:hover,
.site-footer-links a:focus-visible {
  color: #fff4bf;
  background: rgba(255,226,126,.12);
  outline: none;
  transform: translateY(-1px);
}
.site-footer-legal {
  display: grid;
  grid-template-columns: 172px minmax(0,1fr);
  gap: 25px;
  align-items: center;
  padding: 17px 26px 18px !important;
  border-top: 1px solid rgba(255,244,207,.16) !important;
  background: linear-gradient(90deg,rgba(29,10,1,.29),rgba(46,18,3,.12));
  text-align: left !important;
}
.site-footer-legal-heading {
  display: grid;
  gap: 3px;
  align-content: center;
  min-height: 52px;
  padding-right: 23px;
  border-right: 1px solid rgba(255,244,207,.15);
}
.site-footer-legal-heading span {
  color: #ffe078;
  font-size: .78rem;
  font-weight: 1000;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.site-footer-legal-heading small {
  color: rgba(255,245,220,.7);
  font-size: .7rem;
  line-height: 1.25;
}
.site-footer-legal-copy {
  display: grid;
  grid-template-columns: 1.05fr .72fr 1.35fr;
  gap: 24px;
  min-width: 0;
}
.site-footer-legal-copy p {
  min-width: 0;
  margin: 0;
  color: rgba(255,247,225,.78);
  font-size: .7rem;
  line-height: 1.48;
  text-align: left;
}
.site-footer-legal-copy strong {
  display: inline;
  margin: 0;
  color: #fff1b2;
  font: inherit;
  font-weight: 1000;
  text-transform: none;
}
@media (max-width: 1080px) {
  .site-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 18px 20px 16px !important; }
  .site-footer-top > * { padding: 12px 18px; border-right: 1px solid rgba(255,245,214,.14); border-bottom: 1px solid rgba(255,245,214,.12); }
  .site-footer-top > :nth-child(2n) { border-right: 0; }
  .site-footer-top > :nth-last-child(-n+2) { border-bottom: 0; }
  .site-footer-top > :first-child { padding-left: 18px; }
  .site-footer-top > :last-child { padding-right: 18px; }
  .site-footer-legal-copy { grid-template-columns: 1fr 1fr; gap: 13px 22px; }
  .site-footer-legal-copy p:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .site-footer { border-radius: 11px; }
  .site-footer-top { grid-template-columns: 1fr; padding: 9px 15px !important; }
  .site-footer-top > *,
  .site-footer-top > :first-child,
  .site-footer-top > :last-child {
    padding: 13px 2px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,245,214,.12);
  }
  .site-footer-top > :last-child { border-bottom: 0; }
  .footer-wordmark { min-height: 50px; }
  .footer-yolk { flex-basis: 42px; width: 42px; height: 42px; }
  .site-footer-column h2 { margin-bottom: 7px; }
  .site-footer-links { gap: 5px 2px; }
  .site-footer-links a { min-height: 34px; padding: 6px 8px; }
  .site-footer-links a:first-child { margin-left: -8px; }
  .site-footer-legal { grid-template-columns: 1fr; gap: 12px; padding: 15px 17px 17px !important; }
  .site-footer-legal-heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    min-height: 0;
    padding: 0 0 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,244,207,.14);
  }
  .site-footer-legal-copy { grid-template-columns: 1fr; gap: 9px; }
  .site-footer-legal-copy p:last-child { grid-column: auto; }
}

.dizzy-visitor-total{color:#9f2d21}


/* =========================================================
   v5.17 FINAL PUBLIC FLOW SWEEP
   Centred forms, calmer online narrative and game-only live counts.
   ========================================================= */
.account-form-layout{
  width:min(100%,860px);
  max-width:860px;
  margin-inline:auto;
  grid-template-columns:minmax(0,780px)!important;
  justify-content:center;
}
.account-form-layout>.account-form,
.account-form-layout>.submission-form,
.account-form-layout>aside{width:100%;min-width:0;justify-self:center}
.account-form-layout>aside{margin-top:0}
.submission-layout{
  width:min(100%,980px);
  max-width:980px;
  margin-inline:auto;
  grid-template-columns:minmax(0,900px)!important;
  justify-content:center;
}
.submission-layout>.submission-help{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
}
.public-minimal-copy .account-form-layout>aside,
.public-minimal-copy .submission-layout>.submission-help{display:none!important}
.home-online-intro{max-width:760px;margin:5px 0 0;color:#6d4a27;line-height:1.42}
.game-live-count{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid rgba(75,127,37,.28);border-radius:999px;background:rgba(75,127,37,.12);color:#3f681e;font-size:.78rem;font-weight:900;white-space:nowrap}
.game-live-count i{width:8px;height:8px;border-radius:50%;background:#6fba35;box-shadow:0 0 0 4px rgba(111,186,53,.16)}
.notice-publish-form{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px;background:rgba(104,151,53,.10)}
@media(max-width:820px){.account-form-layout,.submission-layout{width:100%;max-width:100%}.submission-layout>.submission-help{grid-template-columns:1fr}.game-live-count{white-space:normal}}
@media(max-width:560px){.public-minimal-copy .account-form-layout>.account-form,.public-minimal-copy .account-form-layout>.submission-form{padding:12px}.home-online-intro{font-size:.82rem}.game-live-count{width:100%;justify-content:center}}


/* v5.21 — Dizzy 1 immersive launcher ------------------------------------- */
.launcher-dizzy1-page,
.launcher-dizzy1-page .site-shell,
.launcher-dizzy1-page #main-content {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.dizzy1-launcher {
  position: relative;
  display: block;
  height: 100dvh;
  isolation: isolate;
  background: #020507;
}

.dizzy1-launcher > header {
  position: absolute;
  z-index: 20;
  top: max(10px, env(safe-area-inset-top));
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  min-height: 0;
  padding: 8px 10px;
  border: 1px solid rgba(255, 225, 142, .32);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(45, 27, 14, .9), rgba(24, 14, 8, .84));
  box-shadow: 0 8px 24px rgba(0, 0, 0, .38), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  pointer-events: none;
}

.dizzy1-launcher > header > div:first-child {
  max-width: 44ch;
}

.dizzy1-launcher > header h1 {
  font-size: 1rem;
}

.dizzy1-launcher > header p {
  color: #e8d9b7;
}

.dizzy1-launcher .launcher-tools {
  pointer-events: auto;
}

.dizzy1-launcher .launcher-main,
.dizzy1-launcher .launcher-frame-wrap {
  width: 100%;
  height: 100dvh;
  min-height: 0;
}

.dizzy1-launcher .launcher-main {
  position: relative;
  display: block;
  overflow: hidden;
  background: #020507;
}

.dizzy1-launcher .launcher-frame-wrap,
.dizzy1-launcher .launcher-frame-wrap iframe {
  border: 0;
  background: #020507;
}

.dizzy1-hud {
  position: absolute;
  z-index: 14;
  top: 50%;
  width: clamp(148px, 12vw, 184px);
  padding: 13px;
  border: 1px solid rgba(255, 222, 126, .42);
  border-radius: 15px;
  color: #fff3c6;
  background:
    linear-gradient(180deg, rgba(45, 25, 12, .92), rgba(15, 11, 8, .86)),
    rgba(20, 14, 9, .9);
  box-shadow: 0 13px 36px rgba(0,0,0,.48), inset 0 0 0 2px rgba(116, 70, 25, .32);
  backdrop-filter: blur(9px);
  transform: translateY(-50%);
  pointer-events: none;
}

.dizzy1-run-hud {
  left: max(12px, env(safe-area-inset-left));
}

.dizzy1-live-hud {
  right: max(12px, env(safe-area-inset-right));
}

.dizzy1-hud-kicker {
  display: block;
  margin-bottom: 9px;
  color: #ffd866;
  font-size: .61rem;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.dizzy1-hud dl {
  display: grid;
  gap: 7px;
  margin: 0;
}

.dizzy1-hud dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 229, 151, .14);
}

.dizzy1-hud dt {
  color: #d7c7a0;
  font-size: .68rem;
  font-weight: 800;
}

.dizzy1-hud dd {
  margin: 0;
  color: #fff8df;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1rem;
  font-weight: 1000;
  letter-spacing: .03em;
}

.dizzy1-hud > p {
  margin: 10px 0 0;
  color: #d8c9a5;
  font-size: .66rem;
  line-height: 1.4;
}

.dizzy1-hud > p strong {
  color: #8ff06a;
}

.dizzy1-nearby {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 7px;
  padding: 9px;
  border-radius: 10px;
  background: rgba(255,255,255,.07);
}

.dizzy1-nearby i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #72e34d;
  box-shadow: 0 0 0 5px rgba(114, 227, 77, .12), 0 0 9px #72e34d;
}

.dizzy1-nearby b {
  color: #fff8dc;
  font-size: 1.35rem;
}

.dizzy1-nearby span {
  color: #d8c9a5;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1.15;
}

.dizzy1-control-legend {
  position: absolute;
  z-index: 16;
  left: 50%;
  bottom: max(10px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  max-width: calc(100vw - 32px);
  padding: 8px 12px;
  border: 1px solid rgba(255, 226, 139, .28);
  border-radius: 999px;
  color: #eadcb8;
  background: rgba(10, 15, 18, .84);
  box-shadow: 0 8px 24px rgba(0,0,0,.34);
  backdrop-filter: blur(8px);
  transform: translateX(-50%);
  font-size: .64rem;
  font-weight: 800;
  white-space: nowrap;
  pointer-events: none;
}

.dizzy1-control-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.dizzy1-control-legend kbd {
  min-width: 22px;
  padding: 3px 5px;
  border: 1px solid rgba(255, 232, 157, .36);
  border-bottom-width: 2px;
  border-radius: 5px;
  color: #fff4c7;
  background: rgba(255,255,255,.08);
  font: 900 .62rem/1 ui-monospace, monospace;
  text-align: center;
}

.dizzy1-control-legend .controller-note {
  color: #91ee79;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .dizzy1-hud {
    display: none;
  }
}

@media (max-width: 760px), (hover: none) and (pointer: coarse) {
  .dizzy1-launcher > header {
    top: max(4px, env(safe-area-inset-top));
    left: auto;
    right: max(5px, env(safe-area-inset-right));
    width: auto;
    padding: 3px;
    border-radius: 9px;
    background: rgba(8, 12, 15, .72);
  }

  .dizzy1-launcher > header > div:first-child,
  .dizzy1-launcher #fullscreen-game,
  .dizzy1-hud,
  .dizzy1-control-legend {
    display: none !important;
  }

  .dizzy1-launcher .launcher-tools .button.blue {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 7px;
    font-size: .61rem;
  }
}

/* v5.21.1 — keep launcher tools entirely outside Dizzy's 4:3 screen. */
.dizzy1-launcher > header {
  left: auto;
  width: clamp(168px, 12vw, 184px);
}

.dizzy1-launcher > header > div:first-child {
  display: none;
}

.dizzy1-launcher > header .launcher-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  gap: 6px;
}

.dizzy1-launcher > header .launcher-tools .button {
  min-height: 34px;
  padding: 5px 7px;
  font-size: .64rem;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .dizzy1-launcher > header {
    width: auto;
    padding: 3px;
  }

  .dizzy1-launcher > header .launcher-tools {
    display: block;
  }

  .dizzy1-launcher #fullscreen-game {
    display: none;
  }
}

/* v5.22 — Treasure Island Dizzy immersive launcher ----------------------- */
.launcher-dizzy2-page,
.launcher-dizzy2-page .site-shell,
.launcher-dizzy2-page #main-content {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.dizzy2-launcher .dizzy1-hud {
  border-color: rgba(255, 226, 123, .48);
  background: linear-gradient(180deg, rgba(47, 29, 10, .93), rgba(11, 23, 28, .88));
  box-shadow: 0 13px 36px rgba(0,0,0,.48), inset 0 0 0 2px rgba(169,111,28,.28);
}
.dizzy2-launcher .dizzy1-hud-kicker,
.dizzy2-launcher .dizzy1-control-legend kbd { color:#ffe477; }
.dizzy2-launcher .dizzy1-control-legend {
  border-color: rgba(255,226,123,.34);
  background: rgba(4,19,27,.86);
}



/* v5.25 — immersive gallery wall and viewer */
.gallery-toolbar{position:relative;overflow:hidden}.gallery-toolbar::after{content:'✦';position:absolute;right:20px;bottom:-25px;color:rgba(130,77,25,.08);font-size:7rem;pointer-events:none}.gallery-toolbar-lower{display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery-toolbar-lower .result-count{margin:0}.gallery-view-controls{position:relative;z-index:1;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.gallery-view-button,.gallery-surprise{min-height:38px;padding:7px 12px;border:1px solid rgba(102,61,22,.42);border-radius:999px;color:#5a3518;background:rgba(255,255,255,.44);font:800 .78rem/1 inherit;cursor:pointer;box-shadow:none}.gallery-view-button:hover,.gallery-surprise:hover,.gallery-view-button.active{color:#fff8db;background:#7e4b22}.gallery-surprise{background:#6f9432;color:#fff;border-color:#4f711e}.gallery-collection-strip{display:flex;gap:9px;margin:0 0 16px;padding:4px 2px 8px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.gallery-collection-strip a{flex:0 0 auto;display:grid;grid-template-columns:auto auto;gap:10px;align-items:center;min-height:45px;padding:7px 13px;border:1px solid rgba(93,54,17,.26);border-radius:999px;color:#5d381a;background:rgba(250,235,193,.9);box-shadow:0 4px 10px rgba(55,31,10,.12);scroll-snap-align:start}.gallery-collection-strip a:hover,.gallery-collection-strip a.active{color:#fff5d2;background:#7d4a20;border-color:#4f2a0c}.gallery-collection-strip strong{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.gallery-collection-strip span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.35);font-size:.7rem}.gallery-wall{column-width:235px;column-gap:14px;margin:0 0 18px}.gallery-piece{display:inline-block;width:100%;margin:0 0 14px;break-inside:avoid;vertical-align:top;border:3px solid rgba(108,63,20,.78);border-radius:13px;background:#281c12;box-shadow:0 7px 18px rgba(42,23,8,.26);overflow:hidden;transform:translateZ(0)}.gallery-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:#211b17;cursor:zoom-in;overflow:hidden}.gallery-image-button img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;background:linear-gradient(145deg,#29231d,#14110e);transition:transform .22s ease,filter .22s ease}.gallery-image-overlay{position:absolute;inset:auto 0 0;display:grid;gap:2px;padding:34px 11px 10px;color:#fff8db;text-align:left;background:linear-gradient(transparent,rgba(23,12,4,.92));transform:translateY(calc(100% - 42px));transition:transform .2s ease}.gallery-image-overlay small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f4cf68;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.gallery-image-overlay strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.2}.gallery-image-button:hover img,.gallery-image-button:focus-visible img{transform:scale(1.025);filter:brightness(.9)}.gallery-image-button:hover .gallery-image-overlay,.gallery-image-button:focus-visible .gallery-image-overlay{transform:translateY(0)}.gallery-wall.gallery-view-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;columns:auto}.gallery-wall.gallery-view-tiles .gallery-piece{display:block;margin:0}.gallery-wall.gallery-view-tiles .gallery-image-button,.gallery-wall.gallery-view-tiles .gallery-image-button img{height:100%}.gallery-wall.gallery-view-tiles .gallery-image-button img{aspect-ratio:4/3;object-fit:contain;max-height:none}.gallery-viewer-open{overflow:hidden}.gallery-viewer{grid-template-columns:minmax(52px,90px) minmax(0,1fr) minmax(52px,90px);gap:12px;padding:20px;background:radial-gradient(circle at 50% 45%,rgba(71,45,23,.9),rgba(12,8,5,.97) 70%);backdrop-filter:blur(7px)}.gallery-viewer figure{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);width:min(1450px,calc(100vw - 200px));max-width:none;max-height:94vh;margin:0;overflow:hidden;border:2px solid rgba(255,224,154,.45);border-radius:18px;background:#18120d;box-shadow:0 25px 80px rgba(0,0,0,.55);text-align:left}.media-lightbox-stage{display:grid;place-items:center;min-height:min(78vh,760px);padding:16px;background:radial-gradient(circle,#32291f,#0d0b09)}.gallery-viewer .media-lightbox-stage img{display:block;max-width:100%;max-height:86vh;margin:auto;object-fit:contain}.gallery-viewer figcaption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0;margin:0;padding:28px;color:#f8e9c3;background:linear-gradient(160deg,#6a401f,#321d0f)}.media-lightbox-counter{align-self:flex-start;padding:5px 9px;border-radius:999px;color:#4e2b14;background:#f2d77f;font-size:.7rem;font-weight:900}.media-lightbox-title{font-family:Georgia,serif;font-size:clamp(1.35rem,2.3vw,2.2rem);line-height:1.08}.gallery-viewer figcaption .eyebrow{color:#ffd876}.media-lightbox-description{margin:0;line-height:1.5}.media-lightbox-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.gallery-viewer figcaption small{margin-top:8px;color:#e2ca9b;line-height:1.45}.media-lightbox-nav{display:grid;place-items:center;align-self:center;width:58px;height:78px;border:2px solid rgba(255,232,172,.5);border-radius:20px;color:#fff2c8;background:rgba(103,58,25,.72);font:400 3.5rem/1 Georgia,serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}.media-lightbox-nav:hover{background:#8c5024}.media-lightbox-close{z-index:2}.media-lightbox-source[hidden],.media-lightbox-nav[hidden]{display:none}.gallery-viewer .media-lightbox-full,.gallery-viewer .media-lightbox-source{font-size:.75rem}.resource-preview[data-lightbox-src]{cursor:zoom-in}
@media(max-width:1180px){.gallery-wall.gallery-view-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-viewer{grid-template-columns:55px minmax(0,1fr) 55px}.gallery-viewer figure{width:calc(100vw - 145px);grid-template-columns:minmax(0,1fr) 260px}.media-lightbox-nav{width:48px}}
@media(max-width:820px){.gallery-toolbar-lower{align-items:flex-start;flex-direction:column}.gallery-wall{column-width:180px;column-gap:10px}.gallery-piece{margin-bottom:10px;border-width:2px}.gallery-wall.gallery-view-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-viewer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;padding:8px;gap:5px}.gallery-viewer figure{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;width:calc(100vw - 105px);max-height:96vh}.media-lightbox-stage{min-height:0;padding:7px}.gallery-viewer .media-lightbox-stage img{max-height:66vh}.gallery-viewer figcaption{gap:6px;padding:13px 15px;max-height:27vh;overflow:auto}.media-lightbox-title{font-size:1.15rem}.gallery-viewer figcaption small{display:none}.media-lightbox-nav{width:40px;height:64px;border-radius:14px;font-size:2.6rem}.media-lightbox-close{top:7px;right:7px}}
@media(max-width:520px){.gallery-wall{column-count:2;column-width:auto}.gallery-image-overlay{padding:27px 7px 7px;transform:translateY(calc(100% - 34px))}.gallery-image-overlay strong{font-size:.72rem}.gallery-image-overlay small{font-size:.56rem}.gallery-viewer{grid-template-columns:1fr}.gallery-viewer figure{width:calc(100vw - 16px)}.gallery-viewer .media-lightbox-prev,.gallery-viewer .media-lightbox-next{position:fixed;z-index:3;top:45%;width:40px;height:58px;background:rgba(68,37,17,.78)}.gallery-viewer .media-lightbox-prev{left:10px}.gallery-viewer .media-lightbox-next{right:10px}.gallery-viewer figcaption{padding:11px 13px}.media-lightbox-actions .button{padding:7px 9px}.gallery-collection-strip strong{max-width:150px}}
@media(prefers-reduced-motion:reduce){.gallery-image-button img,.gallery-image-overlay{transition:none}}


/* v5.26 forum composer, emoticons and member photo attachments */
.forum-category-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}.forum-category-main{display:grid;gap:18px}.forum-compose-panel{overflow:visible}.forum-compose-panel .stacked-form{gap:15px}.forum-editor{display:grid;gap:9px;min-width:0}.forum-editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid rgba(92,55,19,.28);border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(#fff9e8,#ead49a)}.forum-editor-toolbar button,.forum-editor-secondary,.forum-emoticon-grid button{display:inline-grid;place-items:center;min-width:39px;min-height:38px;padding:7px 10px;border:1px solid rgba(90,51,15,.35);border-radius:8px;background:rgba(255,255,255,.68);color:#4b2d16;font:inherit;font-weight:900;cursor:pointer}.forum-editor-toolbar button:hover,.forum-editor-secondary:hover,.forum-emoticon-grid button:hover{background:#fff;transform:translateY(-1px)}.forum-editor>textarea{width:100%;min-height:190px;margin-top:-9px;padding:14px;border:1px solid #9f763b;border-radius:0 0 12px 12px;background:#fffdf4;color:var(--ink);font:inherit;line-height:1.55;resize:vertical}.forum-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.forum-emoticon-picker{position:relative}.forum-emoticon-picker>summary{list-style:none;display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid rgba(90,51,15,.35);border-radius:9px;background:rgba(255,255,255,.65);font-weight:900;cursor:pointer}.forum-emoticon-picker>summary::-webkit-details-marker{display:none}.forum-emoticon-picker[open]{z-index:15}.forum-emoticon-grid{display:grid;grid-template-columns:repeat(6,42px);gap:5px;position:absolute;left:0;bottom:calc(100% + 7px);width:max-content;max-width:min(330px,90vw);padding:9px;border:2px solid #8a5a25;border-radius:12px;background:#fff8df;box-shadow:0 12px 30px rgba(38,24,11,.28)}.forum-emoticon-grid button{padding:4px;font-size:1.3rem}.forum-emoticon-grid img,.forum-emoticon{display:inline-block;width:28px;height:28px;object-fit:contain;vertical-align:middle;margin:0 2px;border:0;border-radius:0;background:transparent}.forum-emoticon-picker small{display:block;max-width:280px;margin-top:6px;color:#72512d}.forum-character-count{margin-left:auto;color:#76532e;font-size:.8rem;font-weight:900}.forum-editor-help{margin:0;color:#76532e;font-size:.78rem}.forum-editor-preview{padding:12px;border:1px dashed rgba(90,51,15,.38);border-radius:10px;background:rgba(255,255,255,.45)}.forum-editor-preview>strong{display:block;margin-bottom:7px;color:#9b3a2c;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.forum-photo-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.forum-photo-preview figure,.forum-photo-attachments figure{min-width:0;margin:0;padding:5px;border:1px solid rgba(90,51,15,.22);border-radius:9px;background:rgba(255,255,255,.45)}.forum-photo-preview img,.forum-photo-attachments img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;margin:0;border-radius:6px;background:#24201b}.forum-photo-preview figcaption,.forum-photo-attachments figcaption{overflow:hidden;margin-top:4px;color:#76532e;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.forum-photo-attachments{grid-template-columns:repeat(4,minmax(0,1fr))}.forum-bb-list{margin:10px 0;padding-left:24px}.forum-underline{text-decoration:underline}.forum-publish-button{min-width:180px}.forum-poll-editor{padding:10px 12px;border:1px dashed rgba(90,51,15,.3);border-radius:10px;background:rgba(255,255,255,.28)}.forum-poll-editor summary{cursor:pointer;font-weight:900}.forum-poll-editor[open]{display:grid;gap:10px}.live-reply-panel form{display:grid;gap:12px}
@media(max-width:900px){.forum-category-layout{grid-template-columns:1fr}.forum-photo-preview,.forum-photo-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.forum-editor-toolbar{gap:4px;position:sticky;top:0;z-index:5}.forum-editor-toolbar button{min-width:36px;min-height:36px;padding:6px 8px;font-size:.86rem}.forum-editor>textarea{min-height:230px}.forum-editor-actions{align-items:stretch}.forum-editor-actions>*{flex:1 1 auto}.forum-character-count{flex-basis:100%;margin-left:0;text-align:right}.forum-emoticon-grid{grid-template-columns:repeat(5,42px);left:auto;right:0}.forum-photo-preview,.forum-photo-attachments{grid-template-columns:1fr 1fr}.forum-publish-button{width:100%}}

/* =========================================================
   v5.27 — streamlined community strip and rebuilt footer
   ========================================================= */
.living-community{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr)!important;
  align-items:stretch;
}
.living-activity-card{grid-column:auto!important}
.living-activity-list{max-height:220px}
.living-spotlight-card{min-height:0}
@media(max-width:900px){
  .living-community{grid-template-columns:1fr 1fr!important}
  .living-activity-card{grid-column:auto!important}
  .living-activity-list{grid-template-columns:1fr!important}
  .living-activity-list>a:nth-child(odd){border-right:0!important}
}
@media(max-width:700px){
  .living-community{grid-template-columns:1fr!important}
  .living-activity-list{display:flex!important}
}

.site-footer{
  display:block!important;
  width:min(1440px,calc(100% - 20px));
  margin:18px auto 14px!important;
  padding:0!important;
  overflow:hidden;
  border:2px solid #2b1506!important;
  border-radius:16px!important;
  color:#f8edcf;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(31,12,2,.27)),
    url('../images/ui/wood-texture.png') center/680px 170px repeat!important;
  box-shadow:0 3px 0 rgba(40,19,5,.56),0 12px 24px rgba(21,11,3,.25),inset 0 1px 0 rgba(255,244,205,.16)!important;
}
.site-footer-main{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.45fr);
  gap:28px;
  align-items:start;
  padding:24px 28px 21px;
}
.site-footer-brand{
  min-width:0;
  padding-right:26px;
  border-right:1px solid rgba(255,245,214,.16);
}
.site-footer-brand p{
  max-width:360px;
  margin:12px 0 15px;
  color:rgba(255,244,216,.78);
  font-size:.76rem;
  line-height:1.5;
}
.footer-wordmark{min-height:52px}
.footer-featured-links{display:flex;flex-wrap:wrap;gap:7px}
.footer-featured-links a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(255,231,145,.22);
  border-radius:9px;
  color:#fff0b1!important;
  background:rgba(255,226,126,.10);
  font-size:.7rem;
  font-weight:950;
  text-decoration:none!important;
}
.footer-featured-links a:hover,.footer-featured-links a:focus-visible{background:rgba(255,226,126,.19);outline:none}
.site-footer-nav-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  min-width:0;
}
.site-footer-column{min-width:0}
.site-footer-column h2{margin:2px 0 10px!important;font-size:.74rem!important}
.site-footer-links{
  display:grid!important;
  gap:2px!important;
  align-items:start!important;
}
.site-footer-links a{
  display:flex!important;
  width:100%;
  min-height:30px!important;
  margin:0!important;
  padding:5px 7px!important;
  font-size:.74rem!important;
}
.site-footer-bottom{
  border-top:1px solid rgba(255,244,207,.16);
  background:linear-gradient(90deg,rgba(29,10,1,.31),rgba(46,18,3,.13));
}
.site-footer-legal{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
  padding:16px 28px 14px!important;
  border:0!important;
  background:none!important;
}
.site-footer-legal h2{
  margin:1px 0 0;
  color:#ffe078;
  font:1000 .72rem/1.2 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.site-footer-legal-copy{
  display:grid!important;
  grid-template-columns:1.15fr .8fr 1.35fr!important;
  gap:20px!important;
}
.site-footer-legal-copy p{
  margin:0!important;
  color:rgba(255,247,225,.74)!important;
  font-size:.65rem!important;
  line-height:1.45!important;
}
.site-footer-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 28px 10px;
  border-top:1px solid rgba(255,244,207,.10);
  color:rgba(255,244,216,.58);
  font-size:.61rem;
  font-weight:800;
}
.site-footer-meta a{color:inherit;text-decoration:none}
.site-footer-meta a:hover{text-decoration:underline}
@media(max-width:1000px){
  .site-footer-main{grid-template-columns:1fr;gap:18px;padding:21px 22px 18px}
  .site-footer-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;padding:0 0 17px;border-right:0;border-bottom:1px solid rgba(255,245,214,.14)}
  .site-footer-brand p{grid-column:1;margin:5px 0 0}
  .footer-featured-links{grid-column:2;grid-row:1/3;justify-content:flex-end}
  .site-footer-legal-copy{grid-template-columns:1fr 1fr!important}
  .site-footer-legal-copy p:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .site-footer{width:calc(100% - 8px);margin:11px auto 10px!important;border-radius:13px!important}
  .site-footer-main{gap:15px;padding:16px 15px 14px}
  .site-footer-brand{display:block;padding-bottom:14px}
  .footer-wordmark{min-height:46px}
  .footer-wordmark-copy strong{font-size:.86rem}
  .footer-wordmark-copy small{font-size:.7rem}
  .site-footer-brand p{margin:8px 0 11px;font-size:.7rem}
  .footer-featured-links{justify-content:flex-start}
  .footer-featured-links a{flex:1 1 130px;justify-content:center;min-height:36px}
  .site-footer-nav-grid{grid-template-columns:1fr 1fr;gap:15px 13px}
  .site-footer-column:last-child{grid-column:1/-1}
  .site-footer-column:last-child .site-footer-links{grid-template-columns:1fr 1fr}
  .site-footer-column h2{margin-bottom:6px!important;font-size:.69rem!important}
  .site-footer-links a{min-height:31px!important;padding:5px 5px!important;font-size:.69rem!important}
  .site-footer-legal{grid-template-columns:1fr!important;gap:8px!important;padding:13px 15px 11px!important}
  .site-footer-legal h2{padding-bottom:7px;border-bottom:1px solid rgba(255,244,207,.12)}
  .site-footer-legal-copy{grid-template-columns:1fr!important;gap:7px!important}
  .site-footer-legal-copy p,.site-footer-legal-copy p:last-child{grid-column:auto;font-size:.62rem!important;line-height:1.42!important}
  .site-footer-meta{padding:7px 15px 9px;font-size:.57rem}
}
@media(max-width:400px){
  .site-footer-nav-grid{grid-template-columns:1fr 1fr;gap:13px 8px}
  .site-footer-links a{font-size:.65rem!important}
  .footer-featured-links{display:grid;grid-template-columns:1fr 1fr}
}
.site-footer>.site-footer-main,.site-footer>.site-footer-bottom{padding:0!important;border:0!important}

/* =========================================================
   v5.28 — simplified footer identity and navigation
   ========================================================= */
.site-footer-main{
  grid-template-columns:minmax(255px,.58fr) minmax(0,1.42fr)!important;
  gap:34px!important;
  align-items:center!important;
  padding:23px 28px 20px!important;
}
.site-footer-brand{
  padding:0 28px 0 0!important;
  border-right:1px solid rgba(255,245,214,.15)!important;
}
.footer-wordmark{
  display:block!important;
  min-height:0!important;
  color:inherit!important;
  text-decoration:none!important;
}
.footer-wordmark-copy strong{
  display:block;
  margin:0 0 4px;
  color:#ffe078;
  font:1000 1.08rem/1.08 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  letter-spacing:.015em;
  text-transform:none;
}
.footer-wordmark-copy small{
  display:block;
  color:rgba(255,244,216,.82);
  font-size:.76rem;
  line-height:1.35;
}
.site-footer-brand p{
  max-width:335px!important;
  margin:11px 0 0!important;
  font-size:.72rem!important;
  line-height:1.48!important;
}
.site-footer-linkbar{
  display:grid;
  min-width:0;
  gap:12px;
}
.site-footer-link-row{
  display:grid;
  grid-template-columns:94px minmax(0,1fr);
  gap:14px;
  align-items:start;
  min-width:0;
  padding-bottom:11px;
  border-bottom:1px solid rgba(255,245,214,.12);
}
.site-footer-link-row:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.site-footer-link-label{
  padding-top:5px;
  color:#ffe078;
  font:1000 .68rem/1.2 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.site-footer-inline-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  min-width:0;
  gap:1px 0;
}
.site-footer-inline-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:4px 10px;
  color:rgba(255,246,222,.88)!important;
  font-size:.72rem;
  font-weight:820;
  line-height:1.2;
  text-decoration:none!important;
  border-radius:6px;
}
.site-footer-inline-links a::after{
  content:'•';
  position:absolute;
  right:-2px;
  color:rgba(255,226,126,.42);
  pointer-events:none;
}
.site-footer-inline-links a:last-child::after{display:none}
.site-footer-inline-links a:hover,
.site-footer-inline-links a:focus-visible{
  color:#fff3bd!important;
  background:rgba(255,226,126,.10);
  outline:none;
}
@media(max-width:1000px){
  .site-footer-main{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:20px 22px 18px!important;
  }
  .site-footer-brand{
    padding:0 0 15px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,245,214,.14)!important;
  }
  .site-footer-brand p{max-width:620px!important}
}
@media(max-width:700px){
  .site-footer-main{
    gap:14px!important;
    padding:16px 15px 14px!important;
  }
  .footer-wordmark-copy strong{font-size:1rem}
  .footer-wordmark-copy small{font-size:.7rem}
  .site-footer-brand p{
    margin-top:8px!important;
    font-size:.67rem!important;
  }
  .site-footer-linkbar{gap:13px}
  .site-footer-link-row{
    grid-template-columns:1fr;
    gap:6px;
    padding-bottom:12px;
  }
  .site-footer-link-label{padding:0;font-size:.66rem}
  .site-footer-inline-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 8px;
  }
  .site-footer-inline-links a{
    min-height:34px;
    padding:6px 4px;
    border-bottom:1px solid rgba(255,245,214,.08);
    border-radius:0;
    font-size:.68rem;
  }
  .site-footer-inline-links a::after{display:none}
  .site-footer-inline-links a:hover,
  .site-footer-inline-links a:focus-visible{padding-left:8px}
}
@media(max-width:370px){
  .site-footer-inline-links{grid-template-columns:1fr}
}

/* =========================================================
   v5.29 — centred mobile footer navigation
   ========================================================= */
@media(max-width:700px){
  .site-footer-brand{
    text-align:center;
  }
  .site-footer-brand p{
    max-width:30rem!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .site-footer-linkbar{
    width:100%;
    gap:14px;
    padding:0 5px;
  }
  .site-footer-link-row{
    width:100%;
    max-width:38rem;
    margin-inline:auto;
    text-align:center;
  }
  .site-footer-link-label{
    width:100%;
    text-align:center;
  }
  .site-footer-inline-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:35rem;
    margin-inline:auto;
    gap:0;
  }
  .site-footer-inline-links a{
    display:inline-flex;
    flex:0 0 auto;
    justify-content:center;
    min-height:32px;
    padding:6px 11px;
    border:0;
    border-radius:6px;
    text-align:center;
  }
  .site-footer-inline-links a::after{
    display:block;
    content:'•';
    position:absolute;
    right:-2px;
    color:rgba(255,226,126,.42);
  }
  .site-footer-inline-links a:last-child::after{
    display:none;
  }
  .site-footer-inline-links a:hover,
  .site-footer-inline-links a:focus-visible{
    padding-left:11px;
    background:rgba(255,226,126,.10);
  }
}
@media(max-width:370px){
  .site-footer-inline-links{
    display:flex;
  }
  .site-footer-inline-links a{
    padding-inline:9px;
  }
}

/* v5.31 — unified Yolkfolk presentation for both native Dizzy launchers. */
.launcher-immersive-page .immersive-launcher{
  --launcher-wood:url("../images/ui/wood-texture.png");
  --launcher-paper:url("../images/ui/paper-texture.png");
}
.launcher-immersive-page .immersive-launcher>header{
  top:max(8px,env(safe-area-inset-top));
  left:max(10px,env(safe-area-inset-left));
  right:max(10px,env(safe-area-inset-right));
  width:auto;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:7px 8px 7px 14px;
  border:1px solid rgba(247,214,130,.64);
  border-radius:14px;
  background:
    linear-gradient(rgba(105,57,25,.91),rgba(53,27,12,.94)),
    var(--launcher-wood) center/260px repeat;
  box-shadow:0 0 0 2px rgba(48,22,7,.72),0 8px 22px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.13);
  backdrop-filter:blur(7px);
}
.launcher-immersive-page .immersive-launcher>header>div:first-child{
  display:block;
  max-width:min(58vw,620px);
  overflow:hidden;
}
.launcher-immersive-page .immersive-launcher>header .eyebrow{
  display:block;
  margin:0 0 2px;
  color:#ffe39a;
  font-size:.55rem;
  letter-spacing:.12em;
}
.launcher-immersive-page .immersive-launcher>header h1{
  margin:0;
  overflow:hidden;
  color:#fff5d2;
  font:900 clamp(.86rem,1.25vw,1.08rem)/1.05 Georgia,"Times New Roman",serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.launcher-immersive-page .immersive-launcher>header p{display:none}
.launcher-immersive-page .immersive-launcher>header .launcher-tools{
  width:auto;
  display:flex;
  flex:0 0 auto;
  gap:6px;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button{
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(255,231,165,.54);
  border-radius:9px;
  color:#fff4d1;
  background:linear-gradient(#7b4a24,#4b2912);
  box-shadow:0 2px 0 #291206,inset 0 1px rgba(255,255,255,.13);
  font-size:.62rem;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button.blue{
  border-color:#8a251d;
  background:linear-gradient(#d44a3a,#9d2921);
  box-shadow:0 2px 0 #681812,inset 0 1px rgba(255,255,255,.22);
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button:hover{filter:brightness(1.08)}

.launcher-immersive-page .dizzy1-hud{
  border:1px solid rgba(246,214,132,.68);
  border-radius:16px;
  color:#4a2b14;
  background:
    linear-gradient(rgba(255,248,221,.94),rgba(240,218,168,.95)),
    var(--launcher-paper) center/360px repeat;
  box-shadow:0 0 0 3px rgba(68,33,10,.78),0 13px 34px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.82);
  backdrop-filter:none;
}
.launcher-immersive-page .dizzy1-hud-kicker{
  margin-bottom:10px;
  color:#8a4e1c;
  font-size:.59rem;
}
.launcher-immersive-page .dizzy1-hud dl>div{
  padding:6px 7px;
  border:1px solid rgba(103,61,22,.13);
  border-radius:8px;
  background:rgba(255,255,255,.30);
}
.launcher-immersive-page .dizzy1-hud dt{color:#6d4a29}
.launcher-immersive-page .dizzy1-hud dd{color:#9f2d23}
.launcher-immersive-page .dizzy1-hud>p{color:#725033}
.launcher-immersive-page .dizzy1-hud>p strong{color:#507f25}
.launcher-immersive-page .dizzy1-nearby{
  border:1px solid rgba(85,122,37,.22);
  background:rgba(111,157,55,.12);
}
.launcher-immersive-page .dizzy1-nearby b{color:#a22f25}
.launcher-immersive-page .dizzy1-nearby span{color:#705033}

.launcher-immersive-page .dizzy1-control-legend{
  border:1px solid rgba(247,214,130,.56);
  color:#fff1c9;
  background:
    linear-gradient(rgba(93,48,20,.93),rgba(43,22,10,.95)),
    var(--launcher-wood) center/250px repeat;
  box-shadow:0 0 0 2px rgba(46,21,7,.7),0 8px 20px rgba(0,0,0,.34);
}
.launcher-immersive-page .dizzy1-control-legend kbd{
  border-color:rgba(255,234,176,.62);
  color:#5d3215;
  background:#f5dfaa;
  box-shadow:0 1px 0 rgba(55,26,8,.6);
}
.launcher-immersive-page .dizzy1-control-legend .controller-note{color:#b8ee8d}

/* Both games keep the same unobtrusive launcher controls on phones. */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  .launcher-immersive-page .immersive-launcher>header{
    top:max(5px,env(safe-area-inset-top));
    left:auto;
    right:max(6px,env(safe-area-inset-right));
    width:auto;
    min-height:0;
    padding:3px;
    border-radius:10px;
    background:linear-gradient(rgba(91,48,21,.92),rgba(42,21,9,.95)),var(--launcher-wood) center/220px repeat;
  }
  .launcher-immersive-page .immersive-launcher>header>div:first-child,
  .launcher-immersive-page .immersive-launcher #fullscreen-game,
  .launcher-immersive-page .dizzy1-hud,
  .launcher-immersive-page .dizzy1-control-legend{display:none!important}
  .launcher-immersive-page .immersive-launcher>header .launcher-tools{display:block;width:auto}
  .launcher-immersive-page .immersive-launcher>header .launcher-tools .button.blue{
    min-width:64px;
    min-height:30px;
    padding:5px 9px;
    border-radius:7px;
    font-size:.6rem;
  }
}

@media (max-width:900px) and (orientation:portrait),
       (pointer:coarse) and (orientation:portrait){
  .launcher-immersive-page .immersive-launcher>header{
    top:max(7px,env(safe-area-inset-top));
    right:max(7px,env(safe-area-inset-right));
  }
}

/* v5.31.1 — keep the shared toolbar outside the 4:3 playfield. */
@media (min-width:1101px){
  .launcher-immersive-page .immersive-launcher>header{
    padding:0;
    border:0;
    background:none;
    box-shadow:none;
    backdrop-filter:none;
  }
  .launcher-immersive-page .immersive-launcher>header>div:first-child,
  .launcher-immersive-page .immersive-launcher>header .launcher-tools{
    border:1px solid rgba(247,214,130,.64);
    border-radius:13px;
    background:linear-gradient(rgba(105,57,25,.91),rgba(53,27,12,.94)),var(--launcher-wood) center/260px repeat;
    box-shadow:0 0 0 2px rgba(48,22,7,.72),0 7px 20px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.13);
  }
  .launcher-immersive-page .immersive-launcher>header>div:first-child{
    width:clamp(148px,12vw,184px);
    min-height:48px;
    padding:8px 10px;
  }
  .launcher-immersive-page .immersive-launcher>header h1{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .launcher-immersive-page .immersive-launcher>header .launcher-tools{padding:5px}
}

/* v5.33 — unified native launcher toolbar and simplified play surface. */
.launcher-immersive-page .immersive-launcher{
  --yf-toolbar-height:clamp(48px,6.5vh,62px);
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:var(--yf-toolbar-height) minmax(0,1fr)!important;
  overflow:hidden!important;
  background:#071015!important;
}
.launcher-immersive-page .immersive-launcher>header.yf-game-toolbar{
  position:relative!important;
  inset:auto!important;
  z-index:30!important;
  width:100%!important;
  height:var(--yf-toolbar-height)!important;
  min-height:0!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(8px,1vw,14px)!important;
  padding:
    max(5px,env(safe-area-inset-top))
    max(8px,env(safe-area-inset-right))
    5px
    max(8px,env(safe-area-inset-left))!important;
  border:0!important;
  border-bottom:2px solid rgba(247,211,119,.58)!important;
  border-radius:0!important;
  background:
    linear-gradient(rgba(101,54,22,.97),rgba(48,23,9,.98)),
    url("../images/ui/wood-texture.png") center/250px repeat!important;
  box-shadow:0 5px 16px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.14)!important;
  backdrop-filter:none!important;
  pointer-events:auto!important;
}
.launcher-immersive-page .yf-game-toolbar-stats{
  min-width:0!important;
  display:flex!important;
  align-items:stretch!important;
  gap:clamp(4px,.7vw,8px)!important;
  overflow:hidden!important;
}
.launcher-immersive-page .yf-game-toolbar-stats>span{
  min-width:clamp(54px,7.2vw,92px)!important;
  min-height:34px!important;
  display:grid!important;
  grid-template-columns:auto!important;
  align-content:center!important;
  gap:1px!important;
  padding:4px clamp(6px,.8vw,10px)!important;
  border:1px solid rgba(255,229,159,.42)!important;
  border-radius:9px!important;
  color:#4c2a12!important;
  background:
    linear-gradient(rgba(255,248,218,.96),rgba(235,210,153,.96)),
    url("../images/ui/paper-texture.png") center/280px repeat!important;
  box-shadow:inset 0 1px rgba(255,255,255,.7),0 2px 5px rgba(0,0,0,.2)!important;
}
.launcher-immersive-page .yf-game-toolbar-stats small{
  color:#77502b!important;
  font:900 clamp(.48rem,.62vw,.62rem)/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.launcher-immersive-page .yf-game-toolbar-stats strong{
  overflow:hidden!important;
  color:#9d2e24!important;
  font:1000 clamp(.72rem,1.05vw,1rem)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.launcher-immersive-page .yf-current-players{
  grid-template-columns:auto 1fr!important;
  column-gap:6px!important;
}
.launcher-immersive-page .yf-current-players i{
  grid-row:1/3!important;
  align-self:center!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#6ec83f!important;
  box-shadow:0 0 0 4px rgba(110,200,63,.16),0 0 8px rgba(110,200,63,.7)!important;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools{
  width:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(5px,.65vw,8px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button{
  min-width:clamp(66px,8vw,104px)!important;
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px clamp(8px,1vw,13px)!important;
  border:2px solid #f0c966!important;
  border-radius:10px!important;
  color:#fff6d4!important;
  background:linear-gradient(#6da539,#426f22)!important;
  box-shadow:0 3px 0 #284612,0 5px 10px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.2)!important;
  font:900 clamp(.58rem,.75vw,.72rem)/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button.blue{
  border-color:#f0c966!important;
  background:linear-gradient(#448fc8,#28628f)!important;
  box-shadow:0 3px 0 #193e5d,0 5px 10px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.2)!important;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools .button:active{
  transform:translateY(2px)!important;
  box-shadow:0 1px 0 rgba(24,37,10,.9),0 2px 5px rgba(0,0,0,.25)!important;
}
.launcher-immersive-page .immersive-launcher .launcher-main,
.launcher-immersive-page .immersive-launcher .launcher-frame-wrap,
.launcher-immersive-page .immersive-launcher .launcher-frame-wrap iframe{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
.launcher-immersive-page .immersive-launcher .launcher-main{
  grid-row:2!important;
  position:relative!important;
  overflow:hidden!important;
}
.launcher-immersive-page .immersive-launcher .launcher-frame-wrap{
  position:absolute!important;
  inset:0!important;
}
.launcher-immersive-page .immersive-launcher .launcher-frame-wrap iframe{
  display:block!important;
  border:0!important;
}
.launcher-immersive-page .dizzy1-hud,
.launcher-immersive-page .dizzy1-control-legend{display:none!important}

@media (max-width:700px){
  .launcher-immersive-page .immersive-launcher{--yf-toolbar-height:52px}
  .launcher-immersive-page .immersive-launcher>header.yf-game-toolbar{
    padding-top:max(4px,env(safe-area-inset-top))!important;
    padding-right:max(5px,env(safe-area-inset-right))!important;
    padding-left:max(5px,env(safe-area-inset-left))!important;
    gap:5px!important;
  }
  .launcher-immersive-page .yf-game-toolbar-stats{gap:3px!important}
  .launcher-immersive-page .yf-game-toolbar-stats>span{
    min-width:48px!important;
    min-height:34px!important;
    padding:3px 5px!important;
    border-radius:7px!important;
  }
  .launcher-immersive-page .yf-game-toolbar-stats small{font-size:.43rem!important;letter-spacing:.04em!important}
  .launcher-immersive-page .yf-game-toolbar-stats strong{font-size:.68rem!important}
  .launcher-immersive-page .yf-current-players i{width:7px!important;height:7px!important}
  .launcher-immersive-page .immersive-launcher>header .launcher-tools{display:flex!important;gap:4px!important}
  .launcher-immersive-page .immersive-launcher>header .launcher-tools .button{
    min-width:61px!important;
    min-height:34px!important;
    padding:5px 7px!important;
    border-radius:8px!important;
    font-size:.54rem!important;
  }
}
@media (max-width:430px){
  .launcher-immersive-page .yf-game-toolbar-stats>span{min-width:43px!important;padding-inline:4px!important}
  .launcher-immersive-page .yf-game-toolbar-stats small{font-size:.39rem!important}
  .launcher-immersive-page .yf-game-toolbar-stats strong{font-size:.61rem!important}
  .launcher-immersive-page .immersive-launcher>header .launcher-tools .button{min-width:56px!important;padding-inline:5px!important}
}


/* v5.34 — clearer grouped launcher statistics */
.launcher-immersive-page .yf-game-toolbar-stats{
  flex:0 1 auto!important;
  padding:3px!important;
  border:2px solid rgba(245,202,101,.78)!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(48,24,10,.96),rgba(25,12,5,.98))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 3px 8px rgba(0,0,0,.28)!important;
  overflow:visible!important;
}
.launcher-immersive-page .yf-game-toolbar-stats>.yf-stat-card{
  position:relative!important;
  min-width:clamp(76px,7.5vw,112px)!important;
  min-height:38px!important;
  padding:5px clamp(8px,.8vw,12px)!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#fff7d8 0%,#ead19a 100%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.78),inset 0 -1px rgba(103,58,20,.14)!important;
}
.launcher-immersive-page .yf-game-toolbar-stats>.yf-stat-card+ .yf-stat-card{
  margin-left:1px!important;
}
.launcher-immersive-page .yf-game-toolbar-stats>.yf-score-stat{
  min-width:clamp(94px,9vw,132px)!important;
}
.launcher-immersive-page .yf-game-toolbar-stats small{
  color:#68401f!important;
  font-size:clamp(.5rem,.64vw,.64rem)!important;
  letter-spacing:.11em!important;
}
.launcher-immersive-page .yf-game-toolbar-stats strong{
  color:#a52d24!important;
  font-size:clamp(.84rem,1.15vw,1.08rem)!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.025em!important;
}
.launcher-immersive-page .yf-game-toolbar-stats>.yf-current-players{
  grid-template-columns:12px minmax(0,1fr)!important;
  min-width:clamp(72px,7vw,98px)!important;
  background:linear-gradient(180deg,#f4f5ce 0%,#d6dda2 100%)!important;
}
.launcher-immersive-page .yf-current-players i{
  width:8px!important;
  height:8px!important;
}
.launcher-immersive-page .yf-current-players strong{color:#3b6f25!important}
@media (max-width:700px){
  .launcher-immersive-page .yf-game-toolbar-stats{
    padding:2px!important;
    border-radius:9px!important;
    gap:2px!important;
  }
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-stat-card{
    min-width:52px!important;
    min-height:34px!important;
    padding:3px 6px!important;
    border-radius:6px!important;
  }
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-score-stat{min-width:68px!important}
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-current-players{min-width:54px!important;grid-template-columns:9px minmax(0,1fr)!important}
  .launcher-immersive-page .yf-game-toolbar-stats small{font-size:.43rem!important;letter-spacing:.055em!important}
  .launcher-immersive-page .yf-game-toolbar-stats strong{font-size:.72rem!important}
}
@media (max-width:430px){
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-stat-card{min-width:47px!important;padding-inline:4px!important}
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-score-stat{min-width:62px!important}
  .launcher-immersive-page .yf-game-toolbar-stats>.yf-current-players{min-width:49px!important}
  .launcher-immersive-page .yf-game-toolbar-stats small{font-size:.39rem!important}
  .launcher-immersive-page .yf-game-toolbar-stats strong{font-size:.65rem!important}
}
/* v5.34 — cancel older title-block sizing/hiding rules for the live HUD. */
.launcher-immersive-page .immersive-launcher>header>.yf-game-toolbar-stats{
  display:flex!important;
  width:max-content!important;
  max-width:calc(100% - 230px)!important;
  flex:0 1 auto!important;
}
@media (max-width:700px){
  .launcher-immersive-page .immersive-launcher>header>.yf-game-toolbar-stats{
    display:flex!important;
    width:max-content!important;
    max-width:calc(100% - 142px)!important;
  }
}
.launcher-immersive-page .immersive-launcher>header>div.yf-game-toolbar-stats:first-child{
  display:flex!important;
}
.launcher-immersive-page .immersive-launcher>header .launcher-tools #fullscreen-game{
  display:inline-flex!important;
}

/* =========================================================
   v5.35 — cleaner, structured desktop footer
   Keeps the approved centred mobile footer unchanged.
   ========================================================= */
@media (min-width:1001px){
  .site-footer-main{
    grid-template-columns:minmax(240px,300px) minmax(0,1fr)!important;
    gap:32px!important;
    align-items:stretch!important;
    padding:24px 30px 22px!important;
  }
  .site-footer-brand{
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    padding:2px 30px 2px 0!important;
  }
  .site-footer-brand p{
    max-width:285px!important;
    margin:12px 0 0!important;
    font-size:.73rem!important;
    line-height:1.48!important;
  }
  .site-footer-linkbar{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);
    gap:28px!important;
    align-items:start;
  }
  .site-footer-link-row{
    display:block!important;
    min-width:0;
    padding:0!important;
    border:0!important;
  }
  .site-footer-link-row+ .site-footer-link-row{
    padding-left:28px!important;
    border-left:1px solid rgba(255,245,214,.13)!important;
  }
  .site-footer-link-label{
    display:block!important;
    padding:0 0 10px!important;
    font-size:.7rem!important;
  }
  .site-footer-inline-links{
    display:grid!important;
    align-items:stretch!important;
    gap:3px 10px!important;
  }
  .site-footer-link-row:first-child .site-footer-inline-links{
    grid-template-columns:repeat(3,minmax(105px,1fr));
  }
  .site-footer-link-row:last-child .site-footer-inline-links{
    grid-template-columns:repeat(2,minmax(115px,1fr));
  }
  .site-footer-inline-links a{
    display:flex!important;
    justify-content:flex-start;
    min-height:31px;
    padding:5px 8px!important;
    border-radius:6px;
    font-size:.72rem;
  }
  .site-footer-inline-links a::after{display:none!important}
  .site-footer-legal{
    grid-template-columns:132px minmax(0,1fr)!important;
    gap:26px!important;
    align-items:start!important;
    padding:17px 30px 15px!important;
  }
  .site-footer-legal h2{
    padding-top:2px;
    line-height:1.3;
  }
  .site-footer-legal-copy{
    grid-template-columns:1.08fr .78fr 1.28fr!important;
    gap:24px!important;
  }
  .site-footer-legal-copy p{
    font-size:.67rem!important;
    line-height:1.5!important;
  }
  .site-footer-meta{
    padding:9px 30px 11px;
  }
}

/* =========================================================
   v5.36 — centred and inset desktop footer content
   Keeps the approved mobile and tablet footer layouts unchanged.
   ========================================================= */
@media (min-width:1001px){
  .site-footer > .site-footer-main{
    padding:24px 48px 22px!important;
  }
  .site-footer > .site-footer-main .site-footer-brand{
    align-items:center!important;
    padding:2px 34px 2px 0!important;
    text-align:center!important;
  }
  .site-footer > .site-footer-main .site-footer-brand p{
    margin:12px auto 0!important;
    text-align:center!important;
  }
  .site-footer > .site-footer-main .site-footer-link-label{
    text-align:center!important;
  }
  .site-footer > .site-footer-main .site-footer-inline-links a{
    justify-content:center!important;
    text-align:center!important;
  }
  .site-footer > .site-footer-bottom .site-footer-legal{
    padding:18px 48px 16px!important;
  }
  .site-footer > .site-footer-bottom .site-footer-legal h2,
  .site-footer > .site-footer-bottom .site-footer-legal-copy p{
    text-align:center!important;
  }
  .site-footer > .site-footer-bottom .site-footer-meta{
    padding:9px 48px 11px!important;
  }
}

/* =========================================================
   v5.37 — centre and inset the desktop brand block itself
   Targets only the left-hand Yolkfolk identity panel.
   ========================================================= */
@media (min-width:1001px){
  .site-footer > .site-footer-main{
    grid-template-columns:minmax(330px,360px) minmax(0,1fr)!important;
  }
  .site-footer > .site-footer-main > .site-footer-brand{
    width:100%!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    padding:4px 42px!important;
    text-align:center!important;
  }
  .site-footer > .site-footer-main > .site-footer-brand .footer-wordmark,
  .site-footer > .site-footer-main > .site-footer-brand .footer-wordmark-copy,
  .site-footer > .site-footer-main > .site-footer-brand .footer-wordmark-copy strong,
  .site-footer > .site-footer-main > .site-footer-brand .footer-wordmark-copy small{
    width:100%!important;
    text-align:center!important;
  }
  .site-footer > .site-footer-main > .site-footer-brand p{
    width:100%!important;
    max-width:290px!important;
    margin:13px auto 0!important;
    text-align:center!important;
  }
}


/* v5.46 original Merchandise Museum */
.museum-source-intro{padding:clamp(20px,4vw,34px);text-align:center}.museum-source-intro p{max-width:850px;margin:12px auto;line-height:1.7}.museum-section-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px}.museum-section-jump a{padding:9px 13px;border-radius:999px;background:rgba(74,116,38,.12);border:1px solid rgba(74,116,38,.28);font-weight:800;text-decoration:none}.museum-collection-section{padding:clamp(18px,3vw,30px);margin-top:18px;scroll-margin-top:95px}.museum-collection-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid rgba(93,54,18,.18);padding-bottom:14px;margin-bottom:14px}.museum-collection-heading h2{margin:3px 0}.museum-shared{margin:4px 0 0;color:var(--muted)}.museum-section-description{max-width:960px;line-height:1.7;font-size:1.04rem}.museum-original-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.museum-original-item{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.45);border:1px solid rgba(87,50,15,.18)}.museum-original-image{border:0;padding:0;background:#f7f1e7;cursor:zoom-in;width:100%;aspect-ratio:4/3;overflow:hidden}.museum-original-image img{width:100%;height:100%;object-fit:contain;display:block}.museum-original-item>div{padding:14px}.museum-original-item h3{font-size:1rem;margin:0 0 8px}.museum-original-item p{font-size:.9rem;line-height:1.5}.inline-delete-form{display:inline-flex;margin:0}@media(max-width:900px){.museum-original-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.museum-collection-heading{display:block}.museum-collection-heading>.text-link{display:inline-block;margin-top:8px}.museum-original-grid{grid-template-columns:1fr}.museum-section-jump{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.museum-section-jump a{white-space:nowrap}}

/* =========================================================
   v5.55 PATCH 08 — FINAL VISUAL CONSOLIDATION
   One definitive public presentation layer for the v5.55 site.
   ========================================================= */
:root{
  --yf-page-width:1400px;
  --yf-reading-width:76ch;
  --yf-gap:clamp(12px,1.3vw,18px);
  --yf-section-gap:clamp(14px,1.55vw,22px);
  --yf-radius:13px;
  --yf-card-radius:11px;
  --yf-surface:#fff8df;
  --yf-surface-strong:#fffdf2;
  --yf-surface-muted:#f4e7c2;
  --yf-border:rgba(91,57,24,.25);
  --yf-border-strong:rgba(79,45,14,.42);
  --yf-copy:#342313;
  --yf-copy-muted:#6d5439;
  --yf-accent:#6f8e32;
  --yf-accent-dark:#405d1b;
  --yf-card-shadow:0 6px 16px rgba(40,23,7,.12);
  --yf-panel-shadow:0 9px 22px rgba(35,20,6,.15);
}
html{scroll-padding-top:82px;scrollbar-gutter:stable}
body:not(.game-launcher-page):not(.dizzyage-launcher-page){color:var(--yf-copy)}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .site-shell{
  width:min(var(--yf-page-width),calc(100% - 20px));
  margin:8px auto 22px;
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) #main-content{
  display:grid;
  gap:var(--yf-section-gap);
  min-width:0;
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) #main-content>*{
  min-width:0;
  margin-block:0!important;
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) #main-content>.spacer{display:none}

/* Navigation and major illustrated framing remain recognisably Yolkfolk. */
.topbar{border-radius:11px 11px 15px 15px}
.site-nav a{padding-inline:13px}
.nav-dropdown{border-radius:0 0 10px 10px}
.home-hero,.page-hero{border-width:4px;box-shadow:0 5px 0 rgba(66,36,10,.54),0 12px 25px rgba(28,15,4,.22),inset 0 0 0 2px rgba(255,238,188,.32)}

/* Parchment is the normal content surface. Wood is reserved for major framing. */
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel,
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .card{
  border:1px solid var(--yf-border-strong);
  border-radius:var(--yf-radius);
  padding:clamp(15px,1.55vw,22px);
  background:
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.08) 20%),
    url('../images/ui/paper-texture.png') center/620px 620px repeat,
    var(--yf-surface);
  box-shadow:var(--yf-panel-shadow),inset 0 1px 0 rgba(255,255,255,.82);
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel::before,
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel::after{display:none!important}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel-title,
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel-title-row,
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .section-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px 16px;
  margin:0 0 15px;
  padding:0 0 11px;
  border-bottom:1px solid var(--yf-border);
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) :is(.panel-title,.panel-title-row,.section-heading) h2{
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  color:var(--ink);
  background:none;
  box-shadow:none;
  text-shadow:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.28rem,1.7vw,1.72rem);
  line-height:1.12;
  letter-spacing:0;
  text-transform:none;
}
.eyebrow,.section-kicker{
  margin:0 0 4px;
  color:#87531e;
  font-size:.68rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.115em;
  text-transform:uppercase;
}
.ribbon{
  position:static;
  display:inline-flex;
  width:max-content;
  margin:0 0 10px;
  padding:5px 10px 6px;
  border:1px solid rgba(60,31,8,.27);
  border-radius:999px;
  box-shadow:0 2px 0 rgba(55,29,8,.12),inset 0 1px 0 rgba(255,255,255,.28);
  font-size:.66rem;
  letter-spacing:.055em;
}
.ribbon::before,.ribbon::after{display:none!important}
.panel p{line-height:1.58}
.panel>p:first-child{margin-top:0}.panel>p:last-child{margin-bottom:0}
.meta,.muted,.help{color:var(--yf-copy-muted)}

/* Calm, predictable buttons and tools. */
.button,button:not(.menu-toggle):not(.media-lightbox-close):not(.media-lightbox-nav){
  min-height:38px;
  border-radius:9px;
  padding:8px 13px;
  line-height:1.15;
}
.card-action-row,.hero-action-row,.quick-nav,.game-fun-toolbar,.game-community-action-buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.quick-nav{
  margin-top:18px;
  padding-top:13px;
  border-top:1px solid var(--yf-border);
}
.quick-nav a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid var(--yf-border);
  border-radius:8px;
  background:rgba(255,255,255,.46);
  color:#684019;
  font-size:.76rem;
  font-weight:900;
}
.toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form,.fan-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:9px;
}
:is(.toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form,.fan-toolbar) label{display:grid;gap:4px;min-width:0}
:is(.toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form,.fan-toolbar) :is(input,select,textarea){
  min-height:40px;
  border:1px solid var(--yf-border-strong);
  border-radius:8px;
  background:rgba(255,253,240,.92);
  box-shadow:inset 0 1px 3px rgba(60,35,11,.08);
}
.result-count{margin:8px 0 0;color:var(--yf-copy-muted);font-size:.8rem;font-weight:850}

/* Compact inner heroes and a single useful location strip. */
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero,
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero.compact{
  min-height:148px;
  padding:4px 18px 0;
  grid-template-columns:138px minmax(0,1fr) 138px;
  border-radius:14px;
}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .hero-character{max-height:136px}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .hero-centre{padding:11px 0 17px}
body:not(.game-launcher-page):not(.dizzyage-launcher-page) .hero-centre h1{
  margin:1px 0 5px;
  font-size:clamp(1.78rem,3vw,3rem);
  line-height:1.02;
}
.hero-description{max-width:760px;margin:7px auto 0;line-height:1.42}
.page-context,.breadcrumbs{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px 16px;
  min-width:0;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid var(--yf-border-strong)!important;
  border-radius:9px!important;
  background:rgba(255,247,221,.94)!important;
  box-shadow:0 3px 9px rgba(42,22,6,.09)!important;
  font-size:.75rem!important;
}
.page-breadcrumbs,.page-section-links{display:flex;align-items:center;min-width:0;gap:7px;font-size:.75rem;font-weight:850}
.page-breadcrumbs{white-space:nowrap}.page-breadcrumbs strong{overflow:hidden;text-overflow:ellipsis}
.page-breadcrumbs a,.breadcrumbs a{color:#704019!important;text-decoration:underline;text-decoration-color:rgba(112,64,25,.35)!important;text-underline-offset:3px!important}
.page-section-links{justify-content:flex-end;overflow-x:auto;scrollbar-width:thin}
.page-section-links a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:31px;padding:5px 9px;border-radius:7px;color:#704019}
.page-section-links a:is(:hover,.active){color:#fff8dc;background:#6f8f31}

/* Character guides are accents, not a second hero. */
.community-character-host{
  display:grid!important;
  grid-template-columns:102px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:0!important;
  padding:9px 13px 9px 8px!important;
  border:1px solid var(--yf-border-strong)!important;
  border-left:5px solid var(--yf-accent)!important;
  border-radius:11px!important;
  background:rgba(255,249,226,.94)!important;
  box-shadow:0 5px 13px rgba(41,23,7,.11)!important;
}
.community-character-host::before,.community-character-host::after{display:none!important}
.community-character-portrait{align-self:end!important}.community-character-portrait img{width:auto!important;max-height:108px!important;margin:0 auto!important;border:0!important;background:none!important;box-shadow:none!important;object-fit:contain!important}
.community-character-message{min-width:0}.community-character-message h2{margin:2px 0 3px!important;font-size:1.15rem!important}.community-character-message>p{margin:0!important;font-size:.78rem!important;line-height:1.42!important}.community-character-note{margin-top:4px!important;font-size:.69rem!important}.community-character-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}.community-character-actions .button{min-height:33px!important;padding:6px 9px!important;font-size:.7rem!important}

/* Homepage: clearer order, less repetition and a shorter first visit. */
.home #main-content>.home-hero{order:1}.home #main-content>.dizzy-community-welcome{order:2}.home #main-content>.home-online-stage{order:3}.home #main-content>.community-home-grid{order:4}
.home-hero{
  min-height:278px;
  margin:0;
  padding:4px 22px 0;
  grid-template-columns:1fr;
  border-radius:18px 18px 14px 14px;
}
.home-hero-copy{padding:16px 0 35px}.home-logo{width:min(570px,84vw)}
.hero-simple-actions{justify-content:center;margin-top:8px}.hero-simple-actions .button{min-width:160px;justify-content:center}
.dizzy-community-welcome{
  display:grid;
  grid-template-columns:158px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.dizzy-welcome-art{align-self:end}.dizzy-welcome-art img{max-height:188px;margin-inline:auto}.dizzy-welcome-art span{font-size:.72rem}
.dizzy-welcome-bubble{min-width:0}.dizzy-welcome-bubble h1{margin:2px 0 8px;font-size:clamp(1.55rem,2.2vw,2.15rem)}
.dizzy-welcome-speech{max-width:84ch}.dizzy-welcome-speech p{margin:0 0 9px}
.dizzy-welcome-more{margin:8px 0 0;border-top:1px solid var(--yf-border);padding-top:8px}
.dizzy-welcome-more summary{width:max-content;max-width:100%;cursor:pointer;color:#6e461d;font-size:.78rem;font-weight:900;text-decoration:underline;text-decoration-color:rgba(110,70,29,.35);text-underline-offset:3px}
.dizzy-welcome-more[open] summary{margin-bottom:9px}.dizzy-welcome-more>div{padding:0 0 1px 10px;border-left:3px solid rgba(111,142,50,.35)}
.dizzy-welcome-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.home-online-stage{border-color:rgba(111,88,37,.48)!important;background:linear-gradient(135deg,rgba(255,253,239,.96),rgba(250,232,189,.94))!important}
.home-online-intro{max-width:72ch;margin:5px 0 0;color:var(--yf-copy-muted)}
.home-online-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-online-card{
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-width:0;
  padding:12px;
  border:1px solid var(--yf-border);
  border-radius:var(--yf-card-radius);
  background:rgba(255,255,255,.55);
  box-shadow:var(--yf-card-shadow);
}
.home-online-cover{width:116px;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--yf-border);border-radius:9px;background:#222}
.home-online-cover img{width:100%;height:100%;object-fit:cover}.home-online-card h3{margin:1px 0 9px;line-height:1.12}.home-online-card .card-action-row{margin-top:8px}
.community-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.community-home-card{min-width:0}.community-home-grid>.community-doors-card{grid-column:1/-1}
.community-topic-list,.community-home-activity{display:grid;gap:7px}.community-topic-list li{padding:8px 0;border-bottom:1px solid var(--yf-border)}
.community-news-card{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--yf-border)}
.community-news-card .news-thumb,.community-news-card .news-icon{width:62px;height:62px}
.community-news-card h3{margin:0 0 3px;font-size:.98rem}.community-news-card p{margin:2px 0;font-size:.79rem}
.community-door-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.community-door-grid a{min-height:74px;padding:11px;border:1px solid var(--yf-border);border-radius:9px;background:rgba(255,255,255,.48)}
.community-door-grid b{display:block;margin-bottom:3px}.community-door-grid span{font-size:.77rem;line-height:1.35;color:var(--yf-copy-muted)}
.community-number-row{display:none!important}

/* Directory grids and cards use the same proportions and action alignment. */
.game-grid,.archive-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.character-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.creator-grid,.link-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.media-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
:is(.game-card,.character-card,.member-card,.creator-card,.media-card,.archive-media-card,.shop-card,.link-card,.media-hub-card){
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--yf-border);
  border-radius:var(--yf-card-radius);
  background:rgba(255,253,241,.88);
  box-shadow:var(--yf-card-shadow);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
:is(.game-card,.character-card,.member-card,.creator-card,.media-card,.archive-media-card,.shop-card,.link-card,.media-hub-card):hover{
  transform:translateY(-2px);
  border-color:rgba(89,91,30,.45);
  box-shadow:0 9px 20px rgba(39,23,7,.16);
}
:is(.game-card,.character-card,.member-card,.creator-card,.media-card,.archive-media-card,.shop-card)>a{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
}
.game-card{padding:9px}.game-card .game-cover{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--yf-border);border-radius:8px;background:#20252b}.game-card h3{margin:9px 2px 4px;font-size:.98rem;line-height:1.18}.game-card .meta{margin:auto 2px 2px;font-size:.72rem;line-height:1.35}
.character-card{display:flex;flex-direction:column;padding:9px 9px 11px;text-align:center}.character-card .character-portrait-img{width:100%!important;height:168px!important;object-fit:contain!important;border:0!important;background:none!important;box-shadow:none!important}.character-card h3{margin:5px 0 4px;font-size:1rem}.character-card p{margin:3px 0;font-size:.78rem;line-height:1.42}.character-card .button{width:100%;margin-top:auto}
.member-card{display:flex;flex-direction:column;padding:13px;text-align:center}.member-card-avatar{width:92px!important;height:92px!important;margin:0 auto 8px!important}.member-card h2{margin:0;font-size:1.02rem}.member-rank{margin:3px 0 8px}.member-card-stats{margin-top:auto}
.creator-card{display:flex;flex-direction:column;padding:14px}.creator-card h3{margin:0 0 6px}.creator-card p{margin:0 0 9px;line-height:1.45}.creator-card strong,.creator-card .text-link{margin-top:auto}
.media-hub-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:center;padding:11px}.media-hub-card>img,.media-hub-icon{width:104px;height:96px;object-fit:cover;border-radius:8px}.media-hub-card h3{margin:0 0 4px}.media-hub-card p{margin:0;font-size:.79rem;line-height:1.4}

/* List-style directories are deliberately flatter and easier to scan. */
.download-list,.news-archive,.link-directory-section{display:grid;gap:9px}
.download-card,.news-archive-card,.link-directory-card{
  min-width:0;
  border:1px solid var(--yf-border);
  border-radius:10px;
  background:rgba(255,253,242,.76);
  box-shadow:0 4px 11px rgba(40,23,7,.09);
}
.download-card{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px 12px}.download-card img,.download-icon{width:66px;height:66px;object-fit:cover;border-radius:8px}.download-card h3{margin:0 0 3px;font-size:1rem}.download-card p{margin:2px 0;font-size:.8rem;line-height:1.42}.download-card>.button{min-width:112px;justify-content:center}
.news-archive-card{display:grid;grid-template-columns:168px minmax(0,1fr);gap:15px;padding:11px}.news-archive-card img{width:168px;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.news-archive-card h2,.news-archive-card h3{margin:2px 0 5px;font-size:1.18rem;line-height:1.16}.news-archive-card p{margin:4px 0;line-height:1.48}
.link-directory-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px}.link-site-icon{width:40px;height:40px}.link-directory-card h3{margin:0 0 3px}.link-directory-card p{margin:0;font-size:.8rem;line-height:1.42}.link-directory-card .button{min-width:108px;justify-content:center}

/* Detail pages all use artwork, information and actions in the same places. */
.profile-layout,.creator-profile-layout,.member-profile-layout,.public-profile-layout{
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:var(--yf-section-gap);
  align-items:start;
}
.profile-layout.database-profile{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}
.profile-layout>.panel:first-child,.database-profile>.panel:first-child{padding:12px}
.detail-cover,.database-detail-cover{
  width:100%;
  max-height:690px;
  aspect-ratio:auto;
  object-fit:contain;
  border:1px solid var(--yf-border-strong);
  border-radius:9px;
  background:#20252b;
  box-shadow:none;
}
.profile-layout>.panel:nth-child(2)>h2{margin:2px 0 9px;font-size:clamp(1.55rem,2.2vw,2.2rem);line-height:1.08}
.lead-copy{max-width:72ch;color:#493724;font-size:1.02rem;line-height:1.62}
.character-detail-figure{position:sticky;top:82px;display:grid;place-items:end center;min-height:320px;padding:10px}
.character-detail-img{width:min(100%,330px);max-height:500px;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(38,22,7,.23))}
.creator-profile-layout{grid-template-columns:270px minmax(0,1fr)}.creator-profile-card{position:sticky;top:82px;text-align:center}.creator-profile-main{display:grid;gap:var(--yf-section-gap)}
.creator-profile-image{width:166px;height:166px;margin:0 auto 11px;border:2px solid var(--yf-border-strong);box-shadow:none}
.game-fun-toolbar{
  padding:9px;
  border:1px solid var(--yf-border-strong);
  border-radius:10px;
  background:rgba(255,247,220,.95);
  box-shadow:0 4px 10px rgba(40,23,7,.09);
}
.game-live-count{margin-left:auto}.stat-grid{gap:7px}.stat{border:1px solid var(--yf-border);border-radius:8px;background:rgba(255,255,255,.45)}
.credits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.credits-grid>div{padding:8px;border:1px solid var(--yf-border);border-radius:8px;background:rgba(255,255,255,.35)}
.database-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--yf-section-gap)}.database-sections>.record-section:last-child:nth-child(odd){grid-column:1/-1}
.related-section{margin-top:0!important}
.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.screenshot-grid img{border:1px solid var(--yf-border);border-radius:7px}

/* Long reading pages now read like articles rather than dashboards. */
.article-content{
  width:min(940px,100%);
  margin-inline:auto!important;
  padding:clamp(20px,3vw,38px)!important;
}
.article-content>.eyebrow,.article-content>h1,.article-content>h2,.article-content>.meta{text-align:center}
.article-hero-image{width:min(720px,100%);max-height:480px;margin:0 auto 22px;border-radius:10px;object-fit:contain}
.rich-content{color:#3f3021;font-size:1rem;line-height:1.75}
.article-content .rich-content{max-width:var(--yf-reading-width);margin-inline:auto}
.rich-content :is(h2,h3,h4){font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:#3a2512}.rich-content h2{margin:1.65em 0 .55em;font-size:1.55rem}.rich-content h3{margin:1.4em 0 .5em;font-size:1.27rem}.rich-content p{margin:.8em 0}.rich-content ul,.rich-content ol{padding-left:1.35em}.rich-content li+li{margin-top:.34em}.rich-content blockquote{margin:1.25em 0;padding:13px 17px;border-left:4px solid var(--yf-accent);border-radius:0 8px 8px 0;background:rgba(255,255,255,.44)}
.history-full-timeline,.history-milestones,.history-people{max-width:1120px;margin-inline:auto!important}.history-year-group{padding:15px 0;border-bottom:1px solid var(--yf-border)}.history-year-heading{position:sticky;top:77px;z-index:2;padding:9px 11px;border:1px solid #4f260f;border-radius:8px;color:#fff6d7;background:linear-gradient(180deg,#925326,#683413);box-shadow:0 4px 0 #4b230e,0 6px 12px rgba(37,20,5,.16)}.history-year-heading strong,.history-year-heading span{color:#fff6d7}.history-year-games{gap:8px}.history-milestone{border-left-width:4px;border-radius:0 8px 8px 0;background:rgba(255,255,255,.37)}

/* Forums and community lists favour scanability. */
.forum-group,.archive-search-panel,.archive-notice{padding:15px!important}.forum-board-list,.live-category-list{display:grid;gap:7px}.forum-board-row,.live-category-row,.forum-topic-row{
  border:1px solid var(--yf-border)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.43)!important;
  box-shadow:none!important;
}
.forum-board-row{padding:10px}.forum-group-heading{margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid var(--yf-border)}
.forum-post{border:1px solid var(--yf-border);border-radius:10px;overflow:hidden;background:rgba(255,252,238,.88)}

/* Media and gallery walls keep imagery prominent without extra framing. */
.gallery-wall{gap:10px}.gallery-piece{border:1px solid rgba(82,53,24,.28);border-radius:9px;box-shadow:0 5px 14px rgba(34,19,6,.13)}.gallery-piece img{border-radius:8px}
.media-library-toolbar,.gallery-toolbar{position:sticky;top:76px;z-index:8;padding:11px!important;box-shadow:0 7px 18px rgba(35,20,6,.15)!important}

/* Compact, useful footer. */
.site-footer{margin-top:var(--yf-section-gap)}
.site-footer-main{grid-template-columns:minmax(250px,310px) minmax(0,1fr)!important;padding:18px 28px 16px!important}
.site-footer-brand{padding:2px 25px 2px 0!important}.site-footer-brand p{max-width:280px;margin:8px auto 0!important;font-size:.77rem;line-height:1.42}
.site-footer-linkbar{gap:9px}.site-footer-link-row{gap:9px;padding:5px 0}.site-footer-inline-links{gap:4px 11px}.site-footer-inline-links a{font-size:.75rem}
.site-footer-bottom .site-footer-legal{padding:13px 28px 11px!important}.site-footer-legal h2{margin:0 0 5px;font-size:.86rem}.site-footer-legal-copy{display:flex;justify-content:center;flex-wrap:wrap;gap:3px 15px}.site-footer-legal-copy p{margin:0;font-size:.66rem;line-height:1.4}.site-footer-meta{padding:7px 28px 9px!important;font-size:.67rem}

/* Bounded pagination and useful directory shortcuts. */
.pagination-window{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}.pagination-window a,.pagination-window span{min-width:34px;min-height:34px;display:grid;place-items:center;padding:5px 8px;border:1px solid var(--yf-border);border-radius:7px;background:rgba(255,255,255,.43);font-size:.75rem;font-weight:900}.pagination-window .active{color:#fff8dc;background:#6f8f31}.pagination-gap{border:0!important;background:none!important}
.directory-jump{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:9px 11px!important;scroll-padding-inline:11px;scrollbar-width:thin}.directory-jump>div{flex:0 0 auto;display:grid;min-width:120px;margin-right:3px;padding-right:11px;border-right:1px solid var(--yf-border)}.directory-jump>div strong{font-size:1.12rem;line-height:1;color:#6d431d}.directory-jump>div span{font-size:.61rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.directory-jump>a{flex:0 0 auto;min-height:33px;display:inline-flex;align-items:center;padding:6px 9px;border:1px solid var(--yf-border);border-radius:999px;color:#684019;background:rgba(255,255,255,.38);font-size:.71rem;font-weight:900;white-space:nowrap}.directory-jump>a:is(:hover,:focus-visible){color:#fff8dc;background:#6f8f31;outline:none}.link-directory-section{scroll-margin-top:84px}

/* Accessibility and rendering resilience retained from Patch 07. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #1680cf!important;outline-offset:3px;box-shadow:0 0 0 2px #fff8dc!important}
.skip-link:focus-visible{outline-color:#fff!important;box-shadow:0 0 0 3px #1680cf!important}
.site-nav a[aria-current="page"],.mobile-dock a[aria-current="page"]{font-weight:1000}.site-nav a[aria-current="page"]::after{background:#ffe57f;box-shadow:0 1px 0 #6e4213}.mobile-dock a[aria-current="page"]{color:#fff5b8}
img{font-style:italic}.media-lightbox:focus{outline:none!important;box-shadow:none!important}.media-lightbox[aria-hidden="true"]{display:none}
.game-card,.character-card,.member-card,.creator-card,.download-card,.news-archive-card,.archive-media-card,.media-hub-card,.link-directory-card,.forum-topic-row,.forum-post,.community-village-card{content-visibility:auto;contain-intrinsic-size:1px 260px}.gallery-piece{content-visibility:auto;contain-intrinsic-size:1px 320px}iframe[loading="lazy"]{background:#1f1a15}

@media(max-width:1180px){
  .site-nav[aria-hidden="true"]{display:none!important}
  .topbar{align-items:center}.menu-toggle{display:flex}.mobile-brand{display:grid}.site-nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.site-nav>a,.site-nav>.nav-group>a{min-height:44px;justify-content:flex-start;padding:9px 12px;border:0;border-radius:8px;font-size:.9rem}.site-nav a::after{display:none}.nav-group{display:block!important}.nav-group>a span{display:inline!important;margin-left:auto}.nav-dropdown{display:none!important;position:static!important;min-width:0!important;margin:3px 0 6px!important;padding:5px!important;border:0!important;border-radius:8px!important;background:rgba(37,17,4,.24)!important;box-shadow:none!important}.nav-group.submenu-open>.nav-dropdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav-dropdown a{white-space:normal!important}body.nav-open{overflow:hidden;overscroll-behavior:contain}
  .game-grid,.archive-grid,.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.creator-grid,.link-directory-grid,.media-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-online-card{grid-template-columns:94px minmax(0,1fr)}.home-online-cover{width:94px}
  .layout{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  :root{--yf-section-gap:12px}
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .site-shell{width:calc(100% - 8px)}
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero,
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero.compact{display:block;min-height:0;padding:13px 12px;border-width:3px}
  .hero-character{display:none!important}.hero-centre{padding:0!important}.hero-centre h1{font-size:clamp(1.55rem,7vw,2.25rem)!important}
  .page-context{display:grid;gap:7px;padding:8px 9px!important}.page-section-links{justify-content:flex-start}
  .home-online-games{grid-template-columns:1fr}.community-home-grid{grid-template-columns:1fr}.community-home-grid>.community-doors-card{grid-column:auto}.community-door-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-layout,.profile-layout.database-profile,.creator-profile-layout,.member-profile-layout,.public-profile-layout{grid-template-columns:1fr}
  .character-detail-figure,.creator-profile-card,.member-profile-card{position:static}.character-detail-figure{min-height:220px}.character-detail-img{max-height:380px}
  .profile-layout>.panel:first-child,.database-profile>.panel:first-child{width:min(440px,100%);margin-inline:auto!important}
  .database-sections{grid-template-columns:1fr}.database-sections>.record-section:last-child:nth-child(odd){grid-column:auto}
  .game-live-count{width:100%;margin-left:0}.credits-grid{grid-template-columns:1fr}
  .game-grid,.archive-grid,.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-grid,.link-directory-grid,.media-hub-grid{grid-template-columns:1fr}
  .side-stack{grid-template-columns:1fr}
  .media-library-toolbar,.gallery-toolbar{position:static}
  .site-footer-main{grid-template-columns:1fr!important;padding:16px 14px 14px!important}.site-footer-brand{padding:0!important}.site-footer-bottom .site-footer-legal{padding:13px 14px 11px!important}.site-footer-meta{padding:8px 14px 9px!important}
}

@media(max-width:680px){
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .panel{padding:12px}
  .panel-title,.panel-title-row,.section-heading{align-items:stretch;flex-direction:column;padding-bottom:9px}
  .home-hero{min-height:220px;padding-inline:10px}.home-hero-copy{padding:12px 0 30px}.hero-simple-actions{display:grid;grid-template-columns:1fr 1fr;width:min(420px,100%);margin-inline:auto}.hero-simple-actions .button{min-width:0;width:100%}
  .dizzy-community-welcome{grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start}.dizzy-welcome-art img{max-height:120px}.dizzy-welcome-bubble h1{font-size:1.35rem}.dizzy-welcome-speech{font-size:.87rem}.dizzy-welcome-actions{grid-column:1/-1}.dizzy-welcome-actions .button{flex:1 1 140px;justify-content:center}
  .community-character-host{grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important;padding:7px 9px 8px 6px!important;border-left-width:4px!important}.community-character-portrait img{max-height:88px!important}.community-character-message h2{font-size:1.04rem!important}.community-character-message>p{font-size:.71rem!important;line-height:1.35!important}.community-character-note{display:none}.community-character-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr}.community-character-actions .button{width:100%!important}
  .toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form,.fan-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.toolbar input[type="search"],.global-search input,.community-search-form input{width:100%;min-width:0}.toolbar .button,.filter-bar .button,.media-filter-form .button,.global-search .button,.community-search-form .button{width:100%;justify-content:center}
  .game-grid,.archive-grid,.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.member-grid{grid-template-columns:1fr}.character-card{padding:7px 6px 9px}.character-card .character-portrait-img{height:132px!important}.character-card h3{font-size:.9rem}.character-card p:not(.meta){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.75rem}
  .member-card{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:10px;align-items:center;text-align:left}.member-card>a{display:contents}.member-card-avatar{grid-row:1/5;width:76px!important;height:76px!important}.member-card h2,.member-card .member-rank,.member-card .meta{margin-left:0;text-align:left}.member-card-stats,.member-card>p:not(.meta):not(.member-rank),.member-card .text-link{grid-column:1/-1}
  .download-card{grid-template-columns:56px minmax(0,1fr);gap:10px}.download-card img,.download-icon{width:56px;height:56px}.download-card>.button{grid-column:1/-1;width:100%}
  .news-archive-card{grid-template-columns:112px minmax(0,1fr);gap:10px}.news-archive-card img{width:112px}.link-directory-card{grid-template-columns:40px minmax(0,1fr)}.link-directory-card .button{grid-column:1/-1;width:100%}
  .site-footer-legal-copy{display:grid;gap:3px}.site-footer-legal-copy p{text-align:center}
}

@media(max-width:480px){
  .site-nav.open{grid-template-columns:1fr}.nav-group.submenu-open>.nav-dropdown{grid-template-columns:1fr 1fr!important}.mobile-brand small{display:none}
  .hero-simple-actions{grid-template-columns:1fr}.dizzy-community-welcome{grid-template-columns:74px minmax(0,1fr)}.dizzy-welcome-art img{max-height:96px}.dizzy-welcome-art span{display:none}.dizzy-welcome-more summary{font-size:.74rem}.community-door-grid{grid-template-columns:1fr}.home-online-card{grid-template-columns:82px minmax(0,1fr);gap:9px;padding:9px}.home-online-cover{width:82px}.home-online-card .card-action-row{display:grid}.home-online-card .button{width:100%;justify-content:center}
  .toolbar,.filter-bar,.media-filter-form,.global-search,.community-search-form,.fan-toolbar{grid-template-columns:1fr}.community-character-actions{grid-template-columns:1fr}
  .news-archive-card{grid-template-columns:1fr}.news-archive-card img{width:100%;max-height:210px}.media-hub-card{grid-template-columns:78px minmax(0,1fr);gap:9px;padding:9px}.media-hub-card>img,.media-hub-icon{width:78px;height:82px}.media-hub-card p{display:none}
  .article-content{padding:16px!important}.rich-content{font-size:.96rem;line-height:1.68}
}

@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;scroll-behavior:auto!important}
  :is(.game-card,.character-card,.member-card,.creator-card,.community-village-card):hover{transform:none!important}
}
@media(prefers-contrast:more){
  :root{--yf-border:#775d3c;--yf-border-strong:#4d351b}
  .panel,.card,.game-card,.character-card,.member-card,.download-card,.news-archive-card{border-width:2px!important}
  .muted,.meta,.help{color:#3f352b!important}
  a{text-decoration-thickness:2px;text-underline-offset:3px}
}
@media print{
  .topbar,.site-announcement,.mobile-dock,.living-community,.community-village,.community-character-host,.site-footer-linkbar,.site-footer-meta,.page-section-links,.button,button{display:none!important}
  body,.site-shell,main,.panel,.card{width:auto!important;margin:0!important;padding:0!important;color:#000!important;background:#fff!important;box-shadow:none!important;border-color:#777!important}
  a{color:#000!important;text-decoration:underline!important}a[href^="http"]::after{content:' (' attr(href) ')';font-size:.8em}img{max-height:420px;object-fit:contain}
}

/* v5.55 Patch 09 — live content, image and edge-case polish. */
html,body{max-width:100%;overflow-x:clip}
:is(h1,h2,h3,h4,h5,p,li,dd,dt,figcaption,.button,.text-link,.tag,.meta,.eyebrow,.result-count,.forum-post,.rich-content){overflow-wrap:anywhere}
.rich-content :is(pre,code){max-width:100%;white-space:pre-wrap;word-break:break-word}.rich-content figure{max-width:100%;margin:1.35em auto;text-align:center}.rich-content figure img,.rich-content>img{height:auto;margin-inline:auto;border-radius:8px}.rich-content figcaption{margin-top:7px;color:var(--yf-copy-muted);font-size:.82rem;line-height:1.45}
.panel table{max-width:100%}.panel :is(th,td){overflow-wrap:anywhere;word-break:normal}.panel :is(audio,video,iframe){max-width:100%}audio{width:100%}

/* A small, non-blocking indicator reassures visitors during filters and navigation. */
.page-loading-bar{position:fixed;top:0;left:0;right:0;z-index:10000;height:4px;opacity:0;pointer-events:none;transition:opacity .15s ease;background:rgba(45,25,8,.18)}
.page-loading-bar span{display:block;width:32%;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#f0bf43,#77a63d,#f0bf43);transform:translateX(-110%)}
.page-loading-bar strong{position:absolute;top:10px;left:50%;max-width:min(90vw,440px);transform:translateX(-50%);padding:7px 12px;border:2px solid #4f2b0e;border-radius:999px;color:#fff8dc;background:rgba(75,39,12,.94);box-shadow:0 6px 16px rgba(22,12,4,.26);font-size:.72rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-is-loading .page-loading-bar{opacity:1}.page-is-loading .page-loading-bar span{animation:yf-page-progress 1.05s ease-in-out infinite}
@keyframes yf-page-progress{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}

/* Broken or unavailable artwork is replaced by a useful branded preview. */
img[data-image-watched="1"]{transition:opacity .18s ease,filter .18s ease}
img[data-image-watched="1"]:not(.image-ready){opacity:.24;filter:saturate(.5)}
img.image-ready{opacity:1;filter:none}
img.image-fallback-active{object-fit:contain!important;padding:6px!important;background:#f4e2af!important;border-color:#8d6637!important;font-style:normal}
.character-portrait-img.image-fallback-active,.character-detail-img.image-fallback-active,.community-character-portrait img.image-fallback-active{padding:4px!important;background:transparent!important}
:is(.cover-frame,.home-online-cover,.gallery-image-button,.resource-preview,.news-archive-card,.shop-card,.detail-cover,.database-detail-cover){background-color:rgba(236,213,159,.65)}

/* Equal-height cards remain tidy with real-world long titles and descriptions. */
.game-card,.shop-card,.media-article-card,.external-shop-card{display:flex;flex-direction:column;min-width:0}
.game-card .game-card-main,.shop-card>a:first-child{min-width:0}.game-card .card-quick-actions,.shop-card>.button,.media-article-card>.button,.external-shop-card>.button{margin-top:auto}
:is(.game-card,.character-card,.member-card,.creator-card,.shop-card,.news-archive-card,.download-card,.link-directory-card,.media-hub-card) :is(h2,h3){hyphens:auto;line-height:1.2}
.game-card h3{min-height:2.35em}.shop-card h2{min-height:2.4em;margin:4px 0 7px}.shop-card p:not(.product-price){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.shop-card .product-price{margin-top:auto}
.card-quick-actions{align-items:stretch}.card-quick-actions a{min-width:0;text-align:center;overflow-wrap:anywhere}
.news-archive-card>div{min-width:0}.news-archive-card h2,.news-archive-card h3{max-width:100%}.news-archive-card .text-link{display:inline-flex;margin-top:5px}
.download-card>div,.link-directory-card>div,.media-hub-card>div{min-width:0}

/* Empty, unavailable and error states now look deliberate and offer clear next steps. */
.empty,.edge-state{position:relative;display:grid;place-items:center;gap:8px;min-height:190px;padding:28px clamp(18px,4vw,44px)!important;text-align:center;border-style:dashed!important;background:linear-gradient(180deg,rgba(255,252,237,.91),rgba(239,218,166,.9))!important}
.empty::before,.edge-state::before{content:"?";display:grid;place-items:center;width:54px;height:64px;border:4px solid #6c431d;border-radius:52% 52% 46% 46%;color:#6c431d;background:#fff9df;box-shadow:0 5px 0 rgba(79,43,14,.18);font:900 1.55rem/1 Georgia,serif}
.empty :is(h1,h2),.edge-state :is(h1,h2){margin:2px 0 0;font-size:clamp(1.35rem,3vw,2rem)}.empty p,.edge-state p{max-width:62ch;margin:0 auto;line-height:1.55}.empty .button,.edge-state .button{margin-top:5px}
.edge-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:7px}.edge-state-actions .button{margin:0}
.download-unavailable::before,.download-state::before{content:"↓"}.empty-search::before{content:"⌕";font-family:inherit}.empty-gallery::before{content:"▧";font-family:inherit}

/* Gallery and detail media stay usable when originals have unusual proportions. */
.gallery-piece img{width:100%;height:100%;min-height:160px;object-fit:cover}.gallery-view-tiles .gallery-piece img{aspect-ratio:4/3}.resource-preview img{width:100%;max-height:360px;object-fit:contain}.article-hero-image.image-fallback-active{aspect-ratio:16/9;max-height:420px}.detail-cover.image-fallback-active,.database-detail-cover.image-fallback-active{aspect-ratio:4/5;max-height:620px}
.media-lightbox.is-loading .media-lightbox-stage{position:relative}.media-lightbox.is-loading .media-lightbox-stage::after{content:"Loading image…";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:8px 12px;border-radius:999px;color:#fff8dc;background:rgba(36,23,12,.88);font-size:.78rem;font-weight:900}.media-lightbox.is-loading .media-lightbox-stage img{opacity:.2}

/* PWA/standalone safe areas and narrow-screen edge cases. */
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.mobile-dock{padding-bottom:max(6px,env(safe-area-inset-bottom))}.topbar{top:max(5px,env(safe-area-inset-top))}}
@media(max-width:680px){
  .page-loading-bar strong{top:8px;font-size:.67rem}
  .edge-state-actions{display:grid;width:100%}.edge-state-actions .button{width:100%;justify-content:center}
  .game-card h3{min-height:0}.shop-card h2{min-height:0}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-archive-card img.image-fallback-active{max-height:150px}
  .panel table{font-size:.82rem}
}
@media(max-width:440px){.shop-product-grid{grid-template-columns:1fr}.empty,.edge-state{min-height:170px;padding:22px 14px!important}}
@media(prefers-reduced-motion:reduce){.page-loading-bar span{animation:none!important;transform:none!important;width:100%}img[data-image-watched="1"]{transition:none!important}}

/* v5.55 Patch 11 — requested page refinements. */
/* Homepage logo lock-up: characters frame the brand without competing buttons. */
.home-hero{min-height:330px;padding:8px 24px 0}
.home-hero-lockup{position:relative;z-index:2;display:grid;grid-template-columns:minmax(150px,240px) minmax(320px,650px) minmax(150px,240px);align-items:end;justify-content:center;width:min(1120px,100%);min-height:310px;margin:0 auto}
.home-hero-copy{align-self:center;padding:0 0 28px;text-align:center}
.home-logo{display:block;width:min(650px,100%);margin:0 auto;filter:drop-shadow(0 8px 7px rgba(43,24,8,.32))}
.home-hero-character{display:block;width:100%;max-height:290px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 7px rgba(42,23,7,.28));pointer-events:none}
.home-hero-dizzy{justify-self:end}.home-hero-daisy{justify-self:start}

/* Character directory: full-width, balanced and consistently centred. */
.character-directory-panel{width:100%}
.character-directory-panel .panel-title{align-items:end}
.character-toolbar{max-width:680px}
.character-card>a{align-items:center;text-align:center}
.character-card .character-portrait-img{margin-inline:auto}
.character-card h3,.character-card .meta,.character-card-description{text-align:center}
.character-card-description{width:100%;min-height:4.35em;margin:5px auto 12px!important}
.character-card .button{display:inline-flex;align-items:center;justify-content:center;margin-top:auto}

/* Adventures overview now presents the two useful routes without an archive-count box. */
.adventures-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
.adventures-overview-grid>.panel{display:flex;flex-direction:column;align-items:flex-start;min-height:180px}
.adventures-overview-grid>.panel .button{margin-top:auto}

/* Native online games: two focused, balanced launch cards with leaderboards below. */
.online-duo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.online-feature-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:14px;padding:16px;min-width:0}
.online-feature-main{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;min-width:0}
.online-cover-wrap{align-self:center;padding:0;border:1px solid rgba(92,55,19,.28);border-radius:11px;background:#24201b;box-shadow:0 7px 16px rgba(39,20,5,.2);overflow:hidden}
.online-cover-wrap img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:0;border-radius:10px;box-shadow:none}
.online-feature-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.online-feature-copy h2{margin:3px 0 9px;font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.04}
.online-feature-copy>p{margin:0 0 9px}
.online-feature-list{margin:8px 0 12px;font-size:.82rem}
.online-actions{margin-top:auto}
.online-status-unavailable{display:inline-flex;margin:0 0 9px;padding:5px 8px;border-radius:999px;color:#6d3b17;background:#f1d699;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.online-board{min-height:185px;padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(244,225,181,.38));box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.online-board .empty-score{min-height:72px;display:grid;place-items:center}

@media(max-width:1080px){
  .home-hero-lockup{grid-template-columns:minmax(125px,190px) minmax(300px,570px) minmax(125px,190px)}
  .home-hero-character{max-height:245px}
  .online-duo-grid{grid-template-columns:1fr}
  .online-feature-card{grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);grid-template-rows:auto}
}
@media(max-width:780px){
  .home-hero{min-height:245px;padding-inline:10px}
  .home-hero-lockup{grid-template-columns:92px minmax(190px,1fr) 92px;min-height:225px}
  .home-hero-character{max-height:165px}
  .home-hero-copy{padding-bottom:28px}
  .adventures-overview-grid{grid-template-columns:1fr}
  .online-feature-card{grid-template-columns:1fr}
  .online-feature-main{grid-template-columns:128px minmax(0,1fr)}
}
@media(max-width:520px){
  .home-hero{min-height:190px;padding:4px 4px 0}
  .home-hero-lockup{grid-template-columns:66px minmax(150px,1fr) 66px;min-height:178px}
  .home-hero-character{max-height:122px}
  .home-hero-copy{padding-bottom:25px}
  .character-directory-panel .panel-title{align-items:stretch}
  .character-card-description{min-height:0}
  .online-feature-main{grid-template-columns:92px minmax(0,1fr);gap:10px}
  .online-feature-copy h2{font-size:1.2rem}
  .online-board{min-height:150px}
}


/* Final small-screen refinement for the requested homepage lock-up. */
.character-directory-panel .panel-title>div{display:grid;gap:2px}
.character-directory-panel .panel-title .section-kicker{display:block}
.character-directory-panel .panel-title h2{margin:0}
@media(max-width:520px){
  .home-hero{min-height:198px}
  .home-hero-lockup{position:relative;display:block;min-height:184px;width:100%}
  .home-hero-copy{position:relative;z-index:3;display:grid;place-items:center;min-height:164px;padding:0 0 15px}
  .home-logo{width:min(230px,68vw)}
  .home-hero-character{position:absolute;z-index:2;bottom:0;width:29%;max-height:132px}
  .home-hero-dizzy{left:1%}
  .home-hero-daisy{right:1%}
}


/* v5.55 Patch 12 — inward-facing Daisy, Codemasters branding and readable scoreboards. */
.home-hero-daisy{
  object-position:center bottom;
}

.classic-archive-banner{
  grid-template-columns:90px minmax(0,1fr) auto;
}
.classic-archive-emblem{
  display:grid;
  place-items:center;
  width:90px;
  height:76px;
  padding:2px;
  border:0;
  border-radius:0;
  color:inherit;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.classic-archive-emblem img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 4px 3px rgba(42,23,7,.25));
}

/* Normal score rows remain compact, but no text is squeezed into tiny columns. */
.online-board ol{
  width:100%;
  min-width:0;
}
.online-board li{
  grid-template-columns:2.4rem minmax(7rem,1fr) minmax(6.5rem,max-content) minmax(6.5rem,max-content);
  width:100%;
  min-width:0;
}
.online-board li>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.online-board li>span:not(.rank){
  white-space:nowrap;
  text-align:right;
}
.online-board li.empty-score{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:92px;
  padding:18px 20px;
  text-align:center;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.45;
}

@media(max-width:780px){
  .classic-archive-banner{grid-template-columns:70px minmax(0,1fr)}
  .classic-archive-emblem{width:70px;height:62px}
  .online-board li{
    grid-template-columns:2.2rem minmax(5.5rem,1fr) minmax(5.5rem,max-content) minmax(5.5rem,max-content);
  }
}
@media(max-width:560px){
  .classic-archive-banner{grid-template-columns:58px minmax(0,1fr)}
  .classic-archive-emblem{width:58px;height:54px}
  .online-board li:not(.empty-score){
    grid-template-columns:2rem minmax(0,1fr) auto;
  }
  .online-board li:not(.empty-score)>span:last-child{
    grid-column:2/-1;
    justify-self:end;
  }
}

/* v5.55 Patch 13 — restore homepage Dizzy and complete the mobile-fit sweep. */
.home-hero-dizzy{object-position:center bottom}

/* Never allow long labels or imported archive text to widen a mobile page. */
:is(.panel,.card,.page-context,.hero-centre,.forum-board-copy,.forum-last,.online-feature-copy,.community-media-links a,.news-archive-card>div,.download-card>div,.member-card,.creator-card,.link-directory-card){min-width:0}
:is(.panel,.card,.forum-board-copy,.forum-last,.rich-content,.edge-state,.online-feature-copy,.member-card,.creator-card,.download-card,.news-archive-card,.link-directory-card) :is(p,li,h1,h2,h3,h4,strong,span,a){overflow-wrap:break-word}

@media(max-width:680px){
  /* Page heroes remain decorative, but headings no longer split mid-word. */
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero,
  body:not(.game-launcher-page):not(.dizzyage-launcher-page) .page-hero.compact{
    padding:12px 10px 11px;
  }
  .page-hero .hero-centre h1{
    width:100%;
    max-width:none!important;
    margin:4px auto 2px;
    font-size:clamp(1.38rem,6.8vw,1.95rem)!important;
    line-height:1.04!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-wrap:balance;
  }
  .page-hero .hero-centre .eyebrow{
    max-width:100%;
    margin-inline:auto;
    font-size:.61rem;
    line-height:1.3;
    text-wrap:balance;
  }

  /* Breadcrumbs and section navigation show all choices instead of clipping them. */
  .page-context{gap:8px!important;padding:8px!important}
  .page-breadcrumbs{flex-wrap:wrap;white-space:normal;row-gap:3px;line-height:1.35}
  .page-breadcrumbs strong{overflow:visible;text-overflow:clip}
  .page-section-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:5px;
    overflow:visible;
  }
  .page-section-links a{
    min-width:0;
    min-height:36px;
    justify-content:center;
    padding:6px 7px;
    text-align:center;
    white-space:normal;
    line-height:1.15;
  }

  /* The welcome copy gets the full card width on phones. */
  .dizzy-community-welcome{
    display:block!important;
    padding:11px!important;
  }
  .dizzy-welcome-art{display:none!important}
  .dizzy-welcome-bubble{
    width:100%;
    padding:15px 13px!important;
    border-radius:15px;
  }
  .dizzy-welcome-bubble::before{display:none!important}
  .dizzy-welcome-bubble h1{
    max-width:none;
    font-size:clamp(1.45rem,7.5vw,1.9rem)!important;
    line-height:1.02;
    text-wrap:balance;
  }
  .dizzy-welcome-speech{font-size:.9rem!important;line-height:1.5}
  .dizzy-welcome-more summary{width:100%;line-height:1.35}
  .dizzy-welcome-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px;
    margin-top:13px;
  }
  .dizzy-welcome-actions .button{
    grid-column:auto!important;
    width:100%;
    min-width:0;
    min-height:43px;
    justify-content:center;
  }

  /* Toolbars, status bars and action rows stack without squeezed labels. */
  .gallery-toolbar-lower,.media-hub-intro,.panel-title-row{
    align-items:stretch;
  }
  .gallery-toolbar-lower{flex-direction:column;gap:9px}
  .gallery-view-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .gallery-view-controls>*{min-width:0;padding-inline:5px;text-align:center}
  .archive-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-quick-links a{text-align:center}

  /* Prevent forum metadata and imported titles from being crushed. */
  .forum-board-row{align-items:start}
  .forum-board-copy h3,.forum-last a{line-height:1.25}
  .forum-last{min-width:0;overflow-wrap:anywhere}
  .forum-group-heading>span{white-space:normal}

  /* Cards retain useful copy while keeping actions easy to tap. */
  .card-action-row,.community-action-buttons,.quick-adventure-buttons{min-width:0}
  .card-action-row .button,.community-action-buttons .button{justify-content:center}
  .news-archive-card h2,.download-card h2,.creator-card h2,.member-card h2{line-height:1.15}

  body:not(.game-launcher-page):not(.dizzyage-launcher-page){
    padding-bottom:calc(86px + env(safe-area-inset-bottom));
  }
  html{scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}

@media(max-width:520px){
  /* Restore the approved full, transparent Dizzy instead of a cached portrait tile. */
  .home-hero-dizzy{width:30%;max-height:134px;left:0}
  .home-hero-daisy{width:30%;max-height:134px;right:0}
  .home-logo{width:min(226px,67vw)}

  /* Directory cards use one readable column at true phone widths. */
  .game-grid,.archive-grid,.character-grid,.member-grid,.shop-product-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .character-card{padding:11px 10px 12px}
  .character-card .character-portrait-img{height:220px!important;max-height:48vh}
  .character-card h3{font-size:1.05rem}
  .character-card p:not(.meta){display:block;font-size:.84rem;-webkit-line-clamp:unset}
  .character-card-description{min-height:0!important}
  .member-card{grid-template-columns:84px minmax(0,1fr)}

  /* Native games get a full-width presentation instead of a compressed side-by-side row. */
  .online-feature-card{padding:12px;gap:11px}
  .online-feature-main{display:grid;grid-template-columns:1fr!important;gap:10px;text-align:center}
  .online-cover-wrap{width:min(170px,58vw);margin-inline:auto}
  .online-feature-copy{align-items:center;text-align:center}
  .online-feature-copy h2{font-size:clamp(1.35rem,7vw,1.75rem);text-wrap:balance}
  .online-feature-copy>p{display:block;-webkit-line-clamp:unset}
  .online-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .online-actions .button{width:100%;min-width:0;justify-content:center}
  .online-board{min-height:0;padding:10px}
  .online-board h3{font-size:1.05rem;line-height:1.2}
  .online-board li.empty-score{min-height:76px;padding:14px 12px}
  .online-board li:not(.empty-score){
    grid-template-columns:2rem minmax(0,1fr) auto!important;
    gap:5px 7px;
    align-items:center;
  }
  .online-board li:not(.empty-score)>span:last-child{
    grid-column:2/-1;
    justify-self:start!important;
    white-space:normal!important;
    text-align:left!important;
  }

  /* The Codemasters banner remains branded but stops competing with the title. */
  .classic-archive-banner{grid-template-columns:54px minmax(0,1fr)!important;gap:9px;padding:11px!important}
  .classic-archive-emblem{width:54px!important;height:50px!important}
  .classic-archive-banner h2{font-size:1.05rem;line-height:1.16;text-wrap:balance}
  .classic-archive-banner>.button{grid-column:1/-1;width:100%;justify-content:center}

  .community-media-links{grid-template-columns:1fr 1fr}
  .community-media-links a{grid-template-rows:76px auto auto}
  .community-media-links img,.community-media-links>a>span{height:76px}
}

@media(max-width:390px){
  .page-section-links,.archive-quick-links{grid-template-columns:1fr}
  .gallery-view-controls{grid-template-columns:1fr}
  .online-actions{grid-template-columns:1fr}
  .home-hero-dizzy,.home-hero-daisy{width:29%;max-height:118px}
  .home-logo{width:min(210px,65vw)}
  .mobile-dock small{font-size:.55rem!important}
}

/* =========================================================
   v5.55 Patch 14 — compact mobile header and landscape stability.
   Keeps the portrait presentation intact while reclaiming vertical
   space and restoring the homepage logo lock-up after rotation.
   ========================================================= */
@media (max-width:890px){
  .topbar{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    min-height:48px!important;
    padding:3px!important;
    gap:4px!important;
    border-width:2px!important;
    border-radius:10px 10px 13px 13px!important;
    box-shadow:0 3px 0 rgba(45,21,5,.62),0 8px 16px rgba(21,11,3,.18),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(42,20,5,.28)!important;
  }
  .home-badge,.menu-toggle{
    width:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:3px!important;
    border-radius:8px!important;
  }
  .home-badge span{width:28px!important;height:28px!important;font-size:18px!important;border-width:1px!important}
  .menu-icon{font-size:1.16rem!important;line-height:1!important}
  .mobile-brand{padding:1px 5px!important}
  .mobile-brand span{font-size:.94rem!important;line-height:1!important}
  .mobile-brand small{margin-top:2px!important;font-size:.48rem!important;line-height:1!important}
  .site-nav{top:calc(55px + env(safe-area-inset-top))!important}
}

@media (max-width:560px){
  .topbar{
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    min-height:44px!important;
    padding:3px!important;
  }
  .home-badge,.menu-toggle{
    width:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }
  .home-badge span{width:26px!important;height:26px!important;font-size:17px!important}
  .menu-icon{font-size:1.08rem!important}
  .mobile-brand span{font-size:.9rem!important}
  .mobile-brand small{display:none!important}
  .site-nav{top:calc(51px + env(safe-area-inset-top))!important}
}

/* Short landscape phones need a distinct layout rather than the tall
   portrait treatment squeezed into half the height. */
@media (max-width:890px) and (orientation:landscape) and (max-height:520px){
  body:not(.game-launcher-page):not(.dizzyage-launcher-page){
    padding-bottom:calc(50px + env(safe-area-inset-bottom))!important;
  }
  html{scroll-padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
  .site-shell{width:calc(100% - 6px)!important;margin:3px auto 7px!important}

  .topbar{
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    min-height:40px!important;
    padding:2px!important;
    gap:3px!important;
    border-radius:8px 8px 10px 10px!important;
    box-shadow:0 2px 0 rgba(45,21,5,.58),0 5px 10px rgba(21,11,3,.16)!important;
  }
  .home-badge,.menu-toggle{
    width:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border-radius:7px!important;
  }
  .home-badge span{width:25px!important;height:25px!important;font-size:16px!important}
  .menu-icon{font-size:1rem!important}
  .mobile-brand span{font-size:.82rem!important}
  .mobile-brand small{display:none!important}
  .site-nav{
    top:calc(46px + env(safe-area-inset-top))!important;
    bottom:max(5px,env(safe-area-inset-bottom))!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .site-nav>a,.site-nav>.nav-group>a{min-height:36px!important;padding:6px 8px!important;font-size:.78rem!important}

  main> :first-child{margin-top:4px!important}
  main>section+section,main>section+article,main>article+section,main>.layout+section,main>section+.layout{margin-top:8px!important}

  /* Re-enable a true three-column lock-up after rotation. This overrides
     the absolute portrait positioning that caused Daisy and the logo to
     drift across the scenic panel. */
  .home-hero{
    min-height:126px!important;
    margin:4px 0 7px!important;
    padding:3px 10px 0!important;
    background-position:center 48%!important;
  }
  .home-hero-lockup{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(78px,18vw) minmax(190px,1fr) minmax(78px,18vw)!important;
    align-items:end!important;
    width:min(760px,100%)!important;
    min-height:118px!important;
    margin:0 auto!important;
  }
  .home-hero-copy{
    position:static!important;
    z-index:3!important;
    order:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    width:100%!important;
    min-height:0!important;
    padding:0 4px 8px!important;
  }
  .home-logo{width:min(340px,100%)!important;margin:0 auto!important}
  .home-hero-character{
    position:static!important;
    z-index:2!important;
    order:0!important;
    width:100%!important;
    max-height:108px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .home-hero-dizzy{justify-self:end!important}
  .home-hero-daisy{justify-self:start!important}

  /* Inner-page heroes and context bars remain readable without taking
     most of a landscape viewport. */
  .page-hero,.page-hero.compact{margin:4px 0 6px!important;padding:6px!important}
  .page-hero .hero-centre{padding:7px 10px 8px!important}
  .page-hero .hero-centre h1{font-size:clamp(1.22rem,4.5vw,1.65rem)!important;margin:2px auto!important}
  .page-hero .hero-description{font-size:.78rem!important;line-height:1.3!important;-webkit-line-clamp:2!important}
  .page-hero .eyebrow{font-size:.54rem!important;padding:3px 7px!important}
  .page-context{padding:5px 7px!important}
  .page-section-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .page-section-links a{min-height:30px!important;padding:4px 5px!important;font-size:.66rem!important}

  /* The landscape dock becomes a slim icon strip, preserving navigation
     without covering a third of the usable screen. */
  .mobile-dock{
    left:max(6px,env(safe-area-inset-left))!important;
    right:max(6px,env(safe-area-inset-right))!important;
    bottom:max(3px,env(safe-area-inset-bottom))!important;
    min-height:40px!important;
    padding:3px 4px!important;
    border-radius:11px!important;
  }
  .mobile-dock a{min-height:33px!important;padding:2px!important;border-radius:7px!important}
  .mobile-dock span{font-size:.83rem!important;line-height:1!important}
  .mobile-dock small{display:none!important}
  .mobile-dock .dock-play{min-height:39px!important;margin:-4px 2px 0!important;border-radius:9px!important;box-shadow:0 2px 0 #4a1d13!important}
  .mobile-dock .dock-play span{font-size:1rem!important}
  main>:last-child{margin-bottom:10px!important}
}

@media (max-width:680px) and (orientation:landscape) and (max-height:420px){
  .home-hero{min-height:112px!important}
  .home-hero-lockup{grid-template-columns:minmax(66px,17vw) minmax(170px,1fr) minmax(66px,17vw)!important;min-height:104px!important}
  .home-logo{width:min(292px,100%)!important}
  .home-hero-character{max-height:94px!important}
}


/* =========================================================
   v5.55 PATCH 15 — MOBILE NAVIGATION FLOW FIX
   Keep dropdowns in normal document flow and prevent desktop
   equal-height/grid rules from stacking menu labels on phones.
   ========================================================= */
@media (max-width:1180px){
  #site-nav.site-nav.open{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
  }
  #site-nav.site-nav> a,
  #site-nav.site-nav> .nav-group{
    position:relative!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    overflow:visible!important;
    grid-column:1/-1!important;
  }
  #site-nav.site-nav> a,
  #site-nav.site-nav> .nav-group> a{
    position:relative!important;
    z-index:1!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    margin:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    line-height:1.2!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  #site-nav .nav-group> a span{
    flex:0 0 auto!important;
    margin-left:10px!important;
  }
  #site-nav .nav-dropdown{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  #site-nav .nav-group.submenu-open> .nav-dropdown{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:6px!important;
    margin:5px 0 8px!important;
    padding:6px!important;
  }
  #site-nav .nav-dropdown a{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 11px!important;
    align-items:center!important;
    line-height:1.22!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
}
@media (max-width:620px),
       (max-width:890px) and (orientation:landscape) and (max-height:520px){
  #site-nav .nav-group.submenu-open> .nav-dropdown{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   v5.55 Patch 16 — centred mobile page-section navigation.
   Present related-page choices as balanced, full-width controls
   rather than a loose list aligned against the left edge.
   ========================================================= */
@media (max-width:680px){
  .page-context{
    width:100%!important;
    box-sizing:border-box!important;
    padding:10px!important;
    gap:10px!important;
  }
  .page-section-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    place-self:stretch!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .page-section-links a{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:9px 10px!important;
    border:1px solid rgba(111,75,34,.42)!important;
    border-radius:10px!important;
    background:rgba(255,250,229,.76)!important;
    box-shadow:0 2px 5px rgba(50,29,8,.08),inset 0 1px 0 rgba(255,255,255,.62)!important;
    color:#704019!important;
    text-align:center!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .page-section-links a:is(:hover,:focus-visible){
    background:#f2e2b4!important;
    border-color:#8a5c25!important;
  }
  .page-section-links a.active{
    color:#fff8dc!important;
    border-color:#587423!important;
    background:linear-gradient(#7fa63a,#658a28)!important;
    box-shadow:0 3px 0 #3f5e16,0 5px 10px rgba(49,72,17,.18)!important;
  }
}
@media (max-width:430px){
  .page-section-links{
    grid-template-columns:1fr!important;
  }
  .page-section-links a{
    min-height:46px!important;
    padding:10px 12px!important;
  }
}
@media (max-width:890px) and (orientation:landscape) and (max-height:520px){
  .page-section-links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .page-section-links a{
    min-height:32px!important;
    padding:5px 7px!important;
    font-size:.68rem!important;
    border-radius:7px!important;
  }
}

/* =========================================================
   v5.55 Patch 17 — balanced mobile section navigation.
   Reset the inherited flex/grid alignment on the context panel,
   use the available width, and centre an odd final item.
   ========================================================= */
@media (max-width:680px){
  .page-context{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:stretch!important;
  }
  .page-breadcrumbs{
    width:100%!important;
    min-width:0!important;
  }
  .page-section-links{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-self:stretch!important;
    width:100%!important;
  }
  .page-section-links a{
    min-height:50px!important;
  }
  .page-section-links a:last-child:nth-child(odd){
    grid-column:1/-1!important;
    justify-self:center!important;
    width:calc(50% - 4px)!important;
    max-width:280px!important;
  }
}
@media (max-width:340px){
  .page-section-links{
    grid-template-columns:1fr!important;
  }
  .page-section-links a:last-child:nth-child(odd){
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
  }
}
@media (max-width:890px) and (orientation:landscape) and (max-height:520px){
  .page-context{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .page-section-links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .page-section-links a:last-child:nth-child(odd){
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* v5.55 Patch 29: directly linked homepage news and Admin-managed exclusive content. */
.home #main-content>.home-feature-row{order:3}
.home #main-content>.home-online-stage{order:4}
.home #main-content>.community-home-grid{order:5}
.home-feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.home-feature-row>.panel{min-width:0;padding:16px}
.home-feature-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.home-feature-heading h2{margin:6px 0 0;font-size:1.45rem}
.home-feature-heading .text-link{flex:0 0 auto;align-self:center}
.home-latest-feature-link{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:center;min-height:190px;padding:10px;border:1px solid var(--yf-border);border-radius:12px;background:rgba(255,255,255,.52);color:inherit;text-decoration:none;box-shadow:var(--yf-card-shadow);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.home-latest-feature-link:hover,.home-latest-feature-link:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.78);box-shadow:0 10px 23px rgba(40,23,7,.18)}
.home-latest-feature-image{height:168px;overflow:hidden;border:1px solid var(--yf-border-strong);border-radius:10px;background:rgba(236,213,159,.65)}
.home-latest-feature-image img{width:100%;height:100%;object-fit:cover}
.home-latest-feature-link h2{margin:3px 0 7px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.1}
.home-latest-feature-link p:not(.meta){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0;color:var(--yf-copy-muted);line-height:1.48}
.home-feature-cta{display:inline-flex;margin-top:10px;color:#8c2f20;font-weight:900}
.home-exclusive-intro{margin:-2px 0 10px;color:var(--yf-copy-muted);font-size:.86rem;line-height:1.4}
.home-exclusive-stage{position:relative;min-height:210px;overflow:hidden;border:1px solid var(--yf-border-strong);border-radius:12px;background:#2c2216;box-shadow:var(--yf-card-shadow)}
.home-exclusive-slide{position:absolute;inset:0;display:grid;opacity:0;visibility:hidden;transform:translateX(2.5%);transition:opacity .48s ease,transform .48s ease,visibility 0s linear .48s;color:#fff;text-decoration:none}
.home-exclusive-slide.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s;z-index:2}
.home-exclusive-slide img{grid-area:1/1;width:100%;height:100%;min-height:210px;object-fit:cover}
.home-exclusive-slide::after{content:"";grid-area:1/1;align-self:end;height:74%;background:linear-gradient(transparent,rgba(20,12,4,.9));pointer-events:none}
.home-exclusive-overlay{grid-area:1/1;z-index:1;align-self:end;display:grid;gap:4px;padding:46px 18px 16px;text-shadow:0 2px 4px rgba(0,0,0,.7)}
.home-exclusive-overlay strong{font-family:Georgia,serif;font-size:1.45rem;line-height:1.08}.home-exclusive-overlay small{max-width:58ch;font-size:.82rem;line-height:1.35}.home-exclusive-overlay b{width:max-content;margin-top:4px;padding:5px 9px;border-radius:999px;background:rgba(255,244,208,.94);color:#6b3217;font-size:.72rem;text-shadow:none}
.home-exclusive-arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(51,29,9,.78);color:white;font-size:1.8rem;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.home-exclusive-arrow:hover,.home-exclusive-arrow:focus-visible{background:rgba(111,142,50,.96)}.home-exclusive-arrow.previous{left:9px}.home-exclusive-arrow.next{right:9px}
.home-exclusive-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.home-exclusive-dots button{width:10px;height:10px;min-height:0;padding:0;border:1px solid #5c3519;border-radius:50%;background:rgba(92,53,25,.2);box-shadow:none}.home-exclusive-dots button[aria-selected="true"]{width:25px;border-radius:999px;background:var(--yf-accent)}
.community-news-card-link{position:relative;color:inherit;text-decoration:none;border-radius:9px;transition:background .16s ease,transform .16s ease}
.community-news-card-link:hover,.community-news-card-link:focus-visible{background:rgba(255,255,255,.52);transform:translateX(2px)}
.community-news-read{display:block;margin-top:4px;color:#8c2f20;font-size:.72rem;font-weight:900}
@media(max-width:980px){.home-feature-row{grid-template-columns:1fr}.home-latest-feature-link{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:620px){.home-feature-row>.panel{padding:11px}.home-feature-heading{align-items:center}.home-feature-heading h2{font-size:1.2rem}.home-latest-feature-link{grid-template-columns:92px minmax(0,1fr);gap:10px;min-height:126px;padding:8px}.home-latest-feature-image{height:110px}.home-latest-feature-link h2{font-size:1.08rem}.home-latest-feature-link p:not(.meta){-webkit-line-clamp:2;font-size:.78rem}.home-feature-cta{font-size:.76rem}.home-exclusive-stage,.home-exclusive-slide img{min-height:190px}.home-exclusive-overlay{padding:40px 13px 12px}.home-exclusive-overlay strong{font-size:1.18rem}.home-exclusive-overlay small{font-size:.75rem}.home-exclusive-arrow{width:34px;height:34px;margin-top:-17px}.home-exclusive-arrow.previous{left:6px}.home-exclusive-arrow.next{right:6px}}
@media(max-width:390px){.home-latest-feature-link{grid-template-columns:78px minmax(0,1fr)}.home-latest-feature-image{height:96px}.home-feature-heading .text-link{font-size:.69rem}.home-exclusive-intro{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.home-exclusive-slide{transition:none}.home-latest-feature-link,.community-news-card-link{transition:none}}


/* Patch 32 — persistent live presence and linked administrator controls */
.site-live-presence{display:inline-flex;align-items:center;gap:9px;margin-left:auto;padding:7px 11px;border:1px solid rgba(255,235,184,.28);border-radius:999px;color:#fff7df;background:rgba(46,22,7,.34);font-size:.72rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.site-live-presence:hover{background:rgba(78,39,12,.62);color:#fff}
.site-live-presence i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#79e84d;box-shadow:0 0 0 4px rgba(121,232,77,.13),0 0 8px rgba(121,232,77,.8)}
.site-live-presence b{font-variant-numeric:tabular-nums}.site-live-presence span+span{padding-left:9px;border-left:1px solid rgba(255,255,255,.22)}
.admin-account-source-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.admin-account-source-tabs .button{text-align:center}
.admin-linked-member-card{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #d9c8a2;border-radius:12px;background:#fffaf0}.admin-linked-member-card img{width:54px;height:54px;border-radius:50%;object-fit:cover}.admin-member-linked-pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e8f4dc;color:#376318;font-size:.7rem;font-weight:900}
@media(max-width:1180px){.site-live-presence span{display:none}.site-live-presence{width:38px;height:38px;justify-content:center;padding:0;margin-left:auto}.site-live-presence i{width:9px;height:9px;flex-basis:9px}}
@media(max-width:890px){.topbar .site-live-presence{grid-area:presence;display:inline-flex!important;width:42px;height:42px;margin:0!important;padding:0!important;justify-content:center}.topbar{grid-template-areas:'home brand presence menu'!important;grid-template-columns:42px minmax(0,1fr) 42px 42px!important}.home-badge{grid-area:home}.mobile-brand{grid-area:brand}.menu-toggle{grid-area:menu}.site-live-presence span{display:none!important}}
@media(max-width:430px){.topbar{grid-template-columns:40px minmax(0,1fr) 38px 40px!important}.topbar .site-live-presence{width:38px;height:40px}.admin-account-source-tabs{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:500px) and (max-width:960px){.topbar .site-live-presence{width:36px;height:36px}.topbar{grid-template-columns:38px minmax(0,1fr) 36px 38px!important}}

/* Patch 32 — score-only leaderboards and compact mobile live totals */
.online-board li:not(.empty-score){grid-template-columns:2.4rem minmax(0,1fr) auto!important}
.online-board li:not(.empty-score)>span:last-child{grid-column:auto!important;justify-self:end!important;text-align:right!important;white-space:nowrap!important}
@media(max-width:890px){
  .topbar{grid-template-columns:42px minmax(0,1fr) 64px 42px!important}
  .topbar .site-live-presence{width:64px!important;gap:4px!important;padding:0 6px!important}
  .topbar .site-live-presence i{width:7px;height:7px;flex-basis:7px}
  .topbar .site-live-presence span{display:inline-flex!important;align-items:center!important;padding:0!important;border:0!important;font-size:0!important}
  .topbar .site-live-presence span+span:before{content:'/';margin:0 2px;color:rgba(255,255,255,.65);font-size:.65rem}
  .topbar .site-live-presence b{font-size:.72rem;line-height:1;color:#fff8db}
}
@media(max-width:430px){
  .topbar{grid-template-columns:40px minmax(0,1fr) 58px 40px!important}
  .topbar .site-live-presence{width:58px!important;padding-inline:4px!important}
}
@media(max-width:560px){
  .online-board li:not(.empty-score)>span:last-child{grid-column:auto!important;justify-self:end!important;text-align:right!important;white-space:nowrap!important}
}
.admin-account-source-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid #cdb98e;border-radius:10px;background:#fffaf0;color:#563016;font-weight:900;text-decoration:none}
.admin-account-source-tabs a.active{border-color:#557d23;background:linear-gradient(#7cab39,#5c8d27);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.25)}

/* Patch 40: clearer Play Online catalogue and focused Admin workflow. */
.online-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.online-overview>div{display:flex;min-height:92px;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:14px;border:1px solid rgba(78,49,24,.22);border-radius:16px;background:rgba(255,249,223,.9);box-shadow:0 8px 20px rgba(55,33,15,.08)}.online-overview strong{font:800 clamp(1.65rem,3vw,2.35rem)/1 var(--font-display,inherit);color:#315b2e}.online-overview span{margin-top:6px;font-weight:700;color:#654b32}.online-overview .is-live strong{color:#a73327}.online-picker-panel{margin-bottom:18px}.online-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.online-picker-heading h2{margin:.1rem 0}.online-picker-heading p{max-width:740px;margin:.35rem 0 0}.online-picker{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) minmax(170px,.3fr) auto auto;gap:10px;align-items:end;margin-top:18px}.online-picker label{margin:0}.online-picker input,.online-picker select{width:100%;min-height:46px}.online-picker .button,.online-picker button{min-height:46px;white-space:nowrap}.online-playing-now{margin-bottom:20px}.live-pulse-label{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#315b2e}.live-pulse-label i,.online-live-badge i{width:8px;height:8px;border-radius:50%;background:#9d9d86;box-shadow:0 0 0 4px rgba(120,120,100,.12)}.live-pulse-label i,.online-live-badge.is-active i{background:#2e9a48;box-shadow:0 0 0 4px rgba(46,154,72,.14);animation:yf-live-pulse 1.8s ease-out infinite}@keyframes yf-live-pulse{50%{box-shadow:0 0 0 8px rgba(46,154,72,0)}}.online-live-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.online-live-strip>a{display:grid;gap:4px;padding:13px 15px;border:1px solid rgba(67,115,52,.25);border-radius:13px;background:linear-gradient(180deg,#f7ffe9,#edf8dc);text-decoration:none;color:inherit}.online-live-strip>a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(45,80,34,.12)}.online-live-strip span{color:#2f6a36;font-weight:800}.online-live-strip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#695640}.online-my-scores{margin-bottom:24px}.online-score-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.online-score-summary-grid article{display:flex;flex-direction:column;min-height:175px;padding:16px;border-radius:14px;background:#fffaf0;border:1px solid rgba(86,55,29,.18)}.online-score-summary-grid h3{margin:0 0 8px;font-size:1.08rem}.online-score-summary-grid article>strong{font-size:2rem;color:#315b2e}.online-score-summary-grid span,.online-score-summary-grid small{display:block;color:#6d5942}.online-score-summary-grid small{margin-top:8px}.online-score-summary-grid a{margin-top:auto;padding-top:12px;font-weight:800}.online-section{margin:26px 0}.online-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px;padding:0 4px}.online-section-heading h2{margin:.1rem 0}.online-section-heading p{max-width:760px;margin:.3rem 0 0}.online-section-heading>span{flex:none;padding:7px 11px;border-radius:999px;background:#efe2bc;color:#5b452d;font-weight:800}.online-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.online-choice-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(83,53,25,.22);border-radius:18px;background:#fff9e9;box-shadow:0 10px 24px rgba(56,34,15,.1)}.online-choice-art,.online-library-art{position:relative;display:block;overflow:hidden;background:#231d18}.online-choice-art{aspect-ratio:16/10}.online-choice-art img,.online-library-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.online-choice-card:hover .online-choice-art img,.online-library-card:hover .online-library-art img{transform:scale(1.025)}.online-type-badge,.online-live-badge{position:absolute;top:10px;padding:6px 9px;border-radius:999px;background:rgba(32,24,17,.88);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.2)}.online-type-badge{left:10px}.online-live-badge{right:10px;display:inline-flex;align-items:center;gap:6px}.online-live-badge.is-active{background:rgba(35,111,51,.94)}.online-choice-body{display:flex;flex-direction:column;flex:1;padding:17px}.online-choice-body h3{margin:.15rem 0 .5rem;font-size:1.45rem}.online-choice-body>p{margin:.1rem 0 13px}.online-who{display:grid;gap:2px;padding:10px 12px;border-radius:11px;background:#f2ead5}.online-who span{font-size:.92rem;color:#6b573f}.online-card-records{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.online-card-records>div{display:flex;flex-direction:column;padding:11px;border:1px solid rgba(81,52,25,.13);border-radius:11px;background:#fffdf8}.online-card-records span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#806b52;font-weight:800}.online-card-records strong{font-size:1.55rem;color:#315b2e}.online-card-records small{color:#6d5a44}.online-card-actions{display:grid;gap:9px;margin-top:auto}.online-card-actions>.button{text-align:center}.online-score-drawer{border:1px solid rgba(73,51,29,.18);border-radius:11px;background:#f8f0dc}.online-score-drawer summary{cursor:pointer;padding:10px 12px;font-weight:850;text-align:center}.online-score-drawer ol{list-style:none;margin:0;padding:0 10px 10px}.online-score-drawer li{display:grid;grid-template-columns:34px 1fr auto;gap:7px;align-items:center;padding:7px 4px;border-top:1px solid rgba(80,55,30,.1)}.online-score-drawer li.is-you{color:#245d31;background:rgba(73,147,71,.08)}.online-score-drawer li.empty{display:block;text-align:center}.online-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.online-library-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(83,53,25,.2);border-radius:15px;background:#fff9e9;box-shadow:0 7px 17px rgba(56,34,15,.08)}.online-library-art{aspect-ratio:4/3}.online-library-card>div{display:flex;flex-direction:column;flex:1;padding:13px}.online-library-card h3{margin:0 0 4px;font-size:1.05rem;line-height:1.25}.online-library-card h3 a{color:inherit;text-decoration:none}.online-library-card p{margin:3px 0}.online-library-card>div>small{display:block;margin:6px 0 10px;color:#6a573f}.online-library-card .card-quick-actions{margin-top:auto}.online-classic-footer{margin-top:28px}.online-classic-footer .classic-archive-copy p{margin:.3rem 0 0}

.admin-choice-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-choice-tabs>details,.admin-choice-link{border:1px solid rgba(77,51,28,.2);border-radius:14px;background:#fffaf0}.admin-choice-tabs>details{grid-column:span 1}.admin-choice-tabs>details[open]{grid-column:1/-1}.admin-choice-tabs summary,.admin-choice-link{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:15px;cursor:pointer}.admin-choice-tabs summary span,.admin-choice-link>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e9ddbb;font-size:1.3rem}.admin-choice-tabs summary strong,.admin-choice-link strong{font-size:1.04rem}.admin-choice-tabs summary small,.admin-choice-link small{color:#74614d}.admin-choice-link{text-decoration:none;color:inherit}.admin-choice-form{padding:0 16px 16px;border-top:1px solid rgba(77,51,28,.12)}.admin-choice-form .field-grid{margin-top:14px}.online-admin-library{margin-top:18px}.online-admin-title-list{display:grid;gap:11px}.online-admin-title-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:15px;align-items:center;padding:12px;border:1px solid rgba(77,51,28,.16);border-radius:14px;background:#fffdf6}.online-admin-title-cover{display:grid;place-items:center;overflow:hidden;width:112px;aspect-ratio:4/3;border-radius:10px;background:#32271e;color:#fff;text-decoration:none;font-size:2rem}.online-admin-title-cover img{width:100%;height:100%;object-fit:cover}.online-admin-title-copy{min-width:0}.online-admin-title-name{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.online-admin-title-name h3{margin:0}.online-admin-title-name>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.online-admin-title-copy p{margin:5px 0}.online-admin-title-copy code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.online-admin-title-copy small{display:block;margin-top:5px}.online-admin-title-actions{display:flex;flex-direction:column;gap:7px;min-width:124px}.online-admin-title-actions form,.online-admin-title-actions button{width:100%}.admin-tools-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:15px}.online-edit-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.online-edit-status-grid>div{display:flex;flex-direction:column;min-height:100px;padding:14px;border:1px solid rgba(77,51,28,.17);border-radius:13px;background:#fffaf0}.online-edit-status-grid>div>span{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#7d684f}.online-edit-status-grid>div>strong{margin-top:7px;font-size:1.25rem}.online-edit-status-grid>div>small{margin-top:4px;color:#6d5b47}.online-edit-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:17px}.online-edit-layout main,.online-edit-layout aside{display:grid;align-content:start;gap:16px}.online-edit-layout .card{margin:0}.online-edit-score-preview{margin-top:13px;padding:12px;border-radius:11px;background:#f4ecd9}.online-edit-score-preview ol{margin:7px 0 0;padding:0;list-style:none}.online-edit-score-preview li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(77,51,28,.12)}.admin-sticky-save{position:sticky;z-index:20;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:12px 15px;border:1px solid rgba(62,99,45,.35);border-radius:14px;background:rgba(245,255,232,.96);box-shadow:0 10px 26px rgba(42,58,30,.18);backdrop-filter:blur(8px)}

@media(max-width:900px){.online-overview{grid-template-columns:repeat(2,1fr)}.online-picker{grid-template-columns:1fr 1fr}.online-picker .online-search{grid-column:1/-1}.online-picker-heading{align-items:stretch}.online-picker-heading .button{align-self:flex-start}.online-edit-status-grid{grid-template-columns:repeat(2,1fr)}.online-edit-layout{grid-template-columns:1fr}.online-edit-layout aside{grid-template-columns:repeat(2,minmax(0,1fr))}.online-edit-layout aside .card:last-child{grid-column:1/-1}.admin-choice-tabs{grid-template-columns:1fr 1fr}.admin-choice-link{grid-column:1/-1}.online-admin-title-row{grid-template-columns:92px minmax(0,1fr)}.online-admin-title-cover{width:92px}.online-admin-title-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.online-admin-title-actions form{display:contents}.admin-tools-split{grid-template-columns:1fr}}
@media(max-width:620px){.online-overview{gap:8px}.online-overview>div{min-height:76px;padding:10px}.online-overview strong{font-size:1.65rem}.online-picker-heading,.online-section-heading,.panel-title-row{align-items:stretch;flex-direction:column}.online-picker{grid-template-columns:1fr}.online-picker .online-search{grid-column:auto}.online-picker .button,.online-picker button{width:100%}.online-score-summary-grid,.online-choice-grid,.online-library-grid{grid-template-columns:1fr}.online-choice-art{aspect-ratio:16/9}.online-card-records{grid-template-columns:1fr 1fr}.online-section-heading>span{align-self:flex-start}.admin-choice-tabs{grid-template-columns:1fr}.admin-choice-tabs>details,.admin-choice-link{grid-column:1}.admin-choice-tabs>details[open]{grid-column:1}.online-admin-title-row{grid-template-columns:76px minmax(0,1fr);align-items:start}.online-admin-title-cover{width:76px}.online-admin-title-name{display:block}.online-admin-title-name>div{justify-content:flex-start;margin-top:6px}.online-admin-title-actions{grid-template-columns:1fr 1fr}.online-admin-title-actions form{grid-column:1/-1}.online-edit-status-grid{grid-template-columns:1fr 1fr}.online-edit-layout aside{grid-template-columns:1fr}.online-edit-layout aside .card:last-child{grid-column:auto}.admin-sticky-save{bottom:62px;flex-direction:column;align-items:stretch}.admin-sticky-save button{width:100%}}
@media(max-width:420px){.online-overview{grid-template-columns:1fr 1fr}.online-overview span{font-size:.78rem}.online-card-records{grid-template-columns:1fr}.online-edit-status-grid{grid-template-columns:1fr}.online-admin-title-row{grid-template-columns:1fr}.online-admin-title-cover{width:100%;max-height:170px;aspect-ratio:16/9}.online-admin-title-actions{grid-template-columns:1fr}}
