:root {
  color-scheme: light;
  --bg: #fff;
  --panel: #fff;
  --panel-light: #f5f5f2;
  --text: #111;
  --muted: #4b4b4b;
  --line: #c9c9c4;
  --acid: #af1717;
  --red: #af1717;
  --serif: Georgia, "Times New Roman", serif;
  --mono: "Courier New", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
a { color: inherit; }
body {
  margin: 0;
  position: relative;
  isolation: isolate;
  font-family: "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body > * { position: relative; z-index: 1; }
.wrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.topline .wrap,
.nav,
.nav-links,
.brand,
.hero-actions,
.section-heading,
.mod-meta,
.mod-bottom,
.footer-row { display: flex; align-items: center; }
.topline .wrap { height: 100%; justify-content: space-between; }
.nav {
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  min-height: 78px;
  height: auto;
  justify-content: space-between;
  gap: 20px;
  margin-inline: 0;
  padding-inline: max(24px, calc((100% - 1120px) / 2));
  background: linear-gradient(105deg, #57090d, #a20e0e 52%, #69090d);
  color: #fff;
}
.brand {
  gap: 11px;
  color: #111;
  font: 700 22px var(--serif);
  letter-spacing: -.04em;
  text-decoration: none;
}
.brand-mark {
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  object-fit: contain;
  filter: drop-shadow(0 0 5px rgba(250,16,28,.32));
}
.nav-links { justify-content: flex-end; gap: 24px; }
.nav-links a { text-decoration: none; transition: color .2s ease; }
.nav-cta { padding: 11px 15px; font: 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 17px;
  border: 1px solid transparent;
  font: 12px var(--mono);
  letter-spacing: .045em;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.section-heading { justify-content: space-between; margin-bottom: 25px; }
.section-heading h2 { margin: 0; }
.section-heading p { max-width: 390px; margin: 0; line-height: 1.7; }
footer { border-top: 1px solid #c9c9c4; }
.footer-row { min-height: 76px; justify-content: space-between; gap: 20px; font: 11px var(--mono); letter-spacing: .04em; }

body {
  position: relative;
  background: #fff;
  color: #111;
  font-size: 16px;
}

body::before,
body::after {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
}

body::before {
  opacity: .12;
  background-image:
    radial-gradient(1px 1px at 24px 35px, #c8b9ad 98%, transparent),
    radial-gradient(1px 1px at 83px 119px, #d0c3b9 98%, transparent),
    radial-gradient(1px 1px at 153px 61px, #b9aaa0 98%, transparent),
    radial-gradient(1px 1px at 207px 166px, #d0c3b9 98%, transparent),
    radial-gradient(1px 1px at 278px 26px, #b9aaa0 98%, transparent);
  background-size: 360px 280px, 410px 320px, 330px 260px, 460px 350px, 390px 300px;
  animation: ash-drift 48s linear infinite;
}

body::after {
  display: none;
  background-image:
    radial-gradient(2px 5px at 72px 84px, #a20e0e 98%, transparent),
    radial-gradient(1px 4px at 223px 194px, #a20e0e 98%, transparent);
  background-size: 510px 380px;
  animation: blood-drift 27s linear infinite;
}

@keyframes ash-drift {
  from { background-position: 0 0; }
  to { background-position: 0 0, 0 0, 18px 280px, -22px 320px, 26px 260px, -18px 350px; }
}

@keyframes blood-drift {
  from { background-position: 0 0; }
  to { background-position: -18px 380px; }
}

.topline {
  height: 38px;
  border-color: #deded9;
  color: #414141;
  font-size: 11px;
}

.signal, .brand span:last-child, h1 em { color: #a20e0e; }
.brand { color: #fff; font-size: 22px; }
.brand span:last-child { color: #fff; }
.brand span:last-child span { color: #fff; }
.brand-mark { border-color: rgba(255,255,255,.75); color: #fff; }
.nav-links a { color: #fff; font-size: 14px; }
.nav-links a:hover { color: #ffd9d9; }
.nav-cta { border-color: rgba(255,255,255,.75); color: #fff !important; }
.nav-cta:hover { background: #fff; color: #7d0b10 !important; }
.release-status {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  color: #fff;
  font: 700 10px var(--mono);
  letter-spacing: .04em;
  white-space: nowrap;
}
.release-status::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f0c7c7;
  content: "";
}

.hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 555px;
  overflow: hidden;
  background: #fff;
  border-color: #c9c9c4;
  isolation: isolate;
}

.hero::before {
  z-index: 1;
  background: linear-gradient(90deg, #fff 0%, #fff 36%, rgba(255,255,255,.92) 46%, rgba(255,255,255,.05) 73%, transparent 100%);
}

.hero-copy { position: relative; z-index: 2; padding: 68px 0 74px; }
.eyebrow { color: #8f1010; font-size: 12px; }
.eyebrow::before { background: #a20e0e; }
h1 { color: #111; font-family: var(--serif); font-weight: 700; }
.hero h1 { max-width: 570px; margin: 23px 0 19px; font-size: clamp(50px, 7vw, 82px); line-height: .98; letter-spacing: -.055em; }
.hero h1 em { color: #a20e0e; font-weight: 400; }
.hero-copy > p { max-width: 440px; margin: 0; color: #343434; font-size: 17px; line-height: 1.8; }
.hero-actions { gap: 12px; margin-top: 29px; }

.scene {
  position: absolute;
  inset: 0 0 0 36%;
  z-index: 0;
  overflow: visible;
  background:
    radial-gradient(ellipse at 68% 51%, rgba(162,14,14,.08), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fbfbfa 74%, #f0efed 100%);
}

.monster {
  position: absolute;
  right: 3%;
  bottom: -3%;
  width: min(94%, 520px);
  height: 100%;
  overflow: visible;
  filter: drop-shadow(8px 10px 0 rgba(0,0,0,.1));
  animation: haunt 5s ease-in-out infinite;
}

.slender-figure { fill: #111; opacity: .87; }
.slender-figure path:first-child { filter: drop-shadow(0 0 12px rgba(0,0,0,.12)); }
.slender-figure path:last-child { fill: #f4f3f0; }
.voxel-creature { fill: #090909; }
.glow-eyes { fill: #b40e16; filter: drop-shadow(0 0 8px rgba(180,14,22,.95)); }
.creature-mouth { fill: #eee; }
.blood-mark { fill: #a20e0e; opacity: .78; }
.scene-label {
  right: 5%;
  bottom: 20px;
  color: #a20e0e;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: .16em;
}

@keyframes haunt {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-9px) rotate(.6deg); }
}

.hero::after {
  position: absolute;
  top: 0;
  right: 8%;
  z-index: 2;
  width: 20px;
  height: 46px;
  border-radius: 0 0 50% 50%;
  background: linear-gradient(#a20e0e 0 72%, transparent 73%);
  opacity: .7;
  content: "";
}

.mods, .reviews { color: #111; }
.section-heading h2 { color: #111; font-weight: 700; }
.section-heading p { color: #444; font-size: 14px; }
.about-note, .review-notice {
  border: 1px solid #c9c9c4;
  border-left: 3px solid #a20e0e;
  background: #f7f7f5;
  color: #333;
  font-size: 15px;
}
.about-note strong, .review-notice strong { color: #111; }
.mod-card { border-color: #bdbdb7; background: #fff; }
.mod-art {
  background:
    radial-gradient(ellipse at 50% 44%, #fff 0%, #f1f1ed 52%, #deded8 100%);
}
.mod-art::before {
  background-image: linear-gradient(rgba(0,0,0,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.045) 1px, transparent 1px);
}
.art-eye { border-color: rgba(0,0,0,.75); box-shadow: 0 0 30px rgba(0,0,0,.12); }
.art-eye::after { background: #a20e0e; box-shadow: 0 0 16px #a20e0e; }
.art-caption { color: #111; }
.mod-meta, .dot, .step-num, .review-stars { color: #a20e0e; }
.dot { background: #a20e0e; }
.mod-info h3 { color: #111; font-weight: 700; }
.mod-info > p { color: #333; font-size: 15px; }
.tag { border-color: #bdbdb7; color: #222; }
.download-note { color: #444; }
.download-note strong { color: #111; }
.button-primary { background: #111; color: #fff; }
.button-primary:hover { background: #a20e0e; }
.button-quiet { border-color: #111; color: #111; }
.button-quiet:hover { border-color: #a20e0e; color: #a20e0e; }
.steps { border-color: #c9c9c4; background: #c9c9c4; }
.step { background: #fff; }
.step p { color: #333; font-size: 14px; }
.step code { color: #111; }
.review-card { border-color: #c9c9c4; background: #fff; }
.review-card blockquote { color: #222; }
.review-author { color: #222; }
.review-author span { color: #555; }
.review-link, .footer-row a { color: #9c1111; }
footer { border-color: #c9c9c4; }
.footer-row { color: #444; }

.page-content { padding: 66px 0 86px; }
.page-kicker {
  margin: 0 0 14px;
  color: #9c1111;
  font: 12px var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.page-content h1 {
  max-width: 820px;
  margin: 0 0 22px;
  font: 700 clamp(46px, 8vw, 82px)/.98 var(--serif);
  letter-spacing: -.055em;
}
.page-lead {
  max-width: 700px;
  margin: 0 0 38px;
  color: #383838;
  font-size: 19px;
  line-height: 1.75;
}
.page-panel {
  max-width: 850px;
  margin: 18px 0;
  padding: 25px 28px;
  border: 1px solid #c9c9c4;
  background: #fff;
}
.page-panel h2 { margin: 0 0 12px; font: 700 27px var(--serif); }
.page-panel p, .page-panel li { color: #333; font-size: 16px; line-height: 1.8; }
.page-panel p:last-child { margin-bottom: 0; }
.page-panel a { color: #8f1010; text-underline-offset: 3px; }
.page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }

.nightmares { margin: 0 0 48px; }
.nightmares > .section-heading { align-items: flex-end; gap: 24px; margin-bottom: 22px; }
.nightmares > .section-heading h2,
.stack-section h2 { margin: 0; font: 700 clamp(32px, 5vw, 48px)/1.08 var(--serif); letter-spacing: -.04em; }
.nightmares > .section-heading p { max-width: 430px; margin: 0; color: #444; font-size: 14px; line-height: 1.7; }
.nightmare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.nightmare-card { overflow: hidden; border: 1px solid #c9c9c4; background: rgba(255,255,255,.95); }
.nightmare-poster {
  position: relative;
  display: block;
  height: 245px;
  overflow: hidden;
  background: #e8e8e4;
}
.nightmare-poster img,
.nightmare-poster svg { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.nightmare-poster:hover img,
.nightmare-poster:hover svg { transform: scale(1.035); }
.fog-poster img { object-position: center 43%; }
.man-poster { background: #ecebe7; }
.poster-pine { fill: #b7bab4; }
.poster-entity { fill: #080808; }
.poster-snow { fill: #fafaf8; }
.poster-type { fill: #9c1111; font: 700 13px "Courier New", monospace; letter-spacing: 2px; }
.anomaly-poster { background: #e9e9e6; }
.anomaly-entity { fill: #111; }
.anomaly-eye { fill: #a20e0e; }
.messages-poster { background: #141414; }
.chat-line { fill: #f2f2ed; font: 20px "Courier New", monospace; }
.poster-index {
  position: absolute;
  bottom: 13px;
  left: 15px;
  z-index: 1;
  padding: 7px 9px;
  background: #fff;
  color: #9c1111;
  font: 10px var(--mono);
  letter-spacing: .1em;
}
.nightmare-copy { padding: 22px 23px 24px; }
.nightmare-copy .page-kicker { margin-bottom: 9px; font-size: 10px; }
.nightmare-copy h3 { margin: 0 0 10px; font: 700 28px/1.1 var(--serif); letter-spacing: -.025em; }
.nightmare-copy > p:not(.page-kicker) { min-height: 105px; margin: 0 0 14px; color: #333; font-size: 14px; line-height: 1.75; }
.compatibility { min-height: 43px; padding: 10px 0; border-top: 1px solid #deded9; color: #555; font: 11px/1.55 var(--mono); }
.text-link { display: inline-block; margin-top: 13px; color: #941010; font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.image-credit { margin: 13px 0 0; color: #555; font-size: 11px; line-height: 1.6; }
.image-credit a { color: #8f1010; }

.friends-section {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 38px;
  align-items: center;
  margin: 44px 0 28px;
  padding: 32px;
  border: 1px solid #c9c9c4;
  background: linear-gradient(120deg, #f8f8f6, #fff 58%);
}
.friends-art {
  position: relative;
  min-height: 218px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #111;
}
.friends-art::before {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 19px, rgba(255,255,255,.07) 20px), repeating-linear-gradient(90deg, transparent 0 19px, rgba(255,255,255,.07) 20px);
  content: "";
}
.friends-art span { position: absolute; bottom: 0; width: 12px; height: 36px; background: #a20e0e; animation: voice-pulse 1.2s ease-in-out infinite alternate; }
.friends-art span:nth-child(1) { left: 22%; height: 20px; animation-delay: -.3s; }
.friends-art span:nth-child(2) { left: 31%; height: 56px; animation-delay: -.8s; }
.friends-art span:nth-child(3) { left: 40%; height: 88px; animation-delay: -.2s; }
.friends-art span:nth-child(4) { left: 49%; height: 122px; animation-delay: -.6s; }
.friends-art span:nth-child(5) { left: 58%; height: 72px; animation-delay: -.4s; }
.friends-art span:nth-child(6) { left: 67%; height: 45px; animation-delay: -.9s; }
.friends-art span:nth-child(7) { left: 76%; height: 28px; animation-delay: -.1s; }
.friends-art strong { position: relative; z-index: 1; align-self: flex-start; margin-top: 20px; color: white; font: 700 13px var(--mono); }
@keyframes voice-pulse { from { opacity: .35; transform: scaleY(.55); transform-origin: bottom; } to { opacity: 1; transform: scaleY(1); transform-origin: bottom; } }
.friends-copy .page-kicker { margin-bottom: 10px; }
.friends-copy h2 { margin: 0 0 13px; font: 700 clamp(29px, 4vw, 40px)/1.08 var(--serif); letter-spacing: -.035em; }
.friends-copy > p:not(.page-kicker) { color: #333; font-size: 14px; line-height: 1.75; }
.friends-copy .button { margin-top: 8px; }
.stack-section { margin: 30px 0 20px; padding: 31px 0 5px; border-top: 1px solid #c9c9c4; }
.stack-section h2 { max-width: 780px; margin: 10px 0 13px; }
.stack-section > p:last-child { max-width: 850px; color: #333; font-size: 15px; line-height: 1.8; }

.home-project { padding: 66px 0 82px; }
.home-project-heading { display: grid; grid-template-columns: 1.1fr .9fr; column-gap: 65px; align-items: end; margin-bottom: 27px; }
.home-project-heading .page-kicker { grid-column: 1 / -1; }
.home-project-heading h2 { margin: 0; font: 700 45px/1.05 var(--serif); letter-spacing: -.04em; }
.home-project-heading > p:last-child { max-width: 470px; margin: 0; color: #444; font-size: 16px; line-height: 1.75; }
.home-feature-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 25px; border: 1px solid #c9c9c4; }
.home-feature-strip article { min-height: 180px; padding: 23px; }
.home-feature-strip article + article { border-left: 1px solid #c9c9c4; }
.home-feature-strip article > span { color: #9c1111; font: 11px var(--mono); letter-spacing: .12em; }
.home-feature-strip h3 { margin: 16px 0 9px; font: 700 24px var(--serif); }
.home-feature-strip p { margin: 0; color: #444; font-size: 14px; line-height: 1.7; }

.working-title { color: #666; font: 400 19px var(--mono); letter-spacing: 0; }
.project-hero {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  min-height: 360px;
  margin: 30px 0 70px;
  border: 1px solid #c9c9c4;
  background: #fff;
}
.project-art {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: linear-gradient(180deg, #f8f8f6 0%, #e8e8e4 75%, #d2d2ce 100%);
}
.project-art::before {
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: repeating-linear-gradient(90deg, transparent 0 55px, rgba(20,20,20,.05) 56px 58px), linear-gradient(#d5d5d0, #f3f3f0);
  content: "";
}
.project-art > span { position: absolute; right: 20px; bottom: 17px; color: #991010; font: 11px var(--mono); letter-spacing: .12em; }
.project-moon { position: absolute; top: 38px; right: 70px; width: 76px; height: 76px; border-radius: 50%; background: #a20e0e; opacity: .8; box-shadow: 0 0 50px rgba(162,14,14,.18); }
.project-tree { position: absolute; bottom: 13%; width: 0; height: 0; border-right: 60px solid transparent; border-bottom: 175px solid #aeb0ab; border-left: 60px solid transparent; }
.project-tree-one { left: 9%; }
.project-tree-two { right: 7%; transform: scale(1.2); }
.project-entity { position: absolute; right: 37%; bottom: 14%; width: 36px; height: 128px; background: #090909; box-shadow: 0 0 24px rgba(0,0,0,.2); }
.project-entity::before { position: absolute; top: -31px; left: 1px; width: 34px; height: 34px; background: #090909; content: ""; }
.project-entity i { position: absolute; bottom: -96px; left: 4px; width: 10px; height: 100px; background: #090909; transform: rotate(4deg); transform-origin: top; }
.project-entity i + i { left: 22px; transform: rotate(-5deg); }
.project-value { align-self: center; padding: 40px; }
.project-value h2 { margin: 15px 0; font: 700 37px/1.08 var(--serif); letter-spacing: -.035em; }
.project-value h2 em { color: #a20e0e; font-style: normal; }
.project-value > p:not(.page-kicker) { margin: 0 0 24px; color: #444; font-size: 15px; line-height: 1.75; }
.feature-section { margin: 0 0 58px; }
.feature-section > h2 { max-width: 760px; margin: 0 0 14px; font: 700 43px/1.06 var(--serif); letter-spacing: -.035em; }
.feature-intro { max-width: 850px; margin: 0 0 24px; color: #444; font-size: 15px; line-height: 1.75; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.feature-card { min-height: 178px; padding: 23px; border: 1px solid #c9c9c4; background: #fff; }
.feature-card > span { color: #9c1111; font: 10px var(--mono); letter-spacing: .1em; }
.feature-card h3 { margin: 14px 0 8px; font: 700 25px var(--serif); }
.feature-card p { margin: 0; color: #444; font-size: 14px; line-height: 1.75; }
.play-together { display: grid; grid-template-columns: .55fr 1.45fr; align-items: center; gap: 36px; margin: 55px 0; padding: 30px; border: 1px solid #c9c9c4; background: #f7f7f5; }
.play-together h2 { margin: 0 0 12px; font: 700 36px/1.08 var(--serif); letter-spacing: -.03em; }
.play-together p:not(.page-kicker) { max-width: 760px; color: #444; font-size: 15px; line-height: 1.8; }
.play-signal { position: relative; min-height: 180px; display: flex; align-items: end; justify-content: center; gap: 12px; overflow: hidden; background: #111; }
.play-signal span { z-index: 1; width: 12px; background: #a20e0e; }
.play-signal span:nth-child(1) { height: 37px; }.play-signal span:nth-child(2) { height: 68px; }.play-signal span:nth-child(3) { height: 110px; }.play-signal span:nth-child(4) { height: 53px; }.play-signal b { position: absolute; top: 15px; left: 16px; color: #fff; font: 11px/1.6 var(--mono); letter-spacing: .1em; }
.download-panel { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 28px 0; padding: 30px; border: 1px solid #c9c9c4; background: #f7f7f5; }
.download-panel h2 { margin: 0 0 10px; font: 700 30px var(--serif); }
.download-panel p:not(.page-kicker) { margin: 0; color: #444; font-size: 14px; line-height: 1.7; }
.download-panel code { color: #111; font: 13px var(--mono); }
.button-disabled { border-color: #9b9b95; background: #e8e8e4; color: #4a4a46; cursor: not-allowed; }

:root {
  color-scheme: dark;
  --bg: #151112;
  --panel: #211819;
  --panel-light: #2a1d1e;
  --text: #f0e7df;
  --muted: #c4b4ac;
  --line: #493436;
}

body {
  background: #151112;
  color: #f0e7df;
}

body::before {
  opacity: .34;
  background-image:
    radial-gradient(ellipse at 14% 21%, rgba(116,12,20,.19), transparent 28%),
    radial-gradient(ellipse at 87% 68%, rgba(116,12,20,.16), transparent 30%),
    radial-gradient(1px 1px at 24px 35px, rgba(237,219,207,.30) 98%, transparent),
    radial-gradient(1px 1px at 83px 119px, rgba(237,219,207,.24) 98%, transparent),
    radial-gradient(1px 1px at 153px 61px, rgba(237,219,207,.26) 98%, transparent),
    radial-gradient(1px 1px at 207px 166px, rgba(237,219,207,.20) 98%, transparent);
  background-size: auto, auto, 360px 280px, 410px 320px, 330px 260px, 460px 350px;
  background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
  animation: ash-drift 48s linear infinite;
}

body::after {
  display: block;
  opacity: .12;
  background-image:
    linear-gradient(180deg, rgba(132,10,19,.7) 0 9%, transparent 10% 100%),
    linear-gradient(180deg, transparent 0 16%, rgba(132,10,19,.55) 17% 23%, transparent 24% 100%),
    linear-gradient(180deg, rgba(132,10,19,.5) 0 5%, transparent 6% 100%);
  background-size: 4px 150px, 3px 190px, 2px 110px;
  background-position: 13% -30px, 78% -60px, 94% -15px;
  background-repeat: repeat-y;
}

.nav {
  box-shadow: 0 5px 24px rgba(0,0,0,.35);
}
.brand, .brand span:last-child, .brand span:last-child span,
.nav-links a, .nav-cta { color: #fff !important; }
.hero {
  border-color: #493436;
  background: #181213;
}
.hero::before {
  background: linear-gradient(90deg, #181213 0%, #181213 34%, rgba(24,18,19,.94) 47%, rgba(24,18,19,.16) 76%, transparent 100%);
}
.hero-copy > p { color: #ded0c8; }
.hero h1 { color: #f3eae2; }
.hero h1 em { color: #e05258; }
.eyebrow { color: #e08b88; }
.scene {
  background:
    radial-gradient(ellipse at 70% 48%, rgba(141,16,24,.25), transparent 34%),
    linear-gradient(180deg, #201819 0%, #211718 74%, #171213 100%);
}
.scene-label, .ticker span:last-child { color: #ec7777; }
.home-project-heading h2, .home-feature-strip h3,
.page-content h1, .page-panel h2, .nightmares > .section-heading h2,
.stack-section h2, .home-project h2, .feature-section > h2,
.project-value h2, .feature-card h3, .play-together h2,
.download-panel h2, .friends-copy h2 { color: #f0e7df; }
.home-project-heading > p:last-child,
.home-feature-strip p, .page-lead, .page-panel p, .page-panel li,
.nightmares > .section-heading p, .nightmare-copy > p:not(.page-kicker),
.stack-section > p:last-child, .feature-intro, .feature-card p,
.project-value > p:not(.page-kicker), .play-together p:not(.page-kicker),
.friends-copy > p:not(.page-kicker), .download-panel p:not(.page-kicker),
.step p, .mod-info > p, .review-card blockquote { color: #cfbfb7; }
.home-feature-strip, .page-panel, .feature-card, .review-card,
.nightmare-card, .play-together, .friends-section, .download-panel,
.step, .mod-card {
  border-color: #493436;
  background-color: #211819;
}
.home-feature-strip article + article { border-color: #493436; }
.project-hero { border-color: #493436; background: #211819; }
.project-art {
  background:
    radial-gradient(ellipse at 68% 32%, rgba(153,17,28,.32), transparent 24%),
    linear-gradient(180deg, #211819 0%, #302122 75%, #161213 100%);
}
.project-art::before {
  background: repeating-linear-gradient(90deg, transparent 0 55px, rgba(235,220,210,.035) 56px 58px), linear-gradient(#322426, #171314);
}
.project-tree { border-bottom-color: #302326; }
.feature-card, .page-panel, .review-card, .nightmare-card,
.play-together, .friends-section, .download-panel { box-shadow: 0 10px 32px rgba(0,0,0,.16); }
.review-notice {
  border-color: #713238;
  border-left-color: #d0444b;
  background: #2b191b;
  color: #e8d8d1;
}
.review-notice strong, .about-note strong { color: #fff; }
.button-primary { background: #a20e0e; color: #fff; }
.button-primary:hover { background: #c8242c; }
.button-quiet { border-color: #8e7772; color: #f0e7df; }
.button-quiet:hover { border-color: #e05258; color: #ffb6b6; }
.button-disabled { border-color: #655454; background: #332729; color: #d0c0b9; }
.step code, .download-panel code { color: #f0e7df; }
.poster-index { background: #241819; color: #ee8b8b; }
.poster-pine { fill: #343034; }
.poster-snow { fill: #887b78; }
.man-poster, .anomaly-poster { background: #282122; }
.friends-section { background: linear-gradient(120deg, #281b1d, #1d1617 58%); }
.footer-row { color: #c4b4ac; }
footer { border-color: #493436; }

.home-hero {
  width: 100%;
  min-height: min(760px, max(620px, calc(100vh - 78px)));
  margin: 0;
  grid-template-columns: 1fr;
  border: 0;
  border-bottom: 1px solid #493436;
  background: #151112;
}
.home-hero::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(17,12,14,.96) 0%, rgba(17,12,14,.86) 34%, rgba(17,12,14,.5) 55%, rgba(17,12,14,.1) 100%),
    linear-gradient(180deg, rgba(17,12,14,.08) 35%, rgba(17,12,14,.2) 66%, #151112 100%);
}
.home-hero .hero-copy {
  grid-column: 1;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 82px 0 110px;
}
.home-hero h1 { max-width: 650px; }
.home-hero .hero-copy > p { max-width: 470px; }
.home-hero .scene {
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 26%, rgba(158,31,37,.9) 0 3.2%, rgba(137,23,30,.3) 3.4% 5.5%, transparent 5.8%),
    radial-gradient(ellipse at 73% 54%, rgba(120,23,31,.38), transparent 31%),
    linear-gradient(180deg, #2a1c20 0%, #24191c 48%, #1a1416 78%, #151112 100%);
}
.home-hero .scene::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(ellipse at 73% 78%, rgba(175,46,49,.16), transparent 38%),
    linear-gradient(180deg, transparent 54%, rgba(13,10,11,.3) 70%, #151112 100%);
  animation: scene-light-breathe 22s ease-in-out infinite alternate;
  content: "";
}
@keyframes scene-light-breathe {
  from { opacity: .84; }
  to { opacity: 1; }
}
.home-hero .scene::after {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background-image:
    radial-gradient(2px 2px at 12% 32%, rgba(239,177,150,.7) 98%, transparent),
    radial-gradient(2px 2px at 46% 71%, rgba(239,177,150,.58) 98%, transparent),
    radial-gradient(3px 3px at 82% 45%, rgba(191,48,54,.85) 98%, transparent),
    radial-gradient(1px 1px at 68% 18%, rgba(255,230,210,.75) 98%, transparent);
  background-size: 290px 230px, 360px 270px, 410px 310px, 250px 190px;
  animation: ember-drift 19s linear infinite;
  content: "";
}
.forest { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.forest i {
  position: absolute;
  bottom: -2%;
  width: clamp(110px, 15vw, 220px);
  height: var(--tree-height, 55%);
  clip-path: polygon(50% 0, 58% 17%, 53% 17%, 67% 36%, 60% 36%, 76% 55%, 66% 55%, 84% 77%, 59% 77%, 59% 100%, 41% 100%, 41% 77%, 16% 77%, 34% 55%, 24% 55%, 40% 36%, 33% 36%, 47% 17%, 42% 17%);
  background: #100e10;
  opacity: .9;
  transform-origin: bottom center;
  animation: forest-sway 8s ease-in-out infinite alternate;
}
.forest i:nth-child(1) { left: 3%; --tree-height: 48%; animation-delay: -3s; }
.forest i:nth-child(2) { left: 17%; --tree-height: 66%; opacity: .62; animation-delay: -1s; }
.forest i:nth-child(3) { left: 34%; --tree-height: 43%; animation-delay: -5s; }
.forest i:nth-child(4) { left: 51%; --tree-height: 60%; opacity: .58; animation-delay: -2s; }
.forest i:nth-child(5) { right: 24%; --tree-height: 48%; animation-delay: -4s; }
.forest i:nth-child(6) { right: 10%; --tree-height: 67%; opacity: .7; animation-delay: -6s; }
.forest i:nth-child(7) { right: -3%; --tree-height: 53%; animation-delay: -2.5s; }
.scene-fog {
  position: absolute;
  inset: 36% -18% 10%;
  z-index: 3;
  overflow: hidden;
  pointer-events: none;
  opacity: .24;
  mix-blend-mode: screen;
}
.scene-fog i {
  position: absolute;
  display: block;
  width: 68%;
  height: 34%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(184,143,139,.32), rgba(128,91,92,.1) 45%, transparent 72%);
  filter: blur(28px);
  animation: fog-drift 34s ease-in-out infinite alternate;
}
.scene-fog i:nth-child(1) { top: 8%; left: -12%; }
.scene-fog i:nth-child(2) { top: 38%; left: 30%; animation-delay: -9s; }
.scene-fog i:nth-child(3) { top: 62%; left: 62%; animation-delay: -16s; }
.home-hero .monster {
  right: max(5%, calc((100% - 1320px) / 2));
  bottom: -2%;
  z-index: 3;
  width: min(52vw, 700px);
  height: 96%;
  filter: drop-shadow(0 22px 26px rgba(0,0,0,.55));
  transition: translate .8s cubic-bezier(.2,.7,.2,1);
}
.home-hero .forest {
  transition: translate 1s cubic-bezier(.2,.7,.2,1);
}
.home-hero .scene-label { z-index: 5; right: 8%; bottom: 34px; color: #e58b87; }
.home-hero::after { right: 11%; opacity: .85; }
.scroll-progress {
  position: sticky;
  top: 78px;
  z-index: 19;
  width: min(1120px, calc(100% - 48px));
  height: 2px;
  margin: 0 auto;
  background: rgba(240,231,223,.22);
  pointer-events: none;
}
.scroll-progress span {
  display: block;
  width: var(--scroll-progress, 0%);
  height: 100%;
  background: #fff;
  box-shadow: 0 0 9px rgba(255,255,255,.7);
  transition: width .12s linear;
}
.scroll-cue {
  position: absolute;
  bottom: 26px;
  left: 50%;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #c4aaa5;
  font: 10px var(--mono);
  letter-spacing: .18em;
  transform: translateX(-50%);
}
.scroll-cue span {
  width: 12px;
  height: 20px;
  border: 1px solid #b65b5b;
  border-radius: 8px;
}
.scroll-cue span::after {
  display: block;
  width: 2px;
  height: 5px;
  margin: 4px auto;
  background: #ee9892;
  content: "";
  animation: scroll-pulse 1.4s ease-in-out infinite;
}
@keyframes ember-drift {
  to { background-position: 0 -230px, 0 -270px, 0 -310px, 0 -190px; }
}
@keyframes forest-sway {
  from { transform: rotate(-.35deg); }
  to { transform: rotate(.35deg); }
}
@keyframes fog-drift {
  from { transform: translate3d(-4%, 0, 0) scale(.96); }
  to { transform: translate3d(8%, -8%, 0) scale(1.08); }
}
@keyframes scroll-pulse {
  0%, 100% { opacity: .35; transform: translateY(0); }
  55% { opacity: 1; transform: translateY(5px); }
}
@supports (animation-timeline: view()) {
  .home-project-heading,
  .home-feature-strip,
  .home-project > .button {
    animation: section-emerge linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 38%;
  }
}
@keyframes section-emerge {
  from { opacity: .45; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  body::before, body::after { animation: none; }
  .monster { animation: none; }
  .friends-art span { animation: none; }
  .forest, .home-hero .monster { translate: none !important; transition: none; }
  .home-hero .scene::before, .forest i, .scene-fog i, .scene::after, .scroll-cue span::after { animation: none; }
}

@media (max-width: 900px) {
  .home-hero .monster { right: -2%; width: min(64vw, 620px); opacity: .8; }
  .home-hero::before {
    background:
      linear-gradient(90deg, rgba(17,12,14,.97) 0%, rgba(17,12,14,.85) 48%, rgba(17,12,14,.38) 100%),
      linear-gradient(180deg, transparent 55%, #151112 100%);
  }
}

.release-status { text-transform: uppercase; }
.release-status::before {
  background: #fff;
  box-shadow: 0 0 10px rgba(255,255,255,.65);
  animation: status-pulse 2.4s ease-in-out infinite;
}
@keyframes status-pulse {
  50% { opacity: .42; box-shadow: 0 0 2px rgba(255,255,255,.25); }
}
.ambience-toggle[aria-pressed="true"] {
  border-color: #e05258;
  background: rgba(162,14,14,.25);
}
.ambience-toggle:disabled { cursor: wait; opacity: .72; }
.ambience-status {
  min-height: 18px;
  margin: 10px 0 0;
  color: #bda9a3;
  font: 11px var(--mono);
}
.concept-gallery {
  padding: 82px 0 88px;
  border-top: 1px solid #493436;
  border-bottom: 1px solid #493436;
  background:
    radial-gradient(ellipse at 82% 0, rgba(108,20,28,.15), transparent 42%),
    #191415;
}
.concept-gallery .section-heading,
.field-notes .section-heading { align-items: flex-end; gap: 30px; margin-bottom: 28px; }
.concept-gallery .section-heading h2,
.field-notes .section-heading h2 {
  margin: 0;
  color: #f0e7df;
  font: 700 clamp(32px, 4vw, 46px)/1.08 var(--serif);
  letter-spacing: -.035em;
}
.concept-gallery .section-heading p,
.field-notes .section-heading p {
  max-width: 440px;
  color: #c4b4ac;
  font-size: 14px;
  line-height: 1.75;
}
.concept-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.concept-card {
  overflow: hidden;
  margin: 0;
  border: 1px solid #493436;
  background: #211819;
  box-shadow: 0 15px 40px rgba(0,0,0,.24);
}
.concept-card-wide { grid-row: span 2; }
.concept-art {
  position: relative;
  min-height: 220px;
  overflow: hidden;
  background-color: #211819;
}
.concept-card-wide .concept-art { min-height: 470px; }
.concept-art::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 30%, rgba(12,9,10,.1) 58%, rgba(12,9,10,.85) 100%),
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(232,207,194,.035) 32px),
    repeating-linear-gradient(90deg, transparent 0 31px, rgba(232,207,194,.035) 32px);
  content: "";
}
.concept-forest {
  background:
    radial-gradient(circle at 74% 27%, #8e2529 0 7%, rgba(142,37,41,.16) 7.5% 13%, transparent 14%),
    linear-gradient(180deg, #302126, #171315 82%);
}
.concept-tree {
  position: absolute;
  inset: 10% 12% 0;
  background: repeating-linear-gradient(90deg, transparent 0 10%, rgba(5,5,6,.58) 10.1% 11%, transparent 11.1% 20%);
  clip-path: polygon(0 100%, 9% 13%, 16% 100%, 23% 4%, 31% 100%, 43% 17%, 52% 100%, 60% 0, 68% 100%, 78% 12%, 86% 100%, 94% 7%, 100% 100%);
  opacity: .86;
}
.concept-watcher {
  position: absolute;
  right: 30%;
  bottom: 12%;
  width: 34px;
  height: 165px;
  background: #080809;
  box-shadow: 0 0 36px rgba(0,0,0,.8);
}
.concept-watcher::before {
  position: absolute;
  top: -31px;
  left: -3px;
  width: 40px;
  height: 38px;
  background: #080809;
  content: "";
}
.concept-watcher::after {
  position: absolute;
  top: 5px;
  left: 7px;
  width: 20px;
  height: 3px;
  background: #b52932;
  box-shadow: 0 0 12px #c12933;
  content: "";
}
.concept-moon {
  position: absolute;
  top: 12%;
  right: 19%;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: #9c292d;
  box-shadow: 0 0 65px rgba(161,35,42,.35);
}
.concept-caption {
  position: absolute;
  bottom: 15px;
  left: 17px;
  color: #f0c2ba;
  font: 10px var(--mono);
  letter-spacing: .13em;
}
.concept-card figcaption {
  display: grid;
  gap: 9px;
  padding: 16px 19px 19px;
}
.concept-card figcaption span { color: #d6817c; font: 10px var(--mono); letter-spacing: .12em; }
.concept-card figcaption strong { color: #eee2da; font: 700 20px var(--serif); }
.concept-signal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: radial-gradient(ellipse at center, #432126, #171315 68%);
}
.concept-signal b { position: absolute; top: 20px; left: 18px; color: #e5a19a; font: 11px var(--mono); letter-spacing: .16em; }
.signal-wave { width: 5px; height: 35px; background: #ab3037; box-shadow: 0 0 14px rgba(171,48,55,.45); animation: signal-flicker 1.1s steps(2, end) infinite; }
.signal-wave:nth-of-type(2) { height: 74px; animation-delay: -.3s; }
.signal-wave:nth-of-type(3) { height: 48px; animation-delay: -.7s; }
.concept-window {
  background: linear-gradient(180deg, #302126, #171315);
}
.window-cabin {
  position: absolute;
  right: 19%;
  bottom: 0;
  width: 56%;
  height: 57%;
  background: #100e10;
  clip-path: polygon(50% 0, 100% 32%, 100% 100%, 0 100%, 0 32%);
}
.window-cabin::before {
  position: absolute;
  inset: 28% 12% 0;
  background: repeating-linear-gradient(90deg, #20191a 0 22px, #100e10 23px 26px);
  content: "";
}
.window-light {
  position: absolute;
  right: 38%;
  bottom: 20%;
  width: 43px;
  height: 52px;
  border: 4px solid #171213;
  background: #bb5651;
  box-shadow: 0 0 33px rgba(194,74,67,.4);
}
.window-light::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  background: #241719;
  content: "";
}
@keyframes signal-flicker {
  0%, 74%, 78%, 100% { opacity: .9; transform: scaleY(1); }
  76% { opacity: .18; transform: scaleY(.55); }
}
.field-notes { padding-top: 82px; padding-bottom: 88px; }
.field-note-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.field-note {
  position: relative;
  min-height: 250px;
  padding: 23px;
  border: 1px solid #493436;
  background: linear-gradient(145deg, #251a1b, #1a1415);
}
.field-note > span:first-child { color: #d6817c; font: 10px var(--mono); letter-spacing: .12em; }
.field-note h3 { margin: 29px 0 12px; color: #f0e7df; font: 700 28px var(--serif); }
.field-note p { color: #cfbfb7; font-size: 14px; line-height: 1.8; }
.note-stamp { position: absolute; right: 18px; bottom: 17px; color: #987b76; font: 9px var(--mono); letter-spacing: .1em; }
.build-status {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 20px 60px;
  align-items: center;
  margin-bottom: 84px;
  padding: 35px;
  border: 1px solid #633b3e;
  background: linear-gradient(120deg, #281b1d, #1b1516 72%);
  box-shadow: 0 18px 48px rgba(0,0,0,.2);
}
.build-status h2 { max-width: 620px; margin: 0 0 13px; color: #f1e7df; font: 700 36px/1.08 var(--serif); }
.build-status > div > p:last-child { max-width: 620px; margin: 0; color: #cfbfb7; font-size: 14px; line-height: 1.8; }
.build-status dl, .mod-compatibility dl, .release-verification dl { display: grid; gap: 0; margin: 0; }
.build-status dl > div, .mod-compatibility dl > div, .release-verification dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 11px 0;
  border-bottom: 1px solid #493436;
}
.build-status dt, .mod-compatibility dt, .release-verification dt { color: #bda9a3; font: 11px var(--mono); }
.build-status dd, .mod-compatibility dd, .release-verification dd { margin: 0; color: #f0e7df; font-size: 13px; text-align: right; }
.build-status > .button { justify-self: start; }
.mod-compatibility { margin-top: 45px; }
.mod-compatibility h2, .release-verification h2 { margin: 0 0 20px; color: #f0e7df; font: 700 30px/1.1 var(--serif); }
.mod-compatibility dl, .release-verification dl { max-width: 650px; margin-bottom: 18px; }
.mod-compatibility > p:last-child, .release-verification > p:last-child { color: #cfbfb7; font-size: 14px; line-height: 1.75; }
.release-verification code { overflow-wrap: anywhere; color: #f0e7df; font: 12px var(--mono); }
.feedback-empty { margin-top: 34px; padding: 35px; }
.feedback-empty h2 { color: #f0e7df; }
.feedback-empty .button { margin-top: 14px; }

@media (max-width: 900px) {
  .concept-grid { grid-template-columns: 1fr 1fr; }
  .concept-card-wide { grid-column: 1 / -1; grid-row: auto; }
  .concept-card-wide .concept-art { min-height: 350px; }
  .build-status { gap: 25px; padding: 26px; }
}
@media (max-width: 620px) {
  .field-note-list, .concept-grid, .build-status { grid-template-columns: 1fr; }
  .concept-card-wide { grid-column: auto; }
  .concept-card-wide .concept-art { min-height: 270px; }
  .concept-gallery .section-heading, .field-notes .section-heading { display: block; }
  .build-status h2 { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  .release-status::before, .signal-wave { animation: none; }
}
.haunting-hand {
  position: fixed;
  z-index: 2;
  width: 80px;
  height: 107px;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  transform: rotate(var(--hand-angle, 0deg));
  animation: hand-reach 2.8s ease-in-out both;
}
.haunting-hand img {
  display: block;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.35));
}
@keyframes hand-reach {
  0% { opacity: 0; translate: 0 18px; scale: .9; }
  18% { opacity: .78; }
  42% { opacity: .9; translate: 0 0; scale: 1; }
  68% { opacity: .7; }
  100% { opacity: 0; translate: 0 -12px; scale: 1.04; }
}
@media (max-width: 759px), (prefers-reduced-motion: reduce) {
  .haunting-hand { display: none; animation: none; }
}

.stalker-runner {
  position: fixed !important;
  top: auto;
  left: 0;
  transform: translateX(16px);
  bottom: 12px;
  z-index: 15 !important;
  width: 100%;
  height: 148px;
  pointer-events: none;
  visibility: hidden;
}
.stalker-runner.is-active {
  visibility: visible;
}
.stalker-runner.is-running {
  animation: stalker-run-across 5s linear both;
}
.stalker-runner::after {
  position: absolute;
  bottom: 0;
  left: -8px;
  width: 78px;
  height: 14px;
  background: radial-gradient(ellipse, rgba(0,0,0,.72), transparent 72%);
  content: "";
  opacity: 0;
}
.stalker-runner.is-active::after {
  opacity: .8;
}
.stalker-character {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 78px;
  height: 148px;
  filter: drop-shadow(0 0 12px rgba(0,0,0,.8));
  transform-origin: 50% 80%;
  opacity: 0;
}
.stalker-runner.is-active .stalker-character {
  animation: stalker-fall-rise 3s linear both;
}
.stalker-head,
.stalker-torso,
.stalker-arm,
.stalker-leg {
  position: absolute;
  display: block;
  background: #030304;
}
.stalker-head {
  top: 0;
  left: 18px;
  width: 42px;
  height: 42px;
  box-shadow: inset 0 0 0 2px #111014, 0 0 7px rgba(0,0,0,.8);
}
.stalker-head i {
  position: absolute;
  top: 19px;
  left: 8px;
  width: 7px;
  height: 5px;
  background: #fa101c;
  box-shadow: 0 0 7px 2px rgba(255,0,18,.75);
}
.stalker-head i + i { left: 27px; }
.stalker-torso {
  top: 45px;
  left: 15px;
  width: 48px;
  height: 49px;
  background: linear-gradient(90deg, #030304, #080709 48%, #030304);
}
.stalker-arm {
  top: 47px;
  width: 14px;
  height: 50px;
  transform-origin: 50% 7px;
}
.stalker-arm-left { left: 0; }
.stalker-arm-right { right: 0; }
.stalker-leg {
  top: 91px;
  width: 18px;
  height: 52px;
  transform-origin: 50% 5px;
}
.stalker-leg-left { left: 19px; }
.stalker-leg-right { right: 19px; }
.stalker-runner.is-staring .stalker-head {
  filter: drop-shadow(0 0 4px rgba(255,0,18,.45));
}
.stalker-runner.is-staring .stalker-head i {
  background: #ff2632;
  box-shadow: 0 0 11px 4px rgba(255,0,18,.95);
}
.stalker-runner.is-running .stalker-character {
  animation: stalker-running-bob .22s steps(2, end) infinite alternate;
}
.stalker-runner.is-active:not(.is-running) .stalker-arm-left {
  animation: stalker-recover-left 3s cubic-bezier(.35,0,.65,1) both;
}
.stalker-runner.is-active:not(.is-running) .stalker-arm-right {
  animation: stalker-recover-right 3s cubic-bezier(.35,0,.65,1) both;
}
.stalker-runner.is-active:not(.is-running) .stalker-leg-left {
  animation: stalker-recover-leg-left 3s cubic-bezier(.35,0,.65,1) both;
}
.stalker-runner.is-active:not(.is-running) .stalker-leg-right {
  animation: stalker-recover-leg-right 3s cubic-bezier(.35,0,.65,1) both;
}
.stalker-runner.is-active:not(.is-running) .stalker-head {
  animation: stalker-head-recover 3s cubic-bezier(.35,0,.65,1) both;
}
.stalker-runner.is-staring .stalker-arm,
.stalker-runner.is-staring .stalker-leg {
  animation-play-state: paused;
}
.stalker-runner.is-running .stalker-arm-left,
.stalker-runner.is-running .stalker-leg-right {
  animation: stalker-stride .2s ease-in-out infinite alternate;
}
.stalker-runner.is-running .stalker-arm-right,
.stalker-runner.is-running .stalker-leg-left {
  animation: stalker-stride .2s ease-in-out infinite alternate-reverse;
}
@keyframes stalker-run-across {
  from { transform: translateX(16px); }
  to { transform: translateX(calc(100vw + 100px)); }
}
@keyframes stalker-fall-rise {
  0% { transform: translateY(-190px) rotate(-8deg); opacity: 0; }
  6% { transform: translateY(-110px) rotate(8deg); opacity: 1; animation-timing-function: cubic-bezier(.18,.72,.28,1); }
  15% { transform: translateY(0) rotate(74deg); opacity: 1; animation-timing-function: cubic-bezier(.2,.8,.3,1); }
  17% { transform: translateY(-5px) rotate(86deg); }
  20%, 27% { transform: translateY(0) rotate(82deg); }
  34% { transform: translateY(0) rotate(78deg); animation-timing-function: cubic-bezier(.2,.75,.3,1); }
  43% { transform: translateY(0) rotate(68deg); }
  53% { transform: translateY(0) rotate(52deg); }
  64% { transform: translateY(0) rotate(34deg); }
  76% { transform: translateY(0) rotate(18deg); }
  88% { transform: translateY(0) rotate(7deg); }
  96% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(0) rotate(0); opacity: 1; }
}
@keyframes stalker-recover-left {
  0%, 8% { transform: rotate(0); }
  15% { transform: rotate(-68deg); }
  20%, 27% { transform: rotate(-98deg); }
  34% { transform: rotate(-82deg); }
  43% { transform: rotate(-48deg); }
  53% { transform: rotate(-70deg); }
  64% { transform: rotate(-52deg); }
  76% { transform: rotate(-28deg); }
  88% { transform: rotate(-12deg); }
  96%, 100% { transform: rotate(0); }
}
@keyframes stalker-recover-right {
  0%, 8% { transform: rotate(0); }
  15% { transform: rotate(72deg); }
  20%, 27% { transform: rotate(54deg); }
  34% { transform: rotate(38deg); }
  43% { transform: rotate(66deg); }
  53% { transform: rotate(42deg); }
  64% { transform: rotate(48deg); }
  76% { transform: rotate(24deg); }
  88% { transform: rotate(9deg); }
  96%, 100% { transform: rotate(0); }
}
@keyframes stalker-recover-leg-left {
  0%, 10% { transform: rotate(0); }
  15% { transform: rotate(-22deg); }
  20%, 27% { transform: rotate(-56deg); }
  34% { transform: rotate(-64deg); }
  43% { transform: rotate(-48deg); }
  53% { transform: rotate(-36deg); }
  64% { transform: rotate(-28deg); }
  76% { transform: rotate(-18deg); }
  88% { transform: rotate(-8deg); }
  96%, 100% { transform: rotate(0); }
}
@keyframes stalker-recover-leg-right {
  0%, 10% { transform: rotate(0); }
  15% { transform: rotate(18deg); }
  20%, 27% { transform: rotate(42deg); }
  34% { transform: rotate(34deg); }
  43% { transform: rotate(26deg); }
  53% { transform: rotate(32deg); }
  64% { transform: rotate(24deg); }
  76% { transform: rotate(14deg); }
  88% { transform: rotate(6deg); }
  96%, 100% { transform: rotate(0); }
}
@keyframes stalker-head-recover {
  0%, 10% { transform: rotate(0); }
  15% { transform: rotate(-18deg); }
  20%, 27% { transform: rotate(-48deg); }
  34% { transform: rotate(-52deg); }
  43% { transform: rotate(-44deg); }
  53% { transform: rotate(-36deg); }
  64% { transform: rotate(-27deg); }
  76% { transform: rotate(-16deg); }
  88% { transform: rotate(-8deg); }
  96% { transform: rotate(-3deg) scale(1.02); }
  100% { transform: rotate(-3deg) scale(1.05); }
}
@keyframes stalker-running-bob {
  from { transform: translateY(0) rotate(-2deg); opacity: 1; }
  to { transform: translateY(-4px) rotate(3deg); opacity: 1; }
}
@keyframes stalker-stride {
  from { transform: rotate(-42deg); }
  to { transform: rotate(42deg); }
}
@media (max-width: 600px) {
  .stalker-character { scale: .68; transform-origin: 0 0; }
  @keyframes stalker-run-across {
    from { transform: translateX(16px); }
    to { transform: translateX(calc(100vw + 70px)); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .stalker-runner { display: none; animation: none; }
}

body {
  font-size: 17px;
  font-weight: 500;
}
body :where(p, li) {
  font-size: max(17px, 1em) !important;
  font-weight: 600 !important;
  line-height: 1.75;
}
body :where(a, button, span, strong, em, small, label, dt, dd, figcaption, time, div) {
  font-size: max(15px, 1em) !important;
  font-weight: 600 !important;
}
body :where(h1, h2, h3, h4, h5, h6) {
  font-weight: 700 !important;
}
body .hero h1 em {
  font-weight: 700 !important;
}
body .button,
body .nav-cta,
body button {
  min-height: 52px;
  padding: 0 21px;
  font-size: max(15px, 1em) !important;
  font-weight: 700 !important;
}
body .nav-cta {
  min-height: 48px;
  padding: 0 18px;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.2;
}
body .scene-label {
  position: absolute;
}
body > header.nav {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  justify-content: initial;
  column-gap: clamp(14px, 1.8vw, 26px);
}
body > header.nav .brand {
  justify-self: start;
  margin-left: calc(-1 * max(0px, (100vw - 1120px) / 2 - 24px));
}
body > header.nav .brand,
body > header.nav .nav-links,
body > header.nav .release-status {
  align-self: center;
}
body > header.nav .nav-links {
  min-width: 0;
  min-height: 48px;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: clamp(10px, 1.2vw, 18px);
  white-space: nowrap;
}
body > header.nav .nav-links > a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1;
  letter-spacing: .045em;
  text-transform: uppercase;
}
body > header.nav .nav-cta {
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 4px;
  background: rgba(255,255,255,.06);
  font-size: 14px !important;
  letter-spacing: .045em;
}
body > header.nav .nav-cta:hover {
  background: #fff;
  color: #7d0b10 !important;
}
body > header.nav .release-status {
  position: relative;
  right: -24px;
  min-height: 38px;
  padding: 0 12px;
  justify-content: center;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .055em;
}
@media (min-width: 1121px) {
  body > header.nav .release-status {
    right: calc(-1 * max(24px, calc(50vw - 567.5px)));
  }
}
.install-steps {
  display: grid;
  gap: 18px;
  margin: 20px 0 0;
  padding-left: 26px;
}
.install-steps li {
  padding-left: 6px;
}
.install-steps li::marker {
  color: #e05258;
  font-weight: 700;
}
.install-steps strong {
  display: block;
  margin-bottom: 4px;
  color: #f0e7df;
}
.review-notice {
  margin: 0 0 24px;
  padding: 18px 20px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}
.review-notice strong {
  display: block;
  margin-bottom: 4px;
}
.review-grid {
  display: grid;
  grid-template-columns: minmax(0, 820px);
  justify-content: center;
  gap: 16px;
}
.review-grid .review-card {
  margin: 0;
  padding: 22px;
  border: 1px solid #493436;
  background: #211819;
}
.review-sample-label {
  margin: 0 0 12px;
  color: #e58b87;
  font: 700 11px/1.5 "Courier New", monospace;
  letter-spacing: .07em;
}
.review-grid .review-stars {
  margin-bottom: 10px;
  color: #f0c37a;
  letter-spacing: .12em;
}
.review-grid blockquote {
  margin: 0 0 18px;
  color: #f0e7df;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.65;
}
.review-grid .review-author {
  margin: 0;
  color: #f0e7df;
  font-weight: 700;
}
.review-grid .review-author span {
  display: block;
  margin-top: 4px;
  color: #cfbfb7;
  font-size: 13px;
  font-weight: 600;
}
@media (max-width: 1000px) {
  .review-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
  .review-grid { grid-template-columns: 1fr; }
}
