@font-face {
  font-family: 'Pixelify Sans';
  src: url("../fonts/pixelify-sans.bc65ce966114.ttf") format('truetype');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
.site--pixel .u-languages { display: flex; gap: 4px; flex-shrink: 0; align-items: center; }
.site--pixel .u-languages :is(a, .u-language-unavailable) { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 4px; }
.site--pixel .u-languages img { width: 24px; height: 16px; box-shadow: 0 0 0 1px #ffffff30; image-rendering: pixelated; }
.site--pixel .u-pixel-icon { display: inline-block; flex-shrink: 0; width: 16px; height: 16px; vertical-align: -3px; }
.site--pixel .u-header-search .u-pixel-icon { vertical-align: middle; }
.site--pixel input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; width: 16px; height: 16px; margin-inline-start: 8px; background-color: currentColor; mask: url("../art/search-clear.0d02a00a6112.svg") center / contain no-repeat; cursor: pointer; }
.site--pixel .u-languages a, .site--pixel .u-languages a:hover { text-decoration: none; }
.site--pixel .u-languages a:focus-visible { outline: 2px solid var(--u-gold); outline-offset: 2px; }
.site--pixel .u-language-unavailable { opacity: .5; }
@media (max-width: 1000px) {
  .site--pixel .u-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px 18px; }
  .site--pixel .u-logo { grid-column: 1 / 3; grid-row: 1; justify-self: start; }
  .site--pixel .u-languages { grid-column: 3; grid-row: 1; }
  .site--pixel .u-nav { grid-column: 1; grid-row: 2; margin-left: 0; }
  .site--pixel .u-header-search { grid-column: 2 / 4; grid-row: 2; min-width: 0; }
}
@media (max-width: 430px) {
  .site--pixel .u-head { column-gap: 10px; }
  .site--pixel .u-head .u-wordmark { width: clamp(160px, 50vw, 200px); }
}
body.pixel-site {
  color-scheme: dark;
  background: linear-gradient(#101215b8, #101215b8), url("../art/stone.73687f9e228c.svg");
}
.site--pixel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  color-scheme: dark;
  --u-bg: #1e2125;
  --u-panel: #292c30;
  --u-panel2: #363a3f;
  --u-ink: #e8e1d1;
  --u-muted: #bdb9ae;
  --u-gold: #cdb987;
  --u-line: #4b4e52;
  --u-action: #4a4e53;
  --u-actiontext: #f3e9d5;
  --u-header: #181b1e;
  --u-search-bg: #14171a;
  --u-field-line: #55595e;
  --u-trim: #7b7a6e;
  --u-frame: #3b3e43;
  --u-hover: #edcf95;
  --u-reading-width: 47.5rem;
  max-width: 1360px;
  background: var(--u-bg);
  border-left: 1px solid var(--u-line);
  border-right: 1px solid var(--u-line);
  box-shadow: 0 0 50px #0006;
}
.site--pixel :is(h2, h3) {
  font-family: system-ui, sans-serif;
  font-weight: 500;
  line-height: 1.3;
}
.site--pixel :is(strong, b) { font-weight: 600; }
.site--pixel h1,
.site--pixel .u-home-news .u-sectiontitle h2,
.site--pixel .home-library > h2,
.site--pixel .home-library .u-chapter h3 {
  font-family: 'Pixelify Sans', system-ui, sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}
.site--pixel [id] { scroll-margin-top: calc(var(--u-header-height, 100px) + 24px); }
.site--pixel .u-wrap { flex: 1 0 auto; }
.site--pixel .u-head, .site--pixel .u-footer { flex-shrink: 0; }
.site--pixel .u-logo {
  display: block;
  flex-shrink: 0;
  padding: 0;
  text-align: center;
}
.site--pixel .u-wordmark {
  display: block;
  position: relative;
  overflow: hidden;
  width: 252px;
  aspect-ratio: 378 / 60;
}
.site--pixel .u-wordmark img {
  position: absolute;
  left: -11.111%;
  top: -26.667%;
  width: 121.694%;
  max-width: none;
  height: auto;
  image-rendering: pixelated;
  mix-blend-mode: screen;
}
.site--pixel .u-logo small {
  color: var(--u-muted);
  font-size: 9px;
  letter-spacing: 2.7px;
  margin-top: 7px;
}
.site--pixel .u-header-search:focus-within { border-color: var(--u-gold); }
.site--pixel .u-header-search input::placeholder { color: var(--u-muted); opacity: 1; }
.site--pixel .u-menu-panel .u-chapter { grid-column: 1; background: none; border: 0; border-top: 1px solid var(--u-line); padding-top: 10px; }
.site--pixel .u-menu-panel .u-chapters { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.site--pixel .u-menu-panel .u-chapter h3 { font-size: 17px; }
.site--pixel .u-menu-panel .u-chapter ul { display: block; list-style: disc; padding-left: 18px; }
.site--pixel .u-hero {
  --hero-focal-x: 50%;
  --hero-focal-y: 44%;
  display: flex;
  position: relative;
  align-items: flex-end;
  min-height: clamp(420px, 36vw, 480px);
  margin: 0 0 30px;
  padding: 28px;
  overflow: hidden;
  background: #051020;
  border: 6px solid;
  border-color: #62666b #36393d #26292d #51565b;
  box-shadow: 0 0 0 1px #101214;
}
.site--pixel .u-hero-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-focal-x) var(--hero-focal-y);
  image-rendering: pixelated;
}
.site--pixel .u-hero-lightstage {
  display: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  container-type: size;
}
@supports (width: 1cqw) {
  .site--pixel .u-hero-lightstage { display: block; }
}
/* Match object-fit: cover and the image's focal point in source coordinates. */
.site--pixel .u-hero-lights {
  position: absolute;
  width: max(100cqw, calc(100cqh * 2700 / 1380));
  height: auto;
  max-width: none;
  left: var(--hero-focal-x);
  top: var(--hero-focal-y);
  transform: translate(calc(var(--hero-focal-x) * -1), calc(var(--hero-focal-y) * -1));
}
.site--pixel .u-tavern-light {
  opacity: .44;
  animation: tavern-glow 8.3s ease-in-out -3.2s infinite;
}
.site--pixel .u-tavern-light--lantern { animation-name: lantern-glow; animation-duration: 5.7s; animation-delay: -1.6s; }
.site--pixel .u-tavern-light--window-left { animation-duration: 7.1s; animation-delay: -4.8s; }
.site--pixel .u-tavern-light--window-right { animation-duration: 9.7s; animation-delay: -.8s; }
@keyframes tavern-glow {
  0%, 100% { opacity: .38; }
  9% { opacity: .86; }
  16% { opacity: .44; }
  24% { opacity: .76; }
  39% { opacity: .22; }
  47% { opacity: .58; }
  56% { opacity: .36; }
  67% { opacity: .92; }
  74% { opacity: .46; }
  89% { opacity: .7; }
}
@keyframes lantern-glow {
  0%, 100% { opacity: .34; }
  9% { opacity: .76; }
  16% { opacity: .38; }
  24% { opacity: .68; }
  39% { opacity: .24; }
  47% { opacity: .56; }
  56% { opacity: .32; }
  67% { opacity: .8; }
  74% { opacity: .44; }
  89% { opacity: .66; }
}
.site--pixel .u-hero-copy {
  position: relative;
  padding: 22px 26px;
  max-width: 540px;
  background: #111a23eb;
  border: 1px solid #7b7a6e80;
  box-shadow: 0 4px 20px #0005;
}
.site--pixel .u-hero h1 { font-size: clamp(34px, 4.1vw, 46px); line-height: 1.14; margin: 14px 0 18px; }
.site--pixel .u-hero h1 span { color: var(--u-gold); }
.site--pixel .u-hero p { max-width: 400px; color: #dedace; }
.site--pixel .u-hero .u-label { color: var(--u-gold); font-size: 10px; letter-spacing: 2px; }
.site--pixel .u-sectiontitle { margin-bottom: 16px; }
.site--pixel .u-home-news .u-sectiontitle h2,
.site--pixel .home-library > h2 { font-size: 30px; }
.site--pixel .u-sectiontitle > a { color: var(--u-gold); }
.site--pixel .u-home-news {
  margin: 0 -30px;
  padding: 26px 30px 28px;
  background: var(--u-panel);
}
.site--pixel .u-news-grid { gap: 32px; }
.site--pixel .u-news-card {
  padding: 2px 0 8px;
  gap: 11px;
  border: 0;
}
.site--pixel .u-news-card .u-small { color: var(--u-gold); font-size: 12px; }
.site--pixel .u-news-card h3 { font-family: system-ui, sans-serif; font-size: 25px; color: #dedbd2; font-weight: 400; line-height: 1.3; }
.site--pixel .u-news-card h3 a:hover { color: var(--u-hover); }
.site--pixel .home-library { margin-top: 34px; }
.site--pixel .u-chapters { gap: 18px; }
.site--pixel .u-wrap .u-chapter {
  padding: 18px;
  gap: 13px;
}
.site--pixel .u-wrap .u-chapter--illustrated h3 { display: flex; align-items: center; gap: 12px; font-size: 24px; }
.site--pixel .u-chapter-icon { flex-shrink: 0; width: 40px; height: 40px; image-rendering: pixelated; }
.site--pixel .u-wrap .u-chapter--illustrated ul { margin-left: 52px; font-size: 14px; gap: 8px; }
.site--pixel .home-library .u-chapter ul { display: block; list-style: disc; }
.site--pixel .home-library .u-chapter li + li { margin-top: 8px; }
.site--pixel .home-library .u-chapter li::marker { color: var(--u-muted); }
.site--pixel .u-wrap .u-chapter li a:hover { color: var(--u-hover); }
.site--pixel .u-footer { align-items: center; gap: 10px 24px; border-top-color: var(--u-line); color: var(--u-muted); font-size: 12px; background: var(--u-header); }
.site--pixel .u-footer-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
@media (max-width: 800px) {
  .site--pixel .u-hero h1 { font-size: 34px; }
  .site--pixel .u-wrap .u-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site--pixel .u-wrap .u-chapter, .site--pixel .u-wrap .u-chapter:nth-last-child(-n+2) { grid-column: span 1; }
}
@media (max-width: 730px) {
  .site--pixel .u-home-news { margin-inline: -20px; padding: 24px 20px; }
}
@media (max-width: 600px) {
  .site--pixel .u-hero { --hero-focal-x: 74%; --hero-focal-y: 50%; min-height: 500px; padding: 16px; border-width: 4px; }
  .site--pixel :is(.u-hero-art, .u-hero-lightstage) { top: -14%; bottom: auto; height: 128%; }
  .site--pixel .u-hero-copy { width: 100%; padding: 20px 18px; }
  .site--pixel .u-hero p { max-width: 320px; }
  .site--pixel .u-news-grid { gap: 14px; }
  .site--pixel .u-news-card { padding: 2px 0 8px; }
  .site--pixel .u-news-card h3 { font-size: 25px; }
  .site--pixel .u-sectiontitle { gap: 8px; }
  .site--pixel .u-sectiontitle > a { font-size: 12px; }
  .site--pixel .u-wrap .u-chapter--illustrated ul { margin-left: 52px; }
  .site--pixel .u-wrap .u-chapters { grid-template-columns: minmax(0, 1fr); }
}

.site--pixel .u-reading {
  max-width: 1160px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr) 240px;
  column-gap: 100px;
  row-gap: 0;
}
.site--pixel .u-reading > .u-crumb { grid-column: 1; margin-bottom: 24px; font-size: .875rem; }
.site--pixel .u-article { grid-column: 1; grid-row: 2; max-width: var(--u-reading-width); }
.site--pixel :is(.u-article, .u-news-entry) { display: block; color: #d0cec6; font-size: 1.125rem; font-weight: 400; line-height: 1.7; }
.site--pixel .u-articleheader h1 { font-size: clamp(42px, 4.2vw, 56px); line-height: 1.12; }
.site--pixel :is(.u-article, .u-news-entry) :is(h2, h3) { color: #dedbd2; font-weight: 400; }
.site--pixel :is(.u-article, .u-news-entry) .u-lead { color: #bbbcb6; font-size: 1.25rem; line-height: 1.6; }
.site--pixel :is(.u-article, .u-news-entry) .prose { line-height: inherit; }
.site--pixel :is(.u-article, .u-news-entry) .prose p { margin-bottom: 1.25em; }
.site--pixel :is(.u-article, .u-news-entry) .prose p:last-child { margin-bottom: 0; }
.site--pixel :is(.u-article, .u-news-entry) .prose :is(ul, ol) { margin-block: 0; padding-left: 24px; }
.site--pixel :is(.u-article, .u-news-entry) .prose li + li { margin-top: 8px; }
.site--pixel .u-article h2 { font-size: 1.75rem; }
.site--pixel .u-article h3 { font-size: 1.375rem; }
.site--pixel .u-body-links, .site--pixel .u-side ul { list-style: disc; padding-left: 20px; margin: 0; }
.site--pixel .u-body-links li + li, .site--pixel .u-side li + li { margin-top: 8px; }
.site--pixel .u-body-links li::marker, .site--pixel .u-side li::marker { color: var(--u-muted); }
.site--pixel :is(.u-article, .u-news-entry) > * + * { margin-top: 1.25em; }
.site--pixel :is(.u-article, .u-news-entry) > :is(h2, h3) { margin-top: 2.5rem; }
.site--pixel :is(.u-article, .u-news-entry) > :is(h2, h3) + * { margin-top: 1rem; }
.site--pixel .prose a { color: var(--u-gold); text-decoration: underline; }
.site--pixel :is(.u-article, .u-news-entry) a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.site--pixel :is(.u-article, .u-news-entry) a:hover { color: var(--u-hover); }
.site--pixel .u-read-next { margin-left: 24px; padding: 22px 26px; background: var(--u-panel); border-left: 2px solid var(--u-trim); }
.site--pixel :is(.u-article, .u-news-entry) .u-read-next :is(h2, h3) { margin: 0 0 14px; font-size: 1.25rem; }
.site--pixel .u-guide-picture { margin-block: 28px; }
.site--pixel .u-guide-picture img { display: block; width: auto; max-width: 100%; height: auto; border: 1px solid var(--u-line); box-sizing: border-box; }
.site--pixel .u-guide-picture figcaption { margin-top: 10px; color: var(--u-muted); font-size: .875rem; line-height: 1.5; }
@media (max-width: 600px) {
  .site--pixel .u-read-next { margin-left: 0; padding: 18px 20px; }
}
.site--pixel .u-side {
  grid-column: 2;
  grid-row: 2;
  position: sticky;
  top: calc(var(--u-header-height, 100px) + 28px);
  max-height: calc(100dvh - var(--u-header-height, 100px) - 56px);
  overflow-y: auto;
  padding: 0 0 0 22px;
  border-left-color: var(--u-trim);
  font-size: .875rem;
  line-height: 1.6;
}
.site--pixel .u-side a:hover, .site--pixel .u-related a { color: var(--u-gold); }
.site--pixel .u-hints details { border-radius: 0; }
.site--pixel .u-hints summary { list-style: none; }
.site--pixel .u-hints summary::-webkit-details-marker { display: none; }
.site--pixel .u-hints details[open] > summary .u-pixel-icon { transform: rotate(180deg); }
.site--pixel .u-hints summary:hover { background: var(--u-panel2); }
.site--pixel summary:focus-visible { outline: 2px solid var(--u-gold); outline-offset: 2px; }
.site--pixel .u-hints details[open] summary { color: var(--u-gold); }
.site--pixel .u-news-page { max-width: 1160px; margin: 0 auto; }
.site--pixel .u-news-page .u-libraryhead h1 { font-size: clamp(42px, 4.2vw, 56px); line-height: 1.12; }
.site--pixel .u-news-entry { padding: 0 0 40px; border: 0; }
.site--pixel .u-news-entry + .u-news-entry { padding-top: 40px; border-top: 1px solid var(--u-line); }
.site--pixel .u-news-entry > :not(.u-news-entry-head) { max-width: var(--u-reading-width); }
.site--pixel .u-news-entry-head .u-lead { max-width: var(--u-reading-width); }
.site--pixel .u-news-entry-head h2 { font-size: clamp(1.875rem, 3.5vw, 2.125rem); }
.site--pixel .u-news-entry h3 { font-size: 1.75rem; }
.site--pixel .u-news-entry-head .u-small { color: var(--u-gold); }
.site--pixel .u-search-page { max-width: 1000px; margin: 0 auto; }
.site--pixel .u-form input::placeholder { color: var(--u-muted); opacity: 1; }
.site--pixel .u-result { margin-top: 14px; padding: 20px 22px; }
.site--pixel .u-result h2 { font-size: 26px; }
.site--pixel .u-result h2 a:hover { color: var(--u-gold); }
.site--pixel .u-empty, .site--pixel .u-categoryempty { padding: 24px; }
.site--pixel .u-empty > a { color: var(--u-gold); }
.site--pixel .u-claim { display: flex; align-items: center; gap: 18px; }
.site--pixel .u-torch {
  --torch-width: 64px;
  --torch-height: 96px;
  display: block;
  flex: 0 0 var(--torch-width);
  width: var(--torch-width);
  height: var(--torch-height);
  background: url("../art/torch-sprite.41283598decb.svg") 0 0 / calc(var(--torch-width) * 4) var(--torch-height) no-repeat;
  image-rendering: pixelated;
  animation: torch-burn 1.2s steps(4, end) infinite;
}
@keyframes torch-burn {
  to { background-position: calc(var(--torch-width) * -4) 0; }
}
@media (max-width: 1000px) {
  .site--pixel .u-reading { grid-template-columns: minmax(0, 1fr); max-width: var(--u-reading-width); }
  .site--pixel .u-side { display: none; }
}
@media (max-width: 800px) {
  .site--pixel .u-torch { --torch-width: 48px; --torch-height: 72px; }
}
@media (max-width: 600px) {
  .site--pixel .u-hero h1 { font-size: clamp(26px, 7.2vw, 30px); }
  .site--pixel :is(.u-article h2, .u-news-entry h3) { font-size: 1.625rem; }
  .site--pixel .u-claim { gap: 8px; }
  .site--pixel .u-torch { --torch-width: 32px; --torch-height: 48px; }
  .site--pixel .u-result { padding: 18px; }
  .site--pixel .u-result h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .site--pixel .u-torch { animation: none; }
  .site--pixel .u-tavern-light { animation: none; opacity: 0; }
  .site--pixel .u-chevron { transition: none; }
}

/* Stone surrounds echo the game UI; reading surfaces stay quiet. */
.site--pixel .u-head,
.site--pixel .u-footer {
  background: linear-gradient(#14171ade, #14171ade), url("../art/stone.73687f9e228c.svg");
}
.site--pixel .u-head {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--u-line);
  isolation: isolate;
}
.site--pixel .u-footer {
  border-top: 1px solid var(--u-line);
}
.site--pixel :is(.u-result, .u-empty, .u-categoryempty, .u-menu-panel),
.site--pixel .u-wrap .u-chapter {
  background: linear-gradient(#24272bea, #202327ea), url("../art/stone.73687f9e228c.svg");
  border: 1px solid var(--u-line);
}
.site--pixel .u-menu { position: relative; }
.site--pixel .u-menu-panel {
  top: calc(100% + 12px);
  left: 0;
  right: auto;
  width: 320px;
  max-width: calc(100vw - 42px);
  box-sizing: border-box;
  padding: 18px 20px 22px;
  max-height: min(70dvh, calc(100dvh - var(--u-header-height, 100px) - 16px));
  box-shadow: 0 12px 24px #0006;
}
.site--pixel :is(.u-primary, .u-secondary, .u-filter) {
  color: var(--u-ink);
  background: linear-gradient(#54585ba6, #2b2f34c9), url("../art/stone.73687f9e228c.svg");
  border: 1px solid #17191d;
  border-radius: 0;
  box-shadow: inset 1px 1px #8a8b81, inset -1px -1px #1b1e22, 0 1px #0b0d10;
  text-shadow: 1px 1px #111;
}
.site--pixel :is(.u-menu > summary, .u-nav > a) { padding: 8px 0; }
.site--pixel :is(.u-menu > summary, .u-nav > a):hover { color: var(--u-hover); }
.site--pixel .u-filter[aria-pressed='true'] {
  color: #f0d69c;
  border-color: #9b885e;
  background: linear-gradient(#655e4b99, #343332d9), url("../art/stone.73687f9e228c.svg");
  box-shadow: inset 1px 1px #b3a17a, inset -1px -1px #252629;
}
.site--pixel :is(.u-primary, .u-secondary, .u-filter):hover {
  color: #fff1cc;
  border-color: #b1a17c;
  text-decoration: none;
}
.site--pixel :is(.u-primary, .u-secondary, .u-filter):active {
  box-shadow: inset 1px 1px #111, inset -1px -1px #73756d;
}
.site--pixel :is(.u-header-search, .u-form) {
  border-radius: 0;
  border: 1px solid var(--u-line);
  background: #13161a;
  box-shadow: inset 0 2px 4px #0006;
}
.site--pixel .u-header-search button {
  background: linear-gradient(#505459a6, #2b2e32c9), url("../art/stone.73687f9e228c.svg");
  border-left: 1px solid var(--u-line);
  box-shadow: inset 1px 1px #808279, inset -1px -1px #1b1d21;
}
.site--pixel .u-header-search button:hover { color: var(--u-hover); }
.site--pixel .u-hints details {
  background: linear-gradient(#25282de8, #25282de8), url("../art/stone.73687f9e228c.svg");
  border: 1px solid var(--u-line);
}
.site--pixel .u-article th { color: #d9c594; background: #292d31; }
@media (max-width: 600px) {
  .site--pixel .u-wordmark { width: 232px; }
  .site--pixel .u-head { column-gap: 14px; }
  .site--pixel .u-nav { gap: 20px; }
  .site--pixel :is(.u-menu > summary, .u-nav > a) { padding: 8px 0; font-size: 14px; }
}
.site--pixel .u-gog-purchase { margin: 18px 0; }
.site--pixel .u-gog-purchase .u-open { display: inline-flex; padding: 10px 14px; border: 1px solid var(--u-line); background: var(--u-header); }
.site--pixel .u-footer > .u-small { flex-basis: 100%; margin: 0; }
