@import url("https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Press+Start+2P&display=swap");

:root {
  --page-ink: #f5edda;
  --page-muted: #afaa97;
  --page-gold: #e0ab50;
  --page-gold-light: #f4d58e;
  --page-jade: #8fe0aa;
  --page-red: #bd4a3b;
  --page-panel: rgba(9, 12, 8, .9);
  --page-line: rgba(224, 171, 80, .42);
  font-family: Manrope, system-ui, sans-serif;
  color: var(--page-ink);
  background: #090c08;
}
* { box-sizing: border-box; }
body.page-body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: #10100c url("assets/warrior-pages-background.png?build=2") center top / cover fixed no-repeat;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.page-shell {
  width: min(1320px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-header {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 84px;
  padding: 14px 20px;
  border-bottom: 2px solid var(--page-gold);
  background: linear-gradient(180deg, rgba(58, 31, 13, .98), rgba(15, 9, 5, .98));
  box-shadow: 0 6px 18px rgba(0, 0, 0, .38);
}
.page-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}
.page-brand-mark {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 2px solid var(--page-gold);
  border-radius: 6px;
  color: var(--page-gold-light);
  background: #32150a;
  font: 800 24px "Noto Serif SC", serif;
  box-shadow: 0 0 14px rgba(224, 171, 80, .18);
}
.page-brand strong { display: block; font: 800 21px/1 "Noto Serif SC", serif; letter-spacing: .08em; }
.page-brand small { display: block; margin-top: 5px; color: var(--page-muted); font: 600 7px/1 "DM Mono", monospace; letter-spacing: .18em; }
.page-status-chip {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--page-jade);
  font: 700 8px "DM Mono", monospace;
  letter-spacing: .13em;
}
.page-status-chip i,
.screen-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 9px currentColor;
}
.site-nav {
  display: flex;
  gap: 6px;
  align-items: center;
}
.site-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 37px;
  padding: 7px 9px;
  border: 1px solid rgba(224, 171, 80, .34);
  border-radius: 6px;
  color: #d9ccb0;
  text-decoration: none;
  background: rgba(15, 12, 8, .62);
  font: 700 8px/1 "DM Mono", monospace;
  letter-spacing: .08em;
}
.site-nav a i { color: var(--page-gold); font: 700 14px "Noto Serif SC", serif; font-style: normal; }
.site-nav a:hover,
.site-nav a[aria-current="page"] {
  border-color: var(--page-gold-light);
  color: #281205;
  background: linear-gradient(180deg, #f3cf7f, #cf8d2f);
  box-shadow: 0 3px 0 #6c3612;
}
.site-nav a[aria-current="page"] i,
.site-nav a:hover i { color: #5c2c0d; }

.page-main { padding: clamp(28px, 4vw, 54px); }
.page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 26px;
}
.eyebrow { margin: 0 0 9px; color: var(--page-jade); font: 700 9px/1 "DM Mono", monospace; letter-spacing: .19em; }
.page-hero h1 { margin: 0; color: var(--page-gold-light); font: 800 clamp(38px, 6vw, 72px)/.88 "Noto Serif SC", serif; letter-spacing: .02em; }
.page-hero p:last-child { max-width: 620px; margin: 16px 0 0; color: #d5cfbf; font-size: 14px; line-height: 1.65; }
.hero-seal {
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border: 3px solid rgba(193, 72, 55, .8);
  color: #df735f;
  font: 800 38px "Noto Serif SC", serif;
  transform: rotate(-3deg);
}

.arcade-screen {
  overflow: hidden;
  border: 3px solid var(--page-gold);
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 0, rgba(143, 224, 170, .06), transparent 43%),
    rgba(5, 9, 6, .94);
  box-shadow: 0 0 0 3px #210c04, 0 13px 32px rgba(0, 0, 0, .42), inset 0 0 38px rgba(96, 217, 142, .03);
}
.screen-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--page-line);
  color: var(--page-gold-light);
  background: rgba(55, 30, 13, .7);
  font: 700 8px/1 "DM Mono", monospace;
  letter-spacing: .16em;
}
.screen-live { display: flex; align-items: center; gap: 7px; color: var(--page-jade); }
.screen-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; padding: 18px; }
.panel {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--page-line);
  border-left: 4px solid var(--page-gold);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(224, 171, 80, .05), transparent 35%), rgba(8, 14, 10, .82);
  box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}
.panel h2 { margin: 4px 0 16px; color: #f6dfad; font: 700 25px "Noto Serif SC", serif; }
.form-grid { display: grid; gap: 13px; }
.form-grid label { display: grid; gap: 6px; color: var(--page-muted); font: 700 8px "DM Mono", monospace; letter-spacing: .11em; }
input, select {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid rgba(224, 171, 80, .48);
  border-radius: 6px;
  outline: 0;
  color: #fff0c7;
  background: #160e08;
}
input:focus, select:focus { border-color: var(--page-jade); box-shadow: 0 0 0 2px rgba(143, 224, 170, .14); }
.check-row { display: flex !important; grid-template-columns: 18px 1fr; align-items: center; }
.check-row input { width: 17px; min-height: 17px; }
.page-button {
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid var(--page-gold-light);
  border-radius: 6px;
  color: #2c1507;
  cursor: pointer;
  background: linear-gradient(180deg, #f3cf7f, #cf8d2f);
  box-shadow: 0 4px 0 #713812;
  font: 800 9px "DM Mono", monospace;
  letter-spacing: .12em;
}
.page-button:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.page-button:disabled { opacity: .55; cursor: wait; }
.page-button.secondary { color: #d9f1df; border-color: rgba(143, 224, 170, .56); background: #123420; box-shadow: 0 4px 0 #06160d; }
.inline-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.status-line { display: block; min-height: 18px; margin-top: 14px; color: var(--page-jade); font: 700 9px/1.4 "DM Mono", monospace; letter-spacing: .08em; }

.room-list, .ranking-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.room-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px 72px auto;
  gap: 10px;
  align-items: center;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid rgba(224, 171, 80, .23);
  border-radius: 7px;
  background: rgba(3, 10, 6, .58);
}
.room-list strong, .room-list span { display: block; }
.room-list strong { color: #f3dfb5; font-size: 13px; }
.room-list span { margin-top: 4px; color: var(--page-muted); font: 600 7px "DM Mono", monospace; letter-spacing: .09em; }
.room-list code { color: var(--page-jade); font: 700 11px "DM Mono", monospace; }
.room-list button { min-height: 32px; border: 1px solid var(--page-jade); border-radius: 5px; color: #c8f2d4; cursor: pointer; background: #11341f; font: 700 8px "DM Mono", monospace; }
.empty-state { display: grid !important; grid-template-columns: 1fr !important; place-items: center; min-height: 120px !important; text-align: center; }
.empty-state span { font-size: 9px !important; }

.ranking-list li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 140px 90px;
  align-items: center;
  min-height: 56px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(224, 171, 80, .2);
}
.ranking-list li > span:first-child { color: var(--page-gold); font: 700 12px "DM Mono", monospace; }
.ranking-list strong { color: #f7e6bd; }
.ranking-list li > span:nth-child(3) { color: var(--page-muted); font: 700 9px "DM Mono", monospace; }
.ranking-list b { color: var(--page-jade); text-align: right; font: 700 18px "DM Mono", monospace; }

.profile-layout { grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); }
.player-card { text-align: center; }
.player-emblem { display: grid; width: 112px; height: 112px; margin: 0 auto 17px; place-items: center; border: 3px solid var(--page-gold); border-radius: 50%; color: var(--page-gold-light); background: radial-gradient(circle, #4c2710, #170b05); font: 800 49px "Noto Serif SC", serif; box-shadow: 0 0 25px rgba(224, 171, 80, .16); }
.rating { color: var(--page-jade); font: 700 12px "DM Mono", monospace; letter-spacing: .12em; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.stat-grid div { min-height: 108px; padding: 18px 10px; border: 1px solid rgba(224, 171, 80, .26); border-radius: 8px; text-align: center; background: rgba(2, 10, 6, .56); }
.stat-grid b { display: block; color: var(--page-gold-light); font: 700 31px "DM Mono", monospace; }
.stat-grid span { display: block; margin-top: 9px; color: var(--page-muted); font: 700 7px "DM Mono", monospace; letter-spacing: .12em; }

.rules-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.rule-card { position: relative; min-height: 190px; }
.rule-number { position: absolute; top: 14px; right: 16px; color: rgba(224, 171, 80, .22); font: 800 42px "DM Mono", monospace; }
.rule-card p, .rule-card li { color: #d3ccbb; font-size: 13px; line-height: 1.65; }
.rule-card ul { margin: 0; padding-left: 18px; }
.page-footer { padding: 15px; color: #968d7b; text-align: center; font: 700 7px "DM Mono", monospace; letter-spacing: .15em; }

@media (max-width: 960px) {
  .page-header { flex-wrap: wrap; }
  .page-status-chip { margin-left: auto; }
  .site-nav { order: 3; width: 100%; overflow-x: auto; padding-top: 6px; }
  .site-nav a { flex: 1 0 112px; justify-content: center; }
  .screen-grid, .profile-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .page-shell { width: calc(100% - 12px); min-height: calc(100vh - 12px); margin: 6px; border-width: 2px; border-radius: 12px; }
  .page-header { padding: 11px; }
  .page-status-chip { display: none; }
  .page-main { padding: 26px 13px; }
  .page-hero { grid-template-columns: 1fr; }
  .hero-seal { display: none; }
  .site-nav a { flex-basis: 82px; }
  .site-nav a span { display: none; }
  .screen-grid, .rules-grid { grid-template-columns: 1fr; padding: 10px; }
  .room-list li { grid-template-columns: minmax(0, 1fr) 34px auto; }
  .room-list code { display: none; }
  .ranking-list li { grid-template-columns: 42px minmax(0, 1fr) 70px; }
  .ranking-list li > span:nth-child(3) { display: none; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
}


/* Lighter framing: the artwork remains bright and no oversized gold box encloses the page. */
.arcade-screen {
  border: 1px solid rgba(224, 171, 80, .42);
  box-shadow: 0 13px 32px rgba(0, 0, 0, .3), inset 0 0 30px rgba(96, 217, 142, .025);
}
.page-header { border-bottom-width: 1px; }

/* Illustrated rules manual. */
.rules-manual { background: rgba(5, 9, 6, .82); }
.rules-grid { grid-template-columns: 1fr; gap: 16px; }
.rule-card {
  display: grid;
  grid-template-columns: minmax(260px, .88fr) minmax(0, 1.12fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: center;
  min-height: 280px;
  padding: clamp(18px, 2.5vw, 30px);
  overflow: hidden;
}
.rule-card:nth-child(even) .rule-demo { order: 2; }
.rule-card:nth-child(even) .rule-copy { order: 1; }
.rule-card h2 { margin-bottom: 11px; font-size: clamp(24px, 3vw, 35px); }
.rule-copy { position: relative; z-index: 2; max-width: 570px; }
.rule-copy > p:last-child { margin-bottom: 0; color: #e5decc; font-size: 14px; line-height: 1.7; }
.rule-number { z-index: 0; top: 12px; right: 18px; font-size: 58px; }

.rule-demo {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 220px;
  padding: 15px;
  border: 1px solid rgba(244, 213, 142, .22);
  border-radius: 13px;
  background:
    radial-gradient(circle at 50% 25%, rgba(244, 213, 142, .1), transparent 42%),
    linear-gradient(145deg, rgba(74, 38, 14, .55), rgba(4, 12, 8, .76));
  box-shadow: inset 0 0 28px rgba(0, 0, 0, .3), 0 12px 24px rgba(0, 0, 0, .2);
}
.mini-board {
  position: relative;
  width: min(100%, 210px);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 7px solid #4b230d;
  border-radius: 5px;
  background-color: #dca956;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23572d10' stroke-width='.7' opacity='.9'%3E%3Cpath d='M10 10H90M10 30H90M10 50H90M10 70H90M10 90H90M10 10V90M30 10V90M50 10V90M70 10V90M90 10V90'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 100% 100%;
  box-shadow: 0 0 0 1px #d39a42, 0 10px 20px rgba(0, 0, 0, .38), inset 0 0 16px rgba(100, 48, 11, .2);
}
.demo-stone,
.liberty,
.capture-target,
.capture-ring,
.ko-mark {
  position: absolute;
  z-index: 3;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
}
.demo-stone {
  width: 17.5%;
  aspect-ratio: 1;
  border-radius: 50%;
}
.demo-stone.black,
.black-chip {
  background: radial-gradient(circle at 32% 22%, #68756d, #152019 28%, #020403 78%);
  box-shadow: 2px 4px 5px rgba(45, 20, 6, .55), inset 1px 1px rgba(255, 255, 255, .16);
}
.demo-stone.white {
  border: 1px solid rgba(78, 68, 52, .28);
  background: radial-gradient(circle at 30% 20%, #fff, #f0eee3 48%, #a8aa9f);
  box-shadow: 2px 4px 5px rgba(45, 20, 6, .48), inset 1px 1px white;
}
.last-demo::after {
  content: "";
  position: absolute;
  inset: 38%;
  border-radius: 50%;
  background: #95dfa9;
  box-shadow: 0 0 7px #7edc99;
}
.liberty,
.capture-target {
  width: 9.5%;
  aspect-ratio: 1;
  border: 2px solid #c4ffd2;
  border-radius: 50%;
  background: #56c77c;
  box-shadow: 0 0 10px rgba(86, 199, 124, .82);
}
.capture-target {
  border-color: #fff0b5;
  background: #e0a83e;
  box-shadow: 0 0 12px rgba(224, 168, 62, .9);
}
.capture-ring {
  width: 19%;
  aspect-ratio: 1;
  border: 2px dashed rgba(204, 76, 58, .9);
  border-radius: 50%;
  background: rgba(189, 74, 59, .08);
}
.ko-mark {
  display: grid;
  width: 18%;
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid #f1a08e;
  border-radius: 50%;
  color: #ffd0c7;
  background: rgba(137, 36, 27, .8);
  box-shadow: 0 0 14px rgba(189, 74, 59, .52);
  font: 800 18px/1 "DM Mono", monospace;
}
.demo-legend {
  display: flex;
  justify-content: center;
  gap: 13px;
  margin-top: 13px;
  color: #d7c9ab;
  font: 700 7px/1 "DM Mono", monospace;
  letter-spacing: .1em;
}
.demo-legend span { display: inline-flex; align-items: center; gap: 6px; }
.demo-legend b { color: #968a72; font-weight: 600; }
.black-chip { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.jade-label { color: var(--page-jade); }
.red-label { color: #f2a08f; }

.capture-demo {
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr);
  gap: 10px;
  align-items: center;
}
.mini-board.compact { width: min(100%, 155px); border-width: 5px; }
.demo-arrow { color: var(--page-gold-light); font: 800 26px "DM Mono", monospace; }

.score-board { overflow: hidden; }
.territory { position: absolute; z-index: 1; width: 36%; height: 36%; border-radius: 15%; opacity: .55; }
.black-area { top: 14%; left: 14%; border: 2px solid #395b45; background: rgba(18, 45, 28, .58); }
.white-area { right: 14%; bottom: 14%; border: 2px solid #f4eee0; background: rgba(255, 253, 239, .48); }
.score-strip {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  color: #e7d7b3;
  text-align: center;
  font: 700 8px/1.45 "DM Mono", monospace;
}
.score-strip b { color: var(--page-jade); font-size: 6px; letter-spacing: .08em; }
.score-strip i { color: var(--page-red); font-style: normal; }

.room-demo {
  grid-template-columns: 1fr 22px 1.2fr 22px 1fr;
  gap: 5px;
  align-items: center;
}
.flow-node { display: grid; justify-items: center; gap: 5px; text-align: center; }
.flow-node i {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 2px solid var(--page-jade);
  border-radius: 50%;
  color: var(--page-jade);
  background: rgba(16, 56, 31, .72);
  box-shadow: 0 0 13px rgba(143, 224, 170, .2);
  font: 800 17px "DM Mono", monospace;
  font-style: normal;
}
.flow-node b { color: #f2ddae; font: 700 8px "DM Mono", monospace; }
.flow-node span { color: #918670; font: 600 6px "DM Mono", monospace; }
.flow-line { height: 1px; background: linear-gradient(90deg, var(--page-gold), var(--page-jade)); }
.room-code-card {
  padding: 13px 8px;
  border: 1px solid var(--page-gold);
  border-radius: 7px;
  text-align: center;
  background: #160d07;
  box-shadow: 0 0 14px rgba(224, 171, 80, .12);
}
.room-code-card small { display: block; color: #a79572; font: 700 6px "DM Mono", monospace; letter-spacing: .12em; }
.room-code-card strong { display: block; margin-top: 7px; color: var(--page-gold-light); font: 800 15px "DM Mono", monospace; letter-spacing: .08em; }

@media (max-width: 760px) {
  .rule-card { grid-template-columns: 1fr; min-height: 0; }
  .rule-card:nth-child(even) .rule-demo,
  .rule-card:nth-child(even) .rule-copy { order: initial; }
  .rule-demo { min-height: 205px; }
}
@media (max-width: 420px) {
  .room-demo { grid-template-columns: 1fr; gap: 9px; }
  .flow-line { width: 1px; height: 13px; margin: auto; }
}

/* Shared pixel-arcade typography for every non-Play screen. */
:root { --page-arcade-font: "Press Start 2P", "DM Mono", "Noto Serif SC", monospace; }
body.page-body,
button, input, select {
  font-family: var(--page-arcade-font);
}
body.page-body :where(p, span, strong, button, input, select, option, a, label, output, small, code, b, h1, h2, h3, h4, h5, h6) {
  font-family: var(--page-arcade-font) !important;
}

/* Beginner path and the additional visual rule lessons. */
.beginner-roadmap {
  margin: 18px 18px 0;
  padding: 16px;
  border: 1px solid rgba(143, 224, 170, .4);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(21, 71, 39, .34), rgba(7, 12, 8, .86));
  box-shadow: inset 0 0 24px rgba(143, 224, 170, .035);
}
.beginner-roadmap > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
  color: var(--page-jade);
  font-size: 8px;
  line-height: 1.4;
  letter-spacing: .11em;
}
.beginner-roadmap > header strong { color: var(--page-gold-light); }
.roadmap-track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.roadmap-step {
  position: relative;
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 5px 9px;
  align-items: center;
  min-height: 90px;
  padding: 10px;
  border: 1px solid rgba(224, 171, 80, .25);
  border-radius: 7px;
  background: rgba(4, 10, 6, .68);
}
.roadmap-step i {
  display: grid;
  grid-row: 1 / span 2;
  width: 29px;
  height: 29px;
  place-items: center;
  border: 1px solid var(--page-gold);
  border-radius: 50%;
  color: var(--page-gold-light);
  background: #2a160a;
  font-size: 10px;
  font-style: normal;
}
.roadmap-step b { color: #f2deaf; font-size: 7px; letter-spacing: .08em; }
.roadmap-step span { grid-column: 1 / -1; color: #bdb5a3; font-size: 7px; line-height: 1.65; }

.eye-marker,
.neutral-point {
  position: absolute;
  z-index: 4;
  left: var(--x);
  top: var(--y);
  display: grid;
  width: 13%;
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid #c4ffd2;
  border-radius: 50%;
  color: #0c2515;
  background: #74d994;
  box-shadow: 0 0 11px rgba(86, 199, 124, .8);
  transform: translate(-50%, -50%);
  font-size: 7px;
  font-style: normal;
}
.eye-marker.false-eye {
  border-color: #ffc0b3;
  color: #fff0eb;
  background: #a94636;
  box-shadow: 0 0 11px rgba(189, 74, 59, .65);
}
.neutral-point {
  border-color: #f4d58e;
  color: #fff0c2;
  background: rgba(67, 43, 17, .9);
  box-shadow: 0 0 11px rgba(224, 171, 80, .54);
}
.handicap-label {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  padding: 6px 7px;
  border: 1px solid var(--page-gold-light);
  border-radius: 4px;
  color: #2b1407;
  background: linear-gradient(180deg, #f3cf7f, #cf8d2f);
  box-shadow: 0 3px 0 #6c3612;
  transform: translate(-50%, -50%);
  font-size: 6px;
  font-style: normal;
  white-space: nowrap;
}
.checklist-demo { min-height: 240px; }
.turn-checklist { display: grid; gap: 7px; }
.turn-checklist > span {
  display: grid;
  grid-template-columns: 31px 104px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 36px;
  padding: 6px 9px;
  border: 1px solid rgba(224, 171, 80, .22);
  border-radius: 6px;
  background: rgba(3, 10, 6, .72);
}
.turn-checklist i {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  color: #14301e;
  background: var(--page-jade);
  font-size: 8px;
  font-style: normal;
}
.turn-checklist b { color: var(--page-gold-light); font-size: 7px; }
.turn-checklist em { color: #c7c0af; font-size: 7px; line-height: 1.5; font-style: normal; }

@media (max-width: 960px) {
  .roadmap-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .beginner-roadmap { margin: 10px 10px 0; padding: 11px; }
  .beginner-roadmap > header { display: grid; }
  .roadmap-track { grid-template-columns: 1fr; }
  .roadmap-step { min-height: 70px; }
  .turn-checklist > span { grid-template-columns: 27px 86px minmax(0, 1fr); gap: 6px; }
}

/* Smoother arcade display face for large titles; pixel text remains on controls. */
body.page-body :where(.page-hero h1, .panel h2) {
  font-family: "Black Ops One", "Press Start 2P", "DM Mono", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .045em;
}
