@charset "UTF-8";
:root {
  color-scheme:dark;
  --ink:#101613;
  --panel:#19211c;
  --paper:#e9e3d2;
  --muted:#b4b8a8;
  --rust:#ee7846;
  --gold:#c6b05e;
  --green:#95b79a;
  --line:#454b3c;
  --display:Impact,"Arial Narrow","Liberation Sans Narrow",sans-serif;
  --mono:"Courier New",monospace;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  background:radial-gradient(ellipse at 95% 12%,#58402544,transparent 45%),radial-gradient(ellipse at 0 40%,#45573a33,transparent 45%),var(--ink);
  color:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
  isolation:isolate;
}
body:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.73' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  background-size:180px;
}
main {
  flex:1;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}
img {
  max-width:100%;
  height:auto;
  display:block;
}
button:disabled {
  opacity:.45;
  cursor:not-allowed;
}
a,button {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:5px;
}
a:hover {
  color:var(--rust);
}
p,h1,h2,h3 {
  margin:0;
}
::selection {
  background:var(--rust);
  color:var(--ink);
}
.shell {
  width:min(1240px,calc(100% - 64px));
  margin-inline:auto;
}
.micro,.eyebrow,.tag {
  font:700 11px/1.6 var(--mono);
  letter-spacing:.1em;
}
.eyebrow {
  color:var(--gold);
  margin-bottom:16px;
}
.status-dot {
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:9px;
  background:var(--rust);
}
.skip-link {
  position:absolute;
  left:16px;
  top:-100px;
  z-index:10;
  background:var(--paper);
  color:var(--ink);
  padding:10px;
}
.skip-link:focus {
  top:10px;
}
.site-header {
  background:#101612e8;
  border-bottom:1px solid var(--line);
}
.header-inner {
  display:flex;
  align-items:center;
  gap:26px;
  min-height:102px;
  position:relative;
}
.brand {
  flex-shrink:0;
}
.brand img {
  width:134px;
}
.header-note {
  font:10px/1.7 var(--mono);
  letter-spacing:.14em;
  max-width:110px;
  color:var(--muted);
  border-left:1px solid var(--line);
  padding-left:22px;
}
#mobileMenu {
  display:flex;
  gap:26px;
  align-items:center;
  margin-left:auto;
  font:700 12px var(--mono);
}
#mobileMenu a {
  padding-block:15px;
}
.nav-play {
  color:var(--rust);
  border-bottom:2px solid var(--rust);
}
.nav-play span {
  margin-left:10px;
}
.menu-toggle {
  display:none;
  border:1px solid var(--line);
  background:var(--panel);
  min-height:44px;
  padding:8px 12px;
  font:700 12px var(--mono);
}
.hero {
  display:grid;
  grid-template-columns:1.04fr 1fr;
  gap:64px;
  align-items:center;
  padding-block:70px 76px;
}
h1,h2,h3,.footer-wordmark {
  font-family:var(--display);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.02em;
}
h1 {
  font-size:clamp(54px,6vw,88px);
  text-transform:uppercase;
}
h1 span {
  color:var(--rust);
}
.hero-intro {
  color:var(--muted);
  max-width:460px;
  margin-top:26px;
  font-size:16px;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:30px;
}
.hero-actions>.micro {
  color:var(--muted);
  font-size:10px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:52px;
  padding:13px 22px;
  font:700 12px/1.4 var(--mono);
  letter-spacing:.07em;
  border:1px solid var(--line);
  background:var(--panel);
  transition:background .16s,color .16s;
}
.button-primary {
  color:#171710;
  background:var(--rust);
  border-color:var(--rust);
  box-shadow:3px 3px 0 #080e09;
}
.button-primary:hover {
  background:#ff9465;
  color:#101613;
  border-color:#ff9465;
}
.button-small {
  min-height:44px;
  padding:10px 14px;
  font-size:11px;
  gap:12px;
}
.button-small:not(:disabled):hover {
  border-color:var(--gold);
  color:var(--gold);
}
.hero-evidence {
  position:relative;
  transform:rotate(1.5deg);
  background:#242c24;
  border:1px solid #63634b;
  box-shadow:14px 17px 0 #060a074d;
}
.hero-evidence:before {
  content:"";
  position:absolute;
  z-index:2;
  width:100px;
  height:26px;
  background:#a8a2759c;
  top:-12px;
  left:36%;
  transform:rotate(-7deg);
  border-inline:2px dashed #8c866680;
}
.evidence-top,.evidence-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  font:10px var(--mono);
  letter-spacing:.1em;
  color:#c8c5aa;
}
.evidence-image {
  position:relative;
  margin-inline:10px;
  overflow:hidden;
}
.evidence-image img {
  width:100%;
  aspect-ratio:1.18;
  object-fit:cover;
  filter:sepia(.35) saturate(.7) contrast(1.17);
}
.evidence-image:after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 71px,#0d170f19 72px 77px),linear-gradient(0deg,#10161399,transparent 40%);
}
.stamp {
  position:absolute;
  right:15px;
  bottom:18px;
  border:3px solid #e1875f;
  color:#ffb58c;
  font:900 24px/.95 var(--display);
  letter-spacing:.05em;
  padding:9px 13px;
  transform:rotate(-11deg);
  z-index:1;
  background:#251b14c7;
}
.tally {
  position:relative;
  font:26px var(--mono);
  letter-spacing:4px;
  color:var(--gold);
}
.tally s {
  position:absolute;
  left:15px;
  top:0;
  transform:rotate(53deg);
  text-decoration:none;
}
.warning-strip {
  color:#111810;
  background:var(--gold);
  border-block:5px solid transparent;
  border-image:repeating-linear-gradient(125deg,#121912 0 10px,#c6b05e 10px 20px) 5;
  padding:12px 0;
  font:700 11px/1.6 var(--mono);
  letter-spacing:.18em;
}
.warning-strip .shell {
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.play-section {
  padding-block:64px;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:24px;
}
h2 {
  font-size:clamp(32px,3.5vw,48px);
}
.tag {
  color:var(--green);
  border:1px solid #95b79a66;
  padding:5px 10px;
  white-space:nowrap;
}
.game-panel {
  border:1px solid #64614a;
  background:#111911;
  box-shadow:0 12px 40px #0003;
}
.alpha-notice {
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  color:#d5c997;
  background:#252818;
  font-size:12px;
  border-bottom:1px solid #645c34;
}
.alpha-notice strong {
  color:#ece0ac;
  font:700 11px var(--mono);
  letter-spacing:.06em;
}
.notice-icon {
  border:1px solid #a39153;
  font:bold 16px var(--mono);
  padding:1px 8px;
}
.game-container {
  position:relative;
  width:calc(100% - 16px);
  aspect-ratio:16/9;
  background:#070a08;
  overflow:hidden;
  margin:8px;
}
.game-preview {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  filter:saturate(.65);
}
.game-gate {
  position:absolute;
  inset:0;
  background:linear-gradient(#06100bc2,#07130b85,#08120dde);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:12px;
  text-align:center;
}
.game-gate>.micro {
  color:#ddd9bc;
}
.game-gate .button {
  min-height:60px;
  padding-inline:38px;
  font-size:15px;
}
.gate-note {
  font-size:12px;
  color:#c6c9b7;
}
.game-container iframe {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.game-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:8px 16px 16px;
}
.game-toolbar .micro {
  color:var(--muted);
  letter-spacing:.04em;
}
.play-hint {
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
}
.about-section {
  padding-block:18px 64px;
}
.about-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:32px;
}
.about-intro h2 span {
  color:var(--green);
}
.about-intro>p {
  color:var(--muted);
  max-width:490px;
  font-size:15px;
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.feature {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#27322777,#101610a1);
  border:1px solid var(--line);
  border-top:3px solid var(--accent);
  padding:28px;
}
.feature-rust {
  --accent:var(--rust);
}
.feature-gold {
  --accent:var(--gold);
}
.feature-green {
  --accent:var(--green);
}
.feature-number {
  position:absolute;
  right:14px;
  top:10px;
  color:#9caf9417;
  font:80px/1 var(--display);
}
.feature .micro {
  color:var(--accent);
  font-size:10px;
  position:relative;
}
.feature h3 {
  font-size:38px;
  margin:20px 0 14px;
  color:var(--accent);
}
.feature>p:last-child {
  font-size:14px;
  color:var(--muted);
  max-width:300px;
}
.community-line {
  margin-top:26px;
  border-top:1px dashed var(--line);
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font:700 12px/1.6 var(--mono);
}
.community-line p {
  color:var(--muted);
}
.community-line a {
  color:var(--rust);
}
.site-footer {
  margin-top:auto;
  background:#0a100cd9;
  border-top:1px solid #5e5d44;
  position:relative;
}
.site-footer:before {
  content:"";
  display:block;
  height:4px;
  background:repeating-linear-gradient(125deg,#726339 0 10px,#141b15 10px 20px);
  opacity:.65;
}
.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-block:32px;
}
.footer-wordmark {
  font-size:32px;
}
.footer-wordmark span {
  color:var(--rust);
}
.footer-inner>div>p {
  font:9px/1.6 var(--mono);
  letter-spacing:.12em;
  color:var(--muted);
  margin-top:8px;
}
.footer-inner nav {
  display:flex;
  gap:24px;
  font:12px var(--mono);
}
.copyright {
  text-align:right;
  font:10px/1.8 var(--mono);
  color:var(--muted);
}
.log-main {
  padding-block:54px 64px;
}
.log-heading {
  margin-bottom:42px;
  border-bottom:1px solid var(--line);
  padding-bottom:30px;
}
.log-heading h1 {
  font-size:clamp(48px,7vw,76px);
}
.log-heading>p:last-child {
  margin-top:18px;
  color:var(--muted);
}
.log-list {
  display:grid;
  gap:18px;
}
.log-entry {
  padding:26px 30px;
  background:#19211bc4;
  border:1px solid var(--line);
  border-left:3px solid var(--rust);
}
.log-entry header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.log-entry h2 {
  font-size:30px;
}
.log-entry time {
  font:11px var(--mono);
  color:var(--gold);
  white-space:nowrap;
}
.log-entry ul {
  margin:20px 0 0;
  padding-left:20px;
  color:var(--muted);
  font-size:14px;
}
.log-entry li+li {
  margin-top:8px;
}
[aria-current=page] {
  color:var(--rust);
}
@media(min-width:1500px) {
  .hero {
    padding-block:90px;
  }
}
@media(max-width:950px) {
  .header-note {
    display:none;
  }
  .hero {
    gap:32px;
  }
  h1 {
    font-size:clamp(45px,6.4vw,66px);
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions>.micro {
    display:none;
  }
  .about-intro {
    gap:32px;
  }
  .feature {
    padding:22px;
  }
  .warning-strip {
    letter-spacing:.05em;
  }
}
@media(max-width:700px) {
  .shell {
    width:calc(100% - 24px);
  }
  .header-inner {
    min-height:82px;
    gap:14px;
    flex-wrap:wrap;
  }
  .brand img {
    width:110px;
  }
  .js .menu-toggle {
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:auto;
  }
  .header-inner #mobileMenu {
    width:100%;
    flex-wrap:wrap;
    gap:0 22px;
    margin:0;
    padding-bottom:16px;
  }
  .js #mobileMenu {
    display:none;
  }
  .js #mobileMenu.is-open {
    display:flex;
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:38px 36px;
    gap:32px;
  }
  .hero-copy {
    padding-inline:4px;
  }
  h1 {
    font-size:clamp(44px,10.4vw,70px);
    line-height:1.01;
  }
  .desktop-break {
    display:none;
  }
  .hero-intro {
    font-size:15px;
    max-width:520px;
    margin-top:20px;
  }
  .hero-actions {
    margin-top:24px;
  }
  .hero-actions>.micro {
    display:block;
  }
  .hero-evidence {
    transform:none;
    margin:0 3px;
    box-shadow:6px 6px 0 #060a074d;
  }
  .evidence-image img {
    aspect-ratio:1.8;
    object-position:center 40%;
  }
  .evidence-top,.evidence-bottom {
    padding:10px 14px;
  }
  .stamp {
    font-size:20px;
  }
  .warning-strip {
    font-size:9px;
  }
  .warning-strip .shell {
    flex-wrap:wrap;
    justify-content:center;
    column-gap:13px;
  }
  .play-section {
    padding-block:38px;
  }
  .section-heading {
    align-items:start;
    gap:12px;
    flex-direction:column;
    margin-bottom:18px;
  }
  .section-heading .eyebrow {
    margin-bottom:12px;
  }
  h2 {
    font-size:34px;
  }
  .game-container {
    width:calc(100% - 6px);
    margin:3px;
    aspect-ratio:4/3;
    min-height:240px;
  }
  .alpha-notice {
    padding:12px 10px;
    gap:9px;
    font-size:11px;
  }
  .notice-icon {
    padding:1px 6px;
  }
  .game-gate {
    gap:16px;
  }
  .game-gate .button {
    min-height:52px;
    font-size:13px;
  }
  .game-toolbar {
    padding:8px;
    gap:8px;
  }
  .game-toolbar .micro {
    font-size:9px;
    max-width:55%;
  }
  .button-small {
    padding-inline:10px;
    font-size:10px;
  }
  .play-hint {
    padding-inline:3px;
  }
  .about-section {
    padding-block:10px 38px;
  }
  .about-intro {
    grid-template-columns:1fr;
    gap:22px;
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .feature {
    padding:22px;
  }
  .feature h3 {
    margin:14px 0 12px;
  }
  .feature>p:last-child {
    max-width:none;
  }
  .feature-number {
    font-size:94px;
  }
  .community-line {
    align-items:start;
    font-size:11px;
    flex-direction:column;
    gap:8px;
  }
  .footer-inner {
    flex-wrap:wrap;
    padding-block:26px;
    gap:22px;
  }
  .footer-inner nav {
    margin-left:auto;
    gap:18px;
  }
  .copyright {
    flex-basis:100%;
    text-align:left;
  }
  .log-main {
    padding-block:36px;
  }
  .log-heading {
    margin-bottom:26px;
  }
  .log-entry {
    padding:20px 16px;
  }
  .log-entry header {
    align-items:start;
    flex-direction:column;
    gap:10px;
  }
  .log-entry h2 {
    font-size:28px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
  }
}


/* The active game uses the available browser viewport, independent of the
   marketing preview ratio. Safe areas belong here, never again inside Godot. */
[hidden] { display:none !important; }
html.is-playing, html.is-playing body { overflow:hidden; overscroll-behavior:none; }
.game-panel.is-playing {
  position:fixed;
  z-index:1000;
  left:var(--play-left, 0px);
  top:var(--play-top, 0px);
  width:var(--play-width, 100vw);
  height:var(--play-height, 100vh);
  height:var(--play-height, 100dvh);
  box-sizing:border-box;
  padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px)
    env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  border:0;
  display:flex;
  flex-direction:column;
  background:#070a08;
}
.game-panel.is-playing .alpha-notice { display:none; }
.game-panel.is-playing .game-container {
  flex:1 1 0;
  min-height:0;
  min-width:0;
  width:100%;
  margin:0;
  aspect-ratio:auto;
}
.game-panel.is-playing .game-toolbar {
  flex:0 0 auto;
  flex-wrap:nowrap;
  min-height:48px;
  gap:8px;
  padding:2px 8px;
}
.game-panel.is-playing .game-toolbar .button { min-height:44px; flex-shrink:0; }
.game-panel.is-playing .game-toolbar .micro { min-width:0; font-size:11px; }
@media (max-width:480px) {
  .game-panel.is-playing .game-toolbar .micro { display:none; }
  .game-panel.is-playing .game-toolbar { justify-content:space-between; }
}
