/*
* Cinematic behavior as a restrained physical layer.
* No forced horizontal parallax. No motion that makes reading text inaccessible.
* Every animation may be disabled from the reader preferences or system setting.
*/
.loading-curtain {
  position:fixed;
  inset:0;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:42px;
  background:#121718;
  transition:opacity 700ms ease,visibility 700ms ease
}
.loading-curtain.is-open {
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.loading-curtain__seal {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:26px
}
.loading-curtain__seal>span {
  position:relative;
  font-family:var(--font-display);
  font-size:5.375rem;
  font-weight:800;
  line-height:1;
  color:var(--warm-paper)
}
.loading-curtain__seal .cut {
  color:var(--boundary-red);
  font-size:.55em;
  position:absolute;
  right:0;
  top:7px
}
.loading-curtain__seal small {
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.34em;
  color:var(--custody-bluegray)
}
.loading-curtain__rail {
  width:160px;
  height:1px;
  background:rgba(231,220,199,.15);
  position:relative;
  overflow:hidden
}
.loading-curtain__rail:before {
  content:'';
  position:absolute;
  inset:0 75% 0 0;
  background:var(--boundary-red);
  animation:travel-rail 1100ms ease-in-out infinite alternate
}
@keyframes travel-rail {
  from {
    transform:translateX(0)
  }
  to {
    transform:translateX(480%)
  }
}
.atmosphere {
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:99;
  overflow:hidden;
  mix-blend-mode:screen
}
.atmosphere__grain {
  position:absolute;
  inset:-20%;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");
  background-size:220px 220px;
  opacity:.12;
  animation:grain-drift 1s steps(5) infinite
}
.atmosphere__scanner {
  position:absolute;
  left:0;
  right:0;
  top:-120%;
  height:35%;
  background:linear-gradient(transparent,rgba(242,248,243,.012),transparent);
  animation:scan-over 27s linear infinite;
  opacity:.7
}
.atmosphere__halo {
  position:absolute;
  width:60vmax;
  height:60vmax;
  right:-28vmax;
  top:22vh;
  border-radius:50%;
  background:radial-gradient(circle,rgba(235,244,245,.016),transparent 65%)
}
.world[data-mode="classic"] .atmosphere,.world[data-motion="reduced"] .atmosphere {
  display:none
}
.world[data-mode="classic"] .hero__fugitive-stamp {
  animation:none
}
.world[data-mode="classic"] .hero__corridor {
  transform:none
}
.hero__title-frame {
  animation:text-arrive 1.2s var(--ease-film) both;
  animation-delay:150ms
}
.hero__actions {
  animation:text-arrive 1.3s var(--ease-film) both;
  animation-delay:360ms
}
.hero__foot {
  animation:text-arrive 1.4s var(--ease-film) both;
  animation-delay:500ms
}
.hero__corridor {
  will-change:transform;
  transition:transform 180ms linear
}
.hero__tension-letter::after {
  content:'';
  position:absolute;
  left:56%;
  top:-4%;
  height:103%;
  width:1px;
  background:rgba(156,51,54,.35);
  transform:rotate(7deg);
  filter:blur(.25px)
}
.kitchen-frame {
  height:clamp(430px,46vw,650px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(221,191,150,.32);
  background:radial-gradient(ellipse at 78% 34%,rgba(251,212,142,.53),transparent 52%),linear-gradient(125deg,#4e4438,#b39a72 43%,#3d352c 95%);
  box-shadow:0 18px 65px rgba(0,0,0,.32),inset 0 0 0 9px rgba(42,35,25,.1)
}
.kitchen-frame::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  background:linear-gradient(90deg,rgba(25,20,16,.28),transparent 45%,rgba(18,20,18,.08)),radial-gradient(ellipse at center,transparent 60%,rgba(15,12,9,.46));
  pointer-events:none
}
.kitchen-frame__window {
  position:absolute;
  right:5%;
  top:7%;
  width:34%;
  height:54%;
  border:13px solid #54483c;
  background:linear-gradient(128deg,#d0b991,#fbdb9f 65%,#9b937e);
  box-shadow:0 0 56px #e6b36b55,inset 0 0 25px rgba(52,45,31,.25);
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:5px;
  transform:skewY(-2deg)
}
.kitchen-frame__window::before {
  position:absolute;
  inset:48% 0 auto;
  height:9px;
  background:#7f7059;
  content:'';
  z-index:2
}
.kitchen-frame__window::after {
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:8px;
  background:#7f7059;
  content:'';
  z-index:2
}
.kitchen-frame__window i {
  display:block;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(117,81,41,.08))
}
.kitchen-frame__window i:nth-child(1) {
  filter:blur(1px)
}
.kitchen-frame__window i:nth-child(2) {
  filter:brightness(.95)
}
.kitchen-frame__window i:nth-child(3) {
  filter:brightness(1.03)
}
.kitchen-frame__window i:nth-child(4) {
  filter:brightness(.85)
}
.kitchen-frame__wall {
  position:absolute;
  inset:50% 0 0;
  background:linear-gradient(180deg,rgba(30,25,21,.08),rgba(35,27,21,.56)),repeating-linear-gradient(90deg,transparent 0 87px,rgba(70,51,35,.07) 88px 90px,transparent 91px)
}
.fan {
  position:absolute;
  left:49%;
  top:0;
  width:155px;
  height:190px;
  z-index:5;
  transform:translateX(-50%);
  filter:drop-shadow(4px 12px 9px rgba(0,0,0,.34))
}
.fan__stem {
  height:62px;
  width:5px;
  background:linear-gradient(90deg,#4b3926,#c2a070,#4b3926);
  margin:auto
}
.fan__body {
  position:absolute;
  top:60px;
  left:50%;
  width:46px;
  height:46px;
  margin-left:-23px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#d3b47b,#705137 70%,#352c24);
  border:3px solid #675037;
  animation:reel 5.5s linear infinite;
  transform-origin:center
}
.blade {
  position:absolute;
  left:50%;
  top:50%;
  width:125px;
  height:28px;
  margin-top:-14px;
  transform-origin:0 50%;
  clip-path:polygon(0 28%,12% 8%,86% 0,100% 18%,97% 74%,10% 83%,0 65%);
  background:linear-gradient(180deg,#8a6e47,#4f3d2a)
}
.blade--one {
  transform:rotate(0)
}
.blade--two {
  transform:rotate(120deg)
}
.blade--three {
  transform:rotate(240deg)
}
.fan__pull {
  position:absolute;
  top:84px;
  left:89px;
  width:2px;
  height:55px;
  background:#755b3f;
  transform:rotate(8deg);
  transform-origin:top
}
.fan__pull:after {
  content:'';
  position:absolute;
  left:-3px;
  bottom:-6px;
  width:8px;
  height:9px;
  background:#927044;
  border-radius:45%
}
.fan.is-interrupted .fan__body {
  animation:fan-interruption 2300ms var(--ease-film) 1 forwards
}
.fan.is-interrupted .fan__pull {
  animation:fan-pull 2300ms ease-out 1
}
@keyframes fan-interruption {
  0% {
    transform:rotate(0)
  }
  32% {
    transform:rotate(54deg)
  }
  43% {
    transform:rotate(54deg)
  }
  58% {
    transform:rotate(61deg)
  }
  100% {
    transform:rotate(105deg)
  }
}
@keyframes fan-pull {
  0%,40%,100% {
    transform:rotate(8deg)
  }
  48% {
    transform:rotate(15deg)
  }
  64% {
    transform:rotate(6deg)
  }
}
.kitchen-frame__shelf {
  position:absolute;
  left:5%;
  top:47%;
  width:59%;
  height:17px;
  background:linear-gradient(90deg,#574333,#8c6d4e,#4b392b);
  box-shadow:0 15px 18px rgba(36,27,18,.3)
}
.kitchen-frame__shelf::before {
  content:'';
  position:absolute;
  left:5%;
  bottom:-40px;
  width:9px;
  height:40px;
  background:linear-gradient(90deg,#6b5440,#2d241b)
}
.sugar-jar {
  position:absolute;
  bottom:16px;
  left:11%;
  width:75px;
  height:94px;
  border-radius:12px 12px 18px 18px;
  background:linear-gradient(90deg,#b7aa87,#e6ddbd 60%,#b2a685);
  box-shadow:0 5px 24px rgba(0,0,0,.15);
  transform:rotate(-2deg)
}
.sugar-jar::before {
  content:'';
  position:absolute;
  top:-9px;
  left:-5px;
  right:-5px;
  height:16px;
  border-radius:50%;
  background:linear-gradient(90deg,#7b6f52,#c8b898,#867b61)
}
.sugar-jar::after {
  content:'';
  position:absolute;
  top:16px;
  left:23px;
  width:4px;
  height:9px;
  background:#8a7258;
  opacity:.43
}
.mug {
  position:absolute;
  left:60%;
  bottom:16px;
  width:66px;
  height:64px;
  border-radius:4px 5px 23px 24px;
  background:linear-gradient(100deg,#dbd0bb,#f2e7d2,#b9ab8f);
  box-shadow:0 10px 17px rgba(0,0,0,.22)
}
.mug::after {
  content:'';
  position:absolute;
  right:-23px;
  top:9px;
  width:24px;
  height:36px;
  border:8px solid #c6b69d;
  border-left:0;
  border-radius:0 15px 15px 0
}
.mug::before {
  content:'';
  position:absolute;
  inset:11px 15px 7px auto;
  width:1px;
  background:#716452;
  transform:rotate(12deg);
  opacity:.7
}
.kitchen-frame__table {
  position:absolute;
  left:-8%;
  right:-10%;
  bottom:-14%;
  height:40%;
  background:linear-gradient(0deg,#32271f,#8a694b 33%,#bc9771 72%,#705138);
  transform:perspective(600px) rotateX(14deg);
  box-shadow:0 -14px 35px rgba(0,0,0,.2)
}
.kitchen-frame__table::after {
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(6deg,transparent 0 22px,rgba(60,38,22,.045) 23px 25px);
  opacity:.8
}
.paper-slip {
  position:absolute;
  z-index:1;
  right:23%;
  top:19%;
  width:155px;
  height:75px;
  background:linear-gradient(130deg,#e8dfca,#bcb5a5);
  box-shadow:4px 9px 17px rgba(0,0,0,.32);
  transform:rotate(12deg);
  display:flex;
  align-items:center;
  justify-content:center
}
.paper-slip span {
  font-family:var(--font-display);
  font-size:1.8125rem;
  font-weight:700;
  color:rgba(156,51,54,.65);
  border:3px solid rgba(156,51,54,.62);
  padding:0 8px;
  transform:rotate(-4deg)
}
.kitchen-frame__plate {
  position:absolute;
  top:25%;
  left:19%;
  width:125px;
  height:60px;
  border-radius:50%;
  background:radial-gradient(ellipse,#ad8452 28%,#ddd0b3 30%,#6b4f36 38%,#d8c7a5 41%,#6c5541 60%);
  box-shadow:0 9px 12px rgba(0,0,0,.24)
}
.kitchen-frame__caption {
  position:absolute;
  bottom:17px;
  left:19px;
  right:19px;
  z-index:6;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-family:var(--font-mono);
  font-size:0.875rem;
  letter-spacing:.16em;
  color:#e4dfd2;
  text-shadow:0 2px 9px #000
}
.kitchen-frame__caption span:last-child {
  color:#e3d0a7
}
.kitchen-frame.is-anomaly .kitchen-frame__caption span:last-child {
  color:#ffbbb6
}
.kitchen-frame__shadow {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 30%,transparent 26%,rgba(9,9,9,.28));
  z-index:4
}
.world-card__art--paper {
  background:linear-gradient(135deg,#5c5951,#323332);
  display:grid;
  place-items:center;
  perspective:700px
}
.world-card__art--paper::before {
  content:'';
  display:block;
  position:absolute;
  left:17%;
  top:14%;
  height:80%;
  width:67%;
  transform:rotate(-7deg);
  background:linear-gradient(135deg,#ddd5c5,#b9b7ac);
  box-shadow:15px 30px 45px rgba(0,0,0,.45)
}
.world-card__redaction {
  position:absolute;
  z-index:2;
  width:35%;
  height:35%;
  background:repeating-linear-gradient(0deg,#262a2a 0 8px,transparent 9px 19px);
  top:33%;
  left:32%;
  transform:rotate(-7deg)
}
.world-card__paid {
  position:absolute;
  z-index:3;
  right:15%;
  bottom:25%;
  transform:rotate(-15deg);
  font-size:clamp(2.125rem,5vw,4.625rem);
  font-weight:800;
  color:rgba(156,51,54,.56);
  border:5px solid rgba(156,51,54,.52);
  font-family:var(--font-display);
  line-height:1.1
}
.world-card__art--clock {
  background:radial-gradient(circle at 50% 45%,#38484a,#1e2629 65%,#181e20)
}
.clock-face {
  width:min(55%,240px);
  aspect-ratio:1;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  border:7px solid #526165;
  border-radius:50%;
  box-shadow:0 0 0 8px rgba(26,29,28,.36),inset 0 0 22px rgba(0,0,0,.5);
  background:repeating-conic-gradient(from 0deg,rgba(225,234,228,.57) 0deg .9deg,transparent 1deg 30deg),radial-gradient(circle at center,#29353a 35%,#1c2528 95%)
}
.clock-face::after {
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:11px;
  height:11px;
  background:var(--commons-light);
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:2
}
.clock-face__hand {
  position:absolute;
  left:50%;
  top:24%;
  width:3px;
  height:36%;
  background:var(--warm-paper);
  transform:translateX(-50%) rotate(13deg);
  transform-origin:center 73%;
  box-shadow:0 0 6px rgba(255,255,255,.26)
}
.clock-face__hand:after {
  content:'';
  position:absolute;
  top:80%;
  left:50%;
  width:35px;
  height:2px;
  background:#a9b4af;
  transform-origin:left center;
  transform:rotate(100deg)
}
.world-card__art--line {
  background:linear-gradient(160deg,#50585b 0%,#24292c 45%,#101415);
  perspective:400px
}
.world-card__art--line::before {
  content:'';
  position:absolute;
  inset:12% 20%;
  border:1px solid rgba(231,220,199,.17);
  transform:rotateY(28deg)
}
.world-card__art--line span {
  position:absolute;
  left:-20%;
  width:140%;
  height:5px;
  top:72%;
  background:var(--boundary-red);
  box-shadow:0 0 32px rgba(156,51,54,.4);
  transform:rotate(-8deg)
}
.world-card__art--line span::before {
  position:absolute;
  content:'';
  inset:-25px 0 5px;
  background:linear-gradient(transparent,rgba(156,51,54,.11))
}
.world-card:hover .world-card__art--clock .clock-face__hand {
  transition:transform 2s;
  transform:translateX(-50%) rotate(86deg)
}
.world-card:hover .world-card__art--line span {
  box-shadow:0 0 50px rgba(156,51,54,.57)
}
.world-card:hover .world-card__art--paper::before {
  transform:rotate(-5deg);
  transition:transform 550ms
}
