


















@font-face { font-family: 'Alegreya Fallback'; font-weight: 400 500; src: local('Georgia'), local('Times New Roman');
  size-adjust: 91.7%; ascent-override: 98%; descent-override: 33%; line-gap-override: 0%; }


@font-face { font-family: 'Alegreya Fallback'; font-weight: 600 800; src: local('Georgia Bold'), local('Georgia-Bold');
  size-adjust: 79%; ascent-override: 113.8%; descent-override: 38.3%; line-gap-override: 0%; }
@font-face { font-family: 'Alegreya Fallback'; font-style: italic; font-weight: 600 800; src: local('Georgia Bold Italic'), local('Georgia-BoldItalic');
  size-adjust: 71.3%; ascent-override: 126%; descent-override: 42.4%; line-gap-override: 0%; }

:root {
  --color-bg: #15110d;
  --color-bg-surface: #1c1712;
  --color-bg-card: #1c1712;
  --color-bg-hover: #251f18;
  --color-text: #ede5d5;
  --color-text-muted: #bcaf98;
  --color-text-dim: #a19580;
  --color-border: #3a3128;
  --color-border-accent: #4a3e30;
  --color-accent: #dcb05a;
  --color-accent-dim: #9c7a3a;

  --cb-serif: 'Alegreya', 'Alegreya Fallback', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --cb-ink: #ede5d5;
  --cb-paper: #1c1712;
  --cb-rule: #3a3128;
  --cb-gold: #dcb05a;
  --cb-gold-pale: #ecd29b;
  --cb-blood: #e07a66;
  --cb-blood-ground: #2a1612;
  --cb-slate: #9db8cf;
}

html { background-color: #15110d; }


main h1, main h2, main h3, main h4 {
  font-family: var(--cb-serif);
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none;
  -webkit-text-fill-color: currentColor;
  background: none;
}
main h1 {
  font-weight: 800;
  font-size: clamp(2.15rem, 6.5vw + 0.6rem, 3.3rem);
  line-height: 1.04;
  color: var(--cb-ink);
  margin: 0.2rem 0 0.7rem;
}
main h2 {
  font-weight: 700;
  font-size: clamp(1.45rem, 2.4vw + 0.8rem, 1.95rem);
  line-height: 1.15;
  color: var(--cb-ink);
  margin: 2.6rem 0 0.7rem;
}
main h3 {
  font-weight: 700;
  font-size: clamp(1.18rem, 1vw + 0.9rem, 1.4rem);
  line-height: 1.2;
  color: var(--cb-gold-pale);
  margin: 1.8rem 0 0.45rem;
}
main h4 { font-weight: 700; color: var(--cb-gold-pale); }

.content-wrapper p, .content-wrapper li { line-height: 1.68; }


.prose p a:not(.btn), .prose li a:not(.btn), .prose dd a:not(.btn), .prose td a:not(.btn) {
  color: var(--cb-gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  text-decoration-color: rgba(220, 176, 90, 0.45);
}
@media (hover: hover) { .prose p a:not(.btn):hover, .prose li a:not(.btn):hover { text-decoration-color: currentColor; color: var(--cb-gold-pale); } }



.page-title-icon { display: block; }
.page-title-icon > .ra { display: none; }

.breadcrumbs { font-size: 0.86rem; color: var(--color-text-dim); margin: 0.4rem 0 1.1rem; }
.breadcrumbs a { color: var(--color-text-muted); text-decoration: underline; text-decoration-color: var(--cb-rule); text-underline-offset: 0.2em; }


.tag {
  background: none !important;
  border: 0 !important;
  border-radius: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text-muted) !important;
}
.tag + .tag::before { content: ""; display: inline-block; width: 1px; height: 0.85em; background: var(--cb-rule); margin: 0 0.6rem 0 0.1rem; vertical-align: -0.05em; }
.tag-spoiler { color: var(--cb-blood) !important; }

.entry-kicker { gap: 0.2rem 0.75rem; margin: 0 0 0.1rem; }
.entry-scope {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-style: italic;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text-dim);
}
.entry-facts { color: var(--color-text-muted); font-size: 1rem; line-height: 1.55; margin: 0 0 1rem; }



main [style*="font-family:var(--font-mono)"], main [style*="font-family: var(--font-mono)"] {
  font-family: var(--font-body) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
main [style*="font-size:0.55rem"], main [style*="font-size:0.6rem"], main [style*="font-size:0.65rem"],
main [style*="font-size:0.7rem"], main [style*="font-size:0.72rem"], main [style*="font-size:0.75rem"] {
  font-size: 0.86rem !important;
}
main [style*="text-transform:uppercase"] { text-transform: none !important; letter-spacing: 0 !important; }




.system-message {
  background: var(--cb-paper) !important;
  border: 0 !important;
  border-radius: 3px;
  padding: 0.85rem 1rem 0.9rem;
  margin: 1.4rem 0;
  font-size: 0.97rem;
  box-shadow: none;
}
.system-message .system-label {
  font-family: var(--cb-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cb-slate) !important;
  margin: 0 0 0.2rem;
}
.system-message .system-body { color: var(--color-text-muted); line-height: 1.6; }
.system-message .system-reward { color: var(--color-text-dim); }






.system-message[data-note="fact"] .system-label { color: var(--cb-ink) !important; }

.system-message[data-note="voice"] { background: none !important; padding: 0.2rem 0 0.2rem 0; }
.system-message[data-note="voice"] .system-label { color: var(--cb-slate) !important; }
.system-message[data-note="voice"] .system-body { font-style: italic; }

.system-message[data-note="warning"] { background: var(--cb-blood-ground) !important; }
.system-message[data-note="warning"] .system-label { color: var(--cb-blood) !important; }

.system-message[data-note="onward"] {
  background: none !important;
  border-top: 1px solid var(--cb-rule) !important;
  border-radius: 0;
  padding: 1rem 0 0;
}
.system-message[data-note="onward"] .system-label { color: var(--cb-gold) !important; }

.spoiler-gate { background: var(--cb-blood-ground); border: 0; border-radius: 3px; }
.spoiler-gate .system-label { font-family: var(--cb-serif); font-style: italic; font-weight: 700; font-size: 1.05rem; text-transform: none; letter-spacing: 0; color: var(--cb-blood); }


.btn {
  border-radius: 3px;
  border: 1px solid var(--color-border-accent);
  background: var(--cb-paper);
  color: var(--cb-ink);
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: none;
  transition: border-color 0.15s, background 0.15s;
}
@media (hover: hover) { .btn:hover { border-color: var(--cb-gold); background: var(--color-bg-hover); color: var(--cb-ink); transform: none; box-shadow: none; } }
.btn-accent { background: var(--cb-gold); border-color: var(--cb-gold); color: #1c140a; }
@media (hover: hover) { .btn-accent:hover { background: var(--cb-gold-pale); border-color: var(--cb-gold-pale); color: #1c140a; } }
.btn-sm[style*="--color-red"] { color: var(--cb-blood) !important; border-color: rgba(224, 122, 102, 0.55) !important; }




.card {
  background: var(--cb-paper);
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: none;
}
a.card, .card.card-clickable { border-color: var(--color-border-accent); }


@media (hover: hover) { a.card:hover, .card.card-clickable:hover { transform: none; border-color: var(--color-border-accent); box-shadow: inset 0 0 0 1px var(--cb-gold); background: var(--color-bg-hover); } }
.card[style*="border-left"] { border-left-width: 1px !important; border-left-color: transparent !important; }
a.card[style*="border-left"] { border-left-color: var(--color-border-accent) !important; }
.card h3 { color: var(--cb-ink); }


main .content-wrapper div[style*="border-left:3px"], main .content-wrapper div[style*="border-left: 3px"],
main .content-wrapper div[style*="border-left:4px"], main .content-wrapper div[style*="border-left: 4px"] {
  border-left: 0 !important;
}


.page-contents { border-color: var(--cb-rule); }
.page-contents-label {
  font-family: var(--cb-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cb-ink);
}
.page-contents-count { font-family: var(--font-body); font-style: normal; font-size: 0.85rem; }


.crawler-teaser { font-family: var(--font-body); font-size: 0.9rem; letter-spacing: 0; }
.crawler-teaser a { color: var(--color-text-muted); border-bottom: 1px solid var(--cb-rule); }



.page-poll, .email-signup { border-left-width: 1px; border-left-color: var(--cb-rule); }



#quiz-result .quiz-result-class { font-family: var(--cb-serif); font-weight: 700; letter-spacing: 0; }
#quiz-result .quiz-next-steps-title,
#quiz-result .quiz-result-dossier-label { font-family: var(--cb-serif); font-style: italic; font-weight: 700; font-size: 1rem; letter-spacing: 0; text-transform: none; }
#quiz-result .quiz-result-links a + a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.2rem 0.35rem;
  background: none;
  border-color: transparent;
  color: var(--cb-gold);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (hover: hover) { #quiz-result .quiz-result-links a + a:hover { background: none; border-color: transparent; color: var(--cb-gold-pale); } }





.char-art { display: block; text-align: left; margin: 0.4rem 0 1.2rem; }
.char-art-frame {
  display: inline-block;
  background: #efe6d4;
  padding: 7px 7px 9px;
  border-radius: 1px;
  transform: rotate(1.3deg);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5);
  overflow: visible;
}
.char-art-frame img { max-width: 100%; width: 100%; height: auto; border-radius: 0; }
@media (max-width: 719px) {
  .char-art { float: right; width: 44%; max-width: 190px; margin: 0.2rem 0 0.8rem 1rem; }
}
@media (min-width: 720px) {
  .char-art { float: right; width: 270px; margin: 0.2rem 0 1.5rem 2rem; }
}
.page-contents, .content-wrapper h2 { clear: both; }
@media (prefers-reduced-motion: no-preference) {
  .char-art-frame { transition: transform 0.25s ease; }
  @media (hover: hover) { .char-art-frame:hover { transform: rotate(0deg); } }
}


main .path-tile, main .hero-kicker, main .hud-dot { box-shadow: none; animation: none; text-shadow: none; }
main [style*="text-shadow"] { text-shadow: none !important; }
main [style*="box-shadow:0 0"] { box-shadow: none !important; }


.breadcrumbs { font-size: 0.8rem; }

.page-contents-list a { text-decoration: none !important; color: var(--cb-ink) !important; transition: color 0.15s, background 0.15s; }
 .page-contents-list a:focus-visible { color: var(--cb-gold-pale) !important; background: var(--color-bg-hover); }
@media (hover: hover) { .page-contents-list a:hover { color: var(--cb-gold-pale) !important; background: var(--color-bg-hover); } }

.char-art + .system-message, .char-art + .crawler-teaser + .system-message {
  background: none !important; padding: 0; border-radius: 0;
}


.char-first, .crawler-name, .crawler-date, .crawler-gate-label, .page-poll-tag, .page-poll-count,
.page-poll-key, .page-poll-pct, .page-poll-foot, .form-label, .email-signup-status, .loot-box .loot-label,
.glossary-section summary::after, .prose code {
  font-family: var(--font-body);
  text-transform: none;
  letter-spacing: 0;
}
.char-first, .crawler-date, .page-poll-foot, .page-poll-count { font-size: 0.86rem; }
.crawler-name, .crawler-gate-label, .page-poll-tag, .loot-box .loot-label, .form-label {
  font-family: var(--cb-serif); font-style: italic; font-weight: 700; font-size: 1rem;
}


html.hw-season .site-header { box-shadow: 0 1px 0 rgba(255, 138, 31, 0.45); }
.site-nav a, .site-nav .nav-link { text-shadow: none !important; }
.site-nav .nav-link, .site-nav a { box-shadow: none !important; }
input::placeholder, textarea::placeholder { color: #9a8f7c; opacity: 1; }



main p[style*="--color-blue"][style*="--font-mono"] {
  color: var(--cb-ink) !important; font-family: var(--cb-serif) !important; font-style: italic;
  font-weight: 700; font-size: 1rem !important;
}




.prose ul:not([class]), .prose ol:not([class]) { padding-left: 1.15rem; margin: 0.4rem 0 1.3rem; }
.prose ul:not([class]) > li, .prose ol:not([class]) > li { line-height: 1.55; margin: 0 0 0.65rem; padding-left: 0.2rem; }
.prose ul:not([class]) > li::marker { content: "▪  "; color: var(--cb-gold); font-size: 0.8em; }
.prose ol:not([class]) > li::marker { color: var(--cb-gold); font-weight: 700; font-family: var(--cb-serif); }
.prose ul:not([class]) > li > strong:first-child, .prose ol:not([class]) > li > strong:first-child { color: var(--cb-gold-pale); font-weight: 600; }
.prose li > ul, .prose li > ol { margin: 0.45rem 0 0.2rem; }





main p[style*="font-size:0.85rem"], main p[style*="font-size: 0.85rem"], main p[style*="font-size:0.875rem"],
main p[style*="font-size:0.8rem"], main p[style*="font-size: 0.8rem"], main p[style*="font-size:0.9rem"],
main div[style*="font-size:0.85rem"], main span[style*="font-size:0.85rem"], main li[style*="font-size:0.85rem"],
.card p, .card li { font-size: 0.95rem !important; line-height: 1.55; }
.system-message .system-body, .system-message .system-reward { font-size: 0.95rem; }











.content-wrapper.prose.prose > * { max-width: 37rem; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 700px) {
  .content-wrapper.prose.prose > :is(p:not([class]), ul:not([class]), ol:not([class]), dl, h2, h3, h4, blockquote) {
    padding-right: 3rem; box-sizing: border-box; }
}
.content-wrapper.prose.prose > :is(.card-grid, .cover-grid, .vote-grid, .rank-list, .vote-spoiler-wrap, .card, figure,
  .floor-diagram, .b9-wait, .quiz, .cb-grid, .cb-examples, .cm-board, .cm-add, .cm-achieve,
  .spoiler-gate, table, .table-wrap, img, script, style) { max-width: none; }

.content-wrapper.prose.prose > .char-art { margin-right: max(0px, calc(50% - 18.5rem)) !important; }

.content-wrapper.prose.prose > span { display: block; width: fit-content; margin-left: max(0px, calc(50% - 18.5rem)) !important; }





@media (min-width: 640px) {
  .card-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .card-grid:has(> :nth-child(4):last-child), .card-grid:has(> :nth-child(5):last-child),
  .card-grid:has(> :nth-child(6):last-child), .card-grid:has(> :nth-child(7):last-child),
  .card-grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid:has(> :nth-child(5):last-child) > :last-child,
  .card-grid:has(> :nth-child(7):last-child) > :last-child { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .card-grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .card-grid:has(> :nth-child(7):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .card-grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}






@media (min-width: 1024px) {
  .content-wrapper.prose.prose { --read: clamp(19px, calc(11px + 0.6vw), 24px); --colw: calc(var(--read) * 42.5); max-width: max(var(--max-width), calc(var(--colw) + 4rem)); }
  .content-wrapper.prose.prose > * { max-width: var(--colw); }
  .content-wrapper.prose.prose > :is(p:not([class]), ul:not([class]), ol:not([class]), dl, h2, h3, h4, blockquote) { padding-right: calc(var(--read) * 2); }
  .content-wrapper.prose.prose > p:not([class]), .content-wrapper.prose.prose > ul:not([class]) > li, .content-wrapper.prose.prose > ol:not([class]) > li { font-size: var(--read); line-height: 1.75; }
  .content-wrapper.prose.prose > p:not([class]), .content-wrapper.prose.prose > ul:not([class]), .content-wrapper.prose.prose > ol:not([class]) { margin-bottom: 1.3em; }
  .content-wrapper.prose.prose > .char-art { margin-right: max(0px, calc(50% - var(--colw) / 2)) !important; }
  .content-wrapper.prose.prose > span { margin-left: max(0px, calc(50% - var(--colw) / 2)) !important; }
  


  .content-wrapper.prose.prose > :not(.card-grid):not(.cover-grid):not(.vote-grid):not(.cb-grid):not(.quiz):not(.pg-game):not(figure):not(.card) :is(p, li, dd, .system-body),
  .content-wrapper.prose.prose > p[class] { font-size: calc(var(--read) * 0.92); line-height: 1.7; }
  .content-wrapper.prose.prose > :not(.card-grid):not(.cover-grid):not(.vote-grid):not(.cb-grid):not(.quiz):not(.pg-game):not(figure):not(.card) :is(p, li, dd, .system-body, .crawler-body) { max-width: calc(var(--read) * 39); }
}


.wait-table { width: 100%; border-collapse: collapse; margin: 0.5rem 0 1rem; font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.wait-table th, .wait-table td { text-align: left; padding: 0.45rem 0.5rem; border-top: 1px solid var(--color-border); vertical-align: top; }
.wait-table thead th { border-top: 0; font-size: 0.75rem; font-weight: 600; color: var(--color-text-dim); }
.wait-table tbody th { font-weight: 700; color: var(--color-text); }
.wait-table .wait-now th, .wait-table .wait-now td { color: var(--color-accent); }
@media (max-width: 480px) { .wait-table { font-size: 0.82rem; } .wait-table th, .wait-table td { padding: 0.4rem 0.3rem; } }
