/* A Fuse in Time: the game's paper, ink and brass and its Alegreya type, inside the DNSTUFF page frame. */
@font-face { font-family: "Alegreya"; src: url("alegreya.woff2") format("woff2"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Alegreya Sans"; src: url("alegreya-sans.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Alegreya Sans"; src: url("alegreya-sans-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Alegreya Sans"; src: url("alegreya-sans-italic.woff2") format("woff2"); font-style: italic; font-display: swap; }

:root {
  --paper: #F4EBD9; --surface: #FBF6EC; --ink: #2B2118; --muted: #6E5E4C; --line: #DDCDB2;
  --kraft: #A8761F; --link: #8A5F15; --tape: #E3C27F; --title: #9C3D25; --shade: rgba(60, 40, 20, .14);
  --body: "Alegreya Sans", "Segoe UI", system-ui, sans-serif;
  --heading: "Alegreya", Georgia, "Times New Roman", serif; --heading-color: var(--title); --heading-case: none; --heading-track: 0;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #1C1611; --surface: #261E17; --ink: #EFE4D2; --muted: #B5A48D; --line: #3D3126;
    --kraft: #D9A54A; --link: #E8BC6A; --tape: #6B5228; --title: #E08A63; --shade: rgba(0, 0, 0, .4);
  }
}
:root[data-theme="dark"] {
  --paper: #1C1611; --surface: #261E17; --ink: #EFE4D2; --muted: #B5A48D; --line: #3D3126;
  --kraft: #D9A54A; --link: #E8BC6A; --tape: #6B5228; --title: #E08A63; --shade: rgba(0, 0, 0, .4);
}

.game-hero { position: relative; aspect-ratio: 3840 / 1240; max-height: 520px; width: 100%; overflow: hidden; background: #3a2a1d; }
.game-hero img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 40%; }
.game-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 32px 48px; padding-block: 36px 8px; align-items: start; }
.game-head h1 { font-size: clamp(44px, 7vw, 76px); font-weight: 800; }
.game-head .alt { font-family: var(--heading); font-style: italic; color: var(--muted); font-size: 22px; margin: 6px 0 18px; }
.get { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; box-shadow: 0 10px 30px var(--shade); }
.get h2 { font-size: 22px; margin: 0 0 10px; }
.get .button { width: 100%; justify-content: center; }
.get p { font-size: 15px; color: var(--muted); margin: 10px 0 0; }
.get ul { margin: 12px 0 0; padding-left: 18px; font-size: 15px; color: var(--muted); }
@media (max-width: 820px) { .game-head { grid-template-columns: 1fr; } }

.trailer { margin: 8px 0 0; border-radius: 14px; overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
.trailer video { width: 100%; height: 100%; }
ul.features { padding-left: 22px; }
ul.features li { margin-bottom: 8px; }
.shots { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
@media (max-width: 640px) { .shots { grid-template-columns: 1fr; } }
.shots li { margin: 0; max-width: none; }
.shots figure { margin: 0; }
.shots a { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 9; background: #3a2a1d; }
.shots img { width: 100%; height: 100%; object-fit: cover; }
.shots figcaption { font-size: 15px; color: var(--muted); margin-top: 6px; }
.req { overflow-x: auto; }
.req table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: 16px; }
.req th, .req td { text-align: left; vertical-align: top; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--line); }
.req th { color: var(--muted); font-weight: 700; }
