/* =========================================================
   A-Z ARG sites expansion
   ========================================================= */

:root {
  --arg-bg: #050506;
  --arg-bg2: #111116;
  --arg-ink: #f4efe6;
  --arg-muted: rgba(244, 239, 230, .68);
  --arg-faint: rgba(244, 239, 230, .2);
  --arg-line: rgba(244, 239, 230, .16);
  --arg-card: rgba(10, 10, 12, .76);
  --arg-hot: #d21b36;
  --arg-cold: #7dd8ff;
  --arg-accent: #f6c85f;
  --arg-glow: rgba(210, 27, 54, .3);
  --arg-font: "Yu Gothic", "Hiragino Sans", "Meiryo", system-ui, sans-serif;
  --arg-serif: "Yu Mincho", "Hiragino Mincho ProN", serif;
  --arg-mono: "MS Gothic", "IBM Plex Mono", ui-monospace, monospace;
}

/* =========================================================
   v41 page-specific fixes and stronger N-Z individuality
========================================================= */
html {
  background: #000;
}

body.arg-page {
  background-color: #000;
}

body.arg-n .arg-shell {
  width: min(100% - 16px, 1600px);
}

body.arg-n .portal-home {
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(166,117,255,.08) 0 1px, transparent 1px) 0 0 / 37px 100%,
    linear-gradient(180deg, rgba(3,3,8,.96), rgba(12,5,20,.94)),
    url("/assets/images/fx_static_noise.webp") center / 360px;
}

.portal-dossier {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
  gap: 14px;
  padding: clamp(16px, 3vw, 28px);
  border-top: 1px solid var(--arg-line);
}

.portal-dossier article,
.portal-legend-list {
  border: 1px solid rgba(216,199,255,.18);
  background: rgba(0,0,0,.42);
  padding: 16px;
}

.portal-dossier h2,
.portal-dossier h3 {
  margin: 0 0 10px;
  color: #fff;
  font-family: var(--arg-serif);
  line-height: 1.12;
}

.portal-dossier p,
.portal-dossier li {
  color: rgba(238,233,255,.78);
  line-height: 1.9;
}

.portal-legend-list {
  display: grid;
  gap: 10px;
}

.portal-legend-list b {
  color: var(--arg-accent);
  font: 900 12px/1.2 var(--arg-mono);
}

body.arg-o .white-observatory {
  background:
    radial-gradient(circle at 52% 46%, rgba(0,0,0,.035), transparent 14rem),
    repeating-linear-gradient(90deg, transparent 0 63px, rgba(0,0,0,.028) 63px 64px),
    #fff;
}

body.arg-o .white-ledger {
  transform: rotate(.6deg);
}

.white-field {
  min-height: 100dvh;
}

.white-thing.mobile-fall {
  top: -12vh !important;
  animation: whiteMobileFall 8.4s linear forwards !important;
  filter: blur(.2px);
}

@keyframes whiteMobileFall {
  to {
    transform: translateY(122dvh) rotate(var(--word-rotate, 0deg));
    opacity: 0;
  }
}

body.arg-p .falling-observatory {
  background:
    linear-gradient(90deg, rgba(210,27,54,.08) 0 1px, transparent 1px) 0 0 / 21px 100%,
    linear-gradient(180deg, #fff, #fff 68%, #f2f2f2);
}

.falling-field {
  min-height: 100dvh;
  overflow: hidden;
}

.fall-word.mobile-fall-word {
  z-index: 2;
  will-change: transform;
}

.e404-main-search input {
  min-width: 0;
}

.e404-room-overlay {
  position: fixed;
  inset: 0;
  z-index: 9900;
  display: none;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: #000;
}

body.e404-room-playing .e404-room-overlay {
  display: grid;
  animation: e404Blackout .42s steps(2) both;
}

.e404-room-noise {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.18) 0 1px, transparent 1px 4px),
    url("/assets/images/fx_static_noise.webp") center / cover;
  mix-blend-mode: screen;
  opacity: .34;
  animation: e404Noise .18s steps(2) infinite;
}

.e404-room-film {
  position: relative;
  width: min(100vw, 1180px);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.24), 0 28px 120px rgba(0,0,0,.72);
  filter: contrast(1.04) brightness(.98);
  animation: e404FilmDrift 5.8s ease-in-out infinite;
}

.e404-room-film img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: e404RoomFrame 5.7s steps(1, end) infinite;
}

.e404-room-film img:nth-child(2) {
  animation-delay: 1.9s;
}

.e404-room-film img:nth-child(3) {
  animation-delay: 3.8s;
}

.e404-room-scene {
  position: relative;
  width: min(88vw, 860px);
  aspect-ratio: 16 / 9;
  perspective: 720px;
  filter: contrast(1.25);
}

.e404-room-cube {
  position: absolute;
  inset: 8%;
  transform-style: preserve-3d;
  animation: e404RoomDrift 5.2s ease-in-out infinite;
}

.e404-room-cube .wall {
  position: absolute;
  inset: 0;
  display: block;
  background: #f7f7f7;
  border: 1px solid rgba(0,0,0,.14);
  box-shadow: inset 0 0 80px rgba(0,0,0,.08);
}

.e404-room-cube .wall-back { transform: translateZ(-240px); }
.e404-room-cube .wall-left { transform-origin: left center; transform: rotateY(90deg) translateX(-240px); }
.e404-room-cube .wall-right { transform-origin: right center; transform: rotateY(-90deg) translateX(240px); }
.e404-room-cube .wall-floor { transform-origin: bottom center; transform: rotateX(90deg) translateY(240px); }
.e404-room-cube .wall-ceiling { transform-origin: top center; transform: rotateX(-90deg) translateY(-240px); }

.room-light {
  position: absolute;
  left: 50%;
  top: 10%;
  width: 90px;
  aspect-ratio: 1;
  transform: translate(-50%, 0) translateZ(-120px);
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 20%, rgba(255,255,255,.25) 21% 100%);
  filter: blur(2px);
}

.suspended-static {
  position: absolute;
  left: 50%;
  top: 22%;
  width: 62px;
  height: 170px;
  transform: translate(-50%, 0) translateZ(-118px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.16)),
    repeating-linear-gradient(90deg, transparent 0 5px, rgba(255,255,255,.16) 5px 7px);
  clip-path: polygon(48% 0, 55% 0, 55% 24%, 80% 54%, 64% 100%, 36% 100%, 20% 54%, 45% 24%);
  filter: blur(.8px);
  opacity: .72;
  animation: suspendedStatic 1.1s steps(2) infinite;
}

.e404-room-overlay p {
  position: absolute;
  left: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  max-width: min(620px, calc(100vw - 172px));
  color: rgba(255,255,255,.86);
  font: 900 clamp(16px, 4vw, 34px)/1.4 var(--arg-mono);
  text-shadow: 2px 2px #000;
}

.e404-room-close {
  position: absolute;
  right: 16px;
  top: max(16px, env(safe-area-inset-top));
  z-index: 2;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(0,0,0,.72);
  color: #fff;
  padding: 10px 12px;
  font: 900 13px/1 var(--arg-mono);
  letter-spacing: 0;
  cursor: pointer;
}

.e404-room-close:hover,
.e404-room-close:focus-visible {
  background: #fff;
  color: #000;
}

.e404-room-dismiss {
  position: absolute;
  right: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  color: rgba(255,255,255,.68);
  font: 900 12px/1 var(--arg-mono);
  text-shadow: 1px 1px #000;
}

.e404-room-overlay.is-deep .e404-room-scene {
  transform: scale(1.18);
  filter: invert(1) contrast(2.2);
}

.e404-room-overlay.is-deep .e404-room-film {
  transform: scale(1.08);
  filter: invert(1) contrast(1.7) brightness(1.12);
}

.e404-hit-dialog {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.48);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.e404-hit-dialog.is-active {
  opacity: 1;
  pointer-events: auto;
}

.e404-hit-dialog section {
  width: min(560px, 100%);
  border: 2px solid #d8d8d8;
  background: #f2f2f2;
  color: #101010;
  box-shadow: 12px 12px 0 rgba(0,0,0,.65);
  font-family: "MS PGothic", "Meiryo", sans-serif;
}

.e404-hit-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  color: #fff;
  background: #1a1a1a;
  font: 900 13px/1 var(--arg-mono);
}

.e404-hit-dialog h3 {
  margin: 0;
  padding: 18px 20px 0;
  color: #111;
  font: 900 clamp(18px, 4vw, 26px)/1.25 "MS PGothic", "Meiryo", sans-serif;
  text-align: center;
}

.e404-hit-dialog [data-e404-hit-message] {
  margin: 0;
  padding: 14px 20px 8px;
  font-size: clamp(20px, 4vw, 30px);
  line-height: 1.45;
  text-align: center;
}

.e404-hit-detail,
.e404-hit-route {
  margin: 0;
  padding: 0 22px;
  font-size: 14px;
  line-height: 1.65;
}

.e404-hit-detail {
  color: #222;
}

.e404-hit-route {
  margin-top: 10px;
  color: #7b001d;
  font-weight: 900;
  text-align: center;
}

.e404-hit-dialog footer {
  display: flex;
  justify-content: center;
  padding: 18px;
}

.e404-hit-dialog button {
  border: 1px solid #555;
  background: #fff;
  color: #111;
  font: inherit;
}

@keyframes e404Blackout {
  0% { opacity: 0; filter: invert(1); }
  100% { opacity: 1; filter: none; }
}

@keyframes e404Noise {
  50% { transform: translate(2px, -1px); opacity: .58; }
}

@keyframes e404RoomDrift {
  50% { transform: rotateY(-3deg) rotateX(1deg) translateZ(24px); }
}

@keyframes e404FilmDrift {
  50% { transform: scale(1.025) translateY(-4px); }
}

@keyframes e404RoomFrame {
  0%, 32% { opacity: 1; }
  33%, 100% { opacity: 0; }
}

@keyframes suspendedStatic {
  50% { transform: translate(calc(-50% + 3px), 2px) translateZ(-118px); opacity: .46; }
}

.e404-rope-loop {
  position: absolute;
  left: 50%;
  top: 7%;
  width: 74px;
  height: 186px;
  transform: translate(-50%, 0) translateZ(-126px);
  border-left: 6px solid rgba(34,27,18,.78);
  filter: drop-shadow(12px 18px 8px rgba(0,0,0,.2));
}

.e404-rope-loop::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 88px;
  width: 54px;
  height: 68px;
  border: 6px solid rgba(34,27,18,.72);
  border-top-color: rgba(34,27,18,.42);
  border-radius: 50%;
  transform: rotate(-5deg);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.12);
}

.e404-rope-loop::after {
  content: "";
  position: absolute;
  left: -5px;
  top: 0;
  width: 9px;
  height: 178px;
  background: repeating-linear-gradient(180deg, rgba(81,63,39,.86) 0 7px, rgba(28,22,15,.82) 7px 11px);
  opacity: .76;
}

.e404-fallen-chair {
  position: absolute;
  left: 53%;
  bottom: 18%;
  width: 118px;
  height: 84px;
  transform: translate(-50%, 0) rotate(-18deg) translateZ(-84px);
  border: 7px solid rgba(41,31,22,.78);
  border-top-width: 18px;
  background: rgba(94,72,45,.18);
  box-shadow: 18px 20px 0 rgba(0,0,0,.16);
}

.e404-fallen-chair i {
  position: absolute;
  display: block;
  background: rgba(41,31,22,.76);
}

.e404-fallen-chair i:nth-child(1) {
  left: 12px;
  bottom: -48px;
  width: 8px;
  height: 54px;
  transform: rotate(28deg);
}

.e404-fallen-chair i:nth-child(2) {
  right: 14px;
  bottom: -44px;
  width: 8px;
  height: 52px;
  transform: rotate(-22deg);
}

.e404-fallen-chair i:nth-child(3) {
  left: 18px;
  right: 18px;
  bottom: -8px;
  height: 8px;
  transform: rotate(7deg);
}

.void-comment-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 8px;
  grid-column: 2;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.62);
}

.void-comment-form input,
.void-comment-form button {
  min-height: 42px;
  border: 1px solid rgba(124,255,155,.36);
  color: #fff;
  background: rgba(0,0,0,.72);
  font: 900 13px/1 var(--arg-mono);
}

.void-comment-form input {
  padding: 0 10px;
}

.void-comment-form button {
  color: #050105;
  background: #7cff9b;
}

.voidstream-page .live0-comments p.is-mine {
  border-left-color: #7cff9b;
  color: #d8ffe3;
}

.voidstream-pixel-yumerin {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  display: none;
  width: 180px;
  height: 220px;
  transform: translate(-50%, -50%) scale(1);
  image-rendering: pixelated;
  filter: drop-shadow(0 0 22px rgba(255,20,108,.75));
}

.voidstream-pixel-yumerin.is-visible {
  display: block;
  animation: pixelYumerinPop 1.4s steps(2) both;
}

.pixel-girl,
.pixel-girl span,
.pixel-star {
  position: absolute;
  display: block;
}

.pixel-girl {
  left: 52px;
  top: 28px;
  width: 78px;
  height: 150px;
}

.pixel-girl .hair {
  left: 12px;
  top: 0;
  width: 54px;
  height: 66px;
  background: #ff4fb6;
  box-shadow: -12px 18px 0 #b9005b, 12px 18px 0 #b9005b;
}

.pixel-girl .face {
  left: 20px;
  top: 20px;
  width: 38px;
  height: 34px;
  background: #ffd6c9;
  box-shadow: 0 0 0 4px #2b0030;
}

.pixel-girl .eye {
  top: 32px;
  width: 7px;
  height: 9px;
  background: #050105;
  z-index: 2;
}

.pixel-girl .eye.e1 { left: 30px; }
.pixel-girl .eye.e2 { left: 46px; }

.pixel-girl .body {
  left: 16px;
  top: 66px;
  width: 46px;
  height: 58px;
  background: #fff100;
  box-shadow: 0 16px 0 #ff146c, -16px 30px 0 #7cff9b, 16px 30px 0 #7cff9b;
}

.pixel-girl .wand {
  right: -18px;
  top: 58px;
  width: 8px;
  height: 70px;
  background: #fff;
  box-shadow: 0 -12px 0 #7cff9b, 0 -20px 0 #ff146c;
  transform: rotate(-18deg);
}

.pixel-star {
  width: 14px;
  height: 14px;
  background: #fff100;
  box-shadow: 0 0 0 4px #050105;
}

.pixel-star.s1 { left: 22px; top: 24px; }
.pixel-star.s2 { right: 18px; top: 58px; background: #7cff9b; }
.pixel-star.s3 { left: 18px; bottom: 34px; background: #ff146c; }

.voidstream-pixel-yumerin b {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  color: #7cff9b;
  background: #050105;
  padding: 5px 7px;
  font: 900 12px/1 var(--arg-mono);
}

@keyframes pixelYumerinPop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.2); filter: invert(1); }
  30%, 84% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(.96); }
}

@media (max-width: 760px) {
  body.arg-n .arg-shell,
  .voidstream {
    width: min(100% - 12px, 100%);
  }

  .portal-dossier,
  .voidstream-player,
  .voidstream-console {
    grid-template-columns: 1fr;
  }

  .void-comment-form {
    grid-column: 1;
  }

  .portal-feature h2,
  .voidstream-caption h1 {
    font-size: clamp(24px, 8vw, 42px);
    line-height: 1.12;
  }

  .voidstream-feed {
    min-height: 62dvh;
  }

  .voidstream-feed img {
    display: block;
    min-height: 62dvh;
  }

  .voidstream-page .live0-comments {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 220px;
    max-height: 34dvh;
    overflow: auto;
  }

  .voidstream-feed {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .e404-logo {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    font-size: clamp(42px, 18vw, 86px);
    line-height: .92;
  }

  .e404-main-search {
    grid-template-columns: 1fr;
  }

  .e404-room-scene {
    width: 118vw;
    transform: scale(.92);
  }

  .fall-word {
    font-size: clamp(18px, 8vw, 46px);
  }

  .game-touch-controls {
    position: fixed;
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 9200;
  }
}

body.arg-page {
  min-height: 100vh;
  margin: 0;
  color: var(--arg-ink);
  background:
    radial-gradient(circle at 22% 10%, color-mix(in srgb, var(--arg-hot) 24%, transparent), transparent 28rem),
    radial-gradient(circle at 82% 2%, color-mix(in srgb, var(--arg-cold) 16%, transparent), transparent 24rem),
    linear-gradient(135deg, var(--arg-bg), var(--arg-bg2) 48%, #020203);
  font-family: var(--arg-font);
  letter-spacing: 0;
  overflow-x: hidden;
}

body.arg-page::before,
body.arg-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

body.arg-page::before {
  opacity: .13;
  mix-blend-mode: screen;
  background-image: url("/assets/images/fx_static_noise.webp");
  background-size: 520px auto;
  animation: argNoise 1.2s steps(2) infinite;
}

body.arg-page::after {
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.045) 1px, transparent 1px, transparent 5px),
    radial-gradient(circle at 50% 45%, transparent 0 42%, rgba(0,0,0,.55) 100%);
  opacity: .45;
}

@keyframes argNoise {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(-1.5%, 1%); }
  50% { transform: translate(1%, -.8%); }
  75% { transform: translate(.5%, 1.5%); }
}

.arg-page * {
  box-sizing: border-box;
}

.arg-page img {
  max-width: 100%;
  display: block;
}

.arg-shell,
.az-ribbon,
.arg-scare,
.arg-toast {
  position: relative;
  z-index: 1;
}

.az-ribbon {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 9px clamp(12px, 2vw, 24px);
  border-bottom: 1px solid var(--arg-line);
  background: rgba(3, 3, 4, .88);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
  overflow: hidden;
}

.az-ribbon b {
  color: var(--arg-accent);
  font: 900 12px/1 var(--arg-mono);
  letter-spacing: .08em;
}

.az-ribbon nav {
  min-width: 0;
  max-width: 100%;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.az-ribbon a {
  min-width: 30px;
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(244,239,230,.72);
  background: rgba(255,255,255,.035);
  text-decoration: none;
  font: 900 12px/1 var(--arg-mono);
}

.az-ribbon a:hover,
.az-ribbon a.is-current {
  color: #fff;
  border-color: color-mix(in srgb, var(--arg-hot) 65%, white 10%);
  background: color-mix(in srgb, var(--arg-hot) 28%, transparent);
  box-shadow: 0 0 22px var(--arg-glow);
}

.az-status {
  white-space: nowrap;
  color: var(--arg-muted);
  font: 700 11px/1 var(--arg-mono);
}

.arg-shell {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(32px, 6vw, 76px) 0 80px;
}

.arg-hero {
  min-height: min(760px, calc(100vh - 52px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  border-bottom: 1px solid var(--arg-line);
}

.arg-hero.is-wide {
  grid-template-columns: 1fr;
  align-items: end;
  min-height: min(720px, calc(100vh - 52px));
  padding-bottom: 8vh;
}

.arg-eyebrow {
  margin: 0 0 14px;
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.arg-title {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(48px, 8vw, 112px);
  line-height: .98;
  font-weight: 900;
  text-wrap: balance;
  text-shadow: 0 0 34px color-mix(in srgb, var(--arg-hot) 32%, transparent);
}

.arg-title.small {
  font-size: clamp(38px, 6vw, 78px);
}

.arg-lead {
  max-width: 760px;
  min-width: 0;
  margin: 24px 0 0;
  color: var(--arg-muted);
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 2.05;
}

.arg-hero-media {
  position: relative;
  min-height: 420px;
  border: 1px solid var(--arg-line);
  overflow: hidden;
  background: #000;
  box-shadow: 0 34px 90px rgba(0,0,0,.45);
}

.arg-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  filter: contrast(1.08) saturate(.78) brightness(.74);
}

.arg-hero-media::after {
  content: attr(data-caption);
  position: absolute;
  left: 14px;
  bottom: 12px;
  padding: 7px 9px;
  color: #fff;
  background: rgba(0,0,0,.72);
  font: 700 11px/1.3 var(--arg-mono);
}

.arg-section {
  padding: clamp(42px, 6vw, 88px) 0;
  border-bottom: 1px solid var(--arg-line);
}

.arg-section > h2,
.arg-panel h2,
.arg-panel h3 {
  margin: 0 0 16px;
  color: var(--arg-ink);
  font-family: var(--arg-serif);
  line-height: 1.15;
}

.arg-section > h2 {
  font-size: clamp(32px, 5vw, 64px);
}

.arg-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.arg-panel {
  grid-column: span 4;
  position: relative;
  min-height: 220px;
  padding: clamp(18px, 2.5vw, 30px);
  border: 1px solid var(--arg-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    var(--arg-card);
  box-shadow: 0 20px 54px rgba(0,0,0,.3);
  overflow: hidden;
}

a.arg-panel {
  display: block;
  color: var(--arg-ink);
  text-decoration: none;
}

a.arg-panel:hover {
  border-color: color-mix(in srgb, var(--arg-hot) 58%, white 12%);
  transform: translateY(-3px);
  box-shadow: 0 24px 62px rgba(0,0,0,.38), 0 0 30px var(--arg-glow);
}

.arg-panel.wide {
  grid-column: span 8;
}

.arg-panel.full {
  grid-column: 1 / -1;
}

.arg-panel.tall {
  min-height: 460px;
}

.arg-panel::before {
  content: attr(data-case);
  position: absolute;
  right: 16px;
  top: 14px;
  color: var(--arg-faint);
  font: 900 11px/1 var(--arg-mono);
}

.arg-panel p,
.arg-panel li {
  color: var(--arg-muted);
  line-height: 1.85;
}

.arg-panel ul,
.arg-panel ol {
  margin: 14px 0 0;
  padding-left: 1.15em;
}

.arg-terminal {
  padding: 16px;
  border: 1px solid rgba(110,244,156,.22);
  color: #9dffb5;
  background: rgba(0, 12, 4, .82);
  font: 700 12px/1.75 var(--arg-mono);
  white-space: pre-wrap;
}

.arg-terminal p {
  margin: 0 0 7px;
  color: inherit;
}

.arg-evidence {
  display: grid;
  gap: 12px;
}

.arg-evidence button,
.arg-button,
.journey-choices button,
.c-rpg-actions button {
  cursor: pointer;
  min-height: 42px;
  border: 1px solid color-mix(in srgb, var(--arg-hot) 42%, white 12%);
  color: var(--arg-ink);
  background: color-mix(in srgb, var(--arg-hot) 16%, rgba(255,255,255,.04));
  font: 900 13px/1.2 var(--arg-mono);
  letter-spacing: .04em;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.arg-evidence button:hover,
.arg-button:hover,
.journey-choices button:hover,
.c-rpg-actions button:hover {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--arg-hot) 35%, rgba(255,255,255,.08));
  box-shadow: 0 0 28px var(--arg-glow);
}

.arg-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.arg-link-row a,
.arg-link-row button {
  display: inline-grid;
  place-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--arg-line);
  color: var(--arg-ink);
  background: rgba(255,255,255,.045);
  text-decoration: none;
  font: 900 12px/1 var(--arg-mono);
}

.arg-link-row a:hover,
.arg-link-row button:hover {
  border-color: var(--arg-accent);
  color: #fff;
}

.arg-fragments {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.arg-fragments span {
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--arg-line);
  color: var(--arg-muted);
  background: rgba(255,255,255,.035);
  font: 800 12px/1.55 var(--arg-mono);
}

.arg-feed {
  display: grid;
  gap: 10px;
}

.arg-feed article {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.24);
}

.arg-feed b,
.arg-feed time {
  display: block;
  color: var(--arg-accent);
  font: 900 11px/1.4 var(--arg-mono);
}

.arg-feed p {
  margin: 6px 0 0;
}

.arg-split {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(320px, 1fr);
  gap: 18px;
}

.arg-image-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.arg-image-stack img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--arg-line);
  filter: grayscale(.24) contrast(1.1) brightness(.78);
}

.arg-image-stack img:first-child {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 7;
}

/* Site C: ROM investigation */
body.arg-c {
  --arg-bg: #0a0b07;
  --arg-bg2: #1e170b;
  --arg-hot: #ff455e;
  --arg-cold: #83ff8d;
  --arg-accent: #ffd166;
}

.rom-layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(360px, 1fr);
  gap: 18px;
  align-items: start;
}

.rom-case-file {
  display: grid;
  gap: 12px;
}

.rom-case-file b {
  color: var(--arg-accent);
  font-family: var(--arg-mono);
}

.c-rpg-frame {
  position: relative;
  min-height: 620px;
}

.c-rpg-map {
  min-height: 470px;
}

.c-rpg-dialog {
  backdrop-filter: blur(8px);
}

.c-rpg-atlas {
  margin-top: 18px;
  border: 1px solid var(--arg-line);
  background: rgba(0,0,0,.34);
}

/* Site E */
body.arg-e {
  --arg-bg: #f6f7f8;
  --arg-bg2: #dde4ea;
  --arg-ink: #101318;
  --arg-muted: rgba(16,19,24,.68);
  --arg-line: rgba(16,19,24,.16);
  --arg-card: rgba(255,255,255,.86);
  --arg-hot: #2457ff;
  --arg-cold: #d21b36;
  --arg-accent: #111318;
}

body.arg-e::before {
  opacity: .04;
  mix-blend-mode: multiply;
}

body.arg-e::after {
  opacity: .15;
}

.e-search-lab {
  min-height: 52vh;
  display: grid;
  align-items: center;
  padding: clamp(42px, 9vh, 98px) 0 clamp(22px, 5vh, 46px);
}

.e-search-lab > div {
  min-width: 0;
  width: 100%;
}

.e404-shell {
  position: relative;
}

.e404-search-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)),
    rgba(0,0,0,.28);
  box-shadow: 0 30px 100px rgba(0,0,0,.34);
}

.e404-logo {
  font: 900 clamp(46px, 8vw, 104px)/1 var(--arg-font);
  letter-spacing: 0;
  max-width: 100%;
  overflow: hidden;
}

.e404-logo b:nth-child(1) { color: #2457ff; }
.e404-logo b:nth-child(2) { color: #d21b36; }
.e404-logo b:nth-child(3) { color: #f4b400; }
.e404-logo b:nth-child(4) { color: #2457ff; }
.e404-logo b:nth-child(5) { color: #188038; }
.e404-logo b:nth-child(6) { color: #d21b36; }

.e404-main-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

.e404-main-search input {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid var(--arg-line);
  border-radius: 0;
  color: var(--arg-ink);
  background: #fff;
  font-size: 17px;
}

.e404-main-search button {
  width: auto;
  min-width: 110px;
  margin-left: 0;
}

.e404-query-row {
  gap: 8px;
  margin-top: 14px;
}

.e404-query-row button {
  min-height: 34px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.055);
  font: 900 12px/1 var(--arg-mono);
}

.e404-query-row button:hover,
.e404-query-row button:focus-visible {
  color: #101010;
  background: #fff;
}

.e404-decay-readout {
  min-height: 18px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.46);
  font: 900 11px/1.4 var(--arg-mono);
  letter-spacing: .03em;
}

/* v1.26 E: the search engine slowly reveals the room behind it. */
body.arg-e .e404-shell {
  position: relative;
  z-index: 1;
}

.e404-decay-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #050506;
  opacity: 0;
  transition: opacity .8s ease, background .8s ease;
}

.e404-decay-scene::before,
.e404-decay-scene::after {
  content: "";
  position: absolute;
  inset: 0;
}

.e404-decay-scene::before {
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 5px);
  opacity: .22;
  mix-blend-mode: screen;
}

.e404-decay-scene::after {
  background: radial-gradient(ellipse at 52% 42%, transparent 12%, rgba(0,0,0,.9) 78%);
}

.e404-decay-room,
.e404-decay-keyboard {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: saturate(.55) brightness(.38) contrast(1.3);
  transition: opacity .7s ease, filter .7s ease, transform 1.4s ease;
}

.e404-decay-keyboard {
  transform: scale(1.08);
  filter: saturate(.5) brightness(.3) contrast(1.35);
}

.e404-decay-window {
  position: absolute;
  width: min(42vw, 540px);
  height: min(22vh, 180px);
  border: 1px solid rgba(255,110,117,.2);
  background: rgba(12,0,2,.54);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.9), 0 0 42px rgba(99,0,10,.2);
  opacity: 0;
}

.e404-decay-window-a { left: 5%; top: 14%; }
.e404-decay-window-b { right: 9%; top: 47%; }
.e404-decay-window-c { left: 30%; bottom: 4%; }

.e404-decay-scene[data-level="1"] {
  opacity: .22;
}

.e404-decay-scene[data-level="1"] .e404-decay-room {
  opacity: .18;
  transform: scale(1.02);
}

.e404-decay-scene[data-level="2"] {
  opacity: .42;
}

.e404-decay-scene[data-level="2"] .e404-decay-room {
  opacity: .34;
}

.e404-decay-scene[data-level="2"] .e404-decay-window-a {
  opacity: .5;
}

.e404-decay-scene[data-level="3"] {
  opacity: .58;
}

.e404-decay-scene[data-level="3"] .e404-decay-room {
  opacity: .48;
  transform: scale(1.045) translateX(-1%);
}

.e404-decay-scene[data-level="3"] .e404-decay-window-a,
.e404-decay-scene[data-level="3"] .e404-decay-window-b {
  opacity: .68;
  animation: e404GhostWindow 1.6s steps(2, end) infinite;
}

.e404-decay-scene[data-level="4"] {
  opacity: .72;
}

.e404-decay-scene[data-level="4"] .e404-decay-room {
  opacity: .56;
  filter: saturate(.72) brightness(.34) contrast(1.46);
}

.e404-decay-scene[data-level="4"] .e404-decay-keyboard {
  opacity: .25;
}

.e404-decay-scene[data-level="4"] .e404-decay-window {
  opacity: .72;
  animation: e404GhostWindow .9s steps(2, end) infinite;
}

.e404-decay-scene[data-level="5"] {
  opacity: .86;
  background: #090001;
}

.e404-decay-scene[data-level="5"] .e404-decay-room {
  opacity: .7;
  filter: saturate(.96) brightness(.32) contrast(1.62);
  transform: scale(1.08);
}

.e404-decay-scene[data-level="5"] .e404-decay-keyboard {
  opacity: .46;
  animation: e404KeyboardLeak 1.4s steps(2, end) infinite;
}

.e404-decay-scene[data-level="5"] .e404-decay-window {
  opacity: .84;
  border-color: rgba(255,55,66,.46);
  animation: e404GhostWindow .46s steps(2, end) infinite;
}

.e404-decay-scene[data-level="6"],
.e404-decay-scene[data-level="7"] {
  opacity: 1;
  background: #040001;
}

.e404-decay-scene[data-level="6"] .e404-decay-room,
.e404-decay-scene[data-level="7"] .e404-decay-room {
  opacity: .88;
  filter: saturate(1.12) brightness(.3) contrast(1.78);
  transform: scale(1.12);
}

.e404-decay-scene[data-level="6"] .e404-decay-keyboard,
.e404-decay-scene[data-level="7"] .e404-decay-keyboard {
  opacity: .58;
  mix-blend-mode: screen;
  animation: e404KeyboardLeak .72s steps(2, end) infinite;
}

.e404-decay-scene[data-level="6"] .e404-decay-window,
.e404-decay-scene[data-level="7"] .e404-decay-window {
  opacity: .95;
  border-color: rgba(255,68,77,.7);
  background: rgba(25,0,2,.75);
  animation: e404GhostWindow .34s steps(2, end) infinite;
}

.e404-decay-artifact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 38px;
  margin-top: 10px;
  padding: 7px 10px;
  border-left: 3px solid rgba(81, 219, 255, .72);
  color: rgba(218,248,255,.88);
  background: rgba(0,0,0,.34);
  font: 900 11px/1.35 var(--arg-mono);
}

.e404-decay-artifact b {
  color: #91edff;
  font-size: 10px;
  letter-spacing: .04em;
}

.e404-decay-artifact span {
  min-width: 0;
}

.e404-decay-artifact i {
  color: rgba(221,241,255,.5);
  font-size: 9px;
  font-style: normal;
  white-space: nowrap;
}

body.arg-e[data-e404-decay="1"] .e404-search-card {
  border-left: 4px solid rgba(81, 219, 255, .76);
}

body.arg-e[data-e404-decay="2"] .e404-search-card {
  border-color: rgba(151,220,255,.46);
  box-shadow: 8px 0 rgba(36,87,255,.28), -7px 0 rgba(210,27,54,.24), 0 30px 100px rgba(0,0,0,.34);
}

body.arg-e[data-e404-decay="2"] .e404-decay-artifact {
  border-left-color: #e54d6a;
  background: linear-gradient(90deg, rgba(210,27,54,.18), rgba(0,0,0,.42));
}

body.arg-e[data-e404-decay="2"] .e404-main-search {
  box-shadow: 6px 0 rgba(210,27,54,.18), -5px 0 rgba(36,87,255,.18);
}

body.arg-e[data-e404-decay="3"] .e404-search-card,
body.arg-e[data-e404-decay="4"] .e404-search-card,
body.arg-e[data-e404-decay="5"] .e404-search-card {
  animation: e404SearchCorrupt .64s steps(2, end) 1;
}

body.arg-e[data-e404-decay="3"] .e404-logo,
body.arg-e[data-e404-decay="4"] .e404-logo,
body.arg-e[data-e404-decay="5"] .e404-logo {
  text-shadow: 3px 0 rgba(210,27,54,.38), -3px 0 rgba(36,87,255,.3);
}

body.arg-e[data-e404-decay="3"] .e404-decay-artifact,
body.arg-e[data-e404-decay="4"] .e404-decay-artifact {
  border-left-color: #ff4260;
  color: #ffdfe3;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 4px), rgba(38,0,5,.72);
  animation: e404ArtifactTear .46s steps(2, end) 1;
}

body.arg-e[data-e404-decay="3"] .e404-result-panel,
body.arg-e[data-e404-decay="4"] .e404-result-panel {
  border-left: 4px solid rgba(255,48,74,.56);
  padding-left: 12px;
}

body.arg-e[data-e404-decay="4"] .e404-result-panel {
  filter: contrast(1.12);
}

body.arg-e[data-e404-decay="4"] .e404-main-search input {
  box-shadow: inset 0 -3px rgba(210,27,54,.48), 0 7px 0 rgba(255,255,255,.06);
}

body.arg-e[data-e404-decay="5"] .e404-query-row {
  filter: grayscale(.7) contrast(1.3);
  opacity: .62;
}

body.arg-e[data-e404-decay="5"] .e404-search-card {
  border-color: rgba(255,54,78,.82);
  box-shadow: 10px 0 rgba(255,0,38,.26), -10px 0 rgba(0,210,255,.16), 0 30px 100px rgba(0,0,0,.58);
}

body.arg-e[data-e404-decay="5"] .e404-decay-artifact {
  border-left-color: #ff102d;
  color: #ffd5da;
  background: linear-gradient(90deg, rgba(135,0,15,.72), rgba(0,0,0,.86));
  animation: e404ArtifactTear .32s steps(2, end) infinite;
}

body.arg-e.e404-cursed {
  --arg-bg: #150002;
  --arg-bg2: #390008;
  --arg-ink: #2a0004;
  --arg-line: rgba(255, 58, 72, .62);
  --arg-accent: #ff263e;
  background:
    repeating-linear-gradient(0deg, rgba(255,0,28,.07) 0 1px, transparent 1px 5px),
    radial-gradient(ellipse at 50% 18%, rgba(154,0,15,.42), transparent 42rem),
    #080001;
}

body.arg-e.e404-cursed .e-search-lab {
  min-height: 48vh;
  background: linear-gradient(90deg, rgba(0,0,0,.78), transparent 34%, rgba(0,0,0,.5));
}

body.arg-e.e404-cursed .e404-search-card {
  border-color: rgba(255, 56, 68, .88);
  background:
    linear-gradient(90deg, rgba(255,0,30,.16), transparent 18%, rgba(255,0,30,.08) 74%, transparent),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 4px),
    rgba(13,0,2,.84);
  box-shadow: 12px 0 rgba(255,255,255,.08), -13px 0 rgba(255,0,35,.5), 0 34px 110px rgba(0,0,0,.9);
  animation: e404CursePulse 1.08s steps(2, end) infinite;
}

body.arg-e.e404-cursed .e404-logo,
body.arg-e.e404-cursed .e404-logo b {
  color: #ff3445 !important;
  text-shadow: 4px 0 rgba(255,255,255,.28), -5px 0 rgba(110,0,8,.96), 0 0 24px rgba(255,0,24,.68);
}

body.arg-e.e404-cursed .e404-search-card .arg-lead,
body.arg-e.e404-cursed .e404-search-card .arg-eyebrow,
body.arg-e.e404-cursed .e404-decay-readout {
  color: #e1bec2;
}

body.arg-e.e404-cursed .e404-result-panel {
  border-color: rgba(255,61,75,.76);
  background: rgba(7,0,1,.78);
  box-shadow: 0 0 0 1px rgba(255,32,54,.1), 0 28px 80px rgba(0,0,0,.72);
}

body.arg-e.e404-cursed .e404-result-panel h2,
body.arg-e.e404-cursed .e404-result-panel .arg-eyebrow {
  color: #d9b7bb;
}

body.arg-e.e404-cursed .e404-decay-artifact {
  border-left-color: #ff2944;
  color: #f5cdd0;
  background: rgba(42,0,4,.94);
  box-shadow: inset 0 0 0 1px rgba(255,60,78,.18);
}

body.arg-e.e404-cursed .e404-decay-artifact b,
body.arg-e.e404-cursed .e404-decay-artifact i {
  color: #ff96a1;
}

body.arg-e.e404-cursed .e404-main-search input {
  border-color: rgba(255,70,80,.86);
  color: #2a0004;
  background: #ffd9da;
  box-shadow: inset 0 0 18px rgba(120,0,9,.3);
}

body.arg-e.e404-cursed .e404-main-search button {
  border-color: #ff7180;
  color: #fff;
  background: #9c0012;
}

body.arg-e.e404-cursed .e404-query-row {
  min-height: 34px;
  align-items: center;
  border-left: 2px solid #ff3045;
  padding-left: 10px;
  color: #ffbac0;
  font: 900 12px/1.45 var(--arg-mono);
  filter: none;
  opacity: 1;
}

.e404-cursed-result,
.e404-d-route {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  border-color: rgba(255,52,68,.86);
  color: #f5cdd0;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 5px),
    linear-gradient(135deg, rgba(134,0,16,.52), rgba(5,0,0,.98));
  box-shadow: -10px 0 rgba(255,0,38,.36), 0 20px 54px rgba(0,0,0,.74);
}

.e404-d-route {
  grid-template-columns: 1fr;
}

.e404-cursed-result figure {
  min-height: 210px;
  margin: -14px 0 -14px -14px;
  overflow: hidden;
  border-right: 1px solid rgba(255,72,88,.56);
}

.e404-cursed-result figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: sepia(1) hue-rotate(298deg) saturate(1.62) brightness(.58) contrast(1.35);
}

.e404-cursed-result h3,
.e404-d-route h3 {
  color: #ffabb4;
  font-family: var(--arg-mono);
  text-shadow: 2px 0 rgba(255,0,38,.74), -2px 0 rgba(255,255,255,.36);
}

.e404-cursed-result p,
.e404-d-route p {
  color: #dfc3c6;
}

.e404-cursed-result small {
  display: block;
  margin-top: 16px;
  color: #df838d;
  font: 900 11px/1.4 var(--arg-mono);
}

.e404-d-route a {
  display: inline-grid;
  min-height: 46px;
  align-items: center;
  margin-top: 18px;
  padding: 0 16px;
  border: 1px solid #fff;
  color: #fff;
  background: #990010;
  box-shadow: 5px 0 rgba(255,255,255,.18), -5px 0 rgba(255,0,38,.52);
  font: 900 14px/1 var(--arg-mono);
  text-decoration: none;
  animation: e404DRouteBlink .78s steps(2, end) infinite;
}

.e404-d-route a:hover,
.e404-d-route a:focus-visible {
  color: #210003;
  background: #fff;
  outline: 2px solid #ff3348;
  outline-offset: 4px;
}

.e404-curse-portrait {
  position: fixed;
  left: clamp(-120px, -6vw, -20px);
  bottom: -60px;
  z-index: 0;
  width: min(620px, 72vw);
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: rotate(-4deg) translateY(60px);
  transition: opacity .55s ease, transform .7s ease;
}

.e404-curse-portrait img {
  width: 100%;
  filter: sepia(1) hue-rotate(300deg) saturate(1.9) brightness(.4) contrast(1.4);
  mix-blend-mode: screen;
}

.e404-curse-portrait span {
  position: absolute;
  right: 11%;
  bottom: 14%;
  color: rgba(255,174,181,.48);
  font: 900 12px/1 var(--arg-mono);
  letter-spacing: .12em;
}

.e404-curse-portrait.is-visible {
  opacity: .62;
  transform: rotate(-4deg) translateY(0);
}

@keyframes e404ArtifactTear {
  0%, 100% { transform: translate(0,0); clip-path: inset(0); }
  45% { transform: translate(3px,-1px); clip-path: inset(0 0 38% 0); }
  52% { transform: translate(-2px,1px); clip-path: inset(45% 0 0 0); }
}

@keyframes e404SearchCorrupt {
  0%, 100% { transform: translate(0, 0); }
  35% { transform: translate(3px, -1px); filter: contrast(1.16); }
  40% { transform: translate(-4px, 1px); clip-path: inset(0 0 18% 0); }
  45% { transform: translate(0, 0); }
}

@keyframes e404CursePulse {
  0%, 100% { filter: contrast(1.06); }
  48% { filter: contrast(1.3) saturate(1.34); transform: translateX(2px); }
  51% { transform: translateX(-2px); }
}

@keyframes e404GhostWindow {
  0%, 100% { transform: translate(0, 0); clip-path: inset(0); }
  43% { transform: translate(18px, -3px); clip-path: inset(0 0 49% 0); }
  46% { transform: translate(-12px, 4px); clip-path: inset(52% 0 0 0); }
  50% { transform: translate(0, 0); clip-path: inset(0); }
}

@keyframes e404KeyboardLeak {
  0%, 100% { transform: scale(1.08) translate(0, 0); }
  45% { transform: scale(1.1) translate(10px, -2px); }
  49% { transform: scale(1.08) translate(-7px, 3px); }
}

@keyframes e404DRouteBlink {
  0%, 100% { filter: brightness(1); }
  49% { filter: brightness(1.8) contrast(1.3); }
}

@media (max-width: 640px) {
  .e404-decay-artifact,
  .e404-cursed-result,
  .e404-d-route {
    grid-template-columns: 1fr;
  }

  .e404-decay-artifact i {
    display: none;
  }

  .e404-cursed-result figure {
    min-height: 168px;
    margin: -14px -14px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,72,88,.56);
  }
}

.e404-workspace {
  position: relative;
  padding-top: clamp(22px, 4vw, 42px);
}

.e404-result-panel {
  max-width: 1020px;
  margin: 0 auto;
}

.e404-result-panel .section-head {
  margin-bottom: 16px;
}

.e404-result-panel h2 {
  margin: 4px 0 0;
}

.e404-result-wall {
  display: grid;
  gap: 12px;
  min-height: 0;
  margin-top: 0;
  padding: 0;
  border-left: 0;
  background: transparent;
}

.e-result-card {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--arg-line);
  background: rgba(255,255,255,.74);
}

.e-result-card img {
  width: 110px;
  height: 84px;
  object-fit: cover;
}

.e-result-card b,
.e-result-card h3,
.e-result-card p {
  margin: 0;
}

.e-result-card h3 {
  margin-top: 6px;
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.2;
}

.e-result-card p {
  margin-top: 8px;
  line-height: 1.75;
}

.e-result-empty {
  background: rgba(255,255,255,.62);
}

.e-person-result {
  grid-template-columns: minmax(180px, 340px) minmax(0, 1fr);
  align-items: end;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(234,238,244,.86)),
    rgba(255,255,255,.82);
}

.e-person-result img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  filter: contrast(1.04) saturate(.9);
}

.e-person-result h3 {
  margin: 8px 0 10px;
  color: #050505;
  font: 900 clamp(24px, 4vw, 54px)/1.04 var(--arg-serif);
}

.e-person-result p {
  color: rgba(5,5,5,.74);
}

.e-result-route {
  grid-template-columns: 84px 1fr;
  background: rgba(255,255,255,.66);
}

.e-result-route img {
  width: 84px;
  height: 64px;
}

.e-result-route p {
  color: #7b001d;
  font-weight: 900;
}

.e404-mail-popup {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 9200;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  width: min(420px, calc(100vw - 28px));
  max-height: calc(100dvh - 32px);
  padding: 14px 42px 14px 14px;
  border: 1px solid rgba(255,255,255,.28);
  color: #f6f6f6;
  background:
    linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.035)),
    rgba(5, 8, 10, .92);
  box-shadow: 0 28px 90px rgba(0,0,0,.58);
  transform: translateY(18px);
  opacity: 0;
  overflow: auto;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.e404-mail-popup[hidden] {
  display: none;
}

.e404-mail-popup.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.e404-mail-close {
  position: absolute !important;
  right: 8px;
  top: 8px;
  grid-column: auto;
  grid-row: auto;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(255,255,255,.34);
  color: #fff;
  background: rgba(255,255,255,.08);
  cursor: pointer;
}

.e404-mail-icon {
  grid-column: 1;
  grid-row: 1;
}

.e404-mail-content {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.e404-mail-icon {
  width: 46px;
  height: 34px;
  align-self: start;
  margin-top: 4px;
  border: 2px solid #f6f6f6;
  background:
    linear-gradient(32deg, transparent 48%, rgba(255,255,255,.95) 49% 51%, transparent 52%),
    linear-gradient(-32deg, transparent 48%, rgba(255,255,255,.95) 49% 51%, transparent 52%);
  box-shadow: 0 0 18px rgba(255,255,255,.18);
}

.e404-mail-popup b,
.e404-mail-popup p {
  display: block;
  margin: 0;
}

.e404-mail-popup b {
  color: #fff;
  font: 900 15px/1.35 var(--arg-mono);
}

.e404-mail-popup p {
  margin-top: 6px;
  color: rgba(255,255,255,.78);
  line-height: 1.65;
  font-size: 13px;
}

.e404-mail-popup a {
  display: inline-grid;
  min-height: 34px;
  align-items: center;
  margin-top: 10px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.34);
  color: #101010;
  background: #fff;
  text-decoration: none;
  font-weight: 900;
}

@media (max-width: 640px) {
  .e-person-result {
    grid-template-columns: 1fr;
  }

  .e-result-card,
  .e-result-route {
    grid-template-columns: 1fr;
  }

  .e-result-card img,
  .e-result-route img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .e404-mail-popup {
    left: max(14px, env(safe-area-inset-left));
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: auto;
  }
}

/* Mail / live / shrine / lost / shop */
body.arg-f {
  --arg-bg: #06111d;
  --arg-bg2: #182431;
  --arg-hot: #89b8ff;
  --arg-cold: #ffd2dc;
  --arg-accent: #ffd166;
}

.mail-investigation {
  display: grid;
  grid-template-columns: 230px minmax(260px, .72fr) 1fr;
  min-height: 620px;
  border: 1px solid var(--arg-line);
  background: rgba(220,232,244,.08);
}

.mail-folders,
.mail-list,
.mail-preview {
  padding: 14px;
  border-right: 1px solid var(--arg-line);
}

.mail-preview {
  border-right: 0;
  background: rgba(255,255,255,.9);
  color: #14202d;
  font-family: "MS PGothic", "Meiryo", sans-serif;
}

.mail-list button {
  width: 100%;
  min-height: 52px;
  margin-bottom: 8px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--arg-ink);
  background: rgba(255,255,255,.08);
}

body.arg-g {
  --arg-bg: #050105;
  --arg-bg2: #18010e;
  --arg-hot: #ff0f64;
  --arg-cold: #7dd8ff;
  --arg-accent: #7cff9b;
}

.broadcast-wall {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 16px;
}

.live0-player {
  min-height: 520px;
  position: relative;
  border: 1px solid var(--arg-line);
  overflow: hidden;
  background: #000;
}

.live0-player img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  filter: saturate(.6) contrast(1.2) brightness(.65);
}

.live0-countbox,
.rec {
  position: absolute;
  padding: 8px 10px;
  color: #fff;
  background: rgba(0,0,0,.72);
  font: 900 12px/1 var(--arg-mono);
}

.rec { left: 14px; top: 14px; color: #ff5b71; }
.live0-countbox { right: 14px; top: 14px; }

.live0-comments {
  max-height: 520px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--arg-line);
  background: rgba(0,0,0,.4);
}

.live0-comments p {
  margin: 0 0 10px;
  padding: 10px;
  color: var(--arg-muted);
  background: rgba(255,255,255,.055);
}

body.arg-h {
  --arg-bg: #100902;
  --arg-bg2: #231404;
  --arg-hot: #e23636;
  --arg-cold: #ffdd86;
  --arg-accent: #ffdd86;
}

.temple-grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) 1fr minmax(260px, .7fr);
  gap: 18px;
}

.god-paper {
  display: grid;
  place-items: center;
  min-height: 440px;
  border: 18px solid rgba(255,255,255,.08);
  color: #1b0702;
  background: #f3e5c1;
  font: 900 clamp(34px, 6vw, 76px)/1.15 var(--arg-serif);
  writing-mode: vertical-rl;
  box-shadow: inset 0 0 40px rgba(96,35,12,.28), 0 28px 70px rgba(0,0,0,.38);
}

.god-awake .god-paper,
body.god-awake .god-paper {
  animation: argShake .16s steps(2) infinite;
}

body.arg-i {
  --arg-bg: #1a120a;
  --arg-bg2: #34220d;
  --arg-hot: #ffb62d;
  --arg-cold: #d21b36;
  --arg-accent: #ffdf83;
}

.lost-terminal {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 18px;
}

.lost-counter-v37 {
  padding: 18px;
  border: 1px solid var(--arg-line);
  background: rgba(255,255,255,.06);
}

.lost-ticket {
  margin-top: 14px;
  padding: 18px;
  color: #190c00;
  background: #ffe6a2;
  font: 900 13px/1.8 var(--arg-mono);
}

body.arg-j {
  --arg-bg: #080808;
  --arg-bg2: #1b1b1b;
  --arg-hot: #ffdf3e;
  --arg-cold: #d21b36;
  --arg-accent: #ffdf3e;
}

.shop-header {
  display: grid;
  grid-template-columns: auto minmax(200px, 420px);
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--arg-line);
  background: #f4d33c;
  color: #111;
}

.shop-header h1 {
  margin: 0;
  font-size: clamp(36px, 7vw, 96px);
  line-height: .9;
}

.shop-header input {
  min-height: 52px;
  padding: 0 14px;
  border: 3px solid #111;
  background: #fff;
  color: #111;
}

.shop-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.shop-products article {
  min-height: 300px;
  padding: 12px;
  color: #111;
  background: #fff;
  border: 4px solid #111;
}

.shop-products img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: contrast(1.15) saturate(.75);
}

.shop-long-space {
  min-height: 160vh;
  display: grid;
  place-items: end center;
  color: rgba(255,255,255,.28);
  font: 900 12px/1 var(--arg-mono);
}

.scroll-clerk {
  opacity: 0;
  transform: translateY(24px);
  transition: .5s ease;
}

.scroll-clerk.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* K-Z node pages */
body.arg-node {
  --arg-bg: #050506;
  --arg-bg2: #10121a;
}

body.arg-node:not(.arg-z) {
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--arg-hot) 24%, transparent), transparent 18rem),
    radial-gradient(circle at 88% 6%, rgba(255,255,255,.12), transparent 16rem),
    repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 10px, transparent 10px 20px),
    linear-gradient(180deg, #08070b, color-mix(in srgb, var(--arg-bg2) 84%, #000 16%));
}

body.arg-node:not(.arg-z) .arg-shell {
  position: relative;
}

body.arg-node:not(.arg-z) .arg-shell::before {
  content: "MITERUYO TRACE NETWORK";
  position: fixed;
  right: -52px;
  top: 45%;
  z-index: 0;
  transform: rotate(90deg);
  color: rgba(255,255,255,.08);
  font: 900 13px/1 var(--arg-mono);
  letter-spacing: .28em;
  pointer-events: none;
}

body.arg-node:not(.arg-z) .arg-hero {
  position: relative;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid color-mix(in srgb, var(--arg-hot) 35%, white 10%);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--arg-hot) 16%, transparent), transparent 28rem),
    rgba(0,0,0,.34);
  box-shadow: 0 34px 120px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.04);
  overflow: hidden;
}

body.arg-node:not(.arg-z) .arg-hero::before {
  content: "単独サイト / 裏接続あり";
  position: absolute;
  left: 0;
  top: 0;
  padding: 8px 12px;
  color: #111;
  background:
    repeating-linear-gradient(90deg, #fff 0 14px, color-mix(in srgb, var(--arg-hot) 32%, #fff 68%) 14px 28px);
  font: 900 11px/1 var(--arg-mono);
  letter-spacing: .08em;
}

body.arg-node:not(.arg-z) .arg-hero::after {
  content: "";
  position: absolute;
  inset: auto 22px 18px auto;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 38% 39%, #111 0 7px, transparent 8px),
    radial-gradient(circle at 63% 39%, #111 0 7px, transparent 8px),
    radial-gradient(circle at 50% 62%, transparent 0 12px, #111 13px 15px, transparent 16px),
    color-mix(in srgb, var(--arg-hot) 28%, #fff 72%);
  opacity: .18;
  pointer-events: none;
}

body.arg-node:not(.arg-z) .arg-hero-media {
  border: 8px solid rgba(255,255,255,.08);
  outline: 1px solid color-mix(in srgb, var(--arg-hot) 52%, white 12%);
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 8px, rgba(0,0,0,.12) 8px 16px),
    #000;
}

body.arg-node:not(.arg-z) .arg-hero-media::before {
  content: "撮影済";
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 1;
  padding: 7px 9px;
  color: color-mix(in srgb, var(--arg-hot) 70%, white 30%);
  border: 1px solid currentColor;
  background: rgba(0,0,0,.68);
  font: 900 11px/1 var(--arg-mono);
}

.node-seal {
  display: inline-grid;
  place-items: center;
  width: clamp(82px, 12vw, 132px);
  aspect-ratio: 1;
  margin-bottom: 22px;
  border: 1px solid var(--arg-line);
  color: var(--arg-accent);
  background: rgba(255,255,255,.045);
  font: 900 clamp(40px, 7vw, 82px)/1 var(--arg-mono);
  box-shadow: 0 0 44px var(--arg-glow);
}

body.arg-node:not(.arg-z) .node-seal {
  border-radius: 22% 44% 28% 40%;
  color: #111;
  background:
    radial-gradient(circle at 64% 28%, rgba(255,255,255,.8), transparent 18%),
    color-mix(in srgb, var(--arg-hot) 42%, #fff 58%);
  box-shadow:
    0 0 0 5px rgba(255,255,255,.08),
    0 18px 55px var(--arg-glow);
}

.az-node-kit {
  margin: clamp(32px, 5vw, 70px) 0;
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid color-mix(in srgb, var(--arg-hot) 36%, white 10%);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(0,0,0,.48);
  box-shadow: 0 28px 90px rgba(0,0,0,.38);
}

.az-node-kit[data-site-node] {
  --node-a: var(--arg-hot);
  --node-b: var(--arg-accent);
  border-color: color-mix(in srgb, var(--node-a) 42%, white 12%);
  background:
    radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--node-a) 22%, transparent), transparent 15rem),
    radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--node-b) 18%, transparent), transparent 14rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02)),
    rgba(0,0,0,.5);
  box-shadow:
    0 28px 90px rgba(0,0,0,.38),
    0 0 34px color-mix(in srgb, var(--node-a) 16%, transparent);
}

.az-node-kit[data-site-node] .az-trace,
.az-node-kit[data-site-node] .az-stamp {
  border-color: color-mix(in srgb, var(--node-a) 46%, white 12%);
}

.az-node-kit[data-site-node] .az-guide::before {
  background:
    radial-gradient(circle at 34% 38%, #111 0 6px, transparent 7px),
    radial-gradient(circle at 66% 38%, #111 0 6px, transparent 7px),
    radial-gradient(circle at 50% 61%, transparent 0 10px, #111 11px 13px, transparent 14px),
    color-mix(in srgb, var(--node-a) 42%, white 58%);
}

.az-node-kit[data-site-node="K"] { --node-a: #d9e8ff; --node-b: #78a6ff; }
.az-node-kit[data-site-node="L"] { --node-a: #76ffc7; --node-b: #1d3cff; }
.az-node-kit[data-site-node="M"] { --node-a: #d4ff70; --node-b: #3b5331; }
.az-node-kit[data-site-node="N"] { --node-a: #ff3d6e; --node-b: #ffd46d; }
.az-node-kit[data-site-node="O"] { --node-a: #ffffff; --node-b: #9ad8ff; }
.az-node-kit[data-site-node="P"] { --node-a: #9fff62; --node-b: #ff2c8d; }
.az-node-kit[data-site-node="Q"] { --node-a: #1d7dff; --node-b: #ffe05f; }
.az-node-kit[data-site-node="R"] { --node-a: #ff33c7; --node-b: #fff55d; }
.az-node-kit[data-site-node="S"] { --node-a: #d7c29f; --node-b: #8c5cff; }
.az-node-kit[data-site-node="T"] { --node-a: #46ff7d; --node-b: #ff3434; }
.az-node-kit[data-site-node="U"] { --node-a: #ffffff; --node-b: #ff426d; }
.az-node-kit[data-site-node="V"] { --node-a: #f5f5f5; --node-b: #3d3d3d; }
.az-node-kit[data-site-node="W"] { --node-a: #ff5838; --node-b: #5ca7ff; }
.az-node-kit[data-site-node="X"] { --node-a: #31bfff; --node-b: #ff3399; }
.az-node-kit[data-site-node="Y"] { --node-a: #ff3d6e; --node-b: #ffffff; }

.az-node-kit::before {
  content: "別サービス外装 / same observer route";
  color: color-mix(in srgb, var(--node-a, var(--arg-hot)) 52%, white 48%);
  font: 900 12px/1.5 var(--arg-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.az-kit-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--arg-line);
}

.az-kit-head h2 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(30px, 5vw, 64px);
  line-height: 1.05;
}

.az-kit-head p {
  margin: 12px 0 0;
  color: var(--arg-muted);
  line-height: 1.85;
}

.az-trace {
  min-width: 190px;
  padding: 14px;
  border: 1px dashed color-mix(in srgb, var(--arg-hot) 55%, white 20%);
  background:
    radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--arg-hot) 30%, transparent), transparent 5rem),
    rgba(255,255,255,.06);
  font-family: var(--arg-mono);
}

.az-trace b,
.az-trace span {
  display: block;
}

.az-trace b {
  color: var(--arg-accent);
  font-size: 12px;
}

.az-trace span {
  margin-top: 8px;
  color: var(--arg-muted);
  font-size: 12px;
  line-height: 1.55;
}

.az-room-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.az-room {
  min-height: 210px;
  position: relative;
  padding: 18px;
  border: 1px solid var(--arg-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.018)),
    rgba(0,0,0,.36);
  overflow: hidden;
}

.az-room::before {
  content: attr(data-room);
  position: absolute;
  right: 12px;
  top: 12px;
  color: rgba(255,255,255,.2);
  font: 900 11px/1 var(--arg-mono);
}

.az-room h3 {
  margin: 0 0 12px;
  font-family: var(--arg-serif);
  font-size: clamp(22px, 3vw, 34px);
}

.az-room p {
  margin: 0;
  color: var(--arg-muted);
  line-height: 1.8;
}

.az-room button {
  margin-top: 16px;
}

.az-front {
  color: #141014;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.35) 0 8px, transparent 8px 16px),
    color-mix(in srgb, var(--arg-hot) 28%, #fff 72%);
}

.az-front p,
.az-front h3 {
  color: #141014;
}

.az-back {
  border-color: rgba(210,27,54,.32);
  background:
    radial-gradient(circle at 50% 0%, rgba(210,27,54,.18), transparent 14rem),
    rgba(0,0,0,.68);
}

.az-deep {
  background:
    linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.86)),
    url("/assets/images/fx_glitch_rgb.webp") center / cover;
}

.az-deep p {
  color: rgba(255,255,255,.8);
}

.az-guide {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 14px;
  align-items: center;
  margin-top: 6px;
  padding: 14px;
  border: 1px solid var(--arg-line);
  background: rgba(255,255,255,.045);
}

.az-guide::before {
  content: "";
  width: 72px;
  aspect-ratio: 1;
  border-radius: 44% 38% 46% 36%;
  background:
    radial-gradient(circle at 34% 38%, #111 0 6px, transparent 7px),
    radial-gradient(circle at 66% 38%, #111 0 6px, transparent 7px),
    radial-gradient(circle at 50% 61%, transparent 0 10px, #111 11px 13px, transparent 14px),
    color-mix(in srgb, var(--arg-hot) 38%, white 62%);
  box-shadow: inset 0 -10px 0 rgba(0,0,0,.08), 0 0 30px var(--arg-glow);
}

.az-guide b {
  display: block;
  color: var(--arg-accent);
  font: 900 12px/1.5 var(--arg-mono);
}

.az-guide span {
  display: block;
  color: var(--arg-muted);
  line-height: 1.75;
}

.az-stamp-tray {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.az-stamp {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--arg-hot) 42%, white 10%);
  color: var(--arg-ink);
  background: rgba(255,255,255,.05);
  font: 900 12px/1 var(--arg-mono);
}

.az-stamp:hover {
  background: color-mix(in srgb, var(--arg-hot) 24%, transparent);
}

.az-warning-strip {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(210,27,54,.34);
  background: rgba(210,27,54,.1);
  color: rgba(255,255,255,.84);
  font: 800 12px/1.7 var(--arg-mono);
}

.az-warning-strip b {
  color: var(--arg-accent);
}

.node-dossier {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) 1fr;
  gap: 18px;
}

.node-tape {
  min-height: 300px;
  padding: 18px;
  border: 1px solid var(--arg-line);
  background: rgba(0,0,0,.38);
  font-family: var(--arg-mono);
}

/* N: high-density horror portal */
.portal-home {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(18,18,28,.94), rgba(2,2,5,.92)),
    url("/assets/images/fx_static_noise.webp") center / 420px;
  box-shadow: 0 34px 110px rgba(0,0,0,.48);
}

.portal-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 22px;
  padding: clamp(22px, 4vw, 42px);
  border-bottom: 1px solid var(--arg-line);
}

.portal-header h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(48px, 8vw, 118px);
  line-height: .95;
}

.portal-header p {
  max-width: 820px;
  color: var(--arg-muted);
  line-height: 2;
}

.portal-clock {
  align-self: start;
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(166,117,255,.38);
  background: rgba(0,0,0,.45);
  font-family: var(--arg-mono);
}

.portal-clock b,
.portal-card b,
.portal-feature b {
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
}

.portal-clock span {
  color: var(--arg-muted);
  font-size: 12px;
}

.portal-ticker {
  display: flex;
  gap: 28px;
  overflow: hidden;
  padding: 10px 0;
  border-bottom: 1px solid var(--arg-line);
  background: #050507;
  color: #d8c7ff;
  font: 900 12px/1 var(--arg-mono);
  white-space: nowrap;
}

.portal-ticker span {
  min-width: max-content;
  animation: portalTicker 22s linear infinite;
}

.portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 18px;
  padding: clamp(16px, 3vw, 28px);
}

.portal-feature {
  display: grid;
  grid-template-columns: minmax(260px, .62fr) 1fr;
  gap: 18px;
  min-height: 420px;
  padding: 18px;
  border: 1px solid var(--arg-line);
  background: rgba(255,255,255,.045);
}

.portal-feature img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  filter: grayscale(.28) contrast(1.18) brightness(.68);
}

.portal-feature h2 {
  margin: 12px 0;
  font-family: var(--arg-serif);
  font-size: clamp(30px, 4vw, 58px);
  line-height: 1.08;
}

.portal-feature p,
.portal-card p {
  color: var(--arg-muted);
  line-height: 1.9;
}

.portal-menu {
  display: grid;
  gap: 10px;
}

.portal-menu button,
.portal-card a {
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid rgba(216,199,255,.22);
  color: var(--arg-ink);
  background: rgba(255,255,255,.055);
  text-align: left;
  text-decoration: none;
  font: 900 12px/1.2 var(--arg-mono);
}

.portal-menu button:hover,
.portal-card a:hover {
  background: rgba(166,117,255,.2);
  box-shadow: 0 0 24px rgba(166,117,255,.22);
}

.portal-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.portal-card {
  min-height: 230px;
  padding: 18px;
  border: 1px solid var(--arg-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(0,0,0,.38);
}

.portal-card h3 {
  margin: 10px 0;
  font-family: var(--arg-serif);
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.15;
}

/* Q: amusement park facade hiding abandonment */
.park-site {
  overflow: hidden;
  border: 1px solid rgba(101,255,158,.26);
  color: #16210f;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.9), transparent 12rem),
    linear-gradient(135deg, #fffbc7, #b8ffd2 42%, #93d4ff);
  box-shadow: 0 34px 100px rgba(0,0,0,.42);
}

.park-page.is-dead .park-site {
  color: #e9efe6;
  background:
    linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.92)),
    url("/assets/images/lowfi_photos/night_playground.webp") center / cover;
}

.park-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: 20px;
  align-items: center;
  padding: clamp(20px, 4vw, 38px);
  border-bottom: 4px dashed rgba(22,33,15,.28);
}

.park-logo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.park-top .arg-eyebrow {
  color: #126e45;
}

.park-page.is-dead .park-top .arg-eyebrow {
  color: #b8ffd2;
}

.park-top h1 {
  margin: 0;
  font: 900 clamp(42px, 8vw, 104px)/.9 var(--arg-font);
}

.park-top p {
  max-width: 820px;
  line-height: 1.8;
}

.park-ticket {
  padding: 16px;
  border: 3px solid #16210f;
  background: #fff;
  box-shadow: 8px 8px 0 rgba(22,33,15,.24);
}

.park-ticket b,
.park-ticket span {
  display: block;
}

.park-ticket b {
  font: 900 18px/1.2 var(--arg-font);
}

.park-ticket span {
  margin: 8px 0 14px;
  line-height: 1.6;
}

.park-ticket button,
.park-ride button {
  min-height: 42px;
  border: 2px solid #16210f;
  color: #16210f;
  background: #ffeb3b;
  font: 900 12px/1 var(--arg-mono);
}

.park-hero {
  position: relative;
  min-height: 440px;
  overflow: hidden;
}

.park-hero img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  filter: saturate(1.25) contrast(1.05) brightness(.92);
}

.park-page.is-dead .park-hero img {
  filter: grayscale(.7) contrast(1.24) brightness(.45);
}

.park-hero-copy {
  position: absolute;
  left: clamp(16px, 4vw, 42px);
  bottom: clamp(16px, 4vw, 38px);
  width: min(620px, calc(100% - 32px));
  padding: clamp(16px, 3vw, 24px);
  color: #fff;
  background: rgba(0,0,0,.62);
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}

.park-hero-copy b {
  color: #b8ffd2;
  font: 900 12px/1 var(--arg-mono);
}

.park-hero-copy h2 {
  margin: 12px 0;
  font-family: var(--arg-serif);
  font-size: clamp(34px, 6vw, 74px);
  line-height: 1.04;
}

.park-status,
.park-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.park-status {
  padding: 16px;
  background: rgba(255,255,255,.54);
}

.park-status article,
.park-ride,
.park-map {
  padding: 18px;
  border: 2px solid rgba(22,33,15,.28);
  background: rgba(255,255,255,.82);
}

.park-page.is-dead .park-status article,
.park-page.is-dead .park-ride,
.park-page.is-dead .park-map {
  border-color: rgba(184,255,210,.22);
  background: rgba(0,0,0,.58);
}

.park-status b,
.park-status span {
  display: block;
}

.park-status b {
  font: 900 12px/1 var(--arg-mono);
}

.park-status span {
  margin-top: 8px;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 900;
}

.park-ride h3,
.park-map h3 {
  margin: 0 0 12px;
  font-family: var(--arg-serif);
  font-size: clamp(28px, 4vw, 48px);
}

.park-ride p,
.park-map p {
  line-height: 1.8;
}

.park-ride.is-bright {
  background:
    repeating-linear-gradient(135deg, rgba(255,235,59,.42) 0 12px, rgba(255,255,255,.72) 12px 24px),
    #fff;
}

.park-map {
  grid-column: span 3;
}

.park-map-lines {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 18px 0;
}

.park-map-lines span {
  min-height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  font: 900 12px/1 var(--arg-mono);
}

.park-page.is-dead .park-map-lines span:nth-child(2),
.park-page.is-dead .park-map-lines span:nth-child(3) {
  color: #d21b36;
  animation: argShake .16s steps(2) infinite;
}

.park-map a {
  color: currentColor;
  font-weight: 900;
}

/* v45 N/Q YUMEO incident archive */
.n-yumeo-archive {
  margin: 0 clamp(16px, 3vw, 28px) clamp(18px, 3vw, 28px);
  border-top: 1px solid rgba(216,199,255,.26);
  border-bottom: 1px solid rgba(216,199,255,.18);
  background:
    linear-gradient(180deg, rgba(166,117,255,.12), rgba(0,0,0,.28)),
    #09080d;
}

.n-archive-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 44%);
  gap: clamp(18px, 4vw, 42px);
  align-items: stretch;
  padding: clamp(18px, 4vw, 34px);
}

.n-archive-head h2 {
  max-width: 900px;
  margin: 8px 0 16px;
  font-family: var(--arg-serif);
  font-size: clamp(36px, 6vw, 86px);
  line-height: 1.02;
}

.n-archive-head p,
.n-article p,
.n-news-wall p,
.park-archive-photos p {
  color: var(--arg-muted);
  line-height: 1.9;
}

.n-archive-head img,
.n-photo-strip img,
.park-photo-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.22) contrast(1.14) brightness(.72);
}

.n-archive-head img {
  min-height: 330px;
  border: 1px solid rgba(216,199,255,.24);
}

.n-photo-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 0 clamp(18px, 4vw, 34px) clamp(18px, 3vw, 28px);
}

.n-photo-strip figure,
.park-photo-grid figure {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(216,199,255,.18);
  background: #000;
}

.n-photo-strip figcaption,
.park-photo-grid figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.86));
  font: 900 11px/1.45 var(--arg-mono);
  text-shadow: 1px 1px #000;
}

.n-dossier-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 14px;
  padding: 0 clamp(18px, 4vw, 34px) clamp(18px, 4vw, 34px);
}

.n-article,
.n-search-panel,
.n-news-wall article {
  border: 1px solid rgba(216,199,255,.18);
  background: rgba(255,255,255,.045);
}

.n-article,
.n-search-panel {
  padding: clamp(18px, 3vw, 26px);
}

.n-article b,
.n-search-panel b,
.n-news-wall b,
.park-lost-notice b {
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
}

.n-article h3,
.n-search-panel h3,
.n-news-wall h3 {
  margin: 10px 0 14px;
  font-family: var(--arg-serif);
  font-size: clamp(25px, 3.4vw, 46px);
  line-height: 1.08;
}

.n-search-panel label {
  display: grid;
  gap: 8px;
  margin: 10px 0 14px;
  color: var(--arg-muted);
  font: 900 12px/1.3 var(--arg-mono);
}

.n-search-panel input {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(216,199,255,.26);
  color: #fff;
  background: #040306;
  padding: 0 12px;
  font: 900 14px/1.2 var(--arg-mono);
}

.n-search-results {
  display: grid;
  gap: 8px;
}

.n-search-results article {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(216,199,255,.16);
  background: rgba(0,0,0,.34);
}

.n-search-results article.is-hidden {
  display: none;
}

.n-search-results span {
  color: #fff;
  font-weight: 900;
}

.n-search-results small {
  color: rgba(238,233,221,.66);
  line-height: 1.55;
}

.n-news-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 0 clamp(18px, 4vw, 34px) clamp(18px, 4vw, 34px);
}

.n-news-wall article {
  min-height: 220px;
  padding: 16px;
}

.park-page.is-dead .park-site {
  background:
    linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.92)),
    url("/assets/images/fanatical/park_dreamland_gate.png") center / cover;
}

.park-archive-photos {
  padding: clamp(18px, 4vw, 34px);
  border-top: 4px dashed rgba(22,33,15,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.38)),
    rgba(255,255,255,.5);
}

.park-page.is-dead .park-archive-photos {
  color: #e9efe6;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.82)),
    #050705;
}

.park-archive-photos header {
  max-width: 980px;
  margin-bottom: 18px;
}

.park-archive-photos h2 {
  margin: 8px 0 10px;
  font-family: var(--arg-serif);
  font-size: clamp(34px, 6vw, 78px);
  line-height: 1.02;
}

.park-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.park-photo-grid figure {
  min-height: 250px;
  border-color: rgba(22,33,15,.28);
}

.park-lost-notice {
  margin-top: 12px;
  padding: 16px;
  border: 2px solid rgba(22,33,15,.32);
  background: rgba(255,255,255,.82);
}

.park-page.is-dead .park-lost-notice {
  border-color: rgba(184,255,210,.24);
  background: rgba(0,0,0,.6);
}

@media (max-width: 960px) {
  .n-archive-head,
  .n-dossier-grid {
    grid-template-columns: 1fr;
  }

  .n-photo-strip,
  .n-news-wall,
  .park-photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .n-photo-strip,
  .n-news-wall,
  .park-photo-grid {
    grid-template-columns: 1fr;
  }

  .n-photo-strip figure,
  .park-photo-grid figure {
    min-height: 260px;
  }
}

/* Q v53: polished official amusement park site */
body.q-official-page {
  --q-ink: #1f2933;
  --q-muted: #607080;
  --q-line: #d9e4ea;
  --q-sky: #dff4ff;
  --q-mint: #dff8df;
  --q-yellow: #ffe98a;
  --q-coral: #ff8f75;
  --q-pink: #ffd8e5;
  --q-blue: #2e77d0;
  margin: 0;
  overflow-x: hidden;
  color: var(--q-ink);
  background: #f7fbff;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: 0;
}

body.q-official-page::before,
body.q-official-page::after {
  display: none;
}

body.q-official-page a {
  color: inherit;
}

.q-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(240px, auto) minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 76px;
  padding: 10px max(18px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid rgba(31, 41, 51, .1);
  color: var(--q-ink);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px);
}

.q-brand,
.q-main-nav,
.q-hero-actions,
.q-header-cta,
.q-shop-link a {
  text-decoration: none;
}

.q-brand {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.q-brand-mark {
  width: 48px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #21aa75, #2e77d0 55%, #ff8f75);
  box-shadow: 0 8px 18px rgba(46, 119, 208, .22);
  font: 900 1.5rem/1 var(--arg-font);
}

.q-brand b,
.q-brand small {
  display: block;
}

.q-brand b {
  font-size: 1.1rem;
  line-height: 1.15;
}

.q-brand small,
.q-kicker {
  color: var(--q-muted);
  font: 800 .76rem/1.35 "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: 0;
}

.q-main-nav {
  justify-self: center;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
}

.q-main-nav a,
.q-header-cta,
.q-hero-actions a,
.q-shop-link a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 8px;
  font-weight: 800;
  white-space: nowrap;
}

/* Keep the park-map label visible even when inherited page styles collapse link text. */
.q-map-nav-link > span {
  display: inline-block;
  color: inherit;
  white-space: nowrap;
}

.q-main-nav .q-map-nav-link {
  min-width: 5.7em;
  justify-content: center;
}

.q-main-nav a:hover,
.q-main-nav a:focus-visible,
.q-main-nav a.is-current {
  background: var(--q-sky);
}

.q-header-cta,
.q-hero-actions a:first-child,
.q-shop-link a {
  color: #11231a;
  background: var(--q-yellow);
  box-shadow: 0 8px 0 rgba(220, 170, 30, .2);
}

.q-park-site {
  background:
    linear-gradient(180deg, #f7fbff 0 46%, #fff7df 46% 72%, #f3fff1 72% 100%);
}

.q-hero {
  position: relative;
  min-height: 620px;
  height: calc(100vh - 132px);
  overflow: hidden;
  display: grid;
  align-items: end;
  color: #fff;
  background: #98d8f2;
}

.q-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.02);
}

.q-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13, 45, 64, .8) 0%, rgba(13, 45, 64, .45) 42%, rgba(13, 45, 64, .06) 78%),
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .48));
}

.q-hero-content {
  position: relative;
  z-index: 2;
  width: min(720px, calc(100% - 36px));
  margin: 0 0 84px max(18px, calc((100vw - 1180px) / 2));
  text-shadow: 0 2px 18px rgba(0, 0, 0, .34);
}

.q-hero-content .q-kicker {
  color: #fff1b5;
}

.q-hero h1 {
  margin: 12px 0 18px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 4.4rem;
  line-height: 1.04;
}

.q-hero p {
  max-width: 660px;
  font-size: 1.08rem;
  line-height: 1.9;
}

.q-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.q-hero-actions a {
  border: 1px solid rgba(255,255,255,.72);
  color: #fff;
  background: rgba(255, 255, 255, .16);
}

.q-hero-actions a:first-child {
  border-color: transparent;
  color: #16210f;
}

.q-today-card {
  position: absolute;
  right: max(18px, calc((100vw - 1180px) / 2));
  bottom: 44px;
  z-index: 3;
  width: min(320px, calc(100% - 36px));
  padding: 18px;
  border-radius: 8px;
  color: var(--q-ink);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .22);
}

.q-today-card span,
.q-today-card dt,
.q-quick-strip span,
.q-attraction-card span {
  color: var(--q-blue);
  font-size: .76rem;
  font-weight: 900;
}

.q-today-card b {
  display: block;
  margin: 4px 0 14px;
  font-size: 2rem;
}

.q-today-card dl,
.q-access-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.q-today-card div,
.q-access-card div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--q-line);
  padding-top: 10px;
}

.q-today-card dd,
.q-access-card dd {
  margin: 0;
  font-weight: 800;
  text-align: right;
}

.q-quick-strip {
  position: relative;
  z-index: 4;
  width: min(1180px, calc(100% - 36px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: -38px auto 0;
}

.q-quick-strip article,
.q-attraction-card,
.q-service-grid article,
.q-access-card,
.q-news-card,
.q-faq details {
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(35, 71, 95, .09);
}

.q-quick-strip article {
  padding: 18px;
}

.q-quick-strip b {
  display: block;
  margin: 6px 0;
  font-size: 1.35rem;
}

.q-quick-strip small {
  color: var(--q-muted);
  line-height: 1.5;
}

.q-section {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 86px 0 0;
}

.q-section-head {
  max-width: 760px;
  margin-bottom: 26px;
}

.q-section h2,
.q-map-panel h2,
.q-access-card h2,
.q-news-card h2,
.q-shop-link h2 {
  margin: 8px 0 12px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.55rem;
  line-height: 1.18;
}

.q-section p,
.q-feature-list,
.q-attraction-card p,
.q-service-grid p,
.q-news-card li,
.q-faq p,
.q-shop-link p {
  color: var(--q-muted);
  line-height: 1.85;
}

.q-intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 42px;
  align-items: center;
}

.q-intro figure,
.q-map-section figure {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(35, 71, 95, .18);
}

.q-intro img,
.q-map-section img,
.q-attraction-card img,
.q-service-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.q-intro figure {
  aspect-ratio: 4 / 3;
}

.q-feature-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 22px 0 0;
  list-style: none;
}

.q-feature-list li {
  position: relative;
  padding-left: 28px;
  color: var(--q-ink);
  font-weight: 800;
}

.q-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--q-coral);
}

.q-attraction-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.q-attraction-card {
  overflow: hidden;
}

.q-attraction-card img {
  display: block;
  aspect-ratio: 4 / 3;
}

.q-attraction-card div {
  padding: 18px;
}

.q-attraction-card h3,
.q-service-grid h3 {
  margin: 8px 0 8px;
  font-size: 1.45rem;
  line-height: 1.25;
}

.q-card-large {
  grid-column: span 2;
}

.q-card-large img {
  aspect-ratio: 16 / 9;
}

.q-schedule {
  width: 100%;
  margin-top: 86px;
  padding: 72px max(18px, calc((100vw - 1180px) / 2));
  background:
    linear-gradient(90deg, #fff7df, #f0fff0 48%, #e9f7ff);
}

.q-schedule-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.q-schedule-board article {
  min-height: 170px;
  display: grid;
  align-content: space-between;
  padding: 18px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(35, 71, 95, .08);
}

.q-schedule-board time {
  color: var(--q-coral);
  font-size: 2rem;
  font-weight: 900;
}

.q-schedule-board b,
.q-schedule-board span {
  display: block;
}

.q-schedule-board span {
  color: var(--q-muted);
}

.q-map-section {
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(0, .95fr);
  gap: 28px;
  align-items: stretch;
}

.q-map-section figure {
  min-height: 520px;
}

.q-map-panel {
  display: grid;
  align-content: center;
  padding: 34px;
  border-radius: 8px;
  background: #173d68;
  color: #fff;
}

.q-map-panel .q-kicker,
.q-map-panel p {
  color: rgba(255, 255, 255, .78);
}

.q-zone-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 20px 0;
}

.q-zone-list span {
  min-height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 8px;
  color: #173d68;
  background: rgba(255,255,255,.9);
  text-align: center;
  font-weight: 900;
}

.q-map-detail-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 22px;
  padding: 0 18px;
  border-radius: 8px;
  color: #173d68;
  background: #fff;
  text-decoration: none;
  font-weight: 900;
}

.q-map-page .q-park-site {
  padding-bottom: 1px;
}

.q-map-hero {
  width: min(1180px, calc(100% - 36px));
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(0, .95fr);
  gap: 28px;
  align-items: stretch;
  margin: 0 auto;
  padding-top: 44px;
}

.q-map-hero img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(35, 71, 95, .18);
}

.q-map-hero > div {
  display: grid;
  align-content: center;
  padding: clamp(24px, 4vw, 46px);
  border-radius: 8px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(23,61,104,.96), rgba(34,132,114,.92)),
    #173d68;
}

.q-map-hero h1 {
  margin: 10px 0 18px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(48px, 8vw, 92px);
  line-height: .95;
  letter-spacing: 0;
}

.q-map-hero p {
  color: rgba(255,255,255,.8);
  line-height: 1.9;
}

.q-map-zone-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.q-map-zone-grid article,
.q-map-flow li {
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(35, 71, 95, .09);
}

.q-map-zone-grid article {
  min-height: 260px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
}

.q-map-zone-grid span {
  width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--q-blue);
  font-weight: 900;
}

.q-map-zone-grid h3 {
  margin: 0;
  color: var(--q-ink);
  font-size: 1.15rem;
  line-height: 1.35;
}

.q-map-zone-grid p {
  margin: 0;
}

.q-route-board-wide article {
  min-height: 260px;
}

.q-hint-grid-dense {
  grid-template-columns: repeat(4, 1fr);
}

.q-map-flow ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.q-map-flow li {
  display: grid;
  grid-template-columns: minmax(150px, .34fr) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 72px;
  padding: 16px 18px;
}

.q-map-flow b {
  color: var(--q-blue);
  font-size: 1.05rem;
}

.q-map-flow span {
  color: var(--q-muted);
  line-height: 1.65;
}

.q-arg-map {
  margin-top: 4px;
}

.q-route-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.q-route-board article,
.q-hint-grid p {
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(35, 71, 95, .09);
}

.q-route-board article {
  min-height: 230px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px;
}

.q-route-board span {
  color: var(--q-coral);
  font: 900 .76rem/1 var(--arg-mono);
}

.q-route-board b {
  color: var(--q-ink);
  font-size: 1.08rem;
  line-height: 1.55;
}

.q-route-board p {
  margin: 0;
}

.q-hint-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.q-hint-grid p {
  margin: 0;
  padding: 16px;
  font-size: .92rem;
}

.q-hint-grid b {
  display: block;
  margin-bottom: 6px;
  color: var(--q-blue);
}

.q-route-board-detailed {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.q-route-board-detailed article {
  min-height: 250px;
}

.q-full-route-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.q-full-route-list li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 16px;
  min-height: 188px;
  padding: 18px;
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(35, 71, 95, .09);
}

.q-full-route-list li > b {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(33, 127, 183, .22);
  border-radius: 50%;
  color: var(--q-blue);
  background: linear-gradient(180deg, #ffffff, #edf8ff);
  font: 900 .95rem/1 var(--arg-mono);
}

.q-full-route-list h3 {
  margin: 0 0 8px;
  color: var(--q-ink);
  font-size: 1.03rem;
  line-height: 1.35;
}

.q-full-route-list h3 a {
  color: inherit;
  text-decoration: none;
}

.q-full-route-list h3 a:hover {
  color: var(--q-blue);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.q-full-route-list p {
  margin: 0;
  color: var(--q-muted);
  line-height: 1.75;
}

.q-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.q-service-grid article {
  overflow: hidden;
}

.q-service-grid img {
  display: block;
  aspect-ratio: 4 / 3;
}

.q-service-grid h3,
.q-service-grid p {
  margin-left: 18px;
  margin-right: 18px;
}

.q-service-grid p {
  margin-bottom: 20px;
}

.q-info-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 14px;
}

.q-access-card,
.q-news-card {
  padding: 26px;
}

.q-news-card ul {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.q-news-card li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--q-line);
}

.q-news-card time {
  color: var(--q-coral);
  font-weight: 900;
}

.q-faq {
  padding-bottom: 0;
}

.q-faq details {
  padding: 18px 22px;
}

.q-faq details + details {
  margin-top: 10px;
}

.q-faq summary {
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 900;
}

.q-shop-link {
  width: min(1180px, calc(100% - 36px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 86px auto 0;
  padding: 30px;
  border-radius: 8px;
  color: #11231a;
  background:
    linear-gradient(90deg, rgba(255, 233, 138, .92), rgba(255, 216, 229, .9)),
    #ffe98a;
}

.q-shop-link.q-online-anomaly {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  color: #eaf7ef;
  background:
    radial-gradient(circle at 88% 40%, rgba(255, 0, 92, .22), transparent 18rem),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 8px),
    linear-gradient(135deg, #050607, #10130f 48%, #050607);
  box-shadow:
    0 24px 70px rgba(0,0,0,.35),
    inset 0 0 0 1px rgba(117,255,165,.15);
}

.q-shop-link.q-online-anomaly::before {
  content: "Q-0006 / LOST WINDOW / DO NOT QUEUE HERE";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 12px;
  color: rgba(117,255,165,.55);
  font: 900 11px/1 var(--arg-mono);
  pointer-events: none;
}

.q-shop-link.q-online-anomaly::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, rgba(255,255,255,.08) 0 1px, transparent 1px 5px);
  opacity: .16;
  pointer-events: none;
}

.q-shop-link.q-online-anomaly .q-kicker {
  color: #75ffa5;
}

.q-shop-link.q-online-anomaly h2 {
  color: #fff;
  text-shadow: 0 0 16px rgba(117,255,165,.25);
}

.q-shop-link.q-online-anomaly p {
  color: rgba(234,247,239,.78);
}

.q-shop-link a {
  min-width: 190px;
  background: #fff;
}

.q-shop-link.q-online-anomaly a {
  position: relative;
  z-index: 1;
  color: #050607;
  background: #75ffa5;
  box-shadow: 0 8px 0 rgba(0,0,0,.35);
}

.q-footer {
  width: min(1180px, calc(100% - 36px));
  display: grid;
  gap: 6px;
  margin: 0 auto;
  padding: 52px 0 46px;
  color: var(--q-muted);
}

.q-footer b {
  color: var(--q-ink);
  font-size: 1.1rem;
}

@media (max-width: 980px) {
  .q-site-header,
  .q-intro,
  .q-map-hero,
  .q-map-section,
  .q-info-layout,
  .q-shop-link {
    grid-template-columns: 1fr;
  }

  .q-main-nav {
    justify-self: start;
    justify-content: start;
    order: 3;
    grid-column: 1 / -1;
  }

  .q-header-cta {
    justify-self: end;
  }

  .q-hero {
    min-height: 650px;
  }

  .q-hero h1 {
    font-size: 3.1rem;
  }

  .q-hero-content {
    margin-bottom: 260px;
  }

  .q-today-card {
    left: 18px;
    right: auto;
  }

  .q-quick-strip,
  .q-attraction-grid,
  .q-schedule-board,
  .q-map-zone-grid,
  .q-service-grid,
  .q-route-board,
  .q-hint-grid,
  .q-full-route-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .q-card-large {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .q-site-header {
    min-height: 0;
    padding: 10px 14px;
  }

  .q-brand {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .q-brand-mark {
    width: 42px;
  }

  .q-header-cta {
    width: 100%;
    justify-self: stretch;
  }

  .q-main-nav {
    gap: 1px;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .q-main-nav::-webkit-scrollbar {
    display: none;
  }

  .q-main-nav a {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 4px;
    font-size: .74rem;
  }

  .q-hero {
    min-height: 600px;
    height: 600px;
  }

  .q-hero h1 {
    font-size: 2.05rem;
  }

  .q-hero-content {
    width: calc(100% - 28px);
    margin-left: 14px;
    margin-bottom: 54px;
  }

  .q-today-card {
    display: none;
  }

  .q-quick-strip,
  .q-attraction-grid,
  .q-schedule-board,
  .q-service-grid,
  .q-zone-list,
  .q-route-board,
  .q-hint-grid {
    grid-template-columns: 1fr;
  }

  .q-card-large {
    grid-column: auto;
  }

  .q-section {
    padding-top: 62px;
  }

  .q-section h2,
  .q-map-panel h2,
  .q-access-card h2,
  .q-news-card h2,
  .q-shop-link h2 {
    font-size: 2rem;
  }

  .q-map-section figure {
    min-height: 360px;
  }

  .q-map-hero img {
    min-height: 360px;
  }

  .q-map-panel,
  .q-map-hero > div,
  .q-access-card,
  .q-news-card,
  .q-shop-link {
    padding: 20px;
  }

  .q-map-zone-grid,
  .q-route-board,
  .q-hint-grid,
  .q-hint-grid-dense,
  .q-full-route-list {
    grid-template-columns: 1fr;
  }

  .q-full-route-list li {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .q-map-flow li {
    grid-template-columns: 1fr;
  }
}

/* R: intentionally awful retro site */
.tacky-page {
  background:
    repeating-linear-gradient(45deg, #ff0 0 18px, #0ff 18px 36px, #f0f 36px 54px),
    #000;
}

.tacky-shell {
  border: 8px ridge #ff0;
  color: #000;
  background:
    radial-gradient(circle at 50% 0, #fff 0 5rem, transparent 12rem),
    repeating-linear-gradient(90deg, rgba(255,0,255,.28) 0 12px, rgba(0,255,255,.28) 12px 24px),
    #00ff66;
  box-shadow: 0 0 0 8px #f0f, 0 26px 80px rgba(0,0,0,.62);
  font-family: "Comic Sans MS", "MS PGothic", "Yu Gothic", cursive;
}

.tacky-marquee {
  overflow: hidden;
  padding: 10px 0;
  color: #fff;
  background: #f00;
  font: 900 16px/1 var(--arg-mono);
  white-space: nowrap;
  text-shadow: 2px 2px #00f;
}

.tacky-marquee span {
  display: inline-block;
  min-width: 100%;
  animation: portalTicker 16s linear infinite;
}

.tacky-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(160px, 220px);
  gap: 18px;
  align-items: center;
  padding: clamp(18px, 4vw, 34px);
}

.tacky-header .arg-eyebrow {
  color: #0016ff;
  text-shadow: 1px 1px #fff;
}

.tacky-header h1 {
  margin: 0;
  color: #ff0000;
  font-size: clamp(42px, 9vw, 110px);
  line-height: .9;
  text-shadow: 4px 4px #ffff00, 8px 8px #0000ff;
  animation: tackyBlink 1s steps(2) infinite;
}

.tacky-header p {
  color: #000;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.7;
}

.tacky-counter {
  padding: 14px;
  border: 5px dotted #f00;
  background: #fff;
  text-align: center;
}

.tacky-counter b,
.tacky-counter span,
.tacky-counter small {
  display: block;
}

.tacky-counter span {
  margin: 8px 0;
  color: #f00;
  background: #000;
  font: 900 28px/1 var(--arg-mono);
}

.tacky-banners {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 0 18px 18px;
}

.tacky-banners strong {
  min-height: 56px;
  display: grid;
  place-items: center;
  border: 4px outset #fff;
  color: #fff;
  background: #0016ff;
  font-size: clamp(16px, 2.6vw, 30px);
  text-shadow: 2px 2px #f00;
}

.tacky-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 18px;
}

.tacky-card {
  min-height: 420px;
  padding: 14px;
  border: 6px groove #ff00ff;
  background: #ffff00;
  box-shadow: 10px 10px 0 #000;
}

.tacky-card.hot {
  background: #ff9;
}

.tacky-card h2 {
  margin: 0 0 12px;
  color: #f00;
  font-size: clamp(26px, 4vw, 44px);
  line-height: 1;
  text-decoration: underline wavy #00f;
}

.tacky-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 5px solid #000;
  filter: contrast(1.25) saturate(1.4);
}

.tacky-card p {
  color: #000;
  font-weight: 900;
  line-height: 1.7;
}

.tacky-card button {
  min-height: 48px;
  width: 100%;
  border: 4px outset #fff;
  color: #fff;
  background: #f00;
  font: 900 15px/1 var(--arg-mono);
}

.tacky-popup {
  display: none;
  margin: 18px;
  padding: 18px;
  border: 8px double #f00;
  color: #fff;
  background: #000;
  box-shadow: 0 0 30px #f00;
}

.tacky-popup.is-visible {
  display: block;
  animation: argShake .15s steps(2) 8;
}

.tacky-popup b {
  display: block;
  color: #ff0;
  font-size: clamp(28px, 5vw, 56px);
}

/* R v54: powered-up tacky return center */
body.r-power-page {
  --r-ink: #101010;
  --r-hot: #ff008c;
  --r-blue: #003cff;
  --r-yellow: #fff000;
  --r-green: #00ff66;
  --r-cyan: #00f7ff;
  color: var(--r-ink);
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.9), transparent 8rem),
    repeating-linear-gradient(45deg, #ff0 0 18px, #00ffff 18px 36px, #ff00ff 36px 54px),
    #000;
  font-family: "MS PGothic", "Comic Sans MS", "Yu Gothic", sans-serif;
}

.r-return-site {
  width: min(1220px, calc(100% - 24px));
  margin: 0 auto;
  padding: 24px 0 56px;
}

.r-browser-frame {
  overflow: hidden;
  border: 8px ridge #fff000;
  color: #000;
  background:
    radial-gradient(circle at 50% 0, #fff 0 4rem, transparent 12rem),
    repeating-linear-gradient(90deg, rgba(255,0,255,.24) 0 12px, rgba(0,255,255,.24) 12px 24px),
    #00ff66;
  box-shadow:
    0 0 0 7px #ff00ff,
    0 0 0 13px #003cff,
    0 30px 90px rgba(0,0,0,.72);
}

.r-browser-bar {
  min-height: 34px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
  padding: 0 8px;
  border-bottom: 4px outset #fff;
  color: #fff;
  background: linear-gradient(90deg, #003cff, #7100c8);
  font: 900 12px/1 var(--arg-mono);
}

.r-browser-bar b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.r-browser-bar i {
  display: grid;
  place-items: center;
  width: 26px;
  aspect-ratio: 1;
  border: 2px outset #fff;
  background: #f00;
  font-style: normal;
}

.r-ticker {
  overflow: hidden;
  padding: 10px 0;
  color: #fff;
  background: #f00;
  font: 900 15px/1 var(--arg-mono);
  white-space: nowrap;
  text-shadow: 2px 2px #00f;
}

.r-ticker span {
  display: inline-block;
  min-width: 100%;
  animation: portalTicker 18s linear infinite;
}

.r-hero {
  display: grid;
  grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) minmax(190px, 240px);
  gap: 18px;
  align-items: center;
  padding: clamp(18px, 4vw, 34px);
}

.r-seal-stack,
.r-counter,
.r-side-panel,
.r-form-panel,
.r-item-card,
.r-review-grid article,
.r-warning-box {
  border: 5px groove #ff00ff;
  background: #ffff00;
  box-shadow: 9px 9px 0 #000;
}

.r-seal-stack {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 14px;
  text-align: center;
  transform: rotate(-3deg);
}

.r-seal-stack b {
  color: #f00;
  font-size: 1.35rem;
  text-shadow: 2px 2px #fff;
}

.r-seal-stack small,
.r-eyebrow,
.r-panel-title span,
.r-item-card span {
  color: #0016ff;
  font: 900 12px/1.2 var(--arg-mono);
  text-shadow: 1px 1px #fff;
}

.r-hero h1 {
  margin: 8px 0 14px;
  color: #f00;
  font-size: clamp(42px, 8vw, 104px);
  line-height: .9;
  text-shadow: 4px 4px #ffff00, 8px 8px #0000ff;
  animation: tackyBlink 1s steps(2) infinite;
}

.r-hero p,
.r-form-note,
.r-item-card p,
.r-review-grid p,
.r-warning-box p {
  color: #000;
  font-weight: 900;
  line-height: 1.75;
}

.r-hero-actions,
.r-warning-box,
.r-denial-window .arg-link-row,
.r-next-window .arg-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.r-hero-actions a,
.r-hero-actions button,
.r-form-panel button,
.r-side-panel button,
.r-item-card button,
.r-warning-box a,
.r-denial-window button,
.r-denial-window a,
.r-next-window a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 4px outset #fff;
  color: #fff;
  background: #f00;
  text-decoration: none;
  font: 900 14px/1 var(--arg-mono);
  cursor: pointer;
}

.r-hero-actions a,
.r-warning-box a,
.r-denial-window a,
.r-next-window a {
  color: #000;
  background: #00f7ff;
}

.r-hero-actions button[data-r-se-test] {
  color: #000;
  background: #fff000;
  border-color: #f00;
  box-shadow: inset 0 0 0 3px #000;
}

.r-counter {
  padding: 14px;
  text-align: center;
  background: #fff;
}

.r-counter b,
.r-counter span,
.r-counter small {
  display: block;
}

.r-counter span {
  margin: 8px 0;
  color: #f00;
  background: #000;
  font: 900 30px/1 var(--arg-mono);
}

.r-banners {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  padding: 0 18px 18px;
}

.r-banners strong {
  min-height: 58px;
  display: grid;
  place-items: center;
  border: 4px outset #fff;
  color: #fff;
  background: #0016ff;
  font-size: clamp(16px, 2.4vw, 28px);
  text-shadow: 2px 2px #f00;
}

.r-banners strong:nth-child(2n) {
  color: #000;
  background: #fff000;
}

.r-alert-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 0 18px 18px;
}

.r-alert-row article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 4px double #000;
  background: #fff;
  font-weight: 900;
}

.r-alert-row b {
  display: grid;
  place-items: center;
  min-width: 58px;
  min-height: 44px;
  color: #fff;
  background: #f00;
}

.r-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  padding: 0 18px 18px;
}

.r-form-panel,
.r-side-panel {
  padding: 18px;
}

.r-panel-title {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.r-panel-title h2,
.r-side-panel h2,
.r-section-head h2 {
  margin: 0;
  color: #f00;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
  text-decoration: underline wavy #00f;
}

.r-form-panel form {
  display: grid;
  gap: 12px;
}

.r-form-panel label {
  display: grid;
  gap: 6px;
  color: #000;
  font-weight: 900;
}

.r-form-panel input,
.r-form-panel select,
.r-form-panel textarea {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 4px inset #fff;
  color: #000;
  background: #fff;
  font: 900 15px/1.45 "MS PGothic", Meiryo, sans-serif;
}

.r-form-panel textarea {
  min-height: 110px;
  resize: vertical;
}

.r-form-panel textarea[data-r-last-place] {
  min-height: 138px;
  background:
    linear-gradient(90deg, rgba(255,0,255,.05) 1px, transparent 1px) 0 0 / 18px 100%,
    #fff;
}

.r-form-note {
  margin-bottom: 0;
  padding: 10px;
  border: 3px dashed #f00;
  background: #fff;
}

.r-selected-preview {
  margin: 16px 0 0;
  border: 5px double #000;
  background: #fff;
  box-shadow: 6px 6px 0 #003cff;
}

.r-selected-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #fff;
  border-bottom: 5px solid #000;
  filter: contrast(1.1) saturate(1.12);
}

.r-selected-preview figcaption {
  display: grid;
  gap: 6px;
  padding: 12px;
  color: #000;
  font-weight: 900;
  line-height: 1.65;
}

.r-selected-preview b {
  color: #f00;
  font-size: 1.45rem;
  text-decoration: underline wavy #003cff;
}

.r-side-panel {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.r-stamp {
  position: absolute;
  right: -18px;
  top: 20px;
  padding: 8px 22px;
  border: 6px double #f00;
  color: #f00;
  background: rgba(255,255,255,.82);
  font-size: 2.1rem;
  font-weight: 900;
  transform: rotate(14deg);
}

.r-side-panel dl {
  display: grid;
  gap: 10px;
  margin: 72px 0 16px;
}

.r-side-panel div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 2px dotted #000;
  padding-bottom: 8px;
  font-weight: 900;
}

.r-side-panel dd {
  margin: 0;
  color: #f00;
  text-align: right;
}

.r-catalog,
.r-reviews {
  padding: 20px 18px 0;
}

.r-section-head {
  margin-bottom: 14px;
  padding: 12px;
  border: 4px dashed #0016ff;
  background: rgba(255,255,255,.82);
}

.r-card-grid,
.r-review-grid {
  display: grid;
  gap: 14px;
}

.r-card-grid {
  grid-template-columns: repeat(4, 1fr);
}

.r-item-card {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px;
}

.r-item-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 5px solid #000;
  filter: contrast(1.16) saturate(1.32);
}

.r-item-card h3 {
  margin: 0;
  color: #f00;
  font-size: 1.35rem;
  line-height: 1.15;
}

.r-item-card.is-selected {
  outline: 6px solid #00f7ff;
  outline-offset: -9px;
  transform: translate(-3px, -3px);
}

.r-item-card.is-r-trigger {
  animation: rTriggerPulse .65s steps(2) infinite;
}

/* R: only the item whose storage slip was already checked is closed. */
.r-item-card.is-r-confirmed {
  opacity: .56;
  filter: grayscale(1) contrast(.82);
  transform: none;
}

.r-item-card.is-r-confirmed h3,
.r-item-card.is-r-confirmed p,
.r-item-card.is-r-confirmed span {
  color: #686868;
  text-shadow: none;
}

.r-item-card.is-r-confirmed button,
.r-item-card.is-r-confirmed button:disabled {
  color: #e7e7e7;
  background: #777;
  border-color: #bababa;
  box-shadow: none;
  cursor: not-allowed;
}

.r-review-grid {
  grid-template-columns: repeat(3, 1fr);
}

.r-review-grid article {
  padding: 16px;
  background: #fff;
}

.r-review-grid b {
  display: block;
  color: #f00;
  font-size: 1.2rem;
}

.r-review-grid span {
  color: #0016ff;
  font-weight: 900;
}

.r-warning-box {
  margin: 20px 18px;
  padding: 18px;
  background:
    repeating-linear-gradient(45deg, #fff000 0 14px, #fff 14px 28px),
    #fff000;
}

.r-warning-box b {
  color: #f00;
  font-size: clamp(24px, 4vw, 42px);
  text-shadow: 2px 2px #fff;
}

.r-denial-window,
.r-next-window {
  display: none;
  margin: 20px 18px 24px;
  padding: 20px;
  border: 9px double #f00;
  color: #fff;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.1) 0 1px, transparent 1px 5px),
    #000;
  box-shadow: 0 0 34px #f00;
}

.r-denial-window.is-visible {
  display: block;
  animation: argShake .15s steps(2) 8;
}

.r-next-window {
  display: block;
  border-color: #00ff66;
  background:
    repeating-linear-gradient(0deg, rgba(0,255,102,.14) 0 1px, transparent 1px 5px),
    #050505;
  box-shadow: 0 0 34px #00ff66;
}

.r-next-window[hidden] {
  display: none !important;
}

.r-denial-window b,
.r-next-window b {
  display: block;
  color: #ff0;
  font-size: clamp(30px, 5vw, 60px);
  text-shadow: 3px 3px #f00;
}

.r-next-window b {
  color: #00ff66;
  text-shadow: 3px 3px #003cff;
}

.r-denial-window p,
.r-next-window p {
  color: #fff;
  font-weight: 900;
  line-height: 1.9;
}

.r-browser-frame.is-r-denied .r-stamp,
.r-browser-frame.is-r-denied .r-alert-row b,
.r-browser-frame.is-r-denied .r-form-panel button,
.r-browser-frame.is-r-denied .r-side-panel button,
.r-browser-frame.is-r-denied .r-item-card button,
.r-browser-frame.is-r-denied .r-denial-window {
  color: #e8e8e8;
  background: #777;
  border-color: #bababa;
  box-shadow: none;
  filter: grayscale(1);
  text-shadow: none;
}

.r-browser-frame.is-r-denied .r-side-panel dd,
.r-browser-frame.is-r-denied .r-item-card h3,
.r-browser-frame.is-r-denied .r-selected-preview b {
  color: #666;
  text-decoration-color: #999;
}

.r-browser-frame.is-r-denied .r-item-card:not(.is-selected) img {
  opacity: .58;
  filter: grayscale(1) contrast(.82);
}

.r-browser-frame.is-r-trigger .r-stamp,
.r-browser-frame.is-r-trigger .r-form-panel button,
.r-browser-frame.is-r-trigger .r-side-panel button,
.r-browser-frame.is-r-trigger .r-item-card.is-r-trigger button {
  color: #000;
  background: #00ff66;
  border-color: #fff000;
  box-shadow: 0 0 18px #00ff66;
  text-shadow: none;
}

.r-browser-frame.is-r-busy button:disabled {
  cursor: wait;
  filter: grayscale(.45) brightness(.82);
}

.r-result-dialog {
  position: fixed;
  inset: 0;
  z-index: 1250;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 6px),
    rgba(0,0,0,.72);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}

.r-result-dialog.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.r-result-dialog-window {
  width: min(620px, 100%);
  padding: clamp(20px, 4vw, 34px);
  border: 8px ridge #fff000;
  color: #000;
  background:
    radial-gradient(circle at 94% 0, rgba(255,0,255,.26), transparent 9rem),
    linear-gradient(180deg, #fff, #fff6ba);
  box-shadow: 0 0 0 6px #ff00ff, 0 24px 90px rgba(0,0,0,.72);
  animation: argShake .18s steps(2) 3;
}

.r-result-dialog-window h2 {
  margin: 8px 0 12px;
  color: #f00;
  font-size: clamp(26px, 6vw, 54px);
  line-height: 1;
  text-shadow: 2px 2px #fff000;
}

.r-result-dialog-window p:not(.r-eyebrow) {
  color: #000;
  font-weight: 900;
  line-height: 1.9;
}

.r-result-dialog-window button {
  min-height: 46px;
  margin-top: 12px;
  padding: 0 18px;
  border: 4px outset #fff;
  color: #fff;
  background: #f00;
  font: 900 14px/1 var(--arg-mono);
  cursor: pointer;
}

@keyframes rTriggerPulse {
  0%, 49% {
    filter: saturate(1.3) hue-rotate(0deg);
  }
  50%, 100% {
    filter: saturate(2) hue-rotate(90deg);
  }
}

@media (max-width: 980px) {
  .r-hero,
  .r-layout,
  .r-alert-row,
  .r-card-grid,
  .r-review-grid {
    grid-template-columns: 1fr;
  }

  .r-banners {
    grid-template-columns: repeat(3, 1fr);
  }

  .r-seal-stack {
    justify-self: start;
    width: min(180px, 100%);
  }
}

@media (max-width: 620px) {
  .r-return-site {
    width: calc(100% - 14px);
    padding-top: 12px;
  }

  .r-browser-frame {
    border-width: 5px;
    box-shadow: 0 0 0 4px #ff00ff, 0 0 0 8px #003cff, 0 20px 60px rgba(0,0,0,.68);
  }

  .r-browser-bar {
    grid-template-columns: minmax(0, 1fr) 28px;
  }

  .r-browser-bar b {
    display: none;
  }

  .r-hero,
  .r-layout,
  .r-catalog,
  .r-reviews {
    padding-left: 10px;
    padding-right: 10px;
  }

  .r-hero h1 {
    font-size: 2.55rem;
  }

  .r-banners {
    grid-template-columns: repeat(2, 1fr);
    padding-left: 10px;
    padding-right: 10px;
  }

  .r-alert-row {
    padding-left: 10px;
    padding-right: 10px;
  }

  .r-warning-box,
  .r-denial-window,
  .r-next-window {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@keyframes portalTicker {
  from { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}

@keyframes tackyBlink {
  0%, 49% { filter: hue-rotate(0deg); }
  50%, 100% { filter: hue-rotate(160deg) invert(.1); }
}

/* V: deep VHS return experience */
.vhs-store {
  width: min(1320px, calc(100% - 28px));
  margin: 0 auto;
  padding: clamp(28px, 5vw, 68px) 0 80px;
}

.vhs-hero {
  min-height: min(820px, calc(100vh - 49px));
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(420px, 1fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: center;
}

.vhs-copy h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(48px, 8vw, 116px);
  line-height: .94;
}

.vhs-copy p:not(.arg-eyebrow) {
  color: var(--arg-muted);
  line-height: 2;
}

.vhs-player {
  border: 1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, #292525, #0b0909),
    #111;
  box-shadow: 0 42px 120px rgba(0,0,0,.62);
}

.vhs-screen-wrap {
  position: relative;
  margin: clamp(12px, 2vw, 22px);
  border: 14px solid #090808;
  background: #000;
}

.vhs-screen-wrap canvas {
  width: 100%;
  aspect-ratio: 16 / 10.5;
  display: block;
  background: #050505;
}

.vhs-osd {
  position: absolute;
  inset: 14px 14px auto;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #d9fff8;
  font: 900 12px/1 var(--arg-mono);
  text-shadow: 0 0 8px #7dd8ff;
  pointer-events: none;
}

.vhs-deck {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 16px clamp(14px, 2vw, 24px) 22px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.vhs-slot {
  min-height: 42px;
  flex: 1 1 280px;
  display: grid;
  align-items: center;
  padding: 0 14px;
  color: rgba(255,255,255,.76);
  background: #050505;
  box-shadow: inset 0 0 18px rgba(0,0,0,.9);
  font: 900 12px/1 var(--arg-mono);
}

.vhs-leds {
  display: flex;
  gap: 8px;
  align-items: center;
}

.vhs-leds i {
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #421016;
  box-shadow: 0 0 18px rgba(210,27,54,.5);
  animation: vhsLed 2.1s steps(2) infinite;
}

.vhs-leds i:nth-child(2) { animation-delay: .4s; }
.vhs-leds i:nth-child(3) { animation-delay: .9s; }
.vhs-leds i:nth-child(4) { animation-delay: 1.2s; }

.vhs-depth-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-top: 28px;
}

.vhs-panel {
  min-height: 260px;
  padding: clamp(16px, 2.5vw, 26px);
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.018)),
    rgba(0,0,0,.52);
}

.vhs-panel.wide {
  grid-column: span 1;
}

.vhs-panel b {
  color: var(--arg-accent);
  font: 900 12px/1 var(--arg-mono);
}

.vhs-panel h2 {
  margin: 12px 0;
  font-family: var(--arg-serif);
  font-size: clamp(28px, 4vw, 54px);
  line-height: 1.08;
}

.vhs-panel p {
  color: var(--arg-muted);
  line-height: 1.85;
}

.vhs-tapes {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.vhs-tapes button {
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--arg-ink);
  background: rgba(255,255,255,.05);
  text-align: left;
  font: 900 12px/1 var(--arg-mono);
}

.vhs-member,
.vhs-log {
  margin-top: 16px;
  padding: 14px;
  color: #9dffb5;
  background: rgba(0, 12, 4, .78);
  border: 1px solid rgba(157,255,181,.22);
  font: 900 12px/1.75 var(--arg-mono);
}

.vhs-log {
  max-height: 260px;
  overflow: auto;
}

.vhs-log p {
  margin: 0 0 6px;
  color: inherit;
}

@keyframes vhsLed {
  0%, 56% { background: #421016; }
  57%, 100% { background: #ff2c48; }
}

/* K-M: 3D game sites, O/P/S/T: experimental game pages */
.game-shell,
.famicom-shell,
.white-experiment,
.falling-stage,
.text-flood-stage {
  position: relative;
  z-index: 1;
}

.game-shell {
  width: 100%;
  min-height: 100vh;
}

.three-stage {
  position: relative;
  min-height: calc(100vh - 49px);
  overflow: hidden;
  background: #000;
  isolation: isolate;
}

.three-stage canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.liminal-stage {
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.32), transparent 19rem),
    linear-gradient(180deg, #f7f7f1, #d8ddd8 48%, #151817);
}

.signal-stage {
  background:
    radial-gradient(circle at 50% 50%, rgba(20,90,130,.22), transparent 24rem),
    #010207;
}

.lowpoly-stage {
  background:
    radial-gradient(circle at 70% 14%, rgba(190,255,255,.2), transparent 9rem),
    linear-gradient(180deg, #07110e, #020403);
}

.game-hud {
  position: absolute;
  left: clamp(14px, 4vw, 46px);
  bottom: clamp(14px, 4vw, 44px);
  z-index: 3;
  width: min(620px, calc(100% - 28px));
  padding: clamp(16px, 3vw, 26px);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--arg-ink);
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 80px rgba(0,0,0,.46);
}

.game-hud.side {
  left: auto;
  right: clamp(14px, 4vw, 46px);
}

.game-hud h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(42px, 8vw, 96px);
  line-height: .95;
}

.game-hud p:not(.arg-eyebrow) {
  color: rgba(255,255,255,.78);
  line-height: 1.9;
}

.game-readout {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.game-readout span {
  min-height: 34px;
  display: inline-grid;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.16);
  color: var(--arg-accent);
  background: rgba(0,0,0,.44);
  font: 900 12px/1 var(--arg-mono);
}

.game-memo-fragment {
  position: absolute;
  z-index: 6;
  right: clamp(14px, 4vw, 48px);
  bottom: clamp(82px, 14vh, 150px);
  width: min(292px, calc(100vw - 28px));
  border: 0;
  color: #20140d;
  background: linear-gradient(135deg, rgba(255,252,233,.96), rgba(226,211,178,.94));
  padding: 13px 14px 14px;
  text-align: left;
  box-shadow: 0 18px 44px rgba(0,0,0,.34), inset 0 0 0 1px rgba(95,74,42,.22);
  cursor: pointer;
  transform: rotate(-2deg);
  font: 800 12px/1.7 var(--arg-mono);
}

.game-memo-fragment::before {
  content: "拾う";
  position: absolute;
  right: 10px;
  top: -12px;
  padding: 2px 7px;
  color: #fff;
  background: #371610;
  font: 900 11px/1 var(--arg-mono);
}

.game-memo-fragment b,
.game-memo-fragment span {
  display: block;
}

.game-memo-fragment b {
  margin-bottom: 6px;
  color: #5c2014;
}

.game-memo-fragment span {
  color: rgba(32,20,13,.8);
}

.game-memo-fragment:hover,
.game-memo-fragment:focus-visible,
.game-memo-fragment.is-collected {
  transform: rotate(.5deg) translateY(-4px);
  outline: 2px solid var(--arg-accent);
}

.game-notepad-layer,
.game-modal-dialog {
  position: absolute;
  inset: 0;
  z-index: 16;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.68);
}

.game-notepad-window,
.game-modal-dialog section {
  width: min(620px, calc(100vw - 32px));
  color: #111;
  background: #f5f1df;
  border: 2px solid #7c725a;
  box-shadow: 12px 12px 0 rgba(0,0,0,.48);
  font-family: "MS Gothic", "Yu Gothic", ui-monospace, monospace;
}

.game-notepad-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
  color: #fff;
  background: #1c2f7a;
  font-size: 13px;
}

.game-notepad-title button,
.game-modal-dialog button {
  min-width: 64px;
  min-height: 28px;
  border: 2px outset #c9c9c9;
  color: #111;
  background: #d8d8d8;
  font: 900 12px/1 "MS Gothic", monospace;
  cursor: pointer;
}

.game-notepad-title button:disabled {
  opacity: .45;
  cursor: wait;
}

.game-notepad-window pre {
  min-height: 210px;
  margin: 0;
  padding: 18px;
  white-space: pre-wrap;
  color: #111;
  font: 900 18px/1.85 "MS Gothic", monospace;
}

.arg-hidden-memo-fragment {
  position: fixed !important;
  z-index: 1450;
  width: 64px;
  min-height: 42px;
  border: 1px solid rgba(118,255,190,.7);
  padding: 6px 7px;
  color: #d9ffe8;
  background:
    linear-gradient(90deg, var(--fragment-a, rgba(255, 0, 119, .34)), transparent 18%, var(--fragment-b, rgba(0, 255, 255, .24)) 72%, transparent),
    repeating-linear-gradient(180deg, rgba(255,255,255,.14) 0 1px, rgba(0,0,0,0) 1px 5px),
    radial-gradient(circle at 70% 28%, rgba(255,255,255,.2), transparent 22%),
    rgba(0,0,0,.9);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.86),
    0 8px 22px rgba(0,0,0,.42),
    0 0 18px rgba(98,255,190,.22),
    -3px 0 0 rgba(255,0,119,.25),
    3px 0 0 rgba(0,255,255,.2);
  cursor: pointer;
  opacity: 0;
  overflow: visible !important;
  transform: rotate(var(--memo-rot, -4deg)) scale(.88);
  transition: opacity .22s ease, transform .18s ease, width .18s ease, box-shadow .18s ease, border-color .18s ease;
  font-family: "MS Gothic", "Yu Gothic", ui-monospace, monospace;
  text-align: left;
  image-rendering: pixelated;
  animation: yuFragmentIdleGlitch 1.25s steps(2, end) infinite;
}

.arg-hidden-memo-fragment.is-set {
  opacity: .72;
}

.arg-hidden-memo-fragment::before,
.arg-hidden-memo-fragment::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.arg-hidden-memo-fragment::before {
  inset: -2px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.18) 32%, transparent 38%),
    repeating-linear-gradient(90deg, transparent 0 7px, rgba(255,255,255,.12) 7px 8px);
  mix-blend-mode: screen;
  opacity: .54;
}

.arg-hidden-memo-fragment::after {
  content: "Y";
  right: -13px;
  top: 7px;
  width: 26px;
  height: 14px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.32);
  color: rgba(255,255,255,.72);
  background: rgba(0,0,0,.92);
  font: 900 8px/1 var(--arg-mono);
  letter-spacing: 0;
  text-shadow: 1px 0 rgba(255,0,119,.8), -1px 0 rgba(0,255,255,.72);
}

.arg-hidden-memo-fragment b,
.arg-hidden-memo-fragment span {
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  opacity: .7;
  text-shadow: 1px 0 rgba(255,0,119,.8), -1px 0 rgba(0,255,255,.7);
}

.arg-hidden-memo-fragment b {
  font-size: 10px;
  line-height: 1.3;
}

.arg-hidden-memo-fragment span {
  margin-top: 3px;
  font-size: 9px;
  line-height: 1;
}

.arg-hidden-memo-fragment:hover,
.arg-hidden-memo-fragment:focus-visible,
.arg-hidden-memo-fragment.is-collected {
  width: 172px;
  opacity: .98;
  transform: rotate(var(--memo-rot, -4deg)) scale(1);
  border-color: rgba(255,255,255,.92);
  outline: 2px solid rgba(255,255,255,.48);
  box-shadow:
    0 18px 44px rgba(0,0,0,.5),
    0 0 32px rgba(98,255,190,.34),
    0 0 22px rgba(255,0,119,.22),
    -5px 0 0 rgba(255,0,119,.32),
    5px 0 0 rgba(0,255,255,.26);
  animation: yuFragmentFocusGlitch .42s steps(2, end) infinite;
}

.arg-hidden-memo-fragment:hover b,
.arg-hidden-memo-fragment:hover span,
.arg-hidden-memo-fragment:focus-visible b,
.arg-hidden-memo-fragment:focus-visible span,
.arg-hidden-memo-fragment.is-collected b,
.arg-hidden-memo-fragment.is-collected span {
  opacity: 1;
}

@keyframes yuFragmentIdleGlitch {
  0%, 100% { filter: contrast(1.2) saturate(1.1); }
  24% { transform: translate(1px, -1px) rotate(var(--memo-rot, -4deg)) scale(.88); clip-path: inset(0 0 0 0); }
  46% { clip-path: inset(6% 0 0 0); }
  68% { transform: translate(-1px, 1px) rotate(var(--memo-rot, -4deg)) scale(.9); clip-path: inset(0 0 8% 0); }
}

@keyframes yuFragmentFocusGlitch {
  0%, 100% { transform: translate(0,0) rotate(var(--memo-rot, -4deg)) scale(1); }
  28% { transform: translate(2px,-1px) rotate(var(--memo-rot, -4deg)) scale(1.02); }
  58% { transform: translate(-2px,1px) rotate(var(--memo-rot, -4deg)) scale(1); }
}

.arg-hidden-memo-fragment[data-memo-site="E"] { right: 7vw; bottom: 18vh; --memo-rot: 4deg; --fragment-a: rgba(0,255,255,.34); --fragment-b: rgba(255,0,119,.28); }
.arg-hidden-memo-fragment[data-memo-site="F"] { left: 4vw; bottom: 9vh; --memo-rot: -7deg; --fragment-a: rgba(255,218,64,.32); --fragment-b: rgba(0,255,150,.26); }
.arg-hidden-memo-fragment[data-memo-site="G"] { right: 2vw; top: 42vh; --memo-rot: 5deg; --fragment-a: rgba(255,0,119,.38); --fragment-b: rgba(110,255,214,.24); }
.arg-hidden-memo-fragment[data-memo-site="H"] { left: 6vw; top: 28vh; --memo-rot: -8deg; --fragment-a: rgba(190,150,255,.36); --fragment-b: rgba(255,255,255,.18); }
.arg-hidden-memo-fragment[data-memo-site="I"] { right: 12vw; top: 11vh; --memo-rot: 2deg; --fragment-a: rgba(255,255,255,.24); --fragment-b: rgba(0,180,255,.28); }
.arg-hidden-memo-fragment[data-memo-site="J"] { left: 48vw; bottom: 8vh; --memo-rot: -10deg; --fragment-a: rgba(255,80,40,.34); --fragment-b: rgba(0,255,190,.24); }
.arg-hidden-memo-fragment[data-memo-site="N"] { right: 2vw; top: 58vh; --memo-rot: 6deg; --fragment-a: rgba(255,20,90,.32); --fragment-b: rgba(255,240,120,.22); }
.arg-hidden-memo-fragment[data-memo-site="O"] { left: 5vw; bottom: 5vh; --memo-rot: -3deg; --fragment-a: rgba(255,255,255,.36); --fragment-b: rgba(0,0,0,.12); }
.arg-hidden-memo-fragment[data-memo-site="P"] { right: 3vw; top: 15vh; --memo-rot: 8deg; --fragment-a: rgba(160,255,80,.32); --fragment-b: rgba(255,0,120,.24); }
.arg-hidden-memo-fragment[data-memo-site="Q"] { left: 2vw; top: 72vh; --memo-rot: -5deg; --fragment-a: rgba(0,115,255,.32); --fragment-b: rgba(255,230,40,.3); }
.arg-hidden-memo-fragment[data-memo-site="R"] { right: 5vw; top: 23vh; --memo-rot: 3deg; --fragment-a: rgba(255,0,170,.34); --fragment-b: rgba(255,238,80,.28); }
.arg-hidden-memo-fragment[data-memo-site="S"] { left: 9vw; bottom: 13vh; --memo-rot: -6deg; --fragment-a: rgba(186,255,110,.24); --fragment-b: rgba(190,160,255,.28); }
.arg-hidden-memo-fragment[data-memo-site="T"] { right: 10vw; bottom: 18vh; --memo-rot: 7deg; --fragment-a: rgba(0,255,120,.34); --fragment-b: rgba(255,60,60,.3); }
.arg-hidden-memo-fragment[data-memo-site="U"] { left: 4vw; top: 20vh; --memo-rot: -4deg; --fragment-a: rgba(255,255,255,.3); --fragment-b: rgba(255,0,119,.3); }
.arg-hidden-memo-fragment[data-memo-site="V"] { right: 46vw; bottom: 8vh; --memo-rot: 5deg; --fragment-a: rgba(255,255,255,.34); --fragment-b: rgba(40,40,40,.22); }
.arg-hidden-memo-fragment[data-memo-site="W"] { left: 3vw; bottom: 34vh; --memo-rot: -8deg; --fragment-a: rgba(255,60,40,.34); --fragment-b: rgba(70,160,255,.26); }
.arg-hidden-memo-fragment[data-memo-site="X"] { right: 19vw; top: 18vh; --memo-rot: 6deg; --fragment-a: rgba(0,195,255,.32); --fragment-b: rgba(255,0,140,.34); }

.arg-hidden-notepad-layer {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0 1px, transparent 1px 4px),
    rgba(0,0,0,.72);
}

.arg-hidden-notepad-window {
  width: min(660px, calc(100vw - 32px));
  color: #111;
  background: #f5f1df;
  border: 2px solid #756a56;
  box-shadow: 12px 12px 0 rgba(0,0,0,.5), 0 0 58px rgba(255,255,255,.12);
  font-family: "MS Gothic", "Yu Gothic", ui-monospace, monospace;
}

.arg-hidden-notepad-window header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
  color: #fff;
  background: #1a2d73;
  font: 900 13px/1.3 "MS Gothic", monospace;
}

.arg-hidden-notepad-window button {
  min-width: 64px;
  min-height: 28px;
  border: 2px outset #c9c9c9;
  color: #111;
  background: #d8d8d8;
  font: 900 12px/1 "MS Gothic", monospace;
  cursor: pointer;
}

.arg-hidden-notepad-window button:disabled {
  opacity: .45;
  cursor: wait;
}

.arg-hidden-notepad-window pre {
  min-height: 240px;
  margin: 0;
  padding: 20px;
  white-space: pre-wrap;
  color: #111;
  font: 900 clamp(16px, 2.2vw, 20px)/1.85 "MS Gothic", monospace;
}

.game-modal-dialog section {
  padding: 18px;
  text-align: center;
}

.game-modal-dialog p {
  margin: 0 0 16px;
  color: #111;
  font: 900 18px/1.75 "MS Gothic", monospace;
}

.three-stage.game-fadeout::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 18;
  background: #000;
  animation: gameFadeOut .95s linear both;
  pointer-events: none;
}

@keyframes gameFadeOut {
  from { opacity: 0; }
  to { opacity: 1; }
}

.arg-l .game-memo-fragment {
  left: clamp(14px, 4vw, 48px);
  right: auto;
  bottom: clamp(58px, 10vh, 120px);
  transform: rotate(2deg);
}

.arg-m .game-memo-fragment {
  right: clamp(18px, 8vw, 120px);
  bottom: clamp(44px, 8vh, 94px);
  transform: rotate(-4deg);
}

.three-stage canvas,
.famicom-screen canvas {
  touch-action: none;
}

.game-touch-controls {
  position: absolute;
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 7;
  display: none;
  grid-template-columns: 112px 1fr 86px;
  gap: 10px;
  align-items: end;
  pointer-events: none;
}

.game-touch-stick,
.game-touch-look,
.game-touch-action {
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.game-touch-stick {
  position: relative;
  width: 112px;
  aspect-ratio: 1;
  border: 2px solid rgba(255,255,255,.62);
  border-radius: 50%;
  background: rgba(0,0,0,.42);
  box-shadow: inset 0 0 24px rgba(255,255,255,.08), 0 0 28px rgba(0,0,0,.5);
}

.game-touch-stick i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  transform: translate(0, 0);
  margin: -21px 0 0 -21px;
  box-shadow: 0 0 24px rgba(255,255,255,.34);
}

.game-touch-look {
  min-height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: rgba(255,255,255,.36);
  background: rgba(0,0,0,.22);
  font: 900 11px/1 var(--arg-mono);
}

.game-touch-action {
  min-height: 72px;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 8px;
  color: #fff;
  background: rgba(210,27,54,.72);
  font: 900 12px/1 var(--arg-mono);
}

.game-horror-flash {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: #fff;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.14) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 50% 50%, rgba(210,27,54,.42), rgba(0,0,0,.94));
  font: 900 clamp(28px, 8vw, 92px)/1 var(--arg-mono);
  text-align: center;
  text-shadow: 0 0 28px #d21b36, 4px 4px #000;
  animation: gameHorrorFlash 2.2s steps(3) both;
}

.three-stage.is-horrorized,
.famicom-shell.is-horrorized {
  animation: gameWorldBreak .7s steps(2) infinite;
}

@keyframes gameHorrorFlash {
  0% { opacity: 0; filter: invert(1); transform: scale(1.08); }
  10%, 84% { opacity: 1; }
  100% { opacity: 0; filter: blur(10px); transform: scale(1.18); }
}

@keyframes gameWorldBreak {
  50% { filter: contrast(1.7) saturate(.4) hue-rotate(-35deg); }
}

.game-lore {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(34px, 6vw, 76px) 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.game-lore article {
  min-height: 220px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--arg-line);
  background: rgba(0,0,0,.48);
}

.game-lore b {
  color: var(--arg-accent);
  font: 900 12px/1 var(--arg-mono);
}

.game-lore h2 {
  margin: 12px 0;
  font-family: var(--arg-serif);
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.08;
}

.game-lore p {
  color: var(--arg-muted);
  line-height: 1.9;
}

body.white-random-page,
body.falling-words-page,
body.text-flood-page {
  color: #050505;
  background: #fff;
}

body.white-random-page::before,
body.white-random-page::after,
body.falling-words-page::before,
body.falling-words-page::after,
body.text-flood-page::before,
body.text-flood-page::after {
  display: none;
}

.white-experiment,
.falling-stage,
.text-flood-stage {
  min-height: calc(100vh - 49px);
  overflow: hidden;
  background: #fff;
  color: #050505;
}

.white-ui,
.falling-ui,
.text-flood-controls {
  position: fixed;
  left: 12px;
  top: 58px;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  max-width: calc(100% - 24px);
  padding: 10px;
  border: 1px solid #111;
  background: rgba(255,255,255,.92);
  font: 900 12px/1.2 var(--arg-mono);
}

.white-console,
.falling-observatory .falling-ui,
.report-flood-stage .text-flood-controls {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  align-items: start;
  gap: 14px;
  width: min(1180px, calc(100% - 24px));
  max-width: none;
  border-color: rgba(0,0,0,.28);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
}

.white-console h1,
.falling-observatory h1,
.report-flood-stage h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(28px, 5vw, 62px);
  line-height: 1;
}

.white-console p,
.falling-observatory p,
.report-flood-stage p {
  line-height: 1.7;
}

.white-controls,
.text-flood-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.white-ui p,
.falling-ui p,
.text-flood-controls p {
  margin: 0;
}

.white-ui a,
.text-flood-controls a,
.white-ui button,
.falling-ui button,
.text-flood-controls button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #111;
  color: #050505;
  background: #fff;
  text-decoration: none;
  font: 900 11px/1 var(--arg-mono);
}

.white-meter,
.falling-pressure,
.text-flood-meter {
  min-width: 112px;
  padding: 10px;
  border: 1px solid #111;
  background: #f7f7f7;
  text-align: center;
}

.white-meter span,
.falling-pressure span,
.text-flood-meter span,
.white-meter b,
.falling-pressure b,
.text-flood-meter b {
  display: block;
}

.white-meter b,
.falling-pressure b,
.text-flood-meter b {
  margin-top: 6px;
  color: #d21b36;
  font-size: 24px;
}

.white-field {
  position: absolute;
  inset: 0;
}

.white-observatory .white-field {
  background:
    linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,0,0,.025) 1px, transparent 1px),
    #fff;
  background-size: 42px 42px;
}

.white-ledger,
.falling-ledger,
.report-stamp {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 5;
  width: min(360px, calc(100% - 24px));
  max-height: 34vh;
  overflow: auto;
  padding: 14px;
  border: 1px solid #111;
  color: #050505;
  background: rgba(255,255,255,.92);
  font: 900 12px/1.65 var(--arg-mono);
}

.white-ledger b,
.falling-ledger b,
.report-stamp b {
  display: block;
  margin-bottom: 8px;
}

.white-ledger p,
.falling-ledger p {
  margin: 0 0 6px;
}

.white-thing {
  position: absolute;
  max-width: min(320px, 80vw);
  color: #050505;
  font-family: var(--arg-mono);
  animation: whiteAppear 6s linear forwards;
}

.white-thing.text {
  font-size: clamp(12px, 2vw, 18px);
}

.white-thing.box {
  width: 46px;
  height: 46px;
  background: #050505;
}

.white-thing.line {
  height: 1px;
  width: min(360px, 72vw);
  background: #d21b36;
}

.white-thing.eye {
  width: 74px;
  aspect-ratio: 2 / 1;
  border: 2px solid #050505;
  border-radius: 50%;
}

.white-thing.eye::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #050505;
}

.white-thing.photo {
  width: 120px;
  aspect-ratio: 4 / 3;
  background: url("/assets/images/lowfi_photos/blurred_face.webp") center / cover;
  filter: grayscale(1) contrast(1.4);
}

.falling-observatory {
  background:
    linear-gradient(180deg, rgba(210,27,54,.06), transparent 28%),
    #fff;
}

.falling-ui {
  display: block;
  max-width: min(520px, calc(100% - 24px));
}

.falling-observatory .falling-ui {
  max-width: none;
}

.falling-ui h1 {
  margin: 6px 0;
  font-family: var(--arg-serif);
  font-size: clamp(34px, 8vw, 84px);
  line-height: .95;
}

.falling-ui .arg-link-row {
  margin-top: 12px;
}

.falling-field {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fall-word {
  position: absolute;
  top: -10vh;
  color: #050505;
  font: 900 clamp(18px, 4vw, 54px)/1 var(--arg-serif);
  opacity: .82;
  animation: wordFall linear forwards;
  white-space: nowrap;
}

.fall-word.red {
  color: #d21b36;
}

.fall-word.faint {
  opacity: .22;
}

.fall-word.is-held {
  outline: 1px solid rgba(210,27,54,.3);
  background: rgba(255,255,255,.74);
  animation-play-state: paused;
}

body.p-silent-descent {
  min-height: 100vh;
  overflow: hidden;
  background: #fff;
  color: #050505;
}

body.p-silent-descent::before,
body.p-silent-descent::after,
body.p-silent-descent .az-ribbon,
body.p-silent-descent .falling-ui,
body.p-silent-descent .falling-ledger {
  display: none !important;
}

body.p-silent-descent .falling-stage,
body.p-silent-descent .falling-observatory {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(0,0,0,.018), transparent 22%, rgba(0,0,0,.025) 100%),
    #fff;
}

body.p-silent-descent .falling-field {
  position: fixed;
  inset: 0;
  pointer-events: auto;
  overflow: hidden;
  background: #fff;
}

body.p-silent-descent .fall-word {
  pointer-events: none;
  user-select: none;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}

body.p-silent-descent .fall-word.fall-anomaly {
  position: fixed;
  left: 50% !important;
  top: 50%;
  z-index: 8;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #006dff;
  background: transparent;
  appearance: none;
  cursor: pointer;
  overflow: visible;
  pointer-events: auto;
  font: 900 clamp(18px, 4.2vw, 68px)/1 var(--arg-serif);
  letter-spacing: 0;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .12em;
  text-shadow:
    0 0 1px #fff,
    0 0 12px rgba(0, 109, 255, .48),
    0 0 28px rgba(255, 0, 88, .18);
  transform: translate(-50%, -50%) rotate(var(--word-rotate, 0deg));
  animation: pAnomalyHover 3.1s ease-in-out infinite;
}

body.p-silent-descent .fall-word.fall-anomaly::after {
  content: "";
  position: absolute;
  left: -4%;
  right: -4%;
  top: 45%;
  height: 1px;
  background: currentColor;
  opacity: .38;
  transform: translateY(-50%);
}

body.p-silent-descent .fall-word.fall-anomaly.is-opening {
  color: #050505;
  animation: pAnomalyOpen .42s steps(3, end) forwards;
}

.text-flood-field {
  min-height: calc(100vh - 49px);
  padding: 108px clamp(10px, 2vw, 22px) 40px;
  color: #050505;
  background: #fff;
  font: 900 clamp(14px, 2.2vw, 28px)/1.18 var(--arg-serif);
  word-break: break-all;
}

.report-flood-stage .text-flood-field {
  padding-right: min(390px, 30vw);
  background:
    linear-gradient(90deg, transparent 0 calc(100% - 1px), rgba(210,27,54,.14) calc(100% - 1px)),
    repeating-linear-gradient(180deg, transparent 0 31px, rgba(0,0,0,.055) 31px 32px),
    #fff;
}

.text-flood-field span {
  display: inline;
  margin-right: .2em;
}

.text-flood-field span:nth-child(9n) {
  color: #d21b36;
}

.text-flood-field span:nth-child(17n) {
  filter: blur(.8px);
}

.report-stamp {
  color: #d21b36;
  border-color: #d21b36;
  transform: rotate(-2deg);
  text-align: center;
}

.report-stamp b {
  font-size: clamp(32px, 6vw, 62px);
  line-height: 1;
  border: 4px solid currentColor;
  padding: 8px;
}

.famicom-shell {
  min-height: calc(100vh - 49px);
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 52px);
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.08), transparent 18rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 2px, transparent 2px 5px),
    #111;
}

.famicom-cabinet {
  width: min(1160px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 640px) minmax(280px, 1fr);
  gap: clamp(18px, 4vw, 36px);
  align-items: center;
  padding: clamp(18px, 4vw, 34px);
  border: 10px solid #3d2d2d;
  background:
    linear-gradient(135deg, #d9d3c8, #8d8276);
  box-shadow: 0 30px 110px rgba(0,0,0,.62);
}

.famicom-screen {
  padding: clamp(14px, 3vw, 28px);
  border: 12px solid #171313;
  background: #000;
  box-shadow: inset 0 0 40px rgba(255,255,255,.08);
}

.famicom-screen canvas {
  width: 100%;
  aspect-ratio: 256 / 240;
  display: block;
  image-rendering: pixelated;
  background: #050505;
}

.famicom-panel {
  color: #171313;
}

.famicom-panel .arg-eyebrow {
  color: #8d101d;
}

.famicom-panel h1 {
  margin: 0;
  font: 900 clamp(36px, 7vw, 82px)/.95 var(--arg-mono);
  color: #8d101d;
  text-shadow: 3px 3px #fff;
}

.famicom-panel p {
  line-height: 1.85;
  font-weight: 900;
}

@keyframes whiteAppear {
  0% { opacity: 0; transform: scale(.86); }
  8%, 70% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.12); }
}

@keyframes wordFall {
  to { transform: translateY(118vh) rotate(var(--word-rotate, 0deg)); }
}

@keyframes pAnomalyHover {
  0%, 100% {
    transform: translate(-50%, -50%) translate3d(0, 0, 0) rotate(var(--word-rotate, 0deg));
    filter: blur(0);
  }
  38% {
    transform: translate(-50%, -50%) translate3d(0, -5px, 0) rotate(calc(var(--word-rotate, 0deg) - .6deg));
    filter: blur(.15px);
  }
  41% {
    transform: translate(-50%, -50%) translate3d(9px, -5px, 0) rotate(calc(var(--word-rotate, 0deg) + .5deg));
    filter: blur(.7px);
  }
  44% {
    transform: translate(-50%, -50%) translate3d(-5px, 2px, 0) rotate(var(--word-rotate, 0deg));
    filter: blur(0);
  }
}

@keyframes pAnomalyOpen {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(var(--word-rotate, 0deg)); }
  100% { opacity: .08; transform: translate(-50%, -50%) scale(1.18) rotate(var(--word-rotate, 0deg)); }
}

/* Social-media horror nodes */
.social-stage {
  display: grid;
  gap: 18px;
}

.short-layout {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(300px, 430px) minmax(240px, .55fr);
  gap: 18px;
  align-items: center;
}

.short-phone {
  position: relative;
  min-height: 720px;
  border: 10px solid #050507;
  border-radius: 34px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 32px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.1);
}

.short-phone::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.34), transparent 25%, transparent 68%, rgba(0,0,0,.82)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 4px);
}

.short-phone.is-swapped {
  animation: shortSwap .42s steps(3);
}

.short-phone img {
  width: 100%;
  height: 720px;
  object-fit: cover;
  filter: saturate(.7) contrast(1.18) brightness(.72);
}

.short-overlay {
  position: absolute;
  inset: auto 16px 18px;
  z-index: 3;
}

.short-overlay b,
.short-side b,
.x-account b {
  display: block;
  color: var(--arg-accent);
  font: 900 12px/1.5 var(--arg-mono);
}

.short-overlay p {
  margin: 8px 0 0;
  color: #fff;
  line-height: 1.75;
}

.short-actions {
  position: absolute;
  right: 14px;
  bottom: 140px;
  z-index: 3;
  display: grid;
  gap: 10px;
}

.short-actions button {
  width: 48px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  background: rgba(0,0,0,.56);
  font: 900 12px/1 var(--arg-mono);
}

.short-comments,
.x-reply-drawer,
.insta-dm {
  padding: 14px;
  border: 1px solid var(--arg-line);
  background: rgba(0,0,0,.4);
}

.short-comments p,
.x-reply-drawer p,
.insta-dm p {
  margin: 0 0 10px;
  color: var(--arg-muted);
  line-height: 1.65;
}

/* U v56: unposted short-video feed */
body.u-feed-page {
  --u-line: rgba(255,255,255,.13);
  color: #f7fbff;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,43,138,.18), transparent 20rem),
    radial-gradient(circle at 78% 28%, rgba(0,226,255,.12), transparent 22rem),
    linear-gradient(180deg, #050508, #000);
}

body.u-feed-page::before {
  opacity: .14;
}

.u-feed-stage {
  width: min(100% - 28px, 1320px);
  min-height: calc(100vh - 49px);
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(300px, 430px) minmax(260px, 340px);
  gap: clamp(16px, 3vw, 30px);
  align-items: center;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 54px) 0 70px;
}

.u-feed-sidebar,
.u-live-panel {
  position: sticky;
  top: 72px;
  align-self: start;
  display: grid;
  gap: 14px;
}

.u-app-mark {
  margin: 0;
  color: #9dffea;
  font: 900 12px/1.4 var(--arg-mono);
}

.u-feed-sidebar h1 {
  margin: 0;
  color: #fff;
  font: 900 clamp(38px, 6vw, 78px)/.92 var(--arg-serif);
  letter-spacing: 0;
}

.u-account-card,
.u-feed-meter,
.u-queue button,
.u-live-panel header,
.u-report-box,
.u-next-site {
  border: 1px solid var(--u-line);
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}

.u-account-card {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.u-avatar {
  width: 52px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #050508;
  background: linear-gradient(135deg, #9dffea, #ff2b8a);
  font-weight: 900;
}

.u-account-card b,
.u-feed-meter b,
.u-live-panel header b {
  color: #fff;
  font: 900 14px/1.35 var(--arg-mono);
}

.u-account-card small,
.u-feed-meter span,
.u-live-panel header span,
.u-queue span {
  color: rgba(247,251,255,.58);
  line-height: 1.6;
}

.u-feed-meter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 0 14px;
}

.u-queue {
  display: grid;
  gap: 8px;
}

.u-queue button {
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 12px;
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.u-queue button:hover {
  border-color: rgba(157,255,234,.44);
  background: rgba(157,255,234,.08);
}

.u-phone {
  width: min(100%, 430px);
  justify-self: center;
  min-height: 760px;
  border-color: #07070b;
  box-shadow: 0 34px 120px rgba(255,43,138,.16), 0 0 0 1px rgba(157,255,234,.14);
}

.u-phone.is-danger {
  box-shadow: 0 34px 130px rgba(255,43,138,.28), 0 0 0 1px rgba(255,43,138,.34);
}

.u-phone-top {
  position: absolute;
  inset: 16px 18px auto;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  font: 900 12px/1.4 var(--arg-mono);
}

.u-phone-top span {
  color: #9dffea;
}

.u-progress {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 10px;
  z-index: 5;
  height: 3px;
  background: rgba(255,255,255,.18);
}

.u-progress i {
  display: block;
  width: 16%;
  height: 100%;
  background: linear-gradient(90deg, #9dffea, #ff2b8a);
  transition: width .28s ease;
}

.u-phone .short-actions {
  bottom: 124px;
}

.u-phone .short-actions button {
  display: grid;
  place-items: center;
  gap: 2px;
  width: 58px;
  color: #fff;
  background: rgba(0,0,0,.64);
  backdrop-filter: blur(8px);
}

.u-phone .short-actions button span {
  font-size: 9px;
}

.u-phone .short-actions button.is-collected {
  color: #050508;
  background: #9dffea;
}

.u-live-panel header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
}

.u-live-panel .short-comments {
  max-height: 360px;
  overflow: auto;
  border-color: var(--u-line);
  background: rgba(0,0,0,.5);
}

.u-live-panel .short-comments p {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: rgba(247,251,255,.78);
}

.u-report-box {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.u-report-box button,
.u-next-site {
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(157,255,234,.28);
  color: #fff;
  background: rgba(255,43,138,.16);
  text-decoration: none;
  cursor: pointer;
}

.u-next-site {
  display: none;
}

.u-next-site.is-visible {
  display: grid;
  animation: uNextPulse 1.2s steps(2) infinite;
}

.u-feed-scare {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 3px),
    rgba(0,0,0,.92);
  opacity: 0;
  pointer-events: none;
}

.u-feed-scare.is-visible {
  opacity: 1;
  animation: uScareFlash 1.45s steps(4);
}

.u-feed-scare div {
  width: min(92vw, 560px);
  border: 1px solid rgba(255,255,255,.18);
  background: #000;
  box-shadow: 0 0 90px rgba(255,43,138,.36);
}

.u-feed-scare img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: contrast(1.3) grayscale(.25);
}

.u-feed-scare b,
.u-feed-scare p {
  display: block;
  margin: 0;
  padding: 14px 18px;
}

.u-feed-scare b {
  color: #9dffea;
  font: 900 clamp(20px, 5vw, 42px)/1.1 var(--arg-serif);
}

.u-feed-scare p {
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.12);
}

body.u-feed-corrupted .u-phone img {
  filter: saturate(.55) contrast(1.42) brightness(.62) hue-rotate(320deg);
}

.insta-shell {
  border: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(140deg, rgba(255,79,182,.16), rgba(255,209,102,.08) 45%, rgba(0,0,0,.42)),
    rgba(0,0,0,.44);
}

.insta-topbar,
.x-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--arg-line);
  font-family: var(--arg-mono);
}

.insta-stories {
  display: flex;
  gap: 12px;
  padding: 16px;
  overflow-x: auto;
}

.insta-story {
  flex: 0 0 84px;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--arg-muted);
  font: 800 11px/1.2 var(--arg-mono);
}

.insta-story::before {
  content: "";
  width: 70px;
  aspect-ratio: 1;
  border-radius: 50%;
  padding: 3px;
  background:
    radial-gradient(circle at 50% 50%, #000 0 50%, transparent 52%),
    conic-gradient(from 210deg, #ff4fb6, #ffd166, #6df7ff, #ff4fb6);
  box-shadow: 0 0 24px rgba(255,79,182,.3);
}

.insta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 0 16px 16px;
}

.insta-grid button {
  position: relative;
  min-height: 190px;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: #000;
}

.insta-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.12) brightness(.7);
  transition: transform .3s ease, filter .3s ease;
}

.insta-grid button::after {
  content: attr(data-photo);
  position: absolute;
  inset: auto 8px 8px;
  color: #fff;
  background: rgba(0,0,0,.64);
  padding: 6px 7px;
  font: 900 11px/1.2 var(--arg-mono);
}

.insta-grid button.is-open img {
  transform: scale(1.12);
  filter: invert(1) contrast(1.3);
}

.insta-ghost-strip {
  display: none;
  margin: 0 16px 16px;
  padding: 14px;
  border: 1px solid rgba(255,79,182,.42);
  background: rgba(255,79,182,.1);
  color: #fff;
  font: 900 12px/1.8 var(--arg-mono);
}

.insta-ghost-strip.is-visible {
  display: block;
  animation: argShake .18s steps(2) 6;
}

.x-shell {
  display: grid;
  grid-template-columns: minmax(210px, .45fr) minmax(0, 1fr) minmax(240px, .48fr);
  gap: 0;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.72);
}

.x-rail,
.x-side {
  padding: 16px;
  border-right: 1px solid var(--arg-line);
}

.x-side {
  border-right: 0;
  border-left: 1px solid var(--arg-line);
}

.x-rail nav {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.x-rail a,
.x-pill {
  min-height: 42px;
  display: grid;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--arg-line);
  color: var(--arg-ink);
  text-decoration: none;
  background: rgba(255,255,255,.045);
  font: 900 12px/1 var(--arg-mono);
}

.x-timeline-feed {
  display: grid;
}

.x-post {
  padding: 16px;
  border-bottom: 1px solid var(--arg-line);
  background: rgba(255,255,255,.025);
}

.x-post.is-new {
  animation: xPostIn .5s steps(3);
}

.x-post b {
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
}

.x-post p {
  margin: 8px 0;
  color: var(--arg-ink);
  line-height: 1.75;
}

.x-post small {
  color: var(--arg-muted);
  font-family: var(--arg-mono);
}

.x-reply-drawer {
  display: none;
  margin-top: 14px;
}

.x-reply-drawer.is-visible {
  display: block;
}

/* X v55: timeline app surface */
body.x-app-page {
  --x-bg: #000;
  --x-panel: #000;
  --x-line: #2f3336;
  --x-text: #e7e9ea;
  --x-muted: #71767b;
  --x-blue: #1d9bf0;
  color: var(--x-text);
  background: var(--x-bg);
  font-family: "Yu Gothic", Meiryo, system-ui, sans-serif;
}

body.x-app-page::before,
body.x-app-page::after {
  display: none;
}

.x-app {
  width: min(1260px, 100%);
  min-height: calc(100vh - 49px);
  display: grid;
  grid-template-columns: 245px minmax(0, 600px) minmax(280px, 350px);
  margin: 0 auto;
  border-left: 1px solid var(--x-line);
  border-right: 1px solid var(--x-line);
}

.x-left-nav,
.x-right-panel {
  position: sticky;
  top: 49px;
  height: calc(100vh - 49px);
  align-self: start;
  padding: 12px;
}

.x-left-nav {
  border-right: 1px solid var(--x-line);
}

.x-right-panel {
  border-left: 1px solid var(--x-line);
  overflow: auto;
}

.x-logo {
  width: 52px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--x-text);
  text-decoration: none;
  font-size: 1.75rem;
  font-weight: 900;
}

.x-left-nav nav {
  display: grid;
  gap: 4px;
  margin-top: 10px;
}

.x-left-nav a,
.x-left-nav button,
.x-post-button,
.x-y-link {
  min-height: 48px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 999px;
  color: var(--x-text);
  background: transparent;
  text-decoration: none;
  padding: 0 16px;
  font: 800 1.02rem/1 system-ui, "Yu Gothic", sans-serif;
  cursor: pointer;
}

.x-left-nav a:hover,
.x-left-nav button:hover {
  background: rgba(231,233,234,.1);
}

.x-left-nav .is-active {
  font-weight: 900;
}

.x-post-button,
.x-y-link {
  justify-content: center;
  width: 100%;
  margin-top: 16px;
  color: #fff;
  background: var(--x-blue);
}

.x-center {
  min-width: 0;
}

.x-topbar {
  position: sticky;
  top: 49px;
  z-index: 3;
  border-bottom: 1px solid var(--x-line);
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(16px);
}

.x-topbar > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 8px;
}

.x-topbar b {
  font-size: 1.25rem;
}

.x-topbar span {
  color: var(--x-muted);
  font-size: .82rem;
}

.x-topbar nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.x-topbar button {
  min-height: 48px;
  border: 0;
  color: var(--x-muted);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}

.x-topbar button.is-active {
  color: var(--x-text);
  box-shadow: inset 0 -4px var(--x-blue);
}

.x-composer,
.x-post {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--x-line);
}

.x-composer button {
  min-height: 46px;
  border: 1px solid var(--x-line);
  border-radius: 999px;
  color: var(--x-muted);
  background: transparent;
  text-align: left;
  padding: 0 16px;
  font-size: 1.02rem;
  cursor: pointer;
}

.x-avatar {
  width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #333, #111);
  font-weight: 900;
}

.x-post {
  background: #000;
}

.x-post:hover {
  background: rgba(255,255,255,.035);
}

.x-post.is-pinned {
  background: rgba(29,155,240,.06);
}

.x-post header {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
}

.x-post b {
  color: var(--x-text);
  font: 900 .98rem/1.35 system-ui, "Yu Gothic", sans-serif;
}

.x-post small {
  color: var(--x-muted);
}

.x-post p {
  margin: 5px 0 10px;
  color: var(--x-text);
  line-height: 1.65;
}

.x-post footer {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 420px;
  color: var(--x-muted);
  font-size: .9rem;
}

.x-post.is-new {
  animation: xPostIn .5s steps(3);
}

.x-timeline-feed.is-yuu-taking-over {
  box-shadow: inset 0 0 60px rgba(255,43,138,.08);
}

.x-post.is-yuu {
  position: relative;
  border-bottom-color: rgba(255,43,138,.28);
  background:
    linear-gradient(90deg, rgba(255,43,138,.1), rgba(0,0,0,0) 42%),
    #000;
}

.x-post.is-yuu::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(157,255,234,.04) 0 1px, transparent 1px 5px);
  mix-blend-mode: screen;
}

.x-post.is-yuu .x-avatar {
  color: #050508;
  background: linear-gradient(135deg, #9dffea, #ff2b8a);
  box-shadow: 0 0 28px rgba(255,43,138,.42);
}

.x-post.is-yuu b {
  color: #9dffea;
}

.x-post.is-yuu small {
  color: #ff86c5;
}

.x-post.is-yuu p {
  color: #fff;
  line-height: 1.9;
}

.x-post.is-yuu.is-long p {
  font-size: .96rem;
}

.x-post.is-yuu-link {
  background:
    radial-gradient(circle at 20% 20%, rgba(157,255,234,.18), transparent 12rem),
    linear-gradient(90deg, rgba(255,43,138,.2), rgba(0,0,0,0) 52%),
    #000;
}

.x-post-link {
  display: inline-grid;
  place-items: center;
  min-height: 42px;
  margin: 4px 0 12px;
  padding: 0 16px;
  border: 1px solid rgba(157,255,234,.5);
  border-radius: 999px;
  color: #050508;
  background: #9dffea;
  text-decoration: none;
  font-weight: 900;
}

body.x-yuu-filled .x-topbar span {
  color: #ff86c5;
}

.x-search,
.x-trends,
.x-reply-drawer {
  display: block;
  margin-bottom: 14px;
  border: 1px solid var(--x-line);
  border-radius: 16px;
  background: #16181c;
  overflow: hidden;
}

.x-search {
  padding: 12px;
}

.x-search span {
  display: block;
  margin-bottom: 8px;
  color: var(--x-muted);
  font-size: .82rem;
}

.x-search input {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  color: var(--x-text);
  background: #000;
  padding: 0 14px;
}

.x-trends h2,
.x-reply-drawer h2 {
  margin: 0;
  padding: 14px 16px;
  font-size: 1.18rem;
}

.x-trends article,
.x-reply-drawer p {
  margin: 0;
  padding: 12px 16px;
  border-top: 1px solid rgba(255,255,255,.06);
}

.x-trends small,
.x-trends span {
  display: block;
  color: var(--x-muted);
  font-size: .82rem;
}

.x-trends b {
  display: block;
  color: var(--x-text);
  margin: 3px 0;
}

.x-reply-drawer {
  display: block;
}

.x-reply-drawer p {
  color: var(--x-text);
  line-height: 1.6;
}

@media (max-width: 1020px) {
  .x-app {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .x-left-nav {
    padding: 8px;
  }

  .x-left-nav a,
  .x-left-nav button {
    justify-content: center;
    padding: 0;
    font-size: 0;
  }

  .x-left-nav a::first-letter,
  .x-left-nav button::first-letter {
    font-size: 1rem;
  }

  .x-post-button {
    min-height: 48px;
    font-size: 0;
    padding: 0;
  }

  .x-post-button::before {
    content: "+";
    font-size: 1.4rem;
  }

  .x-right-panel {
    display: none;
  }
}

@media (max-width: 620px) {
  .x-app {
    width: 100%;
    min-height: calc(100vh - 49px);
    grid-template-columns: 1fr;
    border-left: 0;
    border-right: 0;
  }

  .x-left-nav {
    position: sticky;
    top: 49px;
    z-index: 4;
    height: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    border-right: 0;
    border-bottom: 1px solid var(--x-line);
    background: #000;
    overflow-x: auto;
  }

  .x-logo {
    flex: 0 0 42px;
    width: 42px;
  }

  .x-left-nav nav {
    display: flex;
    gap: 2px;
    margin: 0;
  }

  .x-left-nav a,
  .x-left-nav button {
    flex: 0 0 42px;
    min-height: 42px;
  }

  .x-post-button {
    flex: 0 0 42px;
    width: 42px;
    margin: 0;
  }

  .x-topbar {
    top: 102px;
  }

  .x-composer,
  .x-post {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 12px;
  }

  .x-avatar {
    width: 38px;
  }
}

@media (max-width: 1080px) {
  .u-feed-stage {
    grid-template-columns: minmax(0, 1fr);
    width: min(100% - 22px, 680px);
    align-items: start;
  }

  .u-feed-sidebar,
  .u-live-panel {
    position: static;
  }

  .u-feed-sidebar h1 {
    font-size: clamp(40px, 12vw, 76px);
  }

  .u-phone {
    min-height: 700px;
  }
}

@media (max-width: 640px) {
  .u-feed-stage {
    width: min(100% - 18px, 430px);
    padding-top: 18px;
  }

  .u-account-card {
    grid-template-columns: 44px 1fr;
  }

  .u-avatar {
    width: 44px;
  }

  .u-phone {
    min-height: 620px;
    border-width: 7px;
    border-radius: 24px;
  }

  .u-phone.short-phone img {
    height: 620px;
  }

  .u-phone .short-actions {
    right: 10px;
    bottom: 118px;
  }

  .u-phone .short-actions button {
    width: 50px;
  }
}

@keyframes uScareFlash {
  0% { transform: scale(1.04); filter: invert(1); }
  18% { transform: scale(.98) translateX(12px); filter: contrast(1.8); }
  42% { transform: scale(1.06) translateX(-10px); filter: invert(.2) saturate(1.7); }
  100% { transform: scale(1); filter: none; }
}

@keyframes uNextPulse {
  0%, 100% { border-color: rgba(157,255,234,.28); }
  50% { border-color: rgba(255,43,138,.88); box-shadow: 0 0 26px rgba(255,43,138,.22); }
}

@keyframes shortSwap {
  0% { transform: translateY(24px) scale(.98); filter: hue-rotate(0deg); }
  45% { transform: translateY(-8px) scale(1.02); filter: hue-rotate(120deg) invert(.2); }
  100% { transform: translateY(0) scale(1); filter: hue-rotate(0deg); }
}

@keyframes xPostIn {
  0% { transform: translateY(-14px); filter: invert(1); }
  100% { transform: translateY(0); filter: none; }
}

body.arg-k { --arg-hot: #7dd8ff; --arg-accent: #bdeaff; }
body.arg-l { --arg-hot: #d6b07a; --arg-accent: #f4d6a8; }
body.arg-m { --arg-hot: #91f3ff; --arg-accent: #bffbff; }
body.arg-n { --arg-hot: #a675ff; --arg-accent: #d8c7ff; }
body.arg-o { --arg-hot: #c9c9c9; --arg-accent: #f4efe6; }
body.arg-p { --arg-hot: #ff5d8f; --arg-accent: #ffc2d3; }
body.arg-q { --arg-hot: #65ff9e; --arg-accent: #b8ffd2; }
body.arg-r { --arg-hot: #ffdd3e; --arg-accent: #fff1a2; }
body.arg-s { --arg-hot: #ff7b3e; --arg-accent: #ffd0a8; }
body.arg-t { --arg-hot: #70b7ff; --arg-accent: #c2e0ff; }
body.arg-u { --arg-hot: #ff2b8a; --arg-accent: #9dffea; }
body.arg-v { --arg-hot: #d21b36; --arg-accent: #ffb1bd; }
body.arg-w { --arg-hot: #ff4fb6; --arg-accent: #ffd166; }
body.arg-x { --arg-hot: #e6e8ec; --arg-accent: #9dffea; }

/* Site S: route intake and latest update room */
body.s-intake-page {
  background:
    linear-gradient(90deg, rgba(255,123,62,.12), transparent 18%, transparent 76%, rgba(85,214,255,.1)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 6px),
    #050404;
  color: #f8efe6;
}

.s-intake-site {
  width: min(1440px, calc(100% - 28px));
  min-height: calc(100vh - 49px);
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 34px);
  margin: 0 auto;
  padding: clamp(22px, 4vw, 54px) 0 78px;
}

.s-status-rail {
  position: sticky;
  top: 68px;
  align-self: start;
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(255,208,168,.22);
  background:
    linear-gradient(180deg, rgba(255,208,168,.08), rgba(255,255,255,.018)),
    rgba(8,5,4,.82);
  box-shadow: 0 22px 70px rgba(0,0,0,.38);
}

.s-status-rail b {
  color: #ffd0a8;
  font: 900 12px/1.4 var(--arg-mono);
}

.s-status-rail a,
.s-status-rail button {
  min-height: 40px;
  display: grid;
  align-items: center;
  border: 1px solid rgba(255,255,255,.13);
  color: #fff7ef;
  background: rgba(255,255,255,.035);
  padding: 0 11px;
  text-align: left;
  text-decoration: none;
  font: 900 12px/1.25 var(--arg-mono);
  cursor: pointer;
}

.s-status-rail a:hover,
.s-status-rail button:hover,
.s-embedded-route:hover {
  border-color: rgba(85,214,255,.68);
  box-shadow: 0 0 26px rgba(85,214,255,.14);
}

.s-status-rail span {
  color: rgba(248,239,230,.62);
  font: 800 11px/1.6 var(--arg-mono);
}

.s-status-rail i {
  width: 14px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ff5f6d;
  box-shadow: 0 0 18px rgba(255,95,109,.72);
  animation: sSignal 1.8s steps(2) infinite;
}

.s-hero,
.s-ledger,
.s-attachment {
  border: 1px solid rgba(255,208,168,.16);
  background: rgba(8,5,4,.74);
  box-shadow: 0 32px 100px rgba(0,0,0,.36);
}

.s-hero {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
  padding: clamp(18px, 3vw, 34px);
}

.s-hero-copy h1 {
  margin: 12px 0 16px;
  color: #fff7ef;
  font: 900 clamp(48px, 7vw, 112px)/.98 var(--arg-serif);
  letter-spacing: 0;
  text-shadow: 0 0 28px rgba(255,123,62,.22);
}

.s-hero-copy p:not(.arg-eyebrow) {
  max-width: 720px;
  color: rgba(248,239,230,.78);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 2;
}

.s-hero-copy dl {
  display: grid;
  gap: 8px;
  margin: 22px 0 0;
}

.s-hero-copy dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.s-hero-copy dt,
.s-hero-copy dd {
  margin: 0;
  font: 900 12px/1.4 var(--arg-mono);
}

.s-hero-copy dt {
  color: #ffd0a8;
}

.s-hero-copy dd {
  color: #55d6ff;
  text-align: right;
}

.s-hero-visual {
  position: relative;
  min-height: 440px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(85,214,255,.22);
  background: #000;
}

.s-hero-visual img,
.s-attachment img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.12) saturate(.72) brightness(.68);
}

.s-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 36%, rgba(0,0,0,.82)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.055) 0 1px, transparent 1px 5px);
  pointer-events: none;
}

.s-hero-visual figcaption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: grid;
  gap: 8px;
  padding: 14px;
  border-left: 3px solid #ff7b3e;
  background: rgba(0,0,0,.72);
}

.s-hero-visual b,
.s-attachment b {
  color: #ffd0a8;
  font: 900 12px/1.4 var(--arg-mono);
}

.s-hero-visual span {
  color: rgba(248,239,230,.82);
  line-height: 1.7;
}

.s-update-strip,
.s-observation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.s-update-strip article,
.s-observation article {
  min-height: 210px;
  padding: 18px;
  border: 1px solid rgba(255,208,168,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.012)),
    rgba(8,5,4,.72);
}

.s-update-strip span {
  width: 42px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: #050404;
  background: linear-gradient(135deg, #ffd0a8, #55d6ff);
  font: 900 20px/1 var(--arg-mono);
}

.s-update-strip h2,
.s-ledger h2,
.s-observation h2,
.s-attachment h2 {
  margin: 14px 0 10px;
  color: #fff7ef;
  font-family: var(--arg-serif);
  line-height: 1.15;
  letter-spacing: 0;
}

.s-update-strip h2 {
  font-size: clamp(24px, 2.2vw, 34px);
}

.s-update-strip p,
.s-ledger p,
.s-observation p,
.s-attachment p {
  color: rgba(248,239,230,.76);
  line-height: 1.85;
}

.s-ledger {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(18px, 3vw, 30px);
  margin-bottom: 16px;
}

.s-ledger table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
}

.s-ledger th,
.s-ledger td {
  padding: 14px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  vertical-align: top;
  line-height: 1.7;
}

.s-ledger th {
  width: 120px;
  color: #ffd0a8;
  text-align: left;
  font: 900 12px/1.5 var(--arg-mono);
}

.s-ledger td {
  color: #fff7ef;
}

.s-attachment {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
}

.s-attachment figure {
  min-height: 330px;
  margin: 0;
  background: #000;
}

.s-attachment div {
  display: grid;
  align-content: center;
  padding: clamp(18px, 3vw, 34px);
}

.s-embedded-route {
  width: fit-content;
  min-height: 46px;
  display: inline-grid;
  place-items: center;
  margin-top: 14px;
  padding: 0 16px;
  border: 1px solid rgba(85,214,255,.34);
  color: #050404;
  background: linear-gradient(90deg, #ffd0a8, #55d6ff);
  text-decoration: none;
  font: 900 12px/1 var(--arg-mono);
}

@keyframes sSignal {
  0%, 100% { opacity: .35; transform: scale(.86); }
  50% { opacity: 1; transform: scale(1); }
}

@media (max-width: 1080px) {
  .s-intake-site,
  .s-hero,
  .s-ledger,
  .s-attachment {
    grid-template-columns: 1fr;
  }

  .s-status-rail {
    position: static;
  }

  .s-update-strip,
  .s-observation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .s-intake-site {
    width: calc(100% - 16px);
  }

  .s-update-strip,
  .s-observation {
    grid-template-columns: 1fr;
  }

  .s-hero-visual {
    min-height: 340px;
  }
}

/* U/V/W v57: upgraded route surfaces */
.u2-stage {
  width: min(1380px, calc(100% - 28px));
  min-height: calc(100vh - 49px);
  display: grid;
  grid-template-columns: minmax(250px, 330px) minmax(320px, 430px) minmax(280px, 370px);
  gap: clamp(16px, 3vw, 30px);
  align-items: center;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 58px) 0 72px;
}

.u2-rail,
.u2-live,
.u2-audit,
.u2-report-box {
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  box-shadow: 0 22px 58px rgba(0,0,0,.32);
}

.u2-rail,
.u2-live {
  position: sticky;
  top: 72px;
  align-self: start;
  display: grid;
  gap: 14px;
  padding: clamp(14px, 2vw, 20px);
}

.u2-rail h1 {
  margin: 0;
  font: 900 clamp(42px, 6vw, 78px)/.92 var(--arg-serif);
  letter-spacing: 0;
}

.u2-rail p,
.u2-audit p,
.u2-comments p {
  color: rgba(247,251,255,.72);
  line-height: 1.8;
}

.u2-meter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 0 14px;
  border: 1px solid rgba(157,255,234,.22);
  background: rgba(0,0,0,.42);
}

.u2-meter b {
  color: #9dffea;
  font: 900 24px/1 var(--arg-mono);
}

.u2-queue {
  display: grid;
  gap: 8px;
}

.u2-queue button,
.u2-report-box button,
.u2-next-site {
  border: 1px solid rgba(157,255,234,.24);
  color: #fff;
  background: rgba(0,0,0,.35);
  cursor: pointer;
}

.u2-queue button {
  min-height: 74px;
  display: grid;
  gap: 5px;
  padding: 12px;
  text-align: left;
}

.u2-queue button.is-active,
.u2-queue button:hover {
  border-color: #9dffea;
  background: rgba(157,255,234,.1);
}

.u2-queue b,
.u2-live header b,
.u2-audit h2 {
  color: #fff;
  font: 900 13px/1.35 var(--arg-mono);
}

.u2-queue span,
.u2-live header span {
  color: rgba(247,251,255,.58);
}

.u2-phone {
  position: relative;
  width: min(100%, 430px);
  min-height: 760px;
  justify-self: center;
  overflow: hidden;
  border: 12px solid #050507;
  border-radius: 34px;
  background: #000;
  box-shadow: 0 38px 130px rgba(255,43,138,.18), 0 0 0 1px rgba(157,255,234,.18);
}

.u2-phone.is-danger {
  box-shadow: 0 38px 150px rgba(255,43,138,.32), 0 0 0 1px rgba(255,43,138,.42);
}

.u2-phone-top,
.u2-caption,
.u2-actions,
.u2-progress {
  position: absolute;
  z-index: 3;
}

.u2-phone-top {
  inset: 16px 18px auto;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  font: 900 12px/1.4 var(--arg-mono);
}

.u2-phone img {
  width: 100%;
  height: 100%;
  min-height: 760px;
  object-fit: cover;
  filter: saturate(.72) contrast(1.2) brightness(.66);
}

.u2-phone.is-danger img {
  filter: saturate(.42) contrast(1.5) brightness(.54) hue-rotate(312deg);
}

.u2-scanline {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 4px);
  mix-blend-mode: screen;
  pointer-events: none;
}

.u2-progress {
  left: 18px;
  right: 18px;
  bottom: 12px;
  height: 3px;
  background: rgba(255,255,255,.2);
}

.u2-progress i {
  display: block;
  width: 12%;
  height: 100%;
  background: linear-gradient(90deg, #9dffea, #ff2b8a, #ffd166);
  transition: width .25s ease;
}

.u2-caption {
  left: 18px;
  right: 88px;
  bottom: 48px;
  text-shadow: 0 2px 14px #000;
}

.u2-caption b {
  color: #9dffea;
  font: 900 12px/1.4 var(--arg-mono);
}

.u2-caption p {
  color: #fff;
  line-height: 1.75;
}

.u2-actions {
  right: 14px;
  bottom: 74px;
  display: grid;
  gap: 10px;
}

.u2-actions button {
  width: 62px;
  min-height: 62px;
  display: grid;
  place-items: center;
  gap: 2px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  color: #fff;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(10px);
  font-weight: 900;
  cursor: pointer;
}

.u2-actions span {
  color: rgba(255,255,255,.68);
  font: 900 10px/1 var(--arg-mono);
}

.u2-actions button.is-collected {
  color: #050508;
  background: #9dffea;
}

.u2-live header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.u2-comments {
  max-height: 330px;
  overflow: auto;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.45);
}

.u2-comments p {
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.u2-audit,
.u2-report-box {
  padding: 13px;
}

.u2-audit h2 {
  margin: 0 0 8px;
  color: #9dffea;
}

.u2-report-box {
  display: grid;
  gap: 8px;
}

.u2-report-box button,
.u2-next-site {
  min-height: 44px;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-weight: 900;
}

.u2-next-site {
  display: none;
  background: linear-gradient(90deg, #ff2b8a, #9dffea);
}

.u2-next-site.is-visible {
  display: grid;
  animation: uNextPulse 1.2s steps(2) infinite;
}

.u2-scare {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,.92);
  opacity: 0;
  pointer-events: none;
}

.u2-scare.is-visible {
  opacity: 1;
  animation: uScareFlash 1.35s steps(4);
}

.u2-scare div {
  width: min(92vw, 620px);
  border: 1px solid rgba(255,255,255,.18);
  background: #000;
  box-shadow: 0 0 90px rgba(255,43,138,.42);
}

.u2-scare img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: contrast(1.35) grayscale(.15);
}

.u2-scare b,
.u2-scare p {
  display: block;
  margin: 0;
  padding: 14px 18px;
  color: #fff;
}

.u2-scare b {
  color: #9dffea;
  font: 900 clamp(22px, 5vw, 46px)/1.1 var(--arg-serif);
}

.u2-smile-stage {
  position: relative;
}

.u2-smile-stage::before {
  content: "SMILE";
  position: fixed;
  right: clamp(12px, 3vw, 42px);
  bottom: clamp(10px, 3vw, 38px);
  z-index: 0;
  color: rgba(255,255,255,.045);
  font: 900 clamp(70px, 15vw, 220px)/1 var(--arg-mono);
  pointer-events: none;
}

.u2-smile-stage .u-app-mark,
.u2-smile-stage .u2-meter b,
.u2-smile-stage .u2-caption b,
.u2-smile-stage .u2-audit h2 {
  color: #fff;
  text-shadow: 0 0 18px rgba(255,43,138,.55);
}

.u2-smile-stage .u2-meter {
  border-color: rgba(255,255,255,.24);
  background:
    repeating-linear-gradient(90deg, rgba(255,43,138,.15) 0 8px, rgba(255,255,255,.02) 8px 16px),
    rgba(0,0,0,.54);
}

.u2-smile-stage .u2-queue {
  max-height: min(58vh, 620px);
  overflow: auto;
  padding-right: 4px;
}

.u2-smile-stage .u2-queue button.is-active {
  border-color: #fff;
  background:
    linear-gradient(90deg, rgba(255,43,138,.25), rgba(255,255,255,.06)),
    rgba(0,0,0,.42);
}

.u2-smile-stage .u2-phone {
  box-shadow: 0 38px 130px rgba(255,255,255,.12), 0 0 0 1px rgba(255,43,138,.3);
}

.u2-stage.is-smile-high .u2-phone {
  animation: uSmilePhonePulse .62s steps(2) infinite;
}

.u2-stage.is-smile-high .u2-meter b {
  color: #ff2b8a;
}

.u2-stage.is-smile-complete .u2-phone,
.u2-stage.is-smile-complete .u2-rail,
.u2-stage.is-smile-complete .u2-live {
  filter: saturate(.2) brightness(.55);
}

.u2-scare.is-smile-final {
  z-index: 1450;
  padding: 0;
  background: #000;
  pointer-events: auto;
  animation: uSmileFinalFlash 1.2s steps(3) infinite;
}

.u2-scare.is-smile-final div {
  width: 100vw;
  height: 100dvh;
  border: 0;
  box-shadow: none;
}

.u2-scare.is-smile-final img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  filter: contrast(1.38) saturate(.8);
}

.u2-scare.is-smile-final b {
  position: fixed;
  left: 18px;
  top: 18px;
  padding: 0;
  color: #fff;
  font: 900 clamp(38px, 10vw, 150px)/.85 var(--arg-mono);
  text-shadow: 0 0 12px #000, 0 0 28px #ff2b8a;
  mix-blend-mode: screen;
}

.u2-scare.is-smile-final p {
  position: fixed;
  left: 22px;
  right: 22px;
  bottom: 20px;
  padding: 0;
  color: #fff;
  font-weight: 900;
  text-shadow: 0 0 12px #000, 0 0 28px #ff2b8a;
}

@keyframes uSmilePhonePulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 38px 150px rgba(255,43,138,.34), 0 0 0 1px rgba(255,255,255,.4); }
  50% { transform: translateY(-2px) scale(1.008); box-shadow: 0 38px 180px rgba(255,255,255,.22), 0 0 0 2px rgba(255,43,138,.65); }
}

@keyframes uSmileFinalFlash {
  0%, 100% { filter: none; transform: translate(0, 0); }
  33% { filter: invert(.08) hue-rotate(18deg); transform: translate(-5px, 3px); }
  66% { filter: contrast(1.35); transform: translate(4px, -4px); }
}

.v2-store {
  width: min(1380px, calc(100% - 28px));
}

.v2-hero {
  min-height: min(850px, calc(100vh - 49px));
  display: grid;
  grid-template-columns: minmax(320px, .62fr) minmax(460px, 1fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: center;
}

.v2-copy h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(52px, 8vw, 118px);
  line-height: .92;
}

.v2-copy p:not(.arg-eyebrow) {
  color: var(--arg-muted);
  line-height: 2;
}

.v2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}

.v2-actions button,
.v2-next {
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--arg-ink);
  background: rgba(255,255,255,.055);
  padding: 0 14px;
  font: 900 12px/1 var(--arg-mono);
  cursor: pointer;
}

.v2-actions button:hover,
.vhs-tapes button:hover {
  border-color: #9dffea;
  background: rgba(157,255,234,.1);
}

.v2-player {
  position: relative;
}

.v2-player::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(157,255,234,.16);
  pointer-events: none;
}

.v2-console {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(260px, .82fr) minmax(260px, .9fr) minmax(280px, 1fr);
  gap: 14px;
  padding-top: 28px;
}

.v2-console article {
  min-height: 260px;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.018)),
    rgba(0,0,0,.54);
}

.v2-console b {
  color: #9dffea;
  font: 900 12px/1.3 var(--arg-mono);
}

.v2-console h2 {
  margin: 10px 0 12px;
  font-family: var(--arg-serif);
  font-size: clamp(28px, 3.4vw, 50px);
  line-height: 1.08;
}

.v2-console p,
.v2-console li {
  color: var(--arg-muted);
  line-height: 1.85;
}

.v2-chapters ol {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.v2-chapters li {
  padding: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.28);
}

.v2-chapters span {
  display: inline-block;
  min-width: 58px;
  color: #ff86c5;
  font: 900 12px/1 var(--arg-mono);
}

.v2-log-panel {
  display: grid;
  align-content: start;
}

.v2-next {
  display: none;
  place-items: center;
  margin-top: 14px;
  color: #050508;
  background: #9dffea;
  text-decoration: none;
}

.v2-next.is-visible {
  display: grid;
}

.w2-shell {
  width: min(1320px, calc(100% - 28px));
  margin: 0 auto;
  padding: clamp(24px, 4vw, 56px) 0 72px;
}

body.w-proof-page {
  background:
    radial-gradient(circle at 18% 10%, rgba(255,209,102,.18), transparent 20rem),
    radial-gradient(circle at 86% 16%, rgba(255,79,182,.16), transparent 22rem),
    #050507;
}

.w2-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 18px;
  align-items: end;
  margin-bottom: 18px;
}

.w2-profile h1 {
  margin: 10px 0 16px;
  font-family: var(--arg-serif);
  font-size: clamp(50px, 8vw, 112px);
  line-height: .94;
}

.w2-profile p {
  max-width: 760px;
  color: var(--arg-muted);
  line-height: 1.9;
}

.w2-profile-card,
.w2-side section,
.w2-unlock {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
  box-shadow: 0 24px 64px rgba(0,0,0,.32);
}

.w2-profile-card {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.w2-profile-card b {
  font-size: 1.2rem;
}

.w2-profile-card span {
  color: var(--arg-muted);
  font-family: var(--arg-mono);
}

.w2-profile-card button,
.w2-story-row button,
.w2-next {
  min-height: 42px;
  border: 1px solid rgba(255,209,102,.28);
  color: #fff;
  background: rgba(255,79,182,.14);
  font-weight: 900;
  cursor: pointer;
}

.w2-story-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 0 20px;
}

.w2-story-row button {
  flex: 0 0 102px;
  min-height: 102px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #050507 0 48%, transparent 50%),
    conic-gradient(from 220deg, #ff4fb6, #ffd166, #6df7ff, #ff4fb6);
}

.w2-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 18px;
  align-items: start;
}

.w2-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.w2-grid button {
  position: relative;
  min-height: 245px;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: #000;
  cursor: pointer;
}

.w2-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.12) brightness(.72);
  transition: transform .3s ease, filter .3s ease;
}

.w2-grid button:hover img,
.w2-grid button.is-open img {
  transform: scale(1.08);
  filter: saturate(1.1) contrast(1.2) brightness(.92);
}

.w2-grid span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  color: #fff;
  background: rgba(0,0,0,.62);
  padding: 6px 8px;
  font: 900 11px/1 var(--arg-mono);
}

.w2-side {
  position: sticky;
  top: 72px;
  display: grid;
  gap: 14px;
}

.w2-side section {
  padding: 16px;
}

.w2-side h2 {
  margin: 0 0 12px;
  color: #ffd166;
  font-family: var(--arg-serif);
}

.w2-side p {
  color: var(--arg-muted);
  line-height: 1.75;
}

.w2-unlock {
  margin-top: 12px;
  padding: 12px;
  color: #fff;
  font-weight: 900;
}

.w2-next {
  display: none;
  place-items: center;
  color: #050507;
  background: linear-gradient(90deg, #ffd166, #6df7ff);
  text-decoration: none;
}

.w2-next.is-visible {
  display: grid;
}

.w2-lightbox {
  position: fixed;
  inset: 0;
  z-index: 980;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.88);
}

.w2-lightbox[hidden] {
  display: none !important;
}

.w2-lightbox > div {
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  gap: 0;
  border: 1px solid rgba(255,255,255,.18);
  background: #050507;
  box-shadow: 0 0 80px rgba(255,79,182,.22);
}

.w2-lightbox button {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  background: #000;
  padding: 0 12px;
  cursor: pointer;
}

.w2-lightbox img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  filter: contrast(1.14) brightness(.78);
}

.w2-lightbox article {
  padding: 24px;
}

.w2-lightbox b {
  color: #ffd166;
  font: 900 13px/1 var(--arg-mono);
}

.w2-lightbox p {
  color: #fff;
  line-height: 1.9;
}

.r-doll-jumpscare {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  background: #000;
  opacity: 0;
  pointer-events: none;
}

.r-doll-jumpscare.is-visible {
  opacity: 1;
  pointer-events: auto;
  animation: rDollShake .7s steps(3) infinite;
}

.r-doll-jumpscare.is-ending {
  opacity: .96;
}

.r-doll-jumpscare img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.18) saturate(.72);
}

.r-doll-jumpscare b {
  position: absolute;
  left: 50%;
  bottom: clamp(26px, 8vh, 80px);
  transform: translateX(-50%);
  color: #fff;
  text-shadow: 0 0 18px #000, 0 0 32px #f00;
  font: 900 clamp(28px, 7vw, 96px)/1 var(--arg-serif);
  white-space: nowrap;
}

@keyframes rDollShake {
  0% { transform: translate(0, 0); filter: none; }
  33% { transform: translate(-8px, 4px); filter: hue-rotate(20deg); }
  66% { transform: translate(7px, -5px); filter: invert(.08); }
  100% { transform: translate(0, 0); filter: none; }
}

body.r-scare-running {
  overflow: hidden;
  cursor: none;
}

@media (max-width: 1080px) {
  .u2-stage,
  .v2-hero,
  .v2-console,
  .w2-profile,
  .w2-layout {
    grid-template-columns: 1fr;
  }

  .u2-rail,
  .u2-live,
  .w2-side {
    position: static;
  }

  .v2-console {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .u2-stage,
  .w2-shell,
  .v2-store {
    width: calc(100% - 16px);
  }

  .u2-phone {
    min-height: 640px;
    border-radius: 26px;
    border-width: 9px;
  }

  .u2-phone img {
    min-height: 640px;
  }

  .v2-console,
  .w2-grid,
  .w2-lightbox > div {
    grid-template-columns: 1fr;
  }

  .w2-grid button {
    min-height: 210px;
  }

  .w2-lightbox img {
    min-height: 320px;
  }
}

/* Sites V/W finale rebuild */
body.arg-v {
  background:
    linear-gradient(90deg, rgba(25,255,220,.07), transparent 22%, transparent 78%, rgba(205,22,60,.08)),
    radial-gradient(circle at 52% 0%, rgba(169,255,224,.14), transparent 34rem),
    #020505;
}

.v2-lab {
  position: relative;
  width: min(1420px, calc(100% - 28px));
}

.v2-lab::before,
.w2-evidence::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.62));
  mix-blend-mode: screen;
  opacity: .34;
}

.v2-lab .v2-hero {
  min-height: min(850px, calc(100vh - 49px));
  grid-template-columns: minmax(320px, .54fr) minmax(560px, 1fr);
}

.v2-lab .v2-copy h1,
.w2-evidence .w2-profile h1 {
  letter-spacing: 0;
  text-shadow: 0 0 22px rgba(157,255,234,.2);
}

.v2-lab .v2-copy h1 {
  font-size: clamp(48px, 5.6vw, 88px);
  line-height: 1.02;
  word-break: keep-all;
  overflow-wrap: normal;
}

.w2-evidence .w2-profile h1 {
  font-size: clamp(52px, 7vw, 104px);
}

.v2-lab .v2-copy p:not(.arg-eyebrow) {
  max-width: 680px;
  color: rgba(230,255,249,.78);
  font-size: clamp(15px, 1.55vw, 18px);
}

.v2-lab .v2-actions button {
  min-height: 48px;
  border-color: rgba(157,255,234,.28);
  color: #dffff8;
  background:
    linear-gradient(180deg, rgba(157,255,234,.12), rgba(157,255,234,.03)),
    #07100f;
  box-shadow: inset 0 0 18px rgba(0,0,0,.44);
}

.v2-lab .v2-actions button:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 30px rgba(157,255,234,.16), inset 0 0 22px rgba(157,255,234,.08);
}

.v2-lab-monitor {
  padding: 10px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(35,54,51,.88), rgba(4,8,8,.96)),
    #050707;
}

.v2-lab-image {
  position: relative;
  margin: 0;
  border: 1px solid rgba(157,255,234,.22);
  background: #000;
}

.v2-lab-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  filter: contrast(1.12) saturate(.72) brightness(.78);
}

.v2-lab-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 48%, rgba(0,0,0,.36) 76%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.08) 0 1px, transparent 1px 5px);
  opacity: .55;
}

.v2-lab-image figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #dffff8;
  background: rgba(0,0,0,.72);
  border: 1px solid rgba(157,255,234,.24);
  font: 900 12px/1 var(--arg-mono);
}

.v2-lab-image figcaption b {
  color: #ff6f8d;
  font-size: 1rem;
}

.v2-lab .v2-console {
  grid-template-columns: minmax(260px, .9fr) minmax(260px, .78fr) minmax(270px, .88fr) minmax(300px, 1fr);
}

.v2-lab .v2-console article {
  min-height: unset;
  border-color: rgba(157,255,234,.16);
  background:
    linear-gradient(180deg, rgba(157,255,234,.065), rgba(255,255,255,.018)),
    rgba(1,5,5,.78);
}

.v2-specimen img,
.v2-contact img {
  display: block;
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  object-fit: cover;
  filter: contrast(1.08) saturate(.78) brightness(.76);
}

.v2-specimen img {
  aspect-ratio: 4 / 3;
  margin: 12px 0;
}

.v2-lab .vhs-tapes {
  display: grid;
  gap: 8px;
}

.v2-lab .vhs-tapes button {
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(230,255,249,.86);
  background: rgba(0,0,0,.34);
  font: 900 11px/1 var(--arg-mono);
  cursor: pointer;
}

.v2-stats {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
}

.v2-stats div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.v2-stats dt,
.v2-stats dd {
  margin: 0;
  font: 900 12px/1.4 var(--arg-mono);
}

.v2-stats dt {
  color: rgba(157,255,234,.72);
}

.v2-stats dd {
  color: #fff;
}

.v2-lab .v2-chapters li {
  transition: border-color .22s ease, background .22s ease, transform .22s ease;
}

.v2-lab .v2-chapters li.is-active {
  border-color: rgba(255,111,141,.62);
  background: rgba(255,111,141,.1);
  transform: translateX(4px);
}

.v2-progress {
  height: 9px;
  margin-top: 14px;
  border: 1px solid rgba(157,255,234,.22);
  background: rgba(0,0,0,.5);
  overflow: hidden;
}

.v2-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #9dffea, #ff6f8d);
  transition: width .35s ease;
}

.v2-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid rgba(157,255,234,.14);
  background: rgba(0,0,0,.54);
}

.v2-contact img {
  min-height: 300px;
}

.v2-contact div {
  display: grid;
  align-content: end;
  gap: 12px;
}

.v2-contact b {
  color: #9dffea;
  font: 900 12px/1.4 var(--arg-mono);
}

.v2-contact p {
  color: rgba(230,255,249,.78);
  line-height: 1.9;
}

.v2-lab .v2-next {
  min-height: 48px;
  color: #020505;
  background: linear-gradient(90deg, #9dffea, #ff6f8d);
}

body.w-proof-page {
  background:
    linear-gradient(90deg, rgba(146,18,38,.16), transparent 19%, transparent 76%, rgba(35,140,170,.16)),
    radial-gradient(circle at 30% 8%, rgba(255,202,101,.12), transparent 27rem),
    #050404;
}

.w2-evidence {
  position: relative;
  width: min(1420px, calc(100% - 28px));
}

.w2-evidence .w2-profile {
  grid-template-columns: minmax(0, 1fr) minmax(270px, 380px);
  align-items: end;
}

.w2-evidence .w2-profile p {
  color: rgba(247,238,224,.78);
}

.w2-evidence .w2-profile-card,
.w2-evidence .w2-side section,
.w2-evidence .w2-unlock {
  border-color: rgba(255,202,101,.18);
  background:
    linear-gradient(180deg, rgba(255,202,101,.075), rgba(255,255,255,.018)),
    rgba(7,5,4,.78);
}

.w2-evidence .w2-profile-card button,
.w2-evidence .w2-story-row button {
  border: 1px solid rgba(255,202,101,.3);
  border-radius: 4px;
  color: #fff6df;
  background: rgba(38,8,8,.72);
  font: 900 12px/1 var(--arg-mono);
}

.w2-evidence .w2-story-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 10px;
  overflow: visible;
  padding: 6px 0 18px;
}

.w2-evidence .w2-story-row button {
  flex: initial;
  min-height: 50px;
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(255,202,101,.12), rgba(132,19,31,.2)),
    #100807;
}

.w2-evidence .w2-story-row button:hover,
.w2-evidence .w2-story-row button.is-active {
  border-color: rgba(255,111,141,.78);
  box-shadow: 0 0 24px rgba(255,111,141,.16);
}

.w2-board-hero {
  position: relative;
  min-height: clamp(360px, 48vw, 660px);
  margin-bottom: 18px;
  border: 1px solid rgba(255,202,101,.16);
  overflow: hidden;
  background: #000;
}

.w2-board-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.08) saturate(.82) brightness(.68);
}

.w2-board-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.74), transparent 42%, rgba(0,0,0,.26)),
    radial-gradient(circle at 70% 24%, rgba(173,22,45,.22), transparent 18rem);
}

.w2-board-hero div {
  position: absolute;
  left: clamp(16px, 3vw, 42px);
  bottom: clamp(16px, 3vw, 42px);
  z-index: 2;
  width: min(520px, calc(100% - 32px));
  padding: 16px;
  border-left: 3px solid #ff6f8d;
  background: rgba(0,0,0,.72);
}

.w2-board-hero b {
  color: #ffca65;
  font: 900 12px/1.4 var(--arg-mono);
}

.w2-board-hero p {
  color: #fff6df;
  line-height: 1.9;
}

.w2-evidence .w2-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 370px);
}

.w2-evidence .w2-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.w2-evidence .w2-grid button {
  min-height: 245px;
  padding: 8px;
  border: 1px solid rgba(255,202,101,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.16)),
    #080605;
}

.w2-evidence .w2-grid button::before {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}

.w2-evidence .w2-grid img {
  height: 100%;
  filter: contrast(1.05) saturate(.72) brightness(.66);
}

.w2-evidence .w2-grid button:hover,
.w2-evidence .w2-grid button.is-open {
  border-color: rgba(255,111,141,.62);
}

.w2-evidence .w2-grid button:hover img,
.w2-evidence .w2-grid button.is-open img {
  filter: contrast(1.18) saturate(.86) brightness(.9);
}

.w2-evidence .w2-grid span {
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  color: #fff6df;
  border-left: 2px solid #ff6f8d;
  background: rgba(0,0,0,.7);
}

.w2-evidence .w2-side h2 {
  color: #ffca65;
}

.w2-evidence .w2-side p {
  color: rgba(247,238,224,.78);
}

.w2-evidence .w2-unlock {
  color: #fff;
}

.w2-evidence .w2-next {
  min-height: 50px;
  color: #050404;
  background: linear-gradient(90deg, #ffca65, #ff6f8d, #9dffea);
}

.w2-evidence .w2-lightbox > div {
  border-color: rgba(255,202,101,.24);
  background: #070504;
  box-shadow: 0 0 100px rgba(255,111,141,.18);
}

.w2-evidence .w2-lightbox img {
  filter: contrast(1.1) saturate(.75) brightness(.78);
}

.w2-evidence .w2-lightbox b {
  color: #ffca65;
}

.v2-step-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(84px, 1fr));
  gap: 8px;
  margin-top: 16px;
}

.v2-step-strip span {
  min-height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(157,255,234,.18);
  color: rgba(230,255,249,.54);
  background: rgba(0,0,0,.34);
  font: 900 11px/1 var(--arg-mono);
  transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease;
}

.v2-step-strip span.is-current {
  color: #020505;
  border-color: #9dffea;
  background: #9dffea;
  animation: vStepCall .9s steps(2) infinite;
}

.v2-step-strip span.is-complete {
  color: #fff;
  border-color: rgba(255,111,141,.72);
  background: rgba(255,111,141,.2);
  box-shadow: inset 0 0 24px rgba(255,111,141,.14);
}

.v2-current-step {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-left: 3px solid #ff6f8d;
  color: #dffff8;
  background: rgba(0,0,0,.42);
  font: 800 12px/1.8 var(--arg-mono);
}

.v2-lab .v2-actions button.is-complete,
.v2-lab [data-v2-scan].is-complete {
  color: #020505;
  border-color: #ff6f8d;
  background: linear-gradient(90deg, #9dffea, #ff6f8d);
}

.v2-lab.is-v2-awake .v2-lab-image img {
  filter: contrast(1.2) saturate(.86) brightness(.88) hue-rotate(-6deg);
  animation: vMonitorAwake 2.8s steps(4) infinite;
}

.v2-lab.is-v2-complete .v2-lab-monitor {
  box-shadow: 0 0 90px rgba(157,255,234,.18), 0 0 110px rgba(255,111,141,.12);
}

.v2-output {
  display: none;
  gap: 8px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(255,111,141,.52);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,111,141,.22), rgba(157,255,234,.1)),
    rgba(0,0,0,.62);
}

.v2-output.is-visible {
  display: grid;
  animation: vOutputBeat 1.15s steps(2) infinite;
}

.v2-output b {
  color: #ff6f8d;
}

.v2-output span {
  line-height: 1.8;
}

.v2-vhs-dossier {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(220px, .42fr) minmax(320px, 1fr);
  gap: 14px;
  margin-top: 18px;
  padding: clamp(16px, 2.2vw, 26px);
  border: 1px solid rgba(255,111,141,.2);
  background:
    linear-gradient(135deg, rgba(255,111,141,.1), transparent 38%),
    linear-gradient(180deg, rgba(157,255,234,.05), rgba(255,255,255,.018)),
    rgba(2,5,5,.82);
  box-shadow: inset 0 0 56px rgba(0,0,0,.42);
}

.v2-case-head b,
.v2-case-screen b {
  color: #ff6f8d;
  font: 900 12px/1.4 var(--arg-mono);
}

.v2-case-head h2,
.v2-case-screen h2 {
  margin: 10px 0 12px;
  font-family: var(--arg-serif);
  line-height: 1.08;
}

.v2-case-head h2 {
  font-size: clamp(32px, 4vw, 58px);
}

.v2-case-screen h2 {
  font-size: clamp(28px, 3vw, 46px);
}

.v2-case-head p,
.v2-case-screen p,
.v2-case-flags li {
  color: rgba(230,255,249,.78);
  line-height: 1.9;
}

.v2-case-tabs {
  display: grid;
  gap: 10px;
  align-content: start;
}

.v2-case-tabs button {
  min-height: 58px;
  border: 1px solid rgba(157,255,234,.2);
  color: #dffff8;
  background: rgba(0,0,0,.44);
  font: 900 12px/1 var(--arg-mono);
  cursor: pointer;
}

.v2-case-tabs button:hover,
.v2-case-tabs button.is-active {
  color: #020505;
  border-color: #ff6f8d;
  background: linear-gradient(90deg, #ff6f8d, #9dffea);
}

.v2-case-screen {
  position: relative;
  min-height: 260px;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid rgba(157,255,234,.2);
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.045) 0 1px, transparent 1px 6px),
    rgba(0,0,0,.52);
  overflow: hidden;
}

.v2-case-screen::after {
  content: attr(data-noise);
  position: absolute;
  inset: auto 18px 14px auto;
  color: rgba(157,255,234,.2);
  font: 900 11px/1 var(--arg-mono);
}

.v2-case-flags {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-case-flags li {
  min-height: 82px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.36);
}

.w2-status-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
  gap: 14px;
  align-items: center;
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid rgba(255,202,101,.2);
  background:
    linear-gradient(90deg, rgba(255,202,101,.12), rgba(255,111,141,.08)),
    rgba(0,0,0,.46);
}

.w2-status-strip b {
  display: block;
  color: #ffca65;
  font: 900 14px/1.4 var(--arg-mono);
}

.w2-status-strip span {
  display: block;
  margin-top: 4px;
  color: rgba(247,238,224,.78);
  line-height: 1.7;
}

.w2-wall-progress {
  height: 18px;
  border: 1px solid rgba(255,202,101,.28);
  background: rgba(0,0,0,.58);
  overflow: hidden;
}

.w2-wall-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #ffca65, #ff6f8d, #9dffea);
  transition: width .35s ease;
}

.w2-procedure {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 18px;
}

.w2-procedure span {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(247,238,224,.82);
  background: rgba(255,255,255,.045);
  text-align: center;
  font: 900 11px/1.45 var(--arg-mono);
}

.w2-evidence[data-w-stage="1"] .w2-board-hero img {
  filter: contrast(1.14) saturate(.9) brightness(.74);
  transform: scale(1.015);
}

.w2-evidence[data-w-stage="2"] .w2-board-hero img {
  filter: contrast(1.24) saturate(.92) brightness(.82) hue-rotate(-8deg);
  transform: scale(1.035);
}

.w2-evidence[data-w-stage="3"] .w2-board-hero {
  border-color: rgba(157,255,234,.6);
  box-shadow: 0 0 90px rgba(255,111,141,.18), 0 0 120px rgba(157,255,234,.12);
}

.w2-evidence[data-w-stage="3"] .w2-board-hero img {
  filter: contrast(1.32) saturate(1) brightness(.9);
  transform: scale(1.06);
  animation: wWallWake 1.8s steps(3) infinite;
}

.w2-evidence .w2-board-hero img {
  transition: filter .35s ease, transform .35s ease;
}

.w2-evidence .w2-grid button.is-open::after {
  content: "OPENED";
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 3;
  padding: 6px 8px;
  color: #050404;
  background: #ffca65;
  font: 900 10px/1 var(--arg-mono);
  box-shadow: 0 0 22px rgba(255,202,101,.24);
}

.w2-evidence .w2-grid button.is-open span {
  border-left-color: #9dffea;
}

.w2-feed div {
  display: grid;
  gap: 8px;
  max-height: 210px;
  overflow: auto;
}

.w2-feed p {
  margin: 0;
  padding: 8px 0 8px 10px;
  border-left: 2px solid rgba(255,111,141,.8);
  color: rgba(247,238,224,.82);
  font-size: .88rem;
}

@keyframes vStepCall {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

@keyframes vMonitorAwake {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(-1px, 1px); }
  50% { transform: translate(1px, 0); }
  75% { transform: translate(0, -1px); }
}

@keyframes vOutputBeat {
  0%, 100% { border-color: rgba(255,111,141,.52); }
  50% { border-color: rgba(157,255,234,.72); }
}

@keyframes wWallWake {
  0%, 100% { transform: scale(1.06) translate(0, 0); }
  50% { transform: scale(1.065) translate(-2px, 1px); }
}

@media (max-width: 1080px) {
  .v2-lab .v2-hero,
  .v2-lab .v2-console,
  .v2-contact,
  .v2-vhs-dossier,
  .w2-evidence .w2-profile,
  .w2-status-strip,
  .w2-evidence .w2-layout {
    grid-template-columns: 1fr;
  }

  .v2-case-flags,
  .w2-procedure {
    grid-template-columns: 1fr;
  }

  .w2-evidence .w2-side {
    position: static;
  }
}

@media (max-width: 760px) {
  .v2-lab,
  .w2-evidence {
    width: calc(100% - 16px);
  }

  .w2-evidence .w2-story-row,
  .v2-step-strip,
  .w2-evidence .w2-grid {
    grid-template-columns: 1fr;
  }

  .v2-lab-image figcaption {
    position: static;
    border-left: 0;
    border-right: 0;
  }

  .w2-board-hero {
    min-height: 440px;
  }

  .w2-board-hero div {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
  }
}

body.arg-z { --arg-hot: #000; --arg-accent: #fff; }

/* Site Y one-time scenario */
body.arg-y {
  --arg-bg: #020202;
  --arg-bg2: #050204;
  --arg-hot: #d21b36;
  --arg-cold: #ffffff;
  --arg-accent: #ffffff;
}

.y-stage {
  min-height: calc(100vh - 48px);
  display: grid;
  place-items: center;
  padding: 36px 0;
}

.y-room {
  width: min(920px, 100%);
  min-height: 640px;
  position: relative;
  display: grid;
  align-content: end;
  padding: clamp(22px, 5vw, 52px);
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.8)),
    url("/assets/images/lowfi_photos/corner_child.webp") center / cover;
  box-shadow: 0 42px 120px rgba(0,0,0,.8);
}

.y-room::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 62%, transparent 0 18%, rgba(0,0,0,.72) 54%, #000 100%);
  pointer-events: none;
}

.y-content {
  position: relative;
  z-index: 1;
}

.y-content h1 {
  margin: 0;
  font-family: var(--arg-serif);
  font-size: clamp(38px, 7vw, 86px);
  line-height: 1.05;
}

.y-content p {
  max-width: 720px;
  color: rgba(255,255,255,.78);
  line-height: 2.05;
}

.y-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.y-choice-grid button {
  min-height: 86px;
  border: 1px solid rgba(255,255,255,.24);
  color: #fff;
  background: rgba(210,27,54,.18);
  font: 900 18px/1.2 var(--arg-serif);
}

.y-choice-grid button:hover {
  background: rgba(210,27,54,.42);
}

.y-ending {
  display: none;
  min-height: 420px;
  padding: clamp(22px, 5vw, 46px);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.82);
}

.y-ending.is-visible {
  display: block;
}

.y-ending h2 {
  margin: 0 0 20px;
  font-family: var(--arg-serif);
  font-size: clamp(34px, 6vw, 72px);
}

.y-locked-note {
  margin-top: 18px;
  color: rgba(255,255,255,.46);
  font: 800 12px/1.8 var(--arg-mono);
}

.arg-scare {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  place-items: center;
  background: #000;
  color: #fff;
}

.arg-scare.is-active {
  display: grid;
  animation: argScareIn .9s steps(4) both;
}

.arg-scare img {
  width: min(96vw, 1100px);
  max-height: 88vh;
  object-fit: contain;
  filter: contrast(1.2) saturate(1.2);
}

.arg-scare b {
  position: absolute;
  left: 50%;
  bottom: 8vh;
  transform: translateX(-50%);
  color: #fff;
  font: 900 clamp(28px, 7vw, 84px)/1 var(--arg-serif);
  text-shadow: 0 0 28px #d21b36;
}

@keyframes argScareIn {
  0% { opacity: 0; transform: scale(1.08); filter: invert(1); }
  12% { opacity: 1; transform: scale(1.18) skewX(-3deg); }
  24% { transform: scale(.96) skewX(3deg); }
  45% { transform: scale(1.04); }
  100% { opacity: 0; transform: scale(1.2); }
}

@keyframes argShake {
  0%, 100% { transform: translate(0,0) rotate(0); }
  33% { transform: translate(-3px,2px) rotate(-.3deg); }
  66% { transform: translate(3px,-1px) rotate(.3deg); }
}

.arg-dialog-scare,
.arg-hack-scare {
  position: fixed;
  inset: 0;
  z-index: 230;
  opacity: 0;
  pointer-events: none;
}

.arg-dialog-scare.is-active,
.arg-hack-scare.is-active {
  opacity: 1;
  pointer-events: auto;
}

.arg-dialog-scare {
  display: grid;
  place-items: center;
  padding: 14px;
  background: rgba(0,0,0,.28);
  color: #111;
  font-family: "MS Gothic", "MS PGothic", monospace;
}

.arg-dialog-scare.is-active {
  animation: argDialogStrobe 2.5s steps(2) both;
}

.arg-dialog-scare section {
  width: min(540px, 94vw);
  border: 3px outset #fff;
  background: #c0c0c0;
  box-shadow: 18px 18px 0 rgba(0,0,0,.68);
}

.arg-dialog-scare header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: #000080;
  color: #fff;
}

.arg-dialog-scare header button,
.arg-dialog-scare footer button {
  min-width: 44px;
  min-height: 34px;
  border: 2px outset #fff;
  background: #d8d8d8;
  color: #111;
  font: 900 12px/1 "MS Gothic", monospace;
}

.arg-dialog-scare div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  align-items: center;
  padding: 18px;
}

.arg-dialog-scare img {
  width: 92px;
  aspect-ratio: 1;
  object-fit: cover;
  border: 2px inset #eee;
}

.arg-dialog-scare p {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 900;
}

.arg-dialog-scare footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 12px 14px;
}

.arg-hack-scare {
  display: grid;
  place-items: stretch;
  background:
    repeating-linear-gradient(to bottom, rgba(87,255,110,.1) 0 1px, transparent 1px 4px),
    #000;
  color: #57ff6e;
  font-family: var(--arg-mono);
}

.arg-hack-scare pre {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  overflow: hidden;
  white-space: pre-wrap;
  font: 900 clamp(13px, 3vw, 28px)/1.35 var(--arg-mono);
  text-shadow: 0 0 14px rgba(87,255,110,.75);
}

.arg-hack-scare img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  mix-blend-mode: screen;
  filter: hue-rotate(100deg) contrast(1.7);
}

.arg-hack-scare.is-face img {
  animation: argHackFace .8s cubic-bezier(.02,.82,.04,1) both;
}

@keyframes argDialogStrobe {
  0% { opacity: 0; transform: scale(.96); filter: none; }
  8%, 82% { opacity: 1; }
  30% { transform: translateX(-4px) scale(1.02); filter: invert(1); }
  54% { transform: translateX(3px); filter: contrast(1.8); }
  100% { opacity: 0; filter: blur(8px); }
}

@keyframes argHackFace {
  0% { opacity: 0; transform: scale(1.36) translateY(8vh); }
  22% { opacity: .76; }
  100% { opacity: .94; transform: scale(1); }
}

.arg-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 120;
  max-width: min(360px, calc(100% - 32px));
  padding: 12px 14px;
  border: 1px solid var(--arg-line);
  color: var(--arg-ink);
  background: rgba(0,0,0,.84);
  font: 800 12px/1.6 var(--arg-mono);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: .24s ease;
}

.arg-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.arg-toast.is-fragment {
  border-color: rgba(118, 255, 190, .86);
  color: #d9ffe8;
  background:
    linear-gradient(90deg, rgba(255, 0, 119, .22), transparent 18%, rgba(0, 255, 255, .18) 68%, transparent),
    repeating-linear-gradient(180deg, rgba(255,255,255,.11) 0 1px, transparent 1px 5px),
    rgba(0, 0, 0, .94);
  box-shadow:
    0 0 0 1px rgba(255, 55, 160, .35),
    0 0 28px rgba(82, 255, 193, .25),
    -4px 0 0 rgba(255, 0, 120, .24),
    4px 0 0 rgba(0, 255, 255, .2);
  text-shadow: 2px 0 rgba(255,0,120,.72), -2px 0 rgba(0,255,255,.68);
  animation: argToastFragmentGlitch .52s steps(2, end) infinite;
}

@keyframes argToastFragmentGlitch {
  0%, 100% { filter: contrast(1.25) saturate(1.15); }
  34% { transform: translate(1px, -1px); }
  64% { transform: translate(-1px, 1px); }
}

@media (max-width: 980px) {
  .az-ribbon {
    grid-template-columns: 1fr;
  }

  .az-ribbon nav {
    width: calc(100vw - 24px);
  }

  .arg-hero,
  .rom-layout,
  .arg-split,
  .broadcast-wall,
  .temple-grid,
  .lost-terminal,
  .node-dossier,
  .mail-investigation,
  .az-kit-head,
  .az-room-grid,
  .short-layout,
  .x-shell,
  .portal-header,
  .portal-layout,
  .portal-feature,
  .park-top,
  .park-logo,
  .park-status,
  .park-grid,
  .tacky-header,
  .tacky-grid,
  .game-lore,
  .famicom-cabinet,
  .vhs-hero,
  .vhs-depth-grid,
  .white-console,
  .falling-observatory .falling-ui,
  .report-flood-stage .text-flood-controls {
    grid-template-columns: 1fr;
  }

  .portal-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .park-map {
    grid-column: span 1;
  }

  .x-rail,
  .x-side {
    border: 0;
    border-bottom: 1px solid var(--arg-line);
  }

  .arg-panel,
  .arg-panel.wide {
    grid-column: 1 / -1;
  }

  .shop-products {
    grid-template-columns: 1fr;
  }

  .tacky-banners {
    grid-template-columns: repeat(3, 1fr);
  }

  .game-hud,
  .game-hud.side {
    left: 16px;
    right: auto;
  }

  .vhs-hero {
    min-height: auto;
    padding-top: 28px;
  }

  .vhs-depth-grid {
    padding-bottom: 20px;
  }
}

@media (max-width: 640px) {
  .arg-shell {
    width: min(100% - 20px, 1240px);
    padding-top: 28px;
  }

  .arg-hero-media,
  .arg-hero-media img {
    min-height: 300px;
  }

  .e404-main-search,
  .shop-header,
  .y-choice-grid {
    grid-template-columns: 1fr;
  }

  .e404-logo {
    font-size: clamp(38px, 16vw, 64px);
    line-height: .95;
    overflow-wrap: anywhere;
  }

  .c-rpg-frame {
    width: 100%;
    max-width: 100%;
    min-height: 430px;
    height: min(72vh, 520px);
    aspect-ratio: auto;
    border-width: 6px;
    outline-width: 2px;
  }

  .c-rpg-map {
    min-height: 0;
  }

  .c-rpg-dialog {
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 12px;
  }

  .c-rpg-dialog p {
    font-size: 12px;
    line-height: 1.6;
  }

  .arg-image-stack {
    grid-template-columns: 1fr;
  }

  .short-phone {
    min-height: 560px;
    border-width: 7px;
    border-radius: 24px;
  }

  .short-phone img {
    height: 560px;
  }

  .insta-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .insta-grid button {
    min-height: 150px;
  }

  .portal-grid,
  .park-map-lines,
  .tacky-banners {
    grid-template-columns: 1fr;
  }

  .portal-header,
  .portal-layout,
  .portal-feature,
  .park-top,
  .tacky-header,
  .tacky-grid {
    gap: 12px;
  }

  .portal-feature {
    padding: 12px;
  }

  .portal-feature img {
    min-height: 240px;
  }

  .park-hero {
    min-height: 360px;
  }

  .park-hero img {
    height: 430px;
  }

  .park-hero-copy {
    left: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
  }

  .tacky-shell {
    border-width: 4px;
    box-shadow: 0 0 0 4px #f0f, 0 18px 60px rgba(0,0,0,.62);
  }

  .tacky-card {
    min-height: 0;
    box-shadow: 5px 5px 0 #000;
  }

  .three-stage {
    min-height: 760px;
  }

  .game-hud {
    bottom: 10px;
    padding: 14px;
  }

  .game-hud h1 {
    font-size: clamp(34px, 12vw, 54px);
  }

  .game-lore {
    width: min(100% - 20px, 1180px);
    padding: 28px 0;
  }

  .white-ui,
  .falling-ui,
  .text-flood-controls {
    top: 62px;
    max-height: 44vh;
    overflow: auto;
  }

  .white-console,
  .falling-observatory .falling-ui,
  .report-flood-stage .text-flood-controls {
    width: calc(100% - 20px);
    left: 10px;
    gap: 10px;
  }

  .white-ledger,
  .falling-ledger,
  .report-stamp {
    left: 10px;
    right: 10px;
    width: auto;
    max-height: 26vh;
  }

  .text-flood-field {
    padding-top: 150px;
    font-size: clamp(13px, 5vw, 22px);
  }

  .report-flood-stage .text-flood-field {
    padding-right: 10px;
    padding-bottom: 220px;
  }

  .vhs-store {
    width: min(100% - 20px, 1320px);
    padding-top: 18px;
  }

  .vhs-copy h1 {
    font-size: clamp(38px, 13vw, 62px);
  }

  .vhs-screen-wrap {
    margin: 10px;
    border-width: 8px;
  }

  .vhs-depth-grid {
    gap: 10px;
  }

  .famicom-shell {
    padding: 10px;
    align-items: start;
  }

  .famicom-cabinet {
    border-width: 5px;
    padding: 10px;
  }

  .famicom-screen {
    padding: 10px;
    border-width: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.arg-page::before,
  .arg-scare.is-active,
  .god-awake .god-paper,
  body.god-awake .god-paper {
    animation: none !important;
  }
}

/* 2026 F-Z divergence pass: each node gets a different site grammar */
body.mailos-page {
  --arg-bg: #071421;
  --arg-bg2: #10283d;
  --arg-hot: #8fc8ff;
  --arg-accent: #ffd86e;
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(180deg, #071421, #0d1d2d 48%, #05080e);
}

.mailos {
  width: min(100% - 24px, 1380px);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 56px) 0 80px;
}

.mailos-window {
  display: grid;
  grid-template-columns: 210px minmax(260px, .62fr) minmax(320px, 1fr);
  grid-template-rows: auto minmax(460px, auto) auto;
  min-height: 720px;
  border: 1px solid rgba(181,219,255,.34);
  background: #dbe7f2;
  color: #12202e;
  box-shadow: 0 30px 110px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.62);
  font-family: "MS PGothic", "Meiryo", sans-serif;
}

.mailos-titlebar {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #dcefff;
  background: linear-gradient(180deg, #244c73, #0e2b49);
  font: 700 13px/1.2 var(--arg-mono);
}

.mailos-titlebar h1 {
  margin: 0;
  font: inherit;
}

.mailos-folders,
.mailos-list,
.mail-preview,
.mailos-headers {
  padding: 14px;
}

.mailos-folders {
  border-right: 1px solid #9fb3c4;
  background: #c3d2df;
}

.mailos-folders b,
.mailos-headers b {
  display: block;
  margin-bottom: 14px;
  color: #39546b;
  font: 900 12px/1 var(--arg-mono);
}

.mailos-folders button,
.mailos-list button,
.mailos-toolbar button,
.mailos-toolbar a {
  width: 100%;
  border: 1px solid #8ba2b6;
  color: #132536;
  background: #eef4fa;
  font: inherit;
  text-align: left;
}

.mailos-folders button {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 9px 10px;
}

.mailos-folders button:not([data-mail-folder]),
.mailos-list > button[data-mail-body],
.mailos-toolbar [data-arg-scare] {
  display: none;
}

.mailos-folders button.is-active,
.mailos-folders button[aria-pressed="true"],
.mailos-toolbar button.is-active,
.mailos-toolbar button[aria-pressed="true"] {
  border-color: #6f8fac;
  background: #fff8cf;
  box-shadow: inset 4px 0 0 #8a1e2c;
}

.mailos-list {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid #9fb3c4;
  background: #edf3f8;
}

.mailos-toolbar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}

.mailos-toolbar button,
.mailos-toolbar a {
  display: grid;
  place-items: center;
  min-height: 36px;
  padding: 7px;
  text-decoration: none;
  text-align: center;
}

.mailos-folder-title {
  margin-bottom: 8px;
  padding: 8px 10px;
  border: 1px solid #b7c5d1;
  background: #dce7f0;
  color: #39546b;
  font: 900 12px/1.2 var(--arg-mono);
}

.mailos-message-list {
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}

.mailos-list > button,
.mailos-message-list > button {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  margin-bottom: 8px;
  padding: 10px;
}

.mailos-list > button:hover,
.mailos-list > button:focus-visible,
.mailos-message-list > button:hover,
.mailos-message-list > button:focus-visible,
.mailos-message-list > button.is-active {
  background: #fff8cf;
}

.mailos-list span {
  color: #8a1e2c;
  font-weight: 900;
}

.mailos-list small {
  color: #5f7484;
  font-family: var(--arg-mono);
}

.mail-preview {
  position: relative;
  background:
    linear-gradient(90deg, rgba(22,44,68,.07) 1px, transparent 1px) 0 0 / 20px 20px,
    #fff;
  overflow: auto;
}

.mail-preview::after {
  content: "UNSENT";
  position: absolute;
  right: 18px;
  bottom: 18px;
  color: rgba(142,0,20,.12);
  font: 900 clamp(42px, 8vw, 112px)/1 var(--arg-mono);
  transform: rotate(-9deg);
}

.mail-preview p {
  position: relative;
  z-index: 1;
  margin: 0 0 1em;
  font-size: clamp(17px, 2.2vw, 24px);
  line-height: 1.75;
}

.mail-preview-head,
.mail-preview-meta,
.mail-preview-body,
.mail-preview-links,
.mail-attachments,
.mail-no-attachment {
  position: relative;
  z-index: 1;
}

.mail-preview-head {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(22,44,68,.18);
}

.mail-preview-head span {
  display: inline-block;
  margin-bottom: 8px;
  color: #8a1e2c;
  font: 900 12px/1 var(--arg-mono);
}

.mail-preview-head h2 {
  margin: 0;
  color: #12202e;
  font-size: clamp(20px, 2.6vw, 30px);
  line-height: 1.35;
}

.mail-preview .mail-preview-meta p {
  margin-bottom: .35em;
  color: #536a7c;
  font: 700 13px/1.5 var(--arg-mono);
}

.mail-preview .mail-preview-body p {
  font-size: clamp(16px, 1.8vw, 21px);
}

.mail-preview-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}

.mail-preview-links a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #8a1e2c;
  background: #fff7f5;
  color: #8a1e2c;
  font: 900 14px/1 var(--arg-mono);
  text-decoration: none;
  box-shadow: 0 8px 0 rgba(138,30,44,.16);
}

.mail-preview-links a:hover,
.mail-preview-links a:focus-visible {
  background: #8a1e2c;
  color: #fff;
}

.mail-attachments {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.mail-attachment {
  margin: 0;
  border: 1px solid #9fb3c4;
  background: #edf3f8;
  box-shadow: 0 10px 28px rgba(18,32,46,.12);
}

.mail-attachment.is-dread {
  border-color: #8a1e2c;
  background: #180b10;
  box-shadow: 0 12px 42px rgba(60,0,12,.35);
}

.mail-attachment img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: cover;
}

.mail-attachment figcaption {
  padding: 8px 10px;
  color: #334a5f;
  font: 900 12px/1.3 var(--arg-mono);
}

.mail-attachment.is-dread figcaption {
  color: #ffd7dd;
}

.mail-no-attachment {
  color: #6f8292;
  font: 900 13px/1.4 var(--arg-mono);
}

.mailos-headers {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  border-top: 1px solid #9fb3c4;
  background: #111b24;
  color: #c9f0ff;
  font-family: var(--arg-mono);
  font-size: 12px;
}

.mailos-headers b {
  color: #ffd86e;
}

body.voidstream-page {
  --arg-bg: #050105;
  --arg-bg2: #17020f;
  --arg-hot: #ff146c;
  --arg-accent: #7cff9b;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,20,108,.22), transparent 28rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 5px),
    #050105;
}

.voidstream {
  width: min(100% - 22px, 1500px);
  margin: 0 auto;
  padding: clamp(16px, 3vw, 42px) 0 70px;
}

.voidstream-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
}

.voidstream-feed {
  position: relative;
  min-height: clamp(520px, 68vw, 760px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  background: #000;
  box-shadow: 0 28px 120px rgba(255,20,108,.18);
}

.voidstream-feed::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(transparent 50%, rgba(0,0,0,.32) 50%) 0 0 / 100% 4px,
    radial-gradient(circle at 50% 50%, transparent 0 45%, rgba(0,0,0,.56) 80%);
  pointer-events: none;
  animation: voidstreamScan 4s linear infinite;
}

.voidstream-feed img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(.5) contrast(1.25) brightness(.58) hue-rotate(-10deg);
  transform: scale(1.04);
}

.voidstream-caption {
  position: absolute;
  left: clamp(16px, 4vw, 48px);
  right: clamp(16px, 4vw, 48px);
  bottom: clamp(16px, 4vw, 48px);
  z-index: 3;
  max-width: 820px;
}

.voidstream-caption span,
.voidstream-console b {
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
}

.voidstream-caption h1 {
  margin: 12px 0 0;
  color: #fff;
  font: 900 clamp(34px, 7vw, 92px)/1.05 var(--arg-serif);
}

.voidstream-page .live0-comments {
  max-height: none;
  min-height: 520px;
  border-color: rgba(255,255,255,.18);
  background: rgba(7,0,8,.82);
}

.voidstream-page .live0-comments p {
  border-left: 3px solid rgba(255,20,108,.7);
  color: #f8ddea;
}

.voidstream-console {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.voidstream-console article,
.voidstream-actions {
  min-height: 150px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.045);
}

.voidstream-console p {
  color: rgba(255,255,255,.78);
  line-height: 1.75;
}

.voidstream-actions {
  display: grid;
  gap: 8px;
}

.voidstream-actions button,
.voidstream-actions a {
  display: grid;
  place-items: center;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  background: rgba(255,20,108,.24);
  text-decoration: none;
}

body.shrine-page {
  --arg-bg: #140805;
  --arg-bg2: #2a0d06;
  --arg-hot: #e23939;
  --arg-accent: #ffe3a1;
  background:
    linear-gradient(90deg, rgba(255,227,161,.08) 1px, transparent 1px) 0 0 / 72px 72px,
    radial-gradient(circle at 50% 0%, rgba(226,57,57,.22), transparent 24rem),
    #140805;
}

.shrine-site {
  width: min(100% - 26px, 1320px);
  margin: 0 auto;
  padding: clamp(20px, 4vw, 62px) 0 80px;
}

.shrine-gate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 430px);
  gap: clamp(20px, 5vw, 70px);
  align-items: center;
  min-height: 620px;
  padding: clamp(22px, 5vw, 70px);
  border-top: 18px solid #9d150f;
  border-bottom: 18px solid #9d150f;
  background:
    linear-gradient(90deg, rgba(157,21,15,.48), transparent 18%, transparent 82%, rgba(157,21,15,.48)),
    rgba(0,0,0,.35);
}

.shrine-gate p {
  color: var(--arg-accent);
  font: 900 13px/1.4 var(--arg-mono);
}

.shrine-gate h1 {
  margin: 16px 0;
  color: #fff6df;
  font: 900 clamp(38px, 7vw, 96px)/1.05 var(--arg-serif);
}

.shrine-gate .god-oracle {
  display: inline-block;
  max-width: 640px;
  padding: 14px 16px;
  border: 1px solid rgba(255,227,161,.28);
  color: #ffe3a1;
  background: rgba(0,0,0,.42);
  line-height: 1.8;
}

.shrine-page .god-paper {
  min-height: 560px;
  border: 24px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(151,20,14,.12), rgba(151,20,14,0)),
    #f2dfb6;
  color: #260907;
}

.shrine-offerings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.shrine-offerings article,
.shrine-actions {
  padding: 18px;
  border: 1px solid rgba(255,227,161,.22);
  background: rgba(0,0,0,.35);
}

.shrine-offerings b {
  color: #ffe3a1;
}

.shrine-offerings p {
  color: rgba(255,246,223,.76);
  line-height: 1.85;
}

.shrine-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.shrine-actions button,
.shrine-actions a {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(255,227,161,.28);
  color: #fff6df;
  background: rgba(157,21,15,.42);
  text-decoration: none;
}

body.lost-kiosk-page {
  --arg-bg: #2b1b0c;
  --arg-bg2: #3a2915;
  --arg-hot: #ffb52d;
  --arg-accent: #ffe2a3;
  background:
    linear-gradient(90deg, rgba(255,181,45,.14) 1px, transparent 1px) 0 0 / 90px 90px,
    #2b1b0c;
}

.lost-kiosk {
  width: min(100% - 24px, 1360px);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 54px) 0 80px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
}

.lost-board {
  min-height: 520px;
  border: 1px solid rgba(255,226,163,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.03)),
    #3a2915;
  box-shadow: inset 0 0 0 12px rgba(0,0,0,.12);
}

.lost-board header {
  padding: clamp(20px, 4vw, 46px);
  border-bottom: 1px solid rgba(255,226,163,.22);
}

.lost-board p:first-child {
  color: #ffcc6b;
  font: 900 12px/1.4 var(--arg-mono);
}

.lost-board h1 {
  margin: 10px 0;
  color: #fff3d0;
  font: 900 clamp(42px, 7vw, 102px)/1.02 var(--arg-serif);
}

.lost-board span {
  color: rgba(255,243,208,.78);
}

.lost-ledger {
  display: grid;
  gap: 1px;
  padding: 18px;
  background: rgba(0,0,0,.24);
}

.lost-ledger p {
  margin: 0;
  padding: 18px;
  color: #211303;
  background: #ffe2a3;
  font: 900 clamp(15px, 2vw, 20px)/1.5 var(--arg-mono);
}

.lost-printer {
  padding: 18px;
  border: 1px solid rgba(255,226,163,.34);
  background: #17100a;
}

.lost-printer b {
  color: #ffcc6b;
  font: 900 18px/1.3 var(--arg-mono);
}

.lost-printer p {
  color: rgba(255,243,208,.76);
  line-height: 1.8;
}

.lost-kiosk-page .lost-ticket {
  min-height: 190px;
  margin: 18px 0;
  border: 1px dashed rgba(33,19,3,.38);
  background: #ffe2a3;
  color: #201103;
  box-shadow: 0 18px 34px rgba(0,0,0,.28);
}

.lost-printer nav {
  display: grid;
  gap: 8px;
}

.lost-printer button,
.lost-printer a {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 1px solid rgba(255,226,163,.28);
  color: #fff3d0;
  background: rgba(255,181,45,.14);
  text-decoration: none;
}

.lost-shelves {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.lost-shelves article {
  padding: 18px;
  border: 1px solid rgba(255,226,163,.24);
  background: rgba(0,0,0,.32);
}

.lost-shelves b,
.lost-shelves span {
  display: block;
}

.lost-shelves b {
  color: #ffcc6b;
}

.lost-shelves span {
  margin-top: 8px;
  color: rgba(255,243,208,.76);
  line-height: 1.7;
}

body.doomshop-page {
  --arg-bg: #1b1200;
  --arg-bg2: #fff100;
  --arg-hot: #ff1b1b;
  --arg-accent: #004dff;
  background:
    repeating-linear-gradient(45deg, #fff100 0 18px, #ff3b00 18px 32px, #001a84 32px 46px),
    #fff100;
  color: #100800;
}

.doomshop {
  width: min(100% - 18px, 1400px);
  margin: 0 auto;
  padding: 14px 0 80px;
  font-family: "MS PGothic", "Meiryo", sans-serif;
}

.doomshop-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: clamp(18px, 4vw, 40px);
  border: 8px ridge #ff1b1b;
  background: #fff;
}

.doomshop-header p {
  margin: 0;
  color: #004dff;
  font: 900 13px/1.4 var(--arg-mono);
}

.doomshop-header h1 {
  margin: 4px 0;
  color: #ff1b1b;
  font: 900 clamp(52px, 10vw, 140px)/.9 "Impact", "Yu Gothic", sans-serif;
  text-shadow: 4px 4px 0 #fff100, 8px 8px 0 #004dff;
}

.doomshop-header strong {
  display: grid;
  place-items: center;
  width: clamp(130px, 18vw, 240px);
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: #ff1b1b;
  font: 900 clamp(28px, 4vw, 58px)/1 "Impact", sans-serif;
  transform: rotate(9deg);
}

.doomshop-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.doomshop-products article {
  padding: 12px;
  border: 5px outset #004dff;
  background: #fff;
}

.doomshop-products img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: contrast(1.25) saturate(.82);
}

.doomshop-products b,
.doomshop-products span {
  display: block;
}

.doomshop-products b {
  margin-top: 10px;
  color: #ff1b1b;
  font-size: clamp(20px, 3vw, 34px);
}

.doomshop-products span {
  min-height: 64px;
  line-height: 1.6;
}

.doomshop-products button,
.doomshop-products a,
.doomshop-clerk button,
.doomshop-clerk a {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  border: 3px outset #ff1b1b;
  color: #fff;
  background: #004dff;
  text-decoration: none;
  font-weight: 900;
}

.doomshop-clerk a[hidden] {
  display: none !important;
}

.doomshop-clerk a[data-shop-k-link].is-visible {
  border-color: #ffef00;
  color: #100800;
  background: #ffef00;
  animation: doomshopSlip .42s steps(4) both;
}

.doomshop-receipt {
  margin-top: 14px;
  padding: 22px;
  border: 2px dashed #100800;
  background: #fffbd2;
  font-family: var(--arg-mono);
}

.doomshop-receipt h2 {
  margin: 0 0 12px;
}

.doomshop .shop-long-space {
  display: grid;
  place-items: center;
  min-height: 120vh;
  margin: 14px 0;
  border: 5px dashed #ff1b1b;
  background:
    linear-gradient(90deg, rgba(255,0,0,.16) 1px, transparent 1px) 0 0 / 34px 34px,
    #fff;
  color: #004dff;
  font: 900 clamp(18px, 4vw, 46px)/1.2 var(--arg-mono);
  text-align: center;
}

.doomshop-clerk {
  display: block;
  opacity: 0;
  transform: translateY(24px);
  padding: clamp(22px, 4vw, 44px);
  border: 8px groove #111;
  background: #0a0a0a;
  color: #fff;
}

.doomshop-clerk.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
}

.doomshop-clerk h2 {
  margin: 0 0 10px;
  color: #ffef00;
  font: 900 clamp(34px, 7vw, 88px)/1 "Impact", sans-serif;
}

.doomshop-clerk nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.doomshop-ticker,
.doomshop-dashboard,
.doomshop-counter {
  margin-top: 14px;
  border: 5px ridge #100800;
  background: #fff;
  color: #100800;
}

.doomshop-ticker {
  overflow: hidden;
  padding: 8px 0;
  white-space: nowrap;
  font: 900 14px/1 var(--arg-mono);
}

.doomshop-ticker span {
  display: inline-block;
  min-width: 100%;
  padding-left: 100%;
  animation: doomshopTicker 24s linear infinite;
}

.doomshop-dashboard {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.1fr) minmax(260px, .8fr);
  gap: 12px;
  align-items: end;
  padding: 14px;
  box-shadow: 8px 8px 0 rgba(0,0,0,.28);
}

.doomshop-dashboard label,
.doomshop-meter,
.doomshop-tabs {
  min-width: 0;
}

.doomshop-dashboard label span {
  display: block;
  margin-bottom: 6px;
  color: #004dff;
  font: 900 12px/1 var(--arg-mono);
}

.doomshop-dashboard input {
  width: 100%;
  min-height: 46px;
  border: 3px inset #004dff;
  background: #fffdf0;
  color: #100800;
  padding: 0 12px;
  font: 900 15px/1 "MS PGothic", "Meiryo", sans-serif;
}

.doomshop-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.doomshop-tabs button,
.doomshop-counter-actions button {
  min-height: 42px;
  border: 3px outset #004dff;
  color: #fff;
  background: #004dff;
  font-weight: 900;
  cursor: pointer;
}

.doomshop-tabs button.is-active,
.doomshop-tabs button:hover,
.doomshop-tabs button:focus-visible,
.doomshop-counter-actions button:hover,
.doomshop-counter-actions button:focus-visible {
  border-color: #ff1b1b;
  color: #100800;
  background: #fff100;
}

.doomshop-meter {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 0;
}

.doomshop-meter div {
  min-height: 58px;
  padding: 8px;
  border: 2px solid #100800;
  background: #fffbd2;
}

.doomshop-meter dt,
.doomshop-meter dd {
  margin: 0;
}

.doomshop-meter dt {
  color: #ff1b1b;
  font: 900 11px/1 var(--arg-mono);
}

.doomshop-meter dd {
  margin-top: 6px;
  font-weight: 900;
}

.doomshop-notice {
  position: sticky;
  top: 54px;
  z-index: 40;
  margin-top: 14px;
  padding: 14px 52px 14px 16px;
  border: 4px solid #100800;
  color: #100800;
  background:
    repeating-linear-gradient(90deg, rgba(255,241,0,.45) 0 14px, rgba(255,255,255,.92) 14px 28px),
    #fff;
  box-shadow: 10px 10px 0 rgba(0,0,0,.34);
}

.doomshop-notice[hidden] {
  display: none;
}

.doomshop-notice button {
  position: absolute;
  right: 8px;
  top: 8px;
  border: 2px outset #100800;
  background: #fff;
  color: #100800;
  font-weight: 900;
}

.doomshop-notice b,
.doomshop-notice p {
  display: block;
  margin: 0;
}

.doomshop-notice b {
  color: #ff1b1b;
  font-size: 20px;
}

.doomshop-notice p {
  margin-top: 6px;
  line-height: 1.7;
  font-weight: 900;
}

.doomshop-products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.doomshop-products article {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 8px;
  min-height: 100%;
  box-shadow: 7px 7px 0 rgba(0,0,0,.24);
  transition: transform .16s ease, filter .16s ease, opacity .18s ease;
}

.doomshop-products article:hover,
.doomshop-products article:focus-within,
.doomshop-products article.is-touched {
  transform: translate(-2px, -2px);
  filter: saturate(1.08);
}

.doomshop-products article.is-hidden {
  display: none;
}

.doomshop-products article::before {
  content: "44円";
  position: absolute;
  right: -8px;
  top: -10px;
  z-index: 2;
  padding: 5px 8px;
  color: #100800;
  background: #fff100;
  border: 3px solid #ff1b1b;
  transform: rotate(8deg);
  font: 900 18px/1 "Impact", sans-serif;
}

.doomshop-products small {
  display: block;
  min-height: 28px;
  color: #004dff;
  font: 900 11px/1.45 var(--arg-mono);
}

.doomshop-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-self: end;
}

.doomshop-actions button,
.doomshop-actions a {
  margin-top: 0;
}

.doomshop-products button.is-collected,
.doomshop-products button.is-bought,
.doomshop-clerk button.is-collected {
  border-style: inset;
  color: #100800;
  background: #fff100;
}

.doomshop-receipt {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1fr);
  gap: 18px;
}

.doomshop-receipt ol {
  min-height: 140px;
  max-height: 260px;
  margin: 0;
  overflow: auto;
  padding: 12px 12px 12px 32px;
  border: 2px inset #100800;
  background: #fff;
}

.doomshop-receipt li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.doomshop-counter {
  display: grid;
  grid-template-columns: minmax(240px, .78fr) minmax(320px, 1fr) minmax(260px, .82fr);
  gap: 14px;
  align-items: stretch;
  padding: 18px;
}

.doomshop-counter p,
.doomshop-counter h2 {
  margin: 0;
}

.doomshop-counter p {
  color: #004dff;
  font: 900 12px/1.4 var(--arg-mono);
}

.doomshop-counter h2 {
  margin-top: 8px;
  color: #ff1b1b;
  font: 900 clamp(28px, 5vw, 62px)/.95 "Impact", "Yu Gothic", sans-serif;
}

.doomshop-counter-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.doomshop-counter pre {
  min-height: 150px;
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  padding: 12px;
  border: 3px inset #100800;
  color: #12ff74;
  background: #050505;
  font: 900 12px/1.7 var(--arg-mono);
}

.doomshop .shop-long-space {
  min-height: 150vh;
  grid-template-rows: 1fr auto auto 1fr;
  gap: 16px;
}

.doomshop .shop-long-space b {
  display: block;
  color: #ff1b1b;
  font-size: clamp(34px, 8vw, 112px);
  text-shadow: 3px 3px 0 #fff100, 6px 6px 0 #004dff;
}

.doomshop .shop-long-space span {
  display: block;
  color: #004dff;
}

.doomshop-clerk p {
  max-width: 900px;
  color: rgba(255,255,255,.82);
  line-height: 1.85;
  font-weight: 900;
}

@keyframes doomshopTicker {
  to { transform: translateX(-100%); }
}

@keyframes doomshopSlip {
  0% {
    clip-path: inset(0 0 100% 0);
    filter: contrast(2);
  }
  100% {
    clip-path: inset(0);
    filter: none;
  }
}

body.novel-page {
  --arg-bg: #f8f6ef;
  --arg-bg2: #eee6d5;
  --arg-hot: #8b0000;
  --arg-accent: #4b1717;
  background:
    linear-gradient(90deg, rgba(90,45,18,.045) 1px, transparent 1px) 0 0 / 24px 24px,
    #f8f6ef;
  color: #19120d;
}

.novel-site {
  width: min(100% - 22px, 1420px);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 54px) 0 80px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: clamp(16px, 3vw, 42px);
  align-items: start;
}

.novel-index {
  position: sticky;
  top: 72px;
  display: grid;
  gap: 9px;
  padding: 16px;
  border: 1px solid rgba(75,23,23,.24);
  background: rgba(255,255,255,.66);
  box-shadow: 0 18px 50px rgba(54,31,12,.12);
}

.novel-index b {
  color: #8b0000;
  font: 900 12px/1.4 var(--arg-mono);
}

.novel-index a,
.novel-index button,
.novel-next a,
.novel-next button {
  border: 1px solid rgba(75,23,23,.22);
  color: #24130d;
  background: rgba(255,255,255,.72);
  text-decoration: none;
}

.novel-index a,
.novel-index button {
  min-height: 36px;
  padding: 8px 10px;
  text-align: left;
}

.novel-progress {
  display: block;
  height: 7px;
  border: 1px solid rgba(75,23,23,.22);
  background: #fff;
}

.novel-progress i {
  display: block;
  width: 0%;
  height: 100%;
  background: #8b0000;
}

.novel-paper {
  position: relative;
  padding: clamp(24px, 5vw, 78px);
  background:
    linear-gradient(90deg, rgba(139,0,0,.035) 1px, transparent 1px) 0 0 / 32px 32px,
    rgba(255,255,255,.9);
  border: 1px solid rgba(75,23,23,.18);
  box-shadow: 0 30px 90px rgba(54,31,12,.16);
}

.novel-paper::before {
  content: "未確定清書";
  position: fixed;
  right: clamp(12px, 3vw, 42px);
  bottom: clamp(12px, 3vw, 42px);
  z-index: 0;
  color: rgba(139,0,0,.09);
  font: 900 clamp(42px, 9vw, 132px)/1 var(--arg-serif);
  writing-mode: vertical-rl;
  pointer-events: none;
}

.novel-paper header {
  min-height: 62vh;
  display: grid;
  align-content: center;
  border-bottom: 1px solid rgba(75,23,23,.18);
}

.novel-paper h1 {
  margin: 12px 0 18px;
  color: #210e08;
  font: 900 clamp(46px, 8vw, 118px)/1.05 var(--arg-serif);
}

.novel-paper header p,
.novel-paper section p,
.novel-paper footer p {
  color: #24130d;
  font-family: var(--arg-serif);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 2.15;
  text-align: justify;
}

.novel-paper section {
  padding: clamp(34px, 7vw, 92px) 0;
  border-bottom: 1px solid rgba(75,23,23,.16);
}

.novel-paper h2 {
  position: sticky;
  top: 58px;
  z-index: 1;
  width: max-content;
  max-width: 100%;
  margin: 0 0 24px;
  padding: 8px 12px;
  color: #f8f6ef;
  background: #4b1717;
  font: 900 clamp(18px, 3vw, 34px)/1.35 var(--arg-serif);
}

.novel-paper p::selection {
  color: #fff;
  background: #8b0000;
}

.novel-paper.is-deep-read {
  background:
    linear-gradient(90deg, rgba(139,0,0,.07) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,238,238,.9));
}

.novel-paper.is-deep-read::after {
  content: "まだ読んでいる";
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 5;
  transform: translateX(-50%);
  padding: 8px 12px;
  color: #8b0000;
  border: 1px solid rgba(139,0,0,.26);
  background: rgba(255,255,255,.86);
  font: 900 12px/1 var(--arg-mono);
  pointer-events: none;
}

.novel-next {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.novel-next a,
.novel-next button {
  min-height: 42px;
  padding: 10px 14px;
}

body.site-s-novel {
  background:
    radial-gradient(circle at 18% 8%, rgba(139,0,0,.08), transparent 22rem),
    linear-gradient(90deg, rgba(90,45,18,.045) 1px, transparent 1px) 0 0 / 24px 24px,
    #f8f6ef;
}

.site-s-novel .novel-paper::before {
  content: "胎内時計";
}

.site-s-novel .novel-paper header {
  min-height: min(720px, calc(100vh - 84px));
}

.site-s-novel .novel-paper h1 {
  letter-spacing: 0;
}

.site-s-novel .novel-paper section p:first-of-type::first-letter {
  float: left;
  margin: .08em .18em 0 0;
  color: #8b0000;
  font: 900 3.2em/.82 var(--arg-serif);
}

.s-novel-insert {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
  margin: 28px 0 0;
  padding: 12px;
  border: 1px solid rgba(75,23,23,.22);
  background:
    linear-gradient(135deg, rgba(139,0,0,.06), transparent 46%),
    rgba(255,255,255,.58);
  transform: rotate(-.5deg);
}

.s-novel-insert img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: sepia(.28) contrast(1.08) brightness(.92);
}

.s-novel-insert figcaption {
  color: #4b1717;
  font: 900 12px/1.7 var(--arg-mono);
}

body.zero-page {
  --arg-bg: #000;
  --arg-bg2: #050505;
  --arg-hot: #fff;
  --arg-accent: #fff;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.16), transparent 12rem),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px),
    #000;
  color: #fff;
}

.zero-quarantine {
  width: min(100% - 24px, 1280px);
  min-height: calc(100vh - 58px);
  margin: 0 auto;
  padding: clamp(22px, 5vw, 70px) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
}

.zero-void {
  grid-column: 1 / -1;
  min-height: 38vh;
  display: grid;
  align-content: center;
  padding: clamp(24px, 5vw, 70px);
  border: 1px solid rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.12), transparent 18rem),
    rgba(255,255,255,.035);
}

.zero-void p {
  color: rgba(255,255,255,.62);
  font: 900 12px/1.4 var(--arg-mono);
}

.zero-void h1 {
  margin: 10px 0;
  font: 900 clamp(56px, 12vw, 164px)/.95 var(--arg-serif);
}

.zero-void span {
  max-width: 780px;
  color: rgba(255,255,255,.76);
  line-height: 1.9;
}

.zero-ledger {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.zero-ledger article,
.zero-terminal,
.zero-actions {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.045);
}

.zero-ledger article {
  padding: 18px;
}

.zero-ledger b {
  display: block;
  color: #fff;
  font: 900 42px/1 var(--arg-mono);
}

.zero-ledger span {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
}

.zero-terminal {
  padding: 18px;
  font-family: var(--arg-mono);
}

.zero-terminal p {
  margin: 0 0 10px;
  color: #d8d8d8;
}

.zero-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
}

.zero-actions button,
.zero-actions a {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.2);
  color: #000;
  background: #fff;
  text-decoration: none;
}

@keyframes voidstreamScan {
  0% { transform: translateY(-18px); }
  100% { transform: translateY(18px); }
}

@media (max-width: 980px) {
  .mailos-window,
  .voidstream-player,
  .voidstream-console,
  .shrine-gate,
  .lost-kiosk,
  .doomshop-products,
  .doomshop-dashboard,
  .doomshop-receipt,
  .doomshop-counter,
  .novel-site,
  .zero-quarantine {
    grid-template-columns: 1fr;
  }

  .mailos-window {
    grid-template-rows: auto;
  }

  .mailos-titlebar,
  .mailos-headers,
  .lost-shelves,
  .zero-void,
  .zero-actions {
    grid-column: auto;
  }

  .mailos-folders,
  .mailos-list {
    border-right: 0;
    border-bottom: 1px solid #9fb3c4;
  }

  .mailos-headers,
  .shrine-offerings,
  .lost-shelves,
  .doomshop-tabs,
  .doomshop-meter,
  .doomshop-counter-actions,
  .doomshop-clerk nav,
  .zero-ledger {
    grid-template-columns: 1fr;
  }

  .novel-index {
    position: relative;
    top: auto;
  }

  .novel-paper h2 {
    position: relative;
    top: auto;
    width: auto;
  }
}

@media (max-width: 640px) {
  .mailos-list > button {
    grid-template-columns: 1fr;
  }

  .mailos-message-list > button {
    grid-template-columns: 1fr;
  }

  .mailos-toolbar,
  .shrine-actions,
  .zero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .voidstream-feed,
  .shrine-gate,
  .lost-board {
    min-height: 460px;
  }

  .doomshop-header {
    grid-template-columns: 1fr;
  }

  .doomshop-header strong {
    width: 150px;
  }

  .doomshop-actions {
    grid-template-columns: 1fr;
  }

  .novel-paper {
    padding: 20px;
  }
}

/* v39 touch feedback and generated jumpscare assets */
.arg-page button,
.arg-page a,
.arg-page [role="button"],
.portal-card,
.park-ride,
.tacky-card,
.x-post,
.mailos-list button {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  position: relative;
  overflow: hidden;
}

.arg-page .is-touching {
  transform: translateY(1px) scale(.988);
  filter: brightness(1.16) contrast(1.06);
}

.arg-touch-ripple {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 6;
  width: 14px;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.25);
  background: radial-gradient(circle, rgba(255,255,255,.75), color-mix(in srgb, var(--arg-hot) 44%, transparent) 48%, transparent 74%);
  mix-blend-mode: screen;
  animation: argTouchRipple .48s ease-out forwards;
}

@keyframes argTouchRipple {
  to { opacity: 0; transform: translate(-50%, -50%) scale(8); }
}

.arg-scare {
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.08) 0 1px, transparent 1px 5px),
    #000;
}

.arg-scare img {
  width: 100vw;
  height: 100dvh;
  max-height: none;
  object-fit: cover;
  transform-origin: 50% 50%;
}

@media (max-width: 760px) {
  .arg-page {
    font-size: 16px;
  }

  body.game-input-active .az-ribbon {
    opacity: 0;
    transform: translateY(-100%);
    pointer-events: none;
  }

  .three-stage {
    min-height: 100dvh;
  }

  .game-touch-controls {
    display: grid;
  }

  .game-hud,
  .game-hud.side {
    left: 10px;
    right: 10px;
    bottom: auto;
    top: max(10px, env(safe-area-inset-top));
    width: auto;
    max-height: 36dvh;
    padding: 10px;
    overflow: hidden;
    background: rgba(0,0,0,.44);
    backdrop-filter: blur(8px);
  }

  .game-is-active .game-hud {
    max-height: 86px;
    opacity: .68;
    pointer-events: none;
  }

  .game-is-active .game-hud p:not(.arg-eyebrow),
  .game-is-active .game-hud .arg-link-row {
    display: none;
  }

  .game-hud h1 {
    font-size: clamp(24px, 9vw, 42px);
  }

  .famicom-shell {
    min-height: 100dvh;
    padding: 8px;
  }

  .famicom-cabinet {
    min-height: calc(100dvh - 16px);
    padding: 10px;
    border-width: 5px;
    align-content: start;
  }

  .famicom-panel {
    padding-bottom: 118px;
  }

  .famicom-panel p {
    font-size: 13px;
    line-height: 1.55;
  }

  .famicom-panel h1 {
    font-size: clamp(28px, 10vw, 44px);
  }

  .az-ribbon {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px 10px;
  }

  .az-ribbon nav {
    width: 100%;
    padding-bottom: 4px;
  }

  .arg-page button,
  .arg-page a {
    min-height: 44px;
  }
}

/* v41 final cascade guards */
html {
  background: #000;
}

body.arg-page {
  background-color: #000;
}

body.arg-n .arg-shell {
  width: min(100% - 16px, 1600px);
}

body.arg-n .portal-home {
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(166,117,255,.08) 0 1px, transparent 1px) 0 0 / 37px 100%,
    linear-gradient(180deg, rgba(3,3,8,.96), rgba(12,5,20,.94)),
    url("/assets/images/fx_static_noise.webp") center / 360px;
}

.white-field,
.falling-field {
  min-height: 100dvh;
  overflow: hidden;
}

.white-thing.mobile-fall {
  top: -12vh !important;
  animation: whiteMobileFall 8.4s linear forwards !important;
}

.fall-word.mobile-fall-word {
  z-index: 2;
  will-change: transform;
}

.e404-main-search input {
  min-width: 0;
}

.voidstream-feed img {
  display: block;
}

.voidstream-player .void-comment-form {
  grid-column: 2;
}

@media (max-width: 760px) {
  .portal-dossier,
  .voidstream-player,
  .voidstream-console {
    grid-template-columns: 1fr;
  }

  .voidstream-player .void-comment-form {
    grid-column: 1;
  }

  .voidstream-feed,
  .voidstream-feed img {
    min-height: 62dvh;
  }

  .voidstream-page .live0-comments {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 220px;
    max-height: 34dvh;
    overflow: auto;
  }

  .voidstream-feed {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .e404-logo {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    font-size: clamp(42px, 18vw, 86px);
    line-height: .92;
  }

  .e404-main-search {
    grid-template-columns: 1fr;
  }

  .fall-word {
    font-size: clamp(18px, 8vw, 46px);
  }

  .game-touch-controls {
    position: fixed !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    z-index: 9200 !important;
  }
}

/* v50 story integration, D/N/Y/M/O/G refinements */
.n-admin-page {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 34px);
  margin: 0 clamp(16px, 3vw, 28px) clamp(18px, 3vw, 28px);
  padding: clamp(18px, 3vw, 30px);
  border-top: 1px solid rgba(216,199,255,.24);
  border-bottom: 1px solid rgba(216,199,255,.16);
  background: rgba(0,0,0,.32);
}

.n-admin-page figure {
  position: relative;
  min-height: 320px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(216,199,255,.22);
  background: #000;
}

.n-admin-page img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  filter: grayscale(.72) contrast(1.18) brightness(.72);
}

.n-admin-page figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.88));
  font: 900 11px/1.45 var(--arg-mono);
}

.n-admin-page h2 {
  margin: 6px 0 14px;
  font: 900 clamp(34px, 5vw, 74px)/1.02 var(--arg-serif);
}

.n-admin-page p {
  color: var(--arg-muted);
  line-height: 1.95;
}

.n-admin-list {
  display: grid;
  gap: 8px;
  margin: 22px 0 0;
}

.n-admin-list div {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(216,199,255,.14);
}

.n-admin-list dt {
  color: var(--arg-accent);
  font: 900 12px/1.4 var(--arg-mono);
}

.n-admin-list dd {
  margin: 0;
  color: var(--arg-muted);
}

.y-support {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.46);
}

.y-support b {
  display: block;
  margin-bottom: 6px;
  font: 900 12px/1 var(--arg-mono);
  color: #fff;
}

.y-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.y-support-grid a {
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  background: rgba(255,255,255,.07);
  text-decoration: none;
  font: 900 12px/1.25 var(--arg-mono);
}

.y-support-grid a.is-locked {
  opacity: .46;
  cursor: not-allowed;
  filter: grayscale(1);
}

.y-support-grid a.is-locked::after {
  content: " / locked";
  opacity: .75;
}

/* Site Y: cruel multi-BAD ending rebuild */
body.y-cruel-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(210,27,54,.18), transparent 34rem),
    linear-gradient(90deg, rgba(255,255,255,.045), transparent 22%, transparent 78%, rgba(255,255,255,.035)),
    #020202;
  color: #fff;
}

.y-finale-stage {
  width: min(1420px, calc(100% - 28px));
  min-height: calc(100vh - 49px);
  display: grid;
  align-items: center;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 56px) 0 78px;
}

.y-decision-room {
  position: relative;
  min-height: min(820px, calc(100vh - 74px));
  display: grid;
  align-items: end;
  padding: clamp(18px, 4vw, 44px);
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.58) 48%, rgba(0,0,0,.88)),
    url("/assets/images/Site-Y/y-bad-split-underpass.png") center / cover;
  box-shadow: 0 44px 140px rgba(0,0,0,.78);
  overflow: hidden;
}

.y-decision-room::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.12), transparent 18rem),
    repeating-linear-gradient(180deg, rgba(255,255,255,.055) 0 1px, transparent 1px 5px);
  mix-blend-mode: screen;
  opacity: .42;
}

.y-choice-panel,
.y-ending {
  position: relative;
  z-index: 1;
}

.y-choice-panel h1 {
  max-width: 980px;
  margin: 10px 0 18px;
  font: 900 clamp(46px, 7vw, 106px)/.98 var(--arg-serif);
  letter-spacing: 0;
  text-shadow: 0 0 32px rgba(210,27,54,.36);
}

.y-choice-panel > p:not(.arg-eyebrow) {
  max-width: 880px;
  color: rgba(255,255,255,.78);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 2;
}

.y-cruel-page .y-support {
  max-width: 920px;
  margin: 22px 0;
  border-color: rgba(255,255,255,.16);
  background: rgba(0,0,0,.54);
  backdrop-filter: blur(7px);
}

.y-cruel-page .y-support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.y-cruel-page .y-choice-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.y-cruel-page .y-choice-grid button {
  min-height: 168px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(210,27,54,.2), rgba(0,0,0,.5)),
    rgba(0,0,0,.62);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.y-cruel-page .y-choice-grid button:nth-child(7) {
  grid-column: span 2;
}

.y-cruel-page .y-choice-grid button b {
  font: 900 clamp(20px, 2.1vw, 32px)/1.1 var(--arg-serif);
}

.y-cruel-page .y-choice-grid button span {
  color: rgba(255,255,255,.7);
  font-size: .9rem;
  line-height: 1.65;
}

.y-cruel-page .y-choice-grid button:hover,
.y-cruel-page .y-choice-grid button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.58);
  background:
    linear-gradient(180deg, rgba(210,27,54,.42), rgba(0,0,0,.44)),
    rgba(0,0,0,.7);
}

.y-cruel-page .y-ending {
  width: min(860px, 100%);
  display: none;
  padding: clamp(20px, 4vw, 42px);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.84);
  box-shadow: 0 0 80px rgba(210,27,54,.18);
}

.y-cruel-page .y-ending.is-visible {
  display: block;
}

.y-cruel-page .y-ending > span {
  color: #ff9bad;
  font: 900 12px/1 var(--arg-mono);
}

.y-cruel-page .y-ending h2 {
  margin: 12px 0 18px;
  font: 900 clamp(38px, 6vw, 82px)/1.02 var(--arg-serif);
  letter-spacing: 0;
}

.y-cruel-page .y-ending p {
  color: rgba(255,255,255,.78);
  line-height: 1.95;
}

.y-cruel-page .y-ending .arg-link-row {
  margin-top: 24px;
}

.y-scare-layer {
  position: fixed;
  inset: 0;
  z-index: 1700;
  display: grid;
  place-items: end start;
  overflow: hidden;
  background: #000;
}

.y-scare-layer[hidden] {
  display: none !important;
}

.y-scare-layer img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.12) saturate(.82) brightness(.78);
  transform: scale(1.06);
}

.y-scare-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 38%, rgba(0,0,0,.64) 82%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.08) 0 1px, transparent 1px 4px);
  mix-blend-mode: screen;
}

.y-scare-layer div {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 28px));
  margin: clamp(16px, 4vw, 48px);
  padding: clamp(18px, 3vw, 34px);
  border-left: 4px solid #fff;
  background: rgba(0,0,0,.72);
  box-shadow: 0 0 80px rgba(0,0,0,.72);
}

.y-scare-layer b {
  display: block;
  margin-bottom: 10px;
  color: #ff9bad;
  font: 900 clamp(28px, 6vw, 86px)/.95 var(--arg-serif);
  letter-spacing: 0;
  text-shadow: 0 0 24px rgba(0,0,0,.8);
}

.y-scare-layer p {
  margin: 0;
  color: #fff;
  font: 900 clamp(15px, 2vw, 25px)/1.5 var(--arg-serif);
}

.y-scare-layer.is-active img {
  animation: yScareImage 1.28s steps(5) both;
}

.y-scare-layer.is-active div {
  animation: yScareText .42s steps(2) 3;
}

.y-scare-layer.is-help div { border-color: #fff; }
.y-scare-layer.is-leave div { border-color: #c0d3ff; }
.y-scare-layer.is-handover div { border-color: #ff7ad5; }
.y-scare-layer.is-erase div { border-color: #f7f7f7; }
.y-scare-layer.is-replace div { border-color: #9bd7ff; }
.y-scare-layer.is-silence div { border-color: #b7b7b7; }
.y-scare-layer.is-split div { border-color: #87ffd9; }

.y-scare-layer.is-help img { filter: contrast(1.25) brightness(.95) saturate(.72); }
.y-scare-layer.is-leave img { filter: contrast(1.2) brightness(.72) saturate(.7); }
.y-scare-layer.is-handover img { filter: contrast(1.2) brightness(.82) saturate(1.2) hue-rotate(325deg); }
.y-scare-layer.is-erase img { filter: grayscale(1) contrast(1.42) brightness(.92); }
.y-scare-layer.is-replace img { filter: contrast(1.25) brightness(.72) saturate(.55); }
.y-scare-layer.is-silence img { filter: contrast(1.32) brightness(.66) saturate(.42); }
.y-scare-layer.is-split img { filter: contrast(1.18) brightness(.74) saturate(.75) hue-rotate(18deg); }

@keyframes yScareImage {
  0% { transform: scale(1.1) translate(0, 0); opacity: 0; }
  12% { opacity: 1; filter: invert(1) contrast(2); }
  28% { transform: scale(1.02) translate(-12px, 8px); }
  48% { transform: scale(1.13) translate(10px, -6px); }
  70% { transform: scale(1.05) translate(-5px, 3px); }
  100% { transform: scale(1.07) translate(0, 0); opacity: 1; }
}

@keyframes yScareText {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(8px, -4px); }
}

@media (max-width: 1100px) {
  .y-cruel-page .y-support-grid,
  .y-cruel-page .y-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .y-cruel-page .y-choice-grid button:nth-child(7) {
    grid-column: span 2;
  }
}

@media (max-width: 680px) {
  .y-finale-stage {
    width: calc(100% - 16px);
  }

  .y-decision-room {
    min-height: auto;
    padding: 16px;
  }

  .y-cruel-page .y-support-grid,
  .y-cruel-page .y-choice-grid {
    grid-template-columns: 1fr;
  }

  .y-cruel-page .y-choice-grid button,
  .y-cruel-page .y-choice-grid button:nth-child(7) {
    grid-column: auto;
    min-height: 128px;
  }

  .y-scare-layer {
    place-items: end stretch;
  }

  .y-scare-layer div {
    width: auto;
    margin: 12px;
  }
}

.hidden-switch-shell {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 64px);
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), transparent 22rem),
    #000;
  color: #fff;
}

.hidden-switch-panel {
  width: min(760px, 100%);
  padding: clamp(22px, 5vw, 46px);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.045);
  box-shadow: 0 40px 120px rgba(0,0,0,.62);
}

.hidden-switch-panel h1 {
  margin: 10px 0 18px;
  font: 900 clamp(42px, 8vw, 92px)/1.02 var(--arg-serif);
}

.life-retry-page .hidden-switch-panel h1 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .28em;
  align-items: baseline;
  max-width: 100%;
  font-size: clamp(34px, 7vw, 68px);
  line-height: 1.14;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}

.life-retry-page .hidden-switch-panel h1 span {
  display: inline-block;
  white-space: nowrap;
}

.hidden-switch-panel p {
  color: rgba(255,255,255,.74);
  line-height: 1.95;
}

.hidden-switch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.hidden-switch-actions button,
.hidden-switch-actions a {
  min-height: 46px;
  display: inline-grid;
  place-items: center;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.24);
  color: #fff;
  background: rgba(255,255,255,.08);
  text-decoration: none;
  font: 900 12px/1 var(--arg-mono);
}

.hidden-switch-status {
  margin-top: 18px;
  color: rgba(255,255,255,.52);
  font: 800 12px/1.7 var(--arg-mono);
}

.az-story-trace {
  position: relative;
}

.map-memory-erase {
  position: absolute;
  right: 22px;
  bottom: 14px;
  width: 9px;
  height: 9px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  color: transparent;
  background: rgba(255,255,255,.06);
  text-decoration: none;
}

.map-memory-erase:focus,
.map-memory-erase:hover {
  width: auto;
  height: auto;
  padding: 8px 10px;
  color: var(--arg-ink);
  background: rgba(255,255,255,.16);
  font: 900 11px/1 var(--arg-mono);
}

.life-retry-switch {
  position: absolute;
  left: 66%;
  top: 58%;
  z-index: 4;
  width: 82px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: perspective(420px) rotateX(58deg) rotateZ(-12deg);
  border: 2px solid rgba(255,255,255,.46);
  border-radius: 50%;
  color: #fff;
  background:
    radial-gradient(circle, rgba(255,255,255,.96) 0 12%, rgba(145,243,255,.24) 13% 42%, rgba(0,0,0,.62) 43%),
    rgba(0,0,0,.48);
  text-align: center;
  text-decoration: none;
  font: 900 9px/1.15 var(--arg-mono);
  box-shadow: 0 0 34px rgba(145,243,255,.35);
}

.life-retry-switch span {
  max-width: 56px;
}

.white-thing.dot {
  width: 9px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #050505;
}

.white-thing.frame {
  width: 96px;
  aspect-ratio: 4 / 3;
  border: 2px solid #050505;
  background: transparent;
}

.white-thing.thread {
  width: 1px;
  height: 120px;
  background: #050505;
}

.white-thing.chair {
  width: 54px;
  height: 70px;
  border: 3px solid #3a220e;
  border-bottom: 0;
}

.white-thing.chair::before,
.white-thing.chair::after {
  content: "";
  position: absolute;
  bottom: -28px;
  width: 3px;
  height: 28px;
  background: #3a220e;
}

.white-thing.chair::before {
  left: 8px;
}

.white-thing.chair::after {
  right: 8px;
}

.white-thing.rope {
  width: 34px;
  height: 74px;
  border: 3px solid #6b4b2a;
  border-top: 0;
  border-radius: 0 0 50% 50%;
}

.white-thing.rope::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 72px;
  width: 3px;
  height: 70px;
  transform: translateX(-50%);
  background: #6b4b2a;
}

.white-thing.stain {
  width: 120px;
  height: 42px;
  border-radius: 50%;
  background: rgba(0,0,0,.08);
  filter: blur(1px);
}

.white-thing.barcode {
  width: 118px;
  height: 54px;
  background:
    repeating-linear-gradient(90deg, #050505 0 2px, transparent 2px 5px, #050505 5px 9px, transparent 9px 14px),
    #fff;
  border: 1px solid #050505;
}

.white-thing.mobile-still {
  animation: whiteAppear 9s ease forwards;
}

body.o-silent-observation {
  background: #fff;
  color: #050505;
  overflow: hidden;
}

body.o-silent-observation .az-ribbon {
  display: none;
}

body.o-silent-observation .white-observatory {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.018), transparent 18rem),
    radial-gradient(circle at 8% 12%, rgba(0,0,0,.025), transparent 14rem),
    #fff;
}

body.o-silent-observation .white-field {
  position: fixed;
  inset: 0;
  min-height: 100dvh;
  background: #fff;
  overflow: hidden;
}

body.o-silent-observation .white-ui,
body.o-silent-observation .white-ledger,
body.o-silent-observation .white-controls,
body.o-silent-observation .white-meter {
  display: none !important;
}

body.o-silent-observation .white-thing {
  color: #050505;
  opacity: 0;
  mix-blend-mode: multiply;
  animation-name: whiteSilentAppear;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.white-thing.handprint {
  width: 54px;
  height: 72px;
  border-radius: 48% 44% 42% 46%;
  background:
    radial-gradient(circle at 18% 10%, #050505 0 5px, transparent 6px),
    radial-gradient(circle at 38% 5%, #050505 0 6px, transparent 7px),
    radial-gradient(circle at 58% 8%, #050505 0 5px, transparent 6px),
    radial-gradient(circle at 76% 16%, #050505 0 4px, transparent 5px),
    radial-gradient(ellipse at 48% 58%, #050505 0 24px, transparent 25px);
  filter: blur(.4px);
}

.white-thing.mouth {
  width: 92px;
  height: 28px;
  border-top: 4px solid #050505;
  border-bottom: 1px solid rgba(5,5,5,.45);
  border-radius: 50%;
}

.white-thing.door-slit {
  width: 18px;
  height: 150px;
  background:
    linear-gradient(90deg, transparent, #050505 44% 56%, transparent),
    rgba(5,5,5,.05);
  box-shadow: 0 0 22px rgba(5,5,5,.18);
}

.white-thing.calendar {
  padding: 7px 9px 5px;
  border: 1px solid #050505;
  background: #fff;
  font: 900 18px/1 var(--arg-mono);
}

.white-thing.void-hole {
  width: 84px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, #050505 0 34%, rgba(5,5,5,.48) 35% 48%, transparent 49%);
  filter: blur(.3px);
}

.white-thing.thin-cross {
  width: 96px;
  height: 96px;
}

.white-thing.thin-cross::before,
.white-thing.thin-cross::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  background: #050505;
}

.white-thing.thin-cross::after {
  transform: rotate(90deg);
}

.white-thing.white-gate-seed {
  width: 130px;
  height: 180px;
  border: 2px solid #050505;
  border-bottom: 0;
  border-radius: 58px 58px 0 0;
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(5,5,5,.16) 49% 51%, transparent 52%),
    rgba(255,255,255,.2);
  box-shadow: inset 0 0 0 7px #fff, 0 0 24px rgba(5,5,5,.16);
}

.white-thing.white-final-gate {
  left: 50% !important;
  top: 50% !important;
  width: min(38vw, 300px);
  min-width: 170px;
  height: min(64vh, 520px);
  transform: translate(-50%, -50%);
  border: 3px solid #050505;
  border-bottom: 0;
  border-radius: 44% 44% 0 0;
  background:
    radial-gradient(ellipse at 50% 82%, rgba(255,255,255,.88) 0 18%, transparent 19%),
    linear-gradient(90deg, transparent 0 47%, #050505 48% 52%, transparent 53%),
    repeating-linear-gradient(90deg, rgba(5,5,5,.12) 0 1px, transparent 1px 13px),
    #fff;
  box-shadow:
    inset 0 0 0 13px #fff,
    inset 0 0 0 15px #050505,
    0 0 0 9999px rgba(255,255,255,.72),
    0 0 80px rgba(5,5,5,.28);
  opacity: 0;
  animation: whiteGateConfirm 7.2s ease-in forwards !important;
}

body.o-silent-observation .white-observatory.is-gate-fixed .white-field {
  background:
    radial-gradient(circle at 50% 50%, rgba(5,5,5,.08), transparent 18rem),
    #fff;
}

@keyframes whiteSilentAppear {
  0% { opacity: 0; filter: blur(12px); }
  18%, 64% { opacity: .82; filter: blur(.2px); }
  100% { opacity: 0; filter: blur(18px); }
}

@keyframes whiteGateConfirm {
  0% { opacity: 0; filter: blur(18px); transform: translate(-50%, -50%) scale(.86); }
  28% { opacity: .42; filter: blur(8px); }
  72% { opacity: .96; filter: blur(.5px); }
  100% { opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1.04); }
}

@media (min-width: 981px) {
  .voidstream-player {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    grid-template-areas:
      "feed comments"
      "feed form";
    align-items: stretch;
  }

  .voidstream-feed {
    grid-area: feed;
    min-height: clamp(420px, 60vh, 720px);
  }

  .voidstream-page .live0-comments {
    grid-area: comments;
    min-height: 0;
    max-height: none;
    overflow: auto;
  }

  .voidstream-player .void-comment-form {
    grid-area: form;
    align-self: end;
  }
}

@media (max-width: 760px) {
  .n-admin-page,
  .n-admin-list div {
    grid-template-columns: 1fr;
  }

  .y-support-grid {
    grid-template-columns: 1fr;
  }

  .life-retry-switch {
    left: auto;
    right: 18px;
    top: 58%;
    width: 68px;
  }
}

/* v64 Y/Z final story pass */
.y-consequence-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 1040px;
  margin: 22px 0 0;
}

.y-consequence-strip article,
.y-thread-stack article {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.58);
}

.y-consequence-strip article {
  min-height: 116px;
  padding: 14px;
}

.y-consequence-strip b,
.y-thread-stack span {
  display: block;
  color: #ffb4c2;
  font: 900 .78rem/1 var(--arg-mono);
}

.y-consequence-strip span {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  line-height: 1.7;
}

.y-thread-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 1040px;
  margin: 18px 0;
}

.y-thread-stack article {
  min-height: 106px;
  padding: 14px;
}

.y-thread-stack p {
  margin: 9px 0 0;
  color: rgba(255,255,255,.76);
  font-size: .92rem;
  line-height: 1.65;
}

.y-end-transfer a:first-child {
  border-color: rgba(255,180,194,.78);
  color: #fff;
  background: rgba(150,0,28,.56);
}

body.z-ending-page {
  --z-ink: #e7ffd6;
  --z-green: #57ff6e;
  --z-red: #ff2b58;
  --z-blue: #53b5ff;
  --z-yellow: #ffe071;
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% 10%, rgba(83,181,255,.18), transparent 22rem),
    radial-gradient(circle at 82% 90%, rgba(255,43,88,.16), transparent 28rem),
    linear-gradient(180deg, #030305, #000);
  color: var(--z-ink);
}

.z-ending-shell {
  width: min(1480px, calc(100% - 24px));
  min-height: calc(100vh - 48px);
  display: grid;
  align-items: center;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 42px) 0 64px;
}

.z-famicom-cabinet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 18px;
  align-items: stretch;
}

.z-screen-frame {
  min-width: 0;
  padding: clamp(12px, 2vw, 22px);
  border: 4px solid #221b2b;
  background:
    linear-gradient(135deg, #3a3345, #120f17 48%, #3e2b35),
    #1a1620;
  box-shadow: 0 34px 110px rgba(0,0,0,.86), inset 0 0 0 2px rgba(255,255,255,.08);
}

.z-screen {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: min(760px, calc(100vh - 150px));
  overflow: hidden;
  border: 3px solid #0b0b0f;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.48)),
    #07121a;
  image-rendering: pixelated;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.04), inset 0 0 70px rgba(0,0,0,.88);
  font-family: "MS Gothic", "Yu Gothic", ui-monospace, monospace;
}

.z-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 52%, transparent 0 42%, rgba(0,0,0,.46) 74%, rgba(0,0,0,.86) 100%),
    linear-gradient(90deg, rgba(255,0,70,.1), transparent 16%, transparent 84%, rgba(83,181,255,.08));
  z-index: 7;
}

.z-scanline {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.1) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 2px, transparent 2px 6px);
  mix-blend-mode: overlay;
  opacity: .52;
}

.z-hud {
  position: absolute;
  inset: 12px 12px auto;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 2px solid rgba(231,255,214,.7);
  background: rgba(0,0,0,.7);
  color: var(--z-green);
  font: 900 clamp(10px, 1.4vw, 14px)/1.2 "MS Gothic", monospace;
  text-shadow: 0 0 10px rgba(87,255,110,.75);
}

.z-hud b {
  color: var(--z-yellow);
}

.z-village {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, #0b1934 0 45%, #091a19 45% 65%, #061006 65%),
    #061006;
}

.z-village::before {
  content: "";
  position: absolute;
  inset: 44% 0 0;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(255,224,113,.2) 7% 9%, transparent 9% 18%, rgba(255,224,113,.16) 18% 20%, transparent 20%),
    repeating-linear-gradient(90deg, #102d16 0 32px, #0b240e 32px 64px),
    #0d2611;
}

.z-tile,
.z-sprite,
.z-noise-orb {
  position: absolute;
}

.z-moon {
  top: 18%;
  right: 19%;
  width: 54px;
  height: 54px;
  background: #dff6b0;
  box-shadow: 0 0 0 6px rgba(223,246,176,.12), 0 0 34px rgba(223,246,176,.45);
}

.z-shrine {
  left: 10%;
  top: 44%;
  width: 18%;
  height: 21%;
  background:
    linear-gradient(90deg, #3b1118 0 16%, transparent 16% 84%, #3b1118 84%),
    linear-gradient(180deg, #911b2e 0 22%, #2b0d14 22% 100%);
  box-shadow: inset 0 -10px 0 rgba(0,0,0,.32);
}

.z-house {
  width: 13%;
  height: 16%;
  top: 53%;
  background:
    linear-gradient(135deg, transparent 0 49%, #5a3040 50% 70%, transparent 71%),
    linear-gradient(180deg, #25334d 0 28%, #10192c 28%);
  border-bottom: 8px solid #08080a;
}

.z-house-a {
  left: 38%;
}

.z-house-b {
  right: 16%;
  filter: hue-rotate(90deg) brightness(.82);
}

.z-river {
  left: -8%;
  right: -8%;
  bottom: 8%;
  height: 15%;
  transform: skewY(-4deg);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.22) 0 8px, transparent 8px 28px),
    linear-gradient(180deg, #123c52, #061725);
  opacity: .88;
}

.z-sprite {
  width: clamp(28px, 4.2vw, 52px);
  height: clamp(42px, 6vw, 74px);
  position: absolute !important;
  z-index: 4;
  box-shadow: 0 8px 0 rgba(0,0,0,.35);
}

.z-sprite::before,
.z-sprite::after {
  content: "";
  position: absolute;
}

.z-sprite-mashiro {
  left: 46%;
  bottom: 24%;
  width: clamp(19px, 2.55vw, 31px);
  height: clamp(43px, 5.9vw, 70px);
  border: 0;
  padding: 0;
  background:
    linear-gradient(90deg, transparent 0 16%, #513b4d 16% 84%, transparent 84%),
    linear-gradient(180deg, #f0d7c8 0 17%, #c95379 17% 61%, #3a2032 61%);
  cursor: pointer;
}

.z-sprite-mashiro::before {
  left: 22%;
  top: -18%;
  width: 56%;
  height: 25%;
  background: #f0d7c8;
  box-shadow: 0 -5px 0 #4b3145, -3px 2px 0 #4b3145, 3px 2px 0 #4b3145;
}

.z-sprite-yumeo {
  left: 58%;
  bottom: 29%;
  width: clamp(24px, 3.1vw, 38px);
  height: clamp(50px, 6.4vw, 78px);
  background:
    linear-gradient(90deg, transparent 0 15%, #202437 15% 85%, transparent 85%),
    linear-gradient(180deg, #59677d 0 14%, #202437 14% 69%, #12151d 69%);
  animation: zSpritePulse 1.2s steps(2) infinite;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.z-sprite-yumeo::before {
  left: 24%;
  top: -24%;
  width: 52%;
  height: 28%;
  background: #d5ad99;
  box-shadow: 0 -6px 0 #171a26, -5px 2px 0 #171a26, 5px 2px 0 #171a26, 0 7px 0 #4d5870;
}

.z-sprite-yumeo::after {
  left: 42%;
  top: 21%;
  width: 16%;
  height: 46%;
  background: #8fa0ba;
  box-shadow: 0 10px 0 #d4c29e;
}

.z-sprite-yuu {
  right: 27%;
  bottom: 35%;
  width: clamp(18px, 2.4vw, 29px);
  height: clamp(42px, 5.7vw, 68px);
  border: 0;
  padding: 0;
  opacity: .68;
  background:
    linear-gradient(180deg, #f7f7ff 0 18%, #171722 18% 68%, #050507 68%);
  filter: blur(.2px);
  animation: zYuuFlicker 2.8s steps(3) infinite;
}

.z-sprite-yuu::before {
  left: 20%;
  top: -24%;
  width: 60%;
  height: 28%;
  background: #f0f0f4;
}

.z-sprite:focus-visible,
.z-world-pc:focus-visible {
  outline: 2px solid #dff6b0;
  outline-offset: 4px;
}

.z-world-pc,
.z-world-famicom {
  position: absolute !important;
  z-index: 5;
}

.z-world-pc {
  left: 24%;
  bottom: 23%;
  width: clamp(50px, 7vw, 86px);
  height: clamp(47px, 6.3vw, 77px);
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.z-world-monitor {
  position: absolute;
  left: 12%;
  top: 0;
  width: 76%;
  height: 61%;
  border: 4px solid #8ab09a;
  background:
    repeating-linear-gradient(0deg, rgba(140,255,173,.16) 0 2px, transparent 2px 6px),
    #0b2014;
  box-shadow: inset 0 0 0 4px #14212a, 4px 5px 0 #070b0a;
}

.z-world-monitor::after {
  content: "END.LOG";
  position: absolute;
  inset: 25% 7% auto;
  color: #dff6b0;
  font: 900 clamp(6px, .75vw, 9px)/1 "MS Gothic", monospace;
}

.z-world-keyboard {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3%;
  height: 22%;
  border: 3px solid #596a6a;
  background: repeating-linear-gradient(90deg, #c3c9bd 0 4px, #434d4a 4px 6px);
  transform: perspective(24px) rotateX(28deg);
}

.z-world-alert {
  position: absolute;
  z-index: 2;
  right: -12%;
  top: -28%;
  display: grid;
  place-items: center;
  width: clamp(19px, 2.35vw, 29px);
  aspect-ratio: 1;
  border: 2px solid #190b06;
  border-radius: 50%;
  color: #190b06;
  background: #ffe071;
  font: 900 clamp(14px, 1.8vw, 21px)/1 "MS Gothic", monospace;
  animation: zPcAlert 1s steps(2, end) infinite;
}

.z-world-famicom {
  right: 13%;
  bottom: 18%;
  width: clamp(43px, 6.4vw, 78px);
  height: clamp(24px, 3.4vw, 41px);
  border: 4px solid #a8a2a0;
  background: linear-gradient(180deg, #d5cbc6 0 30%, #a43e3e 30% 82%, #6f2626 82%);
  box-shadow: 4px 4px 0 #120b0b;
}

.z-world-cartridge {
  position: absolute;
  left: 33%;
  bottom: 77%;
  width: 34%;
  height: 46%;
  border: 3px solid #c5b2a8;
  background: #3d3434;
}

.z-world-controller {
  position: absolute;
  right: -28%;
  bottom: -29%;
  width: 44%;
  height: 42%;
  border: 2px solid #b5aaa4;
  background: radial-gradient(circle at 72% 35%, #311111 0 12%, transparent 13%), #d7cdc8;
}

.z-inspect-copy {
  position: absolute;
  z-index: 11;
  left: 50%;
  top: 18%;
  max-width: min(74%, 420px);
  margin: 0;
  padding: 9px 12px;
  transform: translateX(-50%);
  border: 2px solid rgba(223,246,176,.7);
  color: #efffde;
  background: rgba(5,16,10,.88);
  box-shadow: 0 0 18px rgba(87,255,110,.16);
  font: 900 clamp(11px, 1.45vw, 15px)/1.7 "MS Gothic", "Yu Gothic", monospace;
  text-align: center;
}

.z-noise-orb {
  width: 18px;
  height: 18px;
  background: var(--z-red);
  opacity: .45;
  animation: zFloatNoise 7s steps(9) infinite;
}

.z-noise-one {
  left: 25%;
  top: 36%;
}

.z-noise-two {
  right: 34%;
  top: 27%;
  animation-delay: -2.5s;
  background: var(--z-blue);
}

.z-outcome-panel {
  position: absolute;
  left: 12px;
  right: 12px;
  top: 58px;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 2px solid rgba(255,224,113,.55);
  background: rgba(0,0,0,.62);
  color: var(--z-yellow);
  font: 900 clamp(10px, 1.25vw, 13px)/1.35 "MS Gothic", monospace;
}

.z-dialog-box {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 12;
  min-height: 26%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 8px;
  padding: clamp(12px, 2vw, 18px);
  border: 3px solid #dff6b0;
  background: linear-gradient(180deg, rgba(8,22,24,.96), rgba(0,0,0,.98));
  color: #f5ffed;
  box-shadow: 0 0 0 3px #091212, 0 0 30px rgba(87,255,110,.18);
}

.z-dialog-box[hidden] {
  display: none;
}

.z-dialog-name {
  width: fit-content;
  min-width: 7em;
  padding: 4px 8px;
  background: #dff6b0;
  color: #07100a;
  font: 900 .9rem/1 "MS Gothic", monospace;
}

.z-dialog-box p {
  min-height: 5.8em;
  margin: 0;
  color: #f5ffed;
  font: 900 clamp(14px, 1.8vw, 19px)/1.72 "MS Gothic", "Yu Gothic", monospace;
  overflow-wrap: anywhere;
  text-shadow: 0 0 8px rgba(87,255,110,.42);
}

.z-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.z-dialog-actions button {
  min-height: 38px;
  border: 2px solid #dff6b0;
  color: #dff6b0;
  background: #07100a;
  font: 900 .82rem/1 "MS Gothic", monospace;
  cursor: pointer;
}

.z-dialog-actions button:hover,
.z-dialog-actions button:focus-visible {
  color: #07100a;
  background: #dff6b0;
}

.z-dialog-actions button:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.z-final-stamp {
  position: absolute;
  inset: 0;
  z-index: 11;
  display: grid;
  place-items: center;
  padding: 24px;
  text-align: center;
  pointer-events: none;
  background: rgba(0,0,0,.36);
}

.z-final-stamp[hidden] {
  display: none;
}

.z-final-stamp b {
  display: block;
  color: #ff2b58;
  font: 900 clamp(34px, 7vw, 88px)/.92 "MS Gothic", monospace;
  text-shadow: 0 0 22px rgba(255,43,88,.72);
}

.z-final-stamp span {
  display: block;
  margin-top: 18px;
  color: #fff;
  font: 900 clamp(13px, 2vw, 18px)/1.6 "MS Gothic", monospace;
}

.z-final-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
  pointer-events: auto;
}

.z-final-links[hidden],
.z-dialog-actions button[hidden] {
  display: none !important;
}

.z-final-links a {
  border: 1px solid rgba(231,255,214,.7);
  padding: 10px 12px;
  color: #e7ffd6;
  background: rgba(0,0,0,.68);
  font: 900 12px/1 "MS Gothic", monospace;
  letter-spacing: .08em;
  text-decoration: none;
}

.z-final-links a:hover,
.z-final-links a:focus-visible {
  color: #101b11;
  background: #e7ffd6;
  outline: 2px solid #e7ffd6;
  outline-offset: 3px;
}

.z-ledger {
  min-height: 100%;
  padding: 18px;
  border: 2px solid rgba(87,255,110,.4);
  background:
    repeating-linear-gradient(180deg, rgba(87,255,110,.06) 0 1px, transparent 1px 5px),
    rgba(0,0,0,.72);
  color: rgba(231,255,214,.86);
  font-family: "MS Gothic", "Yu Gothic", monospace;
}

.z-ledger p {
  margin: 0 0 18px;
  font-weight: 900;
  line-height: 1.7;
}

.z-ledger-reset-hints {
  display: grid;
  gap: 9px;
  padding: 11px 12px;
  border: 1px solid rgba(87,255,110,.32);
  background:
    linear-gradient(90deg, rgba(87,255,110,.09) 0 1px, transparent 1px) 0 0 / 10px 100%,
    rgba(0,0,0,.34);
}

.z-ledger-reset-hints b,
.z-ledger-reset-hints span {
  display: block;
}

.z-ledger-reset-hints b {
  color: #fff;
  font: 900 13px/1.35 "MS Gothic", monospace;
}

.z-ledger-reset-hints span {
  color: rgba(231,255,214,.82);
  font-size: .83rem;
  line-height: 1.65;
}

.z-ledger-reset-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
}

.z-ledger-reset-links a {
  padding: 7px 9px;
  border: 1px solid rgba(87,255,110,.45);
  background: rgba(87,255,110,.12);
  color: #eaffdf;
  font: 900 11px/1 "MS Gothic", monospace;
  text-decoration: none;
}

.z-ledger-reset-links a:hover,
.z-ledger-reset-links a:focus-visible {
  background: rgba(87,255,110,.24);
  outline: 1px solid rgba(231,255,214,.8);
}

.z-ledger ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.z-ledger li {
  padding: 9px 10px;
  border-left: 3px solid var(--z-green);
  background: rgba(87,255,110,.06);
  font-size: .86rem;
  line-height: 1.55;
}

.z-started .z-screen {
  animation: zScreenWake .9s steps(5) both;
}

.z-story-ended .z-village {
  filter: grayscale(.8) contrast(1.18) brightness(.82);
}

.z-route-help .z-sprite-yuu { right: 43%; bottom: 25%; opacity: .84; }
.z-route-leave .z-sprite-yuu { right: 18%; bottom: 42%; opacity: .72; }
.z-route-handover .z-sprite-yuu { right: 58%; bottom: 31%; filter: hue-rotate(285deg) blur(.5px); }
.z-route-erase .z-sprite-yuu { opacity: .24; background: #000; box-shadow: 0 0 0 3px #000; }
.z-true-end-route .z-screen {
  box-shadow:
    inset 0 0 0 4px rgba(232,255,238,.14),
    inset 0 0 90px rgba(160,255,190,.18),
    0 0 46px rgba(160,255,190,.14);
}

.z-true-end-route .z-village {
  filter: saturate(1.12) brightness(1.08);
}

.z-true-end-route .z-sprite-yuu {
  right: 44%;
  bottom: 30%;
  opacity: .96;
  background:
    linear-gradient(180deg, #f3fff5 0 24%, #99ffc0 24% 62%, #154d2b 62%);
  box-shadow: 0 0 18px rgba(210,255,226,.55), 0 8px 0 rgba(0,0,0,.28);
}

.z-true-end-route .z-final-stamp {
  background: rgba(0, 18, 8, .66);
  align-content: center;
  overflow: hidden;
}

.z-true-end-route .z-final-stamp b {
  color: #d9ffe4;
  font-size: clamp(26px, 5.4vw, 64px);
  text-shadow: 0 0 24px rgba(180,255,208,.76);
}

.z-author-message {
  width: min(720px, calc(100vw - 48px));
  max-height: min(58vh, 520px);
  margin: 24px auto 0;
  padding: 18px 20px;
  overflow: auto;
  border: 1px solid rgba(217,255,228,.34);
  background: rgba(0,0,0,.58);
  box-shadow:
    inset 0 0 22px rgba(180,255,208,.06),
    0 0 26px rgba(120,255,170,.08);
  color: rgba(245,255,248,.9);
  font: 400 clamp(12px, 1.45vw, 15px)/1.9 "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
  text-align: left;
  white-space: pre-line;
  pointer-events: auto;
}

/* v72 hidden route jump + stronger page identity backdrops */
.az-ribbon:empty {
  display: none;
}

body.site-map-page {
  --arg-hot: #55d6ff;
  --arg-cold: #ff7b3e;
  --arg-accent: #ffd166;
  background:
    linear-gradient(90deg, rgba(85,214,255,.10) 0 1px, transparent 1px) 0 0 / 42px 100%,
    radial-gradient(circle at 12% 12%, rgba(255,123,62,.22), transparent 26rem),
    radial-gradient(circle at 88% 4%, rgba(85,214,255,.18), transparent 30rem),
    linear-gradient(135deg, #110d12, #06151b 52%, #09070b);
}

body.site-map-page .arg-hero {
  border-bottom-color: rgba(255,209,102,.22);
}

.map-route-notes .arg-panel {
  min-height: 190px;
}

.map-reset-panel {
  min-height: 0;
  border-color: rgba(255, 122, 85, .34);
  background:
    linear-gradient(90deg, rgba(255, 122, 85, .11), transparent 36%),
    rgba(0, 0, 0, .36);
}

.map-reset-panel h3 {
  color: #ffd166;
}

.map-reset-panel p {
  max-width: 980px;
}

.map-reset-panel [data-arg-full-reset] {
  border-color: rgba(255, 95, 95, .58);
  color: #fff;
  background: rgba(140, 0, 24, .48);
}

.map-reset-panel [data-arg-full-reset]:hover,
.map-reset-panel [data-arg-full-reset]:focus-visible {
  border-color: #ff6b6b;
  background: rgba(210, 27, 54, .7);
  outline: none;
}

.map-reset-status {
  margin: 12px 0 0;
  color: rgba(255, 214, 102, .72) !important;
  font: 800 12px/1.7 var(--arg-mono, "MS Gothic", monospace);
}

/* v89 Community BBS and update history pages */
body.arg-community {
  min-height: 100vh;
  color: #171b16;
  background:
    linear-gradient(90deg, rgba(58,91,61,.08) 0 1px, transparent 1px) 0 0 / 42px 100%,
    linear-gradient(180deg, #eef3dc, #d7e0c8 48%, #eef1df);
  font-family: "MS PGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

body.arg-community::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.35) 0 1px, transparent 1px 5px),
    radial-gradient(circle at 20% 12%, rgba(255,255,255,.7), transparent 18rem);
  mix-blend-mode: multiply;
}

.community-shell {
  width: min(1180px, calc(100vw - 24px));
}

.community-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
  gap: 18px;
  align-items: stretch;
  border: 3px double #26321f;
  color: #172010;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(245,248,226,.92)),
    #eef3dc;
  box-shadow: 10px 10px 0 rgba(34,42,27,.18);
}

.community-hero .arg-title,
.community-hero .arg-lead,
.community-hero .arg-eyebrow {
  color: #172010;
}

.community-hero .arg-title {
  text-shadow: none;
}

.community-hero .arg-link-row a,
.community-hero .arg-link-row button {
  border-color: #26321f;
  color: #172010;
  background: #fffef0;
  box-shadow: 3px 3px 0 rgba(38,50,31,.18);
}

.community-counter,
.community-version-card {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 18px;
  border: 2px solid #26321f;
  background:
    linear-gradient(180deg, rgba(11,35,18,.92), rgba(4,14,9,.96)),
    #061008;
  color: #b8ff96;
  box-shadow: inset 0 0 0 3px rgba(184,255,150,.08);
}

.community-counter > span,
.community-version-card > span {
  color: rgba(184,255,150,.72);
  font: 900 11px/1.2 var(--arg-mono);
  letter-spacing: .12em;
}

.community-counter > b,
.community-version-card > b {
  color: #e4ffd8;
  font: 900 clamp(38px, 7vw, 66px)/.95 var(--arg-mono);
  letter-spacing: .04em;
  text-shadow: 0 0 16px rgba(184,255,150,.35);
}

.community-counter dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.community-counter div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px dotted rgba(184,255,150,.34);
  padding-top: 8px;
}

.community-counter dt,
.community-counter dd {
  margin: 0;
  font: 900 12px/1.2 var(--arg-mono);
}

.community-board-layout {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.community-bbs-form,
.community-posts-panel,
.community-release,
.community-release-policy .arg-panel {
  border: 3px double #26321f;
  background: rgba(255,255,245,.9);
  color: #172010;
  box-shadow: 8px 8px 0 rgba(34,42,27,.14);
}

.community-bbs-form {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
}

.community-bbs-form h2,
.community-posts-panel h2,
.community-release h2 {
  margin: 0;
  color: #172010;
  font: 900 24px/1.2 "MS PGothic", sans-serif;
  letter-spacing: 0;
}

.community-bbs-form label {
  display: grid;
  gap: 6px;
  color: #172010;
  font-weight: 900;
}

.community-bbs-form input,
.community-bbs-form select,
.community-bbs-form textarea {
  width: 100%;
  min-width: 0;
  border: 2px inset #d5d5c5;
  border-radius: 0;
  color: #111;
  background: #fff;
  font: 700 14px/1.55 "MS PGothic", "Yu Gothic", sans-serif;
}

.community-bbs-form input,
.community-bbs-form select {
  min-height: 38px;
  padding: 6px 8px;
}

.community-bbs-form textarea {
  min-height: 180px;
  padding: 8px;
  resize: vertical;
}

.community-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.community-form-actions button {
  min-height: 36px;
  border: 2px outset #fff;
  border-radius: 0;
  color: #111;
  background: #d6d6d6;
  font-weight: 900;
  cursor: pointer;
}

.community-form-actions button:first-child {
  color: #fff;
  background: #245c33;
}

.community-form-status {
  margin: 0;
  color: #495340;
  font-size: 12px;
}

.community-posts-panel {
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.community-posts-panel > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 3px double #26321f;
  background: #dde7c9;
}

.community-posts-panel > header span {
  font: 900 13px/1.2 var(--arg-mono);
}

.community-post-list {
  display: grid;
  gap: 0;
}

.community-post {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-bottom: 1px dotted rgba(38,50,31,.45);
  background:
    linear-gradient(90deg, rgba(255,255,255,.56), transparent),
    rgba(255,255,245,.84);
}

.community-post:nth-child(even) {
  background:
    linear-gradient(90deg, rgba(221,231,201,.52), transparent),
    rgba(250,252,238,.88);
}

.community-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: #536048;
  font: 900 12px/1.3 var(--arg-mono);
}

.community-post-meta span {
  padding: 2px 7px;
  border: 1px solid #26321f;
  color: #172010;
  background: #eef3dc;
}

.community-post h3 {
  margin: 0;
  color: #172010;
  font-size: 18px;
}

.community-post-message {
  margin: 0;
  color: #1f261a;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.updates-hero {
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(224,232,222,.92)),
    #eef3dc;
}

.community-version-card p {
  margin: 0;
  color: rgba(228,255,216,.72);
  font: 900 12px/1.5 var(--arg-mono);
}

.community-release-policy .arg-panel h3,
.community-release-policy .arg-panel p {
  color: #172010;
}

.community-changelog {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.community-release {
  padding: 20px;
}

.community-release header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 2px solid #26321f;
  color: #536048;
  font: 900 12px/1.3 var(--arg-mono);
}

.community-release ul {
  margin: 16px 0 0;
  padding-left: 1.2em;
}

.community-release li {
  margin: 0 0 9px;
  color: #1f261a;
  line-height: 1.75;
}

@media (max-width: 760px) {
  .community-hero,
  .community-board-layout {
    grid-template-columns: 1fr;
  }

  .community-counter > b,
  .community-version-card > b {
    font-size: 42px;
  }
}

body.arg-e {
  background:
    linear-gradient(90deg, rgba(36,87,255,.07) 0 1px, transparent 1px) 0 0 / 58px 100%,
    radial-gradient(circle at 18% 8%, rgba(244,180,0,.20), transparent 24rem),
    linear-gradient(180deg, #eef4f7, #ffffff 54%, #dfe8ee);
}

body.arg-e::before {
  opacity: .025;
  mix-blend-mode: multiply;
}

body.arg-e::after {
  opacity: .08;
}

body.arg-e .e404-search-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.70)),
    rgba(255,255,255,.86);
  box-shadow: 0 28px 90px rgba(24,42,64,.18);
}

body.arg-e .arg-shell.e404-shell {
  padding-top: clamp(18px, 3.5vh, 42px);
}

body.arg-e .e-search-lab {
  min-height: auto;
  align-items: start;
  padding: clamp(24px, 5vh, 54px) 0 clamp(12px, 2.5vh, 24px);
}

body.arg-e .e404-search-card {
  transform: translateY(-10px);
}

body.arg-e .e404-search-card .arg-lead {
  max-width: 100%;
  margin: 14px 0 0;
  color: rgba(16,19,24,.58);
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.65;
}

body.arg-e .e404-workspace {
  margin-top: 0;
}

body.mailos-page {
  background:
    linear-gradient(90deg, rgba(255,216,110,.10) 0 1px, transparent 1px) 0 0 / 54px 100%,
    radial-gradient(circle at 12% 18%, rgba(143,200,255,.20), transparent 22rem),
    linear-gradient(135deg, #071421, #15314a 52%, #06090f);
}

body.shrine-page {
  background:
    linear-gradient(90deg, rgba(255,227,161,.10) 0 1px, transparent 1px) 0 0 / 88px 100%,
    radial-gradient(circle at 50% -4%, rgba(226,57,57,.34), transparent 28rem),
    radial-gradient(circle at 8% 70%, rgba(255,227,161,.12), transparent 22rem),
    #170705;
}

body.lost-kiosk-page {
  background:
    linear-gradient(180deg, rgba(255,226,163,.10), transparent 30%),
    repeating-linear-gradient(90deg, rgba(255,181,45,.11) 0 1px, transparent 1px 96px),
    #2b1b0c;
}

body.doomshop-page {
  background:
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.42), transparent 13rem),
    repeating-linear-gradient(45deg, #fff100 0 18px, #ff3b00 18px 32px, #001a84 32px 46px),
    #fff100;
}

body.arg-k.three-game-page {
  background:
    linear-gradient(90deg, rgba(125,216,255,.10) 0 1px, transparent 1px) 0 0 / 80px 100%,
    radial-gradient(circle at 50% 8%, rgba(125,216,255,.16), transparent 30rem),
    linear-gradient(180deg, #eef4f1, #cfd8d5 42%, #0b1010);
}

body.arg-l.three-game-page {
  background:
    repeating-linear-gradient(90deg, rgba(214,176,122,.18) 0 2px, transparent 2px 72px),
    radial-gradient(circle at 82% 18%, rgba(244,214,168,.18), transparent 24rem),
    linear-gradient(180deg, #120d08, #2d2116 48%, #080604);
}

body.arg-m.three-game-page {
  background:
    radial-gradient(circle at 18% 12%, rgba(145,243,255,.16), transparent 24rem),
    linear-gradient(90deg, rgba(191,251,255,.08) 0 1px, transparent 1px) 0 0 / 64px 100%,
    linear-gradient(180deg, #071a18, #0e352f 48%, #030807);
}

body.arg-k::before,
body.arg-l::before,
body.arg-m::before,
body.arg-t::before {
  opacity: .045;
}

body.arg-k::after,
body.arg-l::after,
body.arg-m::after,
body.arg-t::after {
  opacity: .16;
}

body.arg-n.site-n-occult {
  background:
    linear-gradient(90deg, rgba(255,214,102,.08) 0 1px, transparent 1px) 0 0 / 48px 100%,
    radial-gradient(circle at 18% 0%, rgba(166,117,255,.24), transparent 28rem),
    linear-gradient(135deg, #12061f, #061a20 54%, #07070a);
}

body.arg-n .portal-home {
  background:
    linear-gradient(90deg, rgba(216,199,255,.10) 0 1px, transparent 1px) 0 0 / 41px 100%,
    linear-gradient(180deg, rgba(14,5,24,.95), rgba(5,24,28,.92));
}

body.arg-t.famicom-game-page {
  background:
    linear-gradient(90deg, rgba(112,183,255,.13) 0 1px, transparent 1px) 0 0 / 32px 100%,
    radial-gradient(circle at 50% 6%, rgba(194,224,255,.20), transparent 22rem),
    linear-gradient(180deg, #242635, #111520 56%, #050507);
}

body.arg-u.u-feed-page {
  background:
    radial-gradient(circle at 78% 8%, rgba(157,255,234,.20), transparent 20rem),
    linear-gradient(135deg, #15020b, #2b0820 48%, #031416);
}

body.arg-v.vhs-page {
  background:
    linear-gradient(90deg, rgba(255,177,189,.10) 0 1px, transparent 1px) 0 0 / 62px 100%,
    radial-gradient(circle at 8% 12%, rgba(255,111,141,.20), transparent 24rem),
    #160707;
}

body.arg-w.w-proof-page {
  background:
    radial-gradient(circle at 18% 8%, rgba(255,209,102,.22), transparent 20rem),
    linear-gradient(90deg, rgba(255,79,182,.10) 0 1px, transparent 1px) 0 0 / 76px 100%,
    #090611;
}

body.arg-x.x-app-page {
  background:
    linear-gradient(180deg, #0f1419, #000 70%),
    #000;
}
.z-route-replace .z-sprite-mashiro { filter: hue-rotate(160deg) invert(.15); }
.z-route-silence .z-dialog-box { border-color: rgba(255,255,255,.7); }
.z-route-split .z-sprite-yuu { box-shadow: 34px -14px 0 rgba(247,247,255,.42), 0 8px 0 rgba(0,0,0,.35); }

/* Z route finales: each answer leaves a different world-state behind. */
.z-route-complete .z-village::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 8;
}

.z-route-help.z-route-complete .z-village {
  background: #17110f;
}

.z-route-help.z-route-complete .z-village::after {
  left: 38%;
  right: auto;
  top: 18%;
  bottom: 16%;
  width: 23%;
  border: 5px solid #6d4a31;
  background: repeating-linear-gradient(90deg, #1b130f 0 10px, #342116 10px 14px);
  box-shadow: 0 0 0 999px rgba(0,0,0,.2), inset 0 0 26px #000;
  animation: zReturnedDoor 1.8s steps(3, end) infinite;
}

.z-route-help.z-route-complete .z-sprite-yuu {
  right: 45%;
  bottom: 19%;
  opacity: .92;
  box-shadow: 0 8px 0 rgba(0,0,0,.35), 18px -2px 0 rgba(255,255,255,.12);
}

.z-route-leave.z-route-complete .z-village {
  background: linear-gradient(180deg, #19070c 0 47%, #080608 47%);
}

.z-route-leave.z-route-complete .z-moon {
  background: #ff7868;
  box-shadow: 0 0 0 8px rgba(255,120,104,.11), 0 0 44px rgba(255,74,74,.5);
}

.z-route-leave.z-route-complete .z-village::after {
  background: repeating-radial-gradient(ellipse at 62% 34%, transparent 0 19px, rgba(255,216,170,.1) 20px 22px, transparent 23px 42px);
  animation: zFerrisWait 2.7s linear infinite;
}

.z-route-handover.z-route-complete .z-village::after {
  background: repeating-linear-gradient(90deg, transparent 0 11%, rgba(132,205,255,.3) 11.4% 11.8%, transparent 12.1% 22%), repeating-linear-gradient(0deg, transparent 0 18%, rgba(132,205,255,.16) 18.4% 18.8%, transparent 19.1% 34%);
  mix-blend-mode: screen;
}

.z-route-handover.z-route-complete .z-sprite-yumeo {
  left: 52%;
  bottom: 22%;
  transform: scale(1.72);
  filter: brightness(1.35) drop-shadow(0 0 15px rgba(137,205,255,.7));
}

.z-route-handover.z-route-complete .z-sprite-yuu {
  opacity: .12;
  filter: brightness(2) saturate(0);
}

.z-route-erase.z-route-complete .z-village {
  background: #000;
  filter: grayscale(1) contrast(2.4);
}

.z-route-erase.z-route-complete .z-village::after {
  background: repeating-linear-gradient(0deg, #000 0 8%, transparent 8% 14%);
  animation: zEraseBands .75s steps(2, end) infinite;
}

.z-route-erase.z-route-complete .z-sprite,
.z-route-erase.z-route-complete .z-tile {
  opacity: .08;
}

.z-route-replace.z-route-complete .z-sprite-mashiro {
  opacity: .38;
  box-shadow: 34px 0 0 rgba(240,255,249,.73), 0 8px 0 rgba(0,0,0,.35);
}

.z-route-replace.z-route-complete .z-sprite-yuu {
  right: 46%;
  bottom: 24%;
  opacity: .96;
  filter: hue-rotate(100deg) brightness(1.65);
}

.z-route-replace.z-route-complete .z-village::after {
  background: repeating-linear-gradient(90deg, transparent 0 47%, rgba(242,255,246,.12) 48% 50%, transparent 51% 100%);
}

.z-route-silence.z-route-complete .z-village {
  filter: grayscale(1) brightness(.44);
}

.z-route-silence.z-route-complete .z-village::after {
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 12px);
  animation: zSilenceHold 4s steps(1, end) infinite;
}

.z-route-silence.z-route-complete .z-sprite-yuu {
  opacity: .28;
  animation: none;
}

.z-route-split.z-route-complete .z-sprite-yuu {
  right: 42%;
  bottom: 27%;
  box-shadow: 54px -16px 0 rgba(247,247,255,.5), -54px 18px 0 rgba(255,74,126,.36), 0 8px 0 rgba(0,0,0,.35);
  animation-duration: .62s;
}

.z-route-split.z-route-complete .z-village::after {
  background: linear-gradient(90deg, transparent 49.5%, rgba(255,255,255,.72) 49.8% 50.2%, transparent 50.5%);
  animation: zSplitLine .7s steps(2, end) infinite;
}

.z-route-help.z-route-complete .z-final-stamp b { color: #ffd2ac; text-shadow: 0 0 22px rgba(255,150,90,.46); }
.z-route-leave.z-route-complete .z-final-stamp b { color: #ff8278; text-shadow: 0 0 22px rgba(255,70,80,.58); }
.z-route-handover.z-route-complete .z-final-stamp b { color: #96d9ff; text-shadow: 0 0 22px rgba(85,175,255,.62); }
.z-route-erase.z-route-complete .z-final-stamp b { color: #ddd; text-shadow: 5px 0 #111, -5px 0 #111; }
.z-route-replace.z-route-complete .z-final-stamp b { color: #b8fff0; text-shadow: 16px 0 rgba(255,255,255,.3); }
.z-route-silence.z-route-complete .z-final-stamp b { color: #e9e9e9; text-shadow: 0 0 12px rgba(255,255,255,.34); }
.z-route-split.z-route-complete .z-final-stamp b { color: #f4d9ff; text-shadow: 10px 0 rgba(255,68,135,.48), -10px 0 rgba(104,184,255,.48); }

@keyframes zReturnedDoor { 0%, 100% { filter: brightness(.66); } 50% { filter: brightness(1.22); } }
@keyframes zFerrisWait { to { transform: rotate(360deg); } }
@keyframes zEraseBands { 50% { transform: translateY(14px); } }
@keyframes zSilenceHold { 0%, 72% { opacity: .12; } 73%, 100% { opacity: .44; } }
@keyframes zSplitLine { 50% { transform: translateX(18px); opacity: .36; } }

@keyframes zSpritePulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes zPcAlert {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes zYuuFlicker {
  0%, 100% { opacity: .68; transform: translate(0,0); }
  34% { opacity: .22; transform: translate(-3px,1px); }
  67% { opacity: .86; transform: translate(2px,-2px); }
}

@keyframes zFloatNoise {
  0% { transform: translate(0,0); opacity: .08; }
  30% { opacity: .5; }
  100% { transform: translate(120px, 80px); opacity: 0; }
}

@keyframes zScreenWake {
  0% { filter: brightness(0) contrast(4); transform: scale(.985); }
  55% { filter: brightness(1.8) contrast(1.9) invert(.1); }
  100% { filter: none; transform: scale(1); }
}

@media (max-width: 1100px) {
  .z-famicom-cabinet {
    grid-template-columns: 1fr;
  }

  .z-ledger {
    min-height: 0;
  }

  .z-screen {
    min-height: auto;
  }
}

@media (max-width: 780px) {
  .y-consequence-strip,
  .y-thread-stack,
  .y-cruel-page .y-support-grid,
  .y-cruel-page .y-choice-grid {
    grid-template-columns: 1fr;
  }

  .y-cruel-page .y-choice-grid button:nth-child(7) {
    grid-column: auto;
  }

  .z-screen-frame {
    padding: 8px;
  }

  .z-screen {
    aspect-ratio: 3 / 4;
  }

  .z-hud,
  .z-outcome-panel {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .z-outcome-panel {
    top: 82px;
    display: grid;
  }

  .z-dialog-box {
    left: 10px;
    right: 10px;
    bottom: 10px;
    min-height: 34%;
  }

  .z-dialog-box p {
    font-size: 13px;
  }
}

/* Z v84: compact ADV stage and the inspectable Famicom game */
@media (min-width: 1101px) {
  .z-ending-shell {
    height: calc(100dvh - 48px);
    min-height: 0;
    padding: clamp(8px, 1.25vw, 18px) 0;
  }

  .z-famicom-cabinet {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
  }

  .z-screen-frame {
    height: 100%;
    min-height: 0;
    padding: clamp(8px, 1.15vw, 14px);
  }

  .z-screen {
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  .z-ledger {
    min-height: 0;
    overflow: auto;
  }
}

.z-world-alert-pc {
  z-index: 9;
  left: 32%;
  bottom: 34%;
  right: auto;
  top: auto;
  pointer-events: none;
}

.z-world-famicom {
  padding: 0;
  cursor: pointer;
}

.z-world-famicom:focus-visible {
  outline: 2px solid #ffe071;
  outline-offset: 5px;
}

/* Taller, more legible pixel portraits keep clear of the ADV message panel. */
.z-sprite {
  z-index: 5;
  image-rendering: pixelated;
  transition: transform .18s steps(2), filter .18s ease;
}

.z-sprite:hover,
.z-sprite:focus-visible {
  transform: translateY(-4px) scale(1.06);
  filter: brightness(1.18) drop-shadow(0 0 8px rgba(223,246,176,.65));
}

.z-sprite-mashiro {
  left: 49%;
  bottom: 42%;
  width: clamp(31px, 4vw, 52px);
  height: clamp(69px, 8.8vw, 112px);
  background:
    linear-gradient(90deg, transparent 0 9%, #281c32 9% 18%, #e6b79e 18% 29%, #12111c 29% 39%, #e6b79e 39% 61%, #12111c 61% 71%, #e6b79e 71% 82%, #281c32 82% 91%, transparent 91%),
    linear-gradient(180deg, #39243d 0 10%, #f1d0bd 10% 30%, #cc5f8c 30% 63%, #f4edf0 63% 75%, #38223b 75% 100%);
  box-shadow: inset 0 0 0 3px #160f1e, 0 8px 0 rgba(0,0,0,.42);
}

.z-sprite-mashiro::before {
  left: 13%;
  top: -15%;
  width: 74%;
  height: 28%;
  background: linear-gradient(90deg, #2d1d31 0 20%, #4e3148 20% 80%, #2d1d31 80%);
  box-shadow: 0 6px 0 #f0c9b4, -4px 10px 0 #3e2740, 4px 10px 0 #3e2740;
}

.z-sprite-yumeo {
  left: 61%;
  bottom: 44%;
  width: clamp(35px, 4.55vw, 58px);
  height: clamp(77px, 9.8vw, 124px);
  background:
    linear-gradient(90deg, transparent 0 9%, #121522 9% 19%, #6f83a2 19% 31%, #232a40 31% 69%, #6f83a2 69% 81%, #121522 81% 91%, transparent 91%),
    linear-gradient(180deg, #202439 0 10%, #d3a990 10% 29%, #4a5672 29% 61%, #202438 61% 100%);
  box-shadow: inset 0 0 0 3px #11121b, 0 9px 0 rgba(0,0,0,.45);
}

.z-sprite-yumeo::before {
  left: 13%;
  top: -17%;
  width: 74%;
  height: 31%;
  background: linear-gradient(90deg, #161a28 0 17%, #262b3d 17% 83%, #161a28 83%);
  box-shadow: 0 7px 0 #d8af97, -5px 12px 0 #171a27, 5px 12px 0 #171a27;
}

.z-sprite-yumeo::after {
  left: 42%;
  top: 28%;
  width: 16%;
  height: 43%;
  background: #d8c399;
  box-shadow: -9px 12px 0 #2c354e, 9px 12px 0 #2c354e;
}

.z-sprite-yuu {
  right: 20%;
  bottom: 46%;
  width: clamp(29px, 3.7vw, 47px);
  height: clamp(69px, 8.7vw, 111px);
  background:
    linear-gradient(90deg, transparent 0 12%, #07070b 12% 26%, #f3edf2 26% 74%, #07070b 74% 88%, transparent 88%),
    linear-gradient(180deg, #ececf2 0 17%, #1c1b2a 17% 62%, #07070a 62%);
  box-shadow: inset 0 0 0 3px #07070b, 0 8px 0 rgba(0,0,0,.58);
}

.z-sprite-yuu::before {
  left: 16%;
  top: -16%;
  width: 68%;
  height: 31%;
  background: linear-gradient(90deg, #ececf2 0 24%, #c6cad7 24% 76%, #ececf2 76%);
  box-shadow: 0 8px 0 #242334, -4px 12px 0 #15151e, 4px 12px 0 #15151e;
}

.z-started .z-sprite-mashiro { left: 46%; bottom: 44%; }
.z-started .z-sprite-yumeo { left: 61%; bottom: 47%; }
.z-started .z-sprite-yuu { right: 18%; bottom: 48%; }

.z-dialog-box {
  left: 14px;
  right: 14px;
  bottom: 12px;
  min-height: 0;
  max-height: 31%;
  gap: 5px;
  padding: clamp(9px, 1.3vw, 13px);
}

.z-dialog-box p {
  min-height: 3.35em;
  margin: 0;
  overflow: auto;
  font-size: clamp(13px, 1.45vw, 17px);
  line-height: 1.55;
}

.z-dialog-actions button {
  min-height: 31px;
}

.z-platform-overlay {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 14px;
  background: rgba(0,0,0,.92);
}

.z-platform-overlay[hidden] { display: none; }

.z-platform-shell {
  position: relative;
  width: min(100%, 960px);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 4px solid #e8e5c9;
  background: #111;
  box-shadow: 0 0 0 5px #20213b, 0 0 36px rgba(244,221,107,.22);
  image-rendering: pixelated;
}

.z-platform-head {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  border-bottom: 2px solid rgba(255,255,255,.5);
  background: rgba(8,8,22,.86);
  color: #fff4ad;
  font: 900 clamp(9px, 1.4vw, 13px)/1 "MS Gothic", monospace;
}

.z-platform-stats {
  display: flex;
  min-width: 0;
  gap: clamp(5px, 1vw, 12px);
  align-items: center;
  white-space: nowrap;
}

.z-platform-stats span:nth-child(2) { color: #bde9ff; }
.z-platform-stats span:nth-child(3) { color: #8ff1ca; }

.z-platform-head button,
.z-platform-card button,
.z-platform-touch button {
  border: 2px solid #e8e5c9;
  color: #151525;
  background: #ffdf65;
  font: 900 clamp(10px, 1.45vw, 14px)/1 "MS Gothic", monospace;
  cursor: pointer;
}

.z-platform-head button { padding: 5px 7px; }

.z-platform-canvas {
  display: block;
  width: 100%;
  height: 100%;
  background: #161931;
}

.z-platform-card {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: min(80%, 540px);
  padding: clamp(15px, 3vw, 34px);
  transform: translate(-50%, -50%);
  border: 4px double #fff2ae;
  background: rgba(15,15,37,.94);
  color: #fffdf1;
  text-align: center;
  box-shadow: 0 0 0 5px rgba(4,4,12,.86);
}

.z-platform-card h1,
.z-platform-card h2,
.z-platform-card p { margin: 10px 0; }
.z-platform-card h1 { color: #ffdd69; font-size: clamp(22px, 5vw, 48px); }
.z-platform-card p { font: 900 clamp(11px, 1.6vw, 16px)/1.7 "MS Gothic", "Yu Gothic", monospace; }
.z-platform-card div { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.z-platform-card button { padding: 10px 14px; }
.z-platform-card small { display: block; margin-top: 16px; color: #b9caef; font: 900 clamp(9px, 1.2vw, 12px)/1.6 "MS Gothic", monospace; }

.z-platform-touch {
  position: absolute;
  z-index: 6;
  right: 10px;
  bottom: 10px;
  display: flex;
  gap: 5px;
}

.z-platform-touch button { min-width: 38px; min-height: 34px; padding: 6px 8px; }

body.z-mini-game-open { overflow: hidden; }

@media (max-width: 780px) {
  .z-sprite-mashiro { left: 48%; bottom: 42%; }
  .z-sprite-yumeo { left: 64%; bottom: 44%; }
  .z-sprite-yuu { right: 12%; bottom: 47%; }
  .z-dialog-box { max-height: 38%; }
  .z-platform-overlay { padding: 6px; }
  .z-platform-card { width: 88%; padding: 12px; }
  .z-platform-card small { display: none; }
}

/* Z v85: Famicom-character pass, recovery prompt, and score board */
.z-sprite-mashiro {
  width: clamp(34px, 4.35vw, 56px);
  height: clamp(75px, 9.5vw, 122px);
  background:
    linear-gradient(90deg, transparent 0 8%, #442b3c 8% 16%, #f3d3bd 16% 25%, #302032 25% 37%, #f3d3bd 37% 63%, #302032 63% 75%, #f3d3bd 75% 84%, #442b3c 84% 92%, transparent 92%),
    linear-gradient(180deg, #57344d 0 9%, #f6d9c6 9% 28%, #f9f4ef 28% 69%, #665a77 69% 100%);
  box-shadow: inset 0 0 0 3px #211522, inset 0 -15px 0 #d9d3df, 0 9px 0 rgba(0,0,0,.46);
}

.z-sprite-mashiro::before {
  left: 10%;
  top: -15%;
  width: 80%;
  height: 31%;
  background:
    linear-gradient(90deg, #311f31 0 18%, #684154 18% 82%, #311f31 82%),
    #513149;
  box-shadow: 0 8px 0 #f4d2bb, -5px 12px 0 #412a3e, 5px 12px 0 #412a3e;
}

.z-sprite-mashiro::after {
  left: 31%;
  top: 39%;
  width: 38%;
  height: 13%;
  background: #cb557d;
  box-shadow: -13px 8px 0 #f8f1eb, 13px 8px 0 #f8f1eb, 0 26px 0 #d9d3df;
}

.z-sprite-yumeo {
  width: clamp(38px, 4.9vw, 62px);
  height: clamp(81px, 10.4vw, 132px);
  background:
    linear-gradient(90deg, transparent 0 8%, #3c101c 8% 18%, #dbaf92 18% 29%, #481523 29% 71%, #dbaf92 71% 82%, #3c101c 82% 92%, transparent 92%),
    linear-gradient(180deg, #25202d 0 9%, #dcb297 9% 27%, #ba273c 27% 66%, #661626 66% 100%);
  box-shadow: inset 0 0 0 3px #27111b, inset 0 -14px 0 #1c1828, 0 9px 0 rgba(0,0,0,.48);
  animation: zYumeoIdle 1.1s steps(2, end) infinite;
}

.z-sprite-yumeo::before {
  left: 9%;
  top: -17%;
  width: 82%;
  height: 32%;
  background: linear-gradient(90deg, #121420 0 16%, #282837 16% 84%, #121420 84%);
  box-shadow: 0 8px 0 #d9af96, -5px 13px 0 #171522, 5px 13px 0 #171522;
}

.z-sprite-yumeo::after {
  left: 38%;
  top: 30%;
  width: 24%;
  height: 45%;
  background: #e6d7bc;
  box-shadow: -12px 12px 0 #8f2032, 12px 12px 0 #8f2032, 0 29px 0 #25182b;
}

.z-sprite-yuu {
  width: clamp(33px, 4.25vw, 54px);
  height: clamp(79px, 10vw, 128px);
  opacity: .67;
  background:
    linear-gradient(90deg, transparent 0 8%, #050509 8% 20%, #f3edf1 20% 31%, #14111f 31% 69%, #f3edf1 69% 80%, #050509 80% 92%, transparent 92%),
    linear-gradient(180deg, #d9d9e3 0 17%, #15121f 17% 59%, #060609 59% 100%);
  box-shadow: inset 0 0 0 3px #050509, inset 0 -22px 0 #0d0a15, 0 10px 0 rgba(0,0,0,.5);
  animation: zYuuGhostFloat 2.8s steps(4, end) infinite;
}

.z-sprite-yuu::before {
  left: 9%;
  top: -16%;
  width: 82%;
  height: 31%;
  background: linear-gradient(90deg, #e6e2ed 0 20%, #b9b5c7 20% 80%, #e6e2ed 80%);
  box-shadow: 0 8px 0 #242033, -5px 12px 0 #12111a, 5px 12px 0 #12111a;
}

.z-sprite-yuu::after {
  left: 24%;
  top: 33%;
  width: 52%;
  height: 18%;
  background: #34213d;
  box-shadow: -10px 11px 0 #17111e, 10px 11px 0 #17111e, 0 30px 0 #060609;
}

@keyframes zYumeoIdle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(2px); }
}

@keyframes zYuuGhostFloat {
  0%, 100% { opacity: .47; transform: translate(0, 0); }
  25% { opacity: .72; transform: translate(-2px, -7px); }
  50% { opacity: .6; transform: translate(2px, -11px); }
  75% { opacity: .8; transform: translate(0, -5px); }
}

.z-system-confirm {
  position: absolute;
  z-index: 25;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.7);
}

.z-system-confirm[hidden] { display: none; }

.z-system-confirm-panel {
  width: min(100%, 560px);
  padding: clamp(18px, 3vw, 36px);
  border: 4px double #dff6b0;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.045) 0 1px, transparent 1px 4px),
    #07100d;
  box-shadow: 0 0 0 5px rgba(0,0,0,.72), 0 0 48px rgba(87,255,110,.22);
  color: #efffde;
  text-align: center;
  font-family: "MS Gothic", "Yu Gothic", monospace;
}

.z-system-confirm-panel > span { color: #ffe071; font-size: .78rem; font-weight: 900; }
.z-system-confirm-panel h2 { margin: 14px 0 10px; font-size: clamp(18px, 2.5vw, 28px); }
.z-system-confirm-panel p { margin: 0; line-height: 1.7; color: #c8e8d0; }
.z-system-confirm-panel div { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.z-system-confirm-panel button { min-width: 7em; padding: 10px 16px; border: 2px solid #dff6b0; color: #07100a; background: #dff6b0; font: 900 1rem/1 "MS Gothic", monospace; cursor: pointer; }
.z-system-confirm-panel button:last-child { color: #dff6b0; background: #07100a; }

.z-platform-ranking {
  max-width: 390px;
  margin: 15px auto 0;
  padding: 9px 12px;
  border: 1px solid rgba(255,242,174,.7);
  background: rgba(0,0,0,.34);
  text-align: left;
}

.z-platform-ranking b { color: #ffeb79; font: 900 .76rem/1 "MS Gothic", monospace; }
.z-platform-ranking ol { max-height: 106px; margin: 8px 0 0; padding-left: 2em; overflow: auto; font: 900 .75rem/1.65 "MS Gothic", monospace; }
.z-platform-ranking li { display: flex; justify-content: space-between; gap: 10px; }

.z-platform-score-form { display: flex; justify-content: center; gap: 7px; margin-top: 13px; }
.z-platform-score-form label { display: flex; align-items: center; gap: 5px; color: #fff2ae; font: 900 .76rem/1 "MS Gothic", monospace; }
.z-platform-score-form input { width: 9em; min-height: 34px; border: 2px solid #fff2ae; color: #17152b; background: #fffef1; font: 900 .86rem/1 "MS Gothic", monospace; text-align: center; }
.z-platform-score-form button { padding: 8px 10px; }

.z-platform-ranking-over {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 10px;
  margin: 11px auto 0;
  padding: 7px 12px 7px 28px;
  border-top: 1px solid rgba(255,242,174,.55);
  color: #fff4c6;
  font: 900 .68rem/1.5 "MS Gothic", monospace;
  text-align: left;
}

.z-platform-ranking-over li { display: flex; justify-content: space-between; gap: 5px; }

@media (max-width: 780px) {
  .z-system-confirm-panel { padding: 18px; }
  .z-platform-ranking { display: none; }
  .z-platform-score-form { flex-wrap: wrap; }
  .z-platform-head { gap: 4px; padding: 5px 6px; }
  .z-platform-stats { gap: 4px; font-size: 8px; }
  .z-platform-stats span:nth-child(4) { display: none; }
}

/* Z v86: prompts stay neutral until the player chooses, and completed PC alerts disappear. */
.z-system-confirm-panel button,
.z-system-confirm-panel button:last-child {
  color: #dff6b0;
  background: #07100a;
}
.z-system-confirm-panel button:hover,
.z-system-confirm-panel button:focus-visible {
  color: #07100a;
  background: #dff6b0;
  outline: 2px solid #ffe071;
  outline-offset: 3px;
}
.z-world-alert-pc[hidden],
.z-world-alert-pc.is-consumed { display: none !important; }
.z-platform-head span { color: #fff2ae; }

/* Compact Famicom-like character sprites with clear heads, clothes, arms and legs. */
.z-sprite {
  border: 0;
  box-shadow: none;
  clip-path: polygon(31% 0, 69% 0, 78% 22%, 93% 34%, 77% 42%, 75% 76%, 90% 100%, 62% 100%, 50% 84%, 38% 100%, 10% 100%, 25% 76%, 23% 42%, 7% 34%, 22% 22%);
}
.z-sprite-mashiro {
  background: linear-gradient(180deg, #faf7f1 0 48%, #d8d3dd 48% 77%, #35313e 77% 100%);
  box-shadow: inset 0 0 0 3px #f8f5ef, inset 0 -13px 0 #34313d !important;
}
.z-sprite-mashiro::before {
  left: 24%; top: -17%; width: 52%; height: 32%; background: #f0cdb7;
  box-shadow: 0 -5px 0 #3b2940, -6px 1px 0 #3b2940, 6px 1px 0 #3b2940, 0 8px 0 #f0cdb7;
}
.z-sprite-mashiro::after {
  left: 28%; top: 47%; width: 44%; height: 10%; background: #c55178;
  box-shadow: -12px 7px 0 #faf7f1, 12px 7px 0 #faf7f1, -6px 38px 0 #35313e, 9px 38px 0 #35313e;
}
.z-sprite-yumeo {
  background: linear-gradient(180deg, #b7283d 0 64%, #311e31 64% 100%);
  box-shadow: inset 0 0 0 3px #7f1c31, inset 0 -13px 0 #281a2a !important;
}
.z-sprite-yumeo::before {
  left: 24%; top: -17%; width: 52%; height: 32%; background: #dcae95;
  box-shadow: 0 -5px 0 #171522, -6px 1px 0 #171522, 6px 1px 0 #171522, 0 8px 0 #dcae95;
}
.z-sprite-yumeo::after {
  left: 33%; top: 47%; width: 34%; height: 12%; background: #f0ddc2;
  box-shadow: -14px 7px 0 #b7283d, 14px 7px 0 #b7283d, -7px 37px 0 #281a2a, 9px 37px 0 #281a2a;
}
.z-sprite-yuu {
  background: linear-gradient(180deg, #242033 0 54%, #0b0a11 54% 100%);
  box-shadow: inset 0 0 0 3px #0a0910, inset 0 -17px 0 #050509 !important;
}
.z-sprite-yuu::before {
  left: 24%; top: -17%; width: 52%; height: 32%; background: #d9d5df;
  box-shadow: 0 -5px 0 #15131f, -7px 1px 0 #15131f, 7px 1px 0 #15131f, 0 8px 0 #d9d5df;
}
.z-sprite-yuu::after {
  left: 29%; top: 47%; width: 42%; height: 10%; background: #4b344f;
  box-shadow: -12px 7px 0 #242033, 12px 7px 0 #242033, -7px 39px 0 #050509, 9px 39px 0 #050509;
}

/* v75 route evidence pickups */
.arg-route-evidence-pickup {
  position: absolute;
  left: var(--evidence-left, 9vw);
  top: var(--evidence-top, 20vh);
  z-index: 2147481200;
  width: 72px;
  min-height: 42px;
  padding: 4px;
  border: 1px solid rgba(116,226,255,.62);
  background:
    linear-gradient(135deg, rgba(6,17,22,.92), rgba(0,0,0,.78)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, transparent 1px 5px);
  box-shadow: 0 3px 18px rgba(0,0,0,.55), 0 0 16px rgba(116,226,255,.24);
  opacity: .58;
  transform: rotate(-5deg);
  cursor: pointer;
  transition: opacity .16s ease, transform .16s ease, filter .16s ease;
  animation: routeShardGlitch 1.9s steps(2, end) infinite;
}

.arg-route-evidence-pickup span {
  display: grid;
  place-items: center;
  gap: 2px;
  width: 100%;
  height: 100%;
  min-height: 32px;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,60,162,.28) 18% 23%, transparent 23%),
    repeating-linear-gradient(0deg, rgba(116,226,255,.16) 0 1px, transparent 1px 4px);
  color: #9ff1ff;
  font-family: var(--arg-mono, "MS Gothic", monospace);
  line-height: 1;
}

.arg-route-evidence-pickup b,
.arg-route-evidence-pickup i {
  display: block;
  letter-spacing: 0;
  font-style: normal;
  text-shadow: 1px 0 #ff3ca2, -1px 0 rgba(116,226,255,.62);
}

.arg-route-evidence-pickup b {
  font-size: 10px;
  font-weight: 900;
}

.arg-route-evidence-pickup i {
  font-size: 9px;
  color: rgba(255,255,255,.78);
}

.arg-route-evidence-pickup:hover,
.arg-route-evidence-pickup:focus-visible {
  opacity: 1;
  transform: rotate(-1deg) scale(1.08);
  outline: 1px solid rgba(116,226,255,.9);
  filter: saturate(1.2) brightness(1.16);
}

.arg-route-evidence-pickup.is-collected {
  opacity: .13;
  filter: grayscale(1) brightness(.55);
  animation: none;
}

@keyframes routeShardGlitch {
  0%, 100% { clip-path: inset(0); }
  47% { clip-path: inset(0 0 22% 0); }
  48% { clip-path: inset(18% 0 0 0); transform: rotate(-5deg) translateX(2px); }
  49% { clip-path: inset(0); transform: rotate(-5deg) translateX(-1px); }
}

.arg-route-evidence-toast {
  position: fixed;
  left: 50%;
  bottom: 26px;
  z-index: 2147481400;
  max-width: min(420px, calc(100vw - 28px));
  padding: 10px 14px;
  border: 1px solid rgba(246,222,173,.45);
  background: rgba(10,8,5,.88);
  color: #f6e6c8;
  font: 700 12px/1.5 var(--arg-mono, "MS Gothic", monospace);
  opacity: 0;
  transform: translate(-50%, 14px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.arg-route-evidence-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.arg-shard-recovery-popup {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 2147481600;
  display: grid;
  gap: 8px;
  width: min(430px, calc(100vw - 32px));
  padding: 20px 22px;
  border: 1px solid rgba(190, 255, 255, .78);
  color: #eaffff;
  background:
    linear-gradient(90deg, rgba(255, 0, 89, .2), transparent 12%, rgba(0, 230, 255, .15) 74%, transparent),
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 5px),
    rgba(0,0,0,.96);
  box-shadow: 0 0 0 1px rgba(0,0,0,.95), 0 22px 64px rgba(0,0,0,.7), 0 0 30px rgba(0, 232, 255, .16);
  font-family: var(--arg-mono, "MS Gothic", monospace);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -44%) scale(.94);
  transition: opacity .18s ease, transform .18s ease;
}

.arg-shard-recovery-popup::before,
.arg-shard-recovery-popup::after {
  content: "";
  position: absolute;
  inset: -3px;
  pointer-events: none;
}

.arg-shard-recovery-popup::before {
  border-left: 2px solid rgba(255, 0, 89, .82);
  border-right: 2px solid rgba(0, 230, 255, .74);
  clip-path: inset(0 0 68% 0);
}

.arg-shard-recovery-popup::after {
  background: repeating-linear-gradient(90deg, transparent 0 13px, rgba(255,255,255,.12) 13px 14px);
  mix-blend-mode: screen;
  opacity: .56;
}

.arg-shard-recovery-popup.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  animation: shardRecoveryGlitch .72s steps(2, end) 2;
}

.arg-shard-recovery-popup span,
.arg-shard-recovery-popup b,
.arg-shard-recovery-popup p,
.arg-shard-recovery-popup small {
  position: relative;
  z-index: 1;
  margin: 0;
}

.arg-shard-recovery-popup span {
  color: #ff8ab4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.arg-shard-recovery-popup b {
  color: #fff;
  font-size: clamp(20px, 4vw, 30px);
  line-height: 1.1;
  text-shadow: 2px 0 rgba(255,0,89,.72), -2px 0 rgba(0,230,255,.65);
}

.arg-shard-recovery-popup p {
  color: rgba(234,255,255,.84);
  font-size: 13px;
  line-height: 1.65;
}

.arg-shard-recovery-popup small {
  color: #a4eaff;
  font-size: 10px;
  letter-spacing: .04em;
}

@keyframes shardRecoveryGlitch {
  0%, 100% { filter: contrast(1); }
  34% { filter: contrast(1.4) hue-rotate(22deg); transform: translate(calc(-50% + 3px), calc(-50% - 1px)) scale(1.01); }
  36% { transform: translate(calc(-50% - 2px), calc(-50% + 1px)) scale(.99); }
}

@media (max-width: 520px) {
  .arg-shard-recovery-popup {
    padding: 17px 18px;
  }
}

/* v75 Site V: VHS memory only */
body.arg-v.v-memory-page {
  min-height: 100vh;
  overflow: hidden;
  background: #000 !important;
  color: #fff;
}

body.arg-v.v-memory-page::before,
body.arg-v.v-memory-page::after {
  display: none !important;
}

.v-memory-stage {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.055), transparent 30rem),
    #000;
}

.v-tape-choice {
  width: min(820px, 94vw);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 4vw, 42px);
  align-items: end;
}

.v-tape-choice[hidden] {
  display: none !important;
}


.v-vhs-button {
  display: grid;
  gap: 18px;
  justify-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #f8f8f8;
  cursor: pointer;
  opacity: .84;
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
}

.v-vhs-button:hover,
.v-vhs-button:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  filter: drop-shadow(0 0 18px rgba(255,255,255,.2));
  outline: none;
}

.v-vhs-button.is-selected {
  opacity: 1;
  filter: drop-shadow(0 0 22px rgba(255,255,255,.18));
}

.v-vhs-button.is-locked-out {
  opacity: .22;
  cursor: not-allowed;
  filter: grayscale(1) blur(.6px);
}

.v-vhs-button.is-locked-out:hover,
.v-vhs-button.is-locked-out:focus-visible {
  transform: none;
  filter: grayscale(1) blur(.6px);
}

.v-vhs-button small {
  margin-top: -10px;
  color: rgba(255,255,255,.52);
  font: 700 11px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .18em;
}

.v-vhs-body {
  position: relative;
  width: min(310px, 70vw);
  aspect-ratio: 16 / 9;
  display: block;
  border: 2px solid rgba(255,255,255,.58);
  border-radius: 5px;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(255,255,255,.13) 12% 16%, transparent 16% 84%, rgba(255,255,255,.13) 84% 88%, transparent 88%),
    linear-gradient(180deg, #0a0a0a, #1f1f1f 45%, #050505);
  box-shadow: inset 0 0 0 8px rgba(0,0,0,.62), 0 20px 70px rgba(0,0,0,.86);
}

.v-vhs-body i {
  position: absolute;
  top: 28%;
  width: 23%;
  aspect-ratio: 1;
  border: 2px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background:
    radial-gradient(circle, #000 0 23%, rgba(255,255,255,.4) 24% 28%, transparent 29%),
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.32) 0 12deg, transparent 12deg 32deg),
    #101010;
}

.v-vhs-button.is-white-tape .v-vhs-body {
  border-color: rgba(255,255,255,.82);
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(25,25,25,.12) 12% 16%, transparent 16% 84%, rgba(25,25,25,.12) 84% 88%, transparent 88%),
    linear-gradient(180deg, #f4f1e8, #cfcfc8 45%, #f9f8f3);
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.34), 0 20px 70px rgba(255,255,255,.1);
}

.v-vhs-button.is-white-tape .v-vhs-body i {
  border-color: rgba(20,20,20,.5);
  background:
    radial-gradient(circle, #111 0 23%, rgba(0,0,0,.38) 24% 28%, transparent 29%),
    repeating-conic-gradient(from 0deg, rgba(0,0,0,.32) 0 12deg, transparent 12deg 32deg),
    #e5e1d8;
}

.v-vhs-button.is-white-tape .v-vhs-body b {
  border-color: rgba(0,0,0,.18);
  background: rgba(255,255,255,.48);
}

.v-vhs-button.is-white-tape .v-vhs-label {
  color: rgba(255,255,255,.92);
}

.v-vhs-button.is-black-tape .v-vhs-body {
  border-color: rgba(99,78,122,.9);
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(172,143,209,.12) 12% 16%, transparent 16% 84%, rgba(172,143,209,.12) 84% 88%, transparent 88%),
    linear-gradient(180deg, #030303, #111018 45%, #000);
  box-shadow: inset 0 0 0 8px rgba(0,0,0,.72), 0 22px 90px rgba(65,40,112,.28);
}

.v-vhs-button.is-black-tape .v-vhs-label {
  color: rgba(205,186,235,.86);
}

.v-vhs-body i:first-child { left: 19%; }
.v-vhs-body i:nth-child(2) { right: 19%; }

.v-vhs-body b {
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 18%;
  height: 18%;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
}

.v-vhs-label {
  font: 900 13px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .22em;
  color: rgba(255,255,255,.78);
}

.v-tape-confirm {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-content: center;
  gap: 26px;
  padding: 24px;
  text-align: center;
  background: rgba(0,0,0,.86);
  backdrop-filter: blur(3px);
}

.v-repeat-dialog {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-content: center;
  gap: 24px;
  padding: 24px;
  text-align: center;
  background: rgba(0,0,0,.9);
}

.v-repeat-dialog[hidden] {
  display: none !important;
}

.v-repeat-dialog p {
  margin: 0;
  color: #f6f2e8;
  font: 400 clamp(20px, 3vw, 32px)/1.85 "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-shadow: 0 0 14px rgba(255,255,255,.2);
}

.v-repeat-dialog a {
  justify-self: center;
  border: 1px solid rgba(255,255,255,.6);
  padding: 12px 16px;
  color: #f6f2e8;
  background: #101010;
  font: 900 13px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .12em;
  text-decoration: none;
}

.v-repeat-dialog a:hover,
.v-repeat-dialog a:focus-visible {
  color: #111;
  background: #eee;
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.v-tape-confirm[hidden] {
  display: none !important;
}

.v-tape-confirm p {
  margin: 0;
  color: #f6f2e8;
  font: 400 clamp(22px, 3vw, 34px)/1.7 "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-shadow: 0 0 14px rgba(255,255,255,.22);
}

.v-tape-confirm-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.v-tape-confirm button {
  min-width: 94px;
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.58);
  color: #f4f4f4;
  background: #101010;
  font: 900 13px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .14em;
  cursor: pointer;
}

.v-tape-confirm button:hover,
.v-tape-confirm button:focus-visible {
  color: #111;
  background: #eee;
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.v-memory-screen {
  width: min(900px, 92vw);
  min-height: 60vh;
  display: grid;
  place-items: center;
  text-align: center;
}

.v-memory-screen[hidden],
.v-memory-next[hidden] {
  display: none !important;
}

.v-memory-screen p {
  max-width: min(760px, 88vw);
  min-height: 5.4em;
  margin: 0;
  color: #fff;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(21px, 3vw, 36px);
  line-height: 1.9;
  letter-spacing: 0;
  text-shadow: 0 0 12px rgba(255,255,255,.18);
  transition: opacity .56s ease, filter .56s ease;
}

.v-memory-screen p.is-fading {
  opacity: 0;
  filter: blur(3px);
}

.v-memory-next {
  align-self: start;
  margin-top: 24px;
  color: rgba(255,255,255,.78);
  font: 700 12px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .16em;
  text-decoration: none;
}

.v-memory-next:hover,
.v-memory-next:focus-visible {
  color: #fff;
  text-decoration: underline;
}

body.v-memory-picked-white .v-memory-screen p {
  text-shadow: 0 0 14px rgba(255,255,255,.24);
}

body.v-memory-picked-black .v-memory-stage {
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
    radial-gradient(circle at 50% 52%, rgba(91,54,133,.16), transparent 31rem),
    #000;
}

body.v-memory-picked-black .v-memory-screen p {
  color: #f1e7ff;
  text-shadow: 0 0 15px rgba(127,85,170,.28);
}

@media (max-width: 680px) {
  .v-tape-choice {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .v-vhs-body {
    width: min(280px, 78vw);
  }
}

/* v75 Site W: Yumeo evidence wall */
body.arg-w.w-yumeo-evidence-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 16% 10%, rgba(214,44,35,.22), transparent 24rem),
    radial-gradient(circle at 86% 6%, rgba(255,213,119,.18), transparent 20rem),
    linear-gradient(115deg, #1b1008, #34200f 48%, #100907);
  color: #f5e8d1;
}

body.arg-w.w-yumeo-evidence-page::before {
  opacity: .03;
}

body.arg-w.w-yumeo-evidence-page::after {
  opacity: .08;
}

.w-evidence-room {
  width: min(1440px, calc(100vw - 32px));
  min-height: 100svh;
  margin: 0 auto;
  padding: clamp(46px, 7vw, 86px) 0 clamp(34px, 5vw, 70px);
}

.w-evidence-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,222,170,.22);
}

.w-evidence-head p {
  margin: 0 0 8px;
  color: rgba(255,222,170,.72);
  font: 900 11px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .18em;
}

.w-evidence-head h1 {
  margin: 0;
  color: #fff5dd;
  font: 900 clamp(24px, 4vw, 52px)/1.05 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
}

.w-evidence-lead {
  max-width: 760px;
  margin: 0 !important;
  color: rgba(255,238,205,.68) !important;
  font: 700 13px/1.65 var(--arg-sans, system-ui, sans-serif) !important;
  letter-spacing: 0 !important;
}

.w-evidence-status {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 8px;
  color: #fbe3b6;
  font: 900 11px/1 var(--arg-mono, "MS Gothic", monospace);
}

.w-evidence-status span {
  padding: 8px 10px;
  border: 1px solid rgba(255,222,170,.24);
  background: rgba(0,0,0,.24);
}

.w-evidence-status b {
  color: #8ff3ff;
  text-shadow: 1px 0 rgba(255,42,136,.72);
}

.w-evidence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: 20px;
  align-items: start;
  min-height: min(760px, calc(100svh - 178px));
}

.w-evidence-wall {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: clamp(10px, 1.6vw, 18px);
  align-self: stretch;
  min-height: 0;
  max-height: calc(100svh - 178px);
  padding: clamp(18px, 2.4vw, 34px);
  border: 1px solid rgba(92,50,20,.7);
  background:
    linear-gradient(90deg, rgba(120,70,28,.24) 0 1px, transparent 1px) 0 0 / 28px 100%,
    linear-gradient(180deg, rgba(255,232,184,.10), rgba(0,0,0,.06)),
    #5d3617;
  box-shadow: inset 0 0 0 1px rgba(255,220,165,.15), 0 28px 90px rgba(0,0,0,.48);
  overflow: hidden;
}

.w-evidence-wall::before {
  content: "";
  position: absolute;
  inset: 24px;
  background:
    linear-gradient(24deg, transparent 0 31%, rgba(174,18,25,.45) 31.2% 31.6%, transparent 31.8%),
    linear-gradient(151deg, transparent 0 42%, rgba(174,18,25,.38) 42.2% 42.6%, transparent 42.8%),
    linear-gradient(92deg, transparent 0 58%, rgba(174,18,25,.32) 58.2% 58.5%, transparent 58.7%);
  pointer-events: none;
  mix-blend-mode: multiply;
}

.w-evidence-card {
  position: relative;
  min-height: 118px;
  display: block;
  padding: 0;
  border: 7px solid #e7d8b8;
  background: #050403;
  box-shadow: 0 8px 22px rgba(0,0,0,.42);
  cursor: pointer;
  overflow: hidden;
  transform: rotate(var(--tilt, -1deg));
  transition: transform .18s ease, box-shadow .18s ease;
}

.w-evidence-card:nth-child(2n) { --tilt: 1.2deg; }
.w-evidence-card:nth-child(3n) { --tilt: -.45deg; }
.w-evidence-card:nth-child(5n) { --tilt: 1.8deg; }

.w-evidence-card:hover,
.w-evidence-card:focus-visible {
  transform: rotate(0deg) translateY(-3px);
  box-shadow: 0 14px 34px rgba(0,0,0,.5);
  outline: 2px solid rgba(255,234,188,.72);
  outline-offset: 2px;
}

.w-evidence-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: grayscale(1) contrast(1.7) brightness(.035);
  opacity: .42;
  transition: filter .55s ease, opacity .55s ease, transform .55s ease;
}

.w-evidence-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 7px),
    rgba(0,0,0,.78);
  opacity: 1;
  transition: opacity .5s ease;
}

.w-evidence-card.is-fixed img {
  filter: saturate(1.08) contrast(1.04) brightness(1);
  opacity: 1;
  transform: scale(1.018);
}

.w-evidence-card.is-fixed::after {
  opacity: 0;
}

.w-evidence-pin {
  position: absolute;
  left: 50%;
  top: 7px;
  z-index: 3;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #b9131f;
  box-shadow: 0 2px 0 rgba(0,0,0,.45), 0 0 0 2px rgba(255,255,255,.16);
  transform: translateX(-50%);
}

.w-evidence-index,
.w-evidence-state {
  position: absolute;
  z-index: 4;
  font-family: var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: 0;
}

.w-evidence-index {
  left: 9px;
  top: 9px;
  color: rgba(255,244,221,.75);
  font-size: 11px;
  font-weight: 900;
}

.w-evidence-state {
  left: 50%;
  top: 50%;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.34);
  background: rgba(0,0,0,.76);
  color: rgba(255,255,255,.8);
  font-size: clamp(13px, 2vw, 22px);
  font-weight: 900;
  transform: translate(-50%, -50%);
  text-transform: uppercase;
  transition: color .3s ease, background .3s ease, border-color .3s ease;
}

.w-evidence-card.is-fixed .w-evidence-state {
  top: auto;
  left: auto;
  right: 8px;
  bottom: 8px;
  transform: none;
  border-color: rgba(119,255,144,.54);
  background: rgba(4,31,12,.75);
  color: #9affaf;
  font-size: 12px;
}

.w-evidence-card.is-available:not(.is-fixed) {
  border-color: #f1df9b;
  box-shadow: 0 8px 22px rgba(0,0,0,.42), 0 0 0 2px rgba(241,223,155,.18);
}

.w-evidence-card.is-available:not(.is-fixed) .w-evidence-state {
  border-color: rgba(246,200,95,.62);
  background: rgba(55,31,0,.82);
  color: #ffd777;
}

.w-evidence-card.is-selected {
  outline: 2px solid rgba(255,244,221,.86);
  outline-offset: 3px;
}

.w-evidence-file {
  position: sticky;
  top: 54px;
  min-height: 0;
  max-height: calc(100svh - 178px);
  overflow: auto;
  padding: 22px;
  border: 1px solid rgba(87,47,20,.72);
  background:
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.05)),
    #d9c8a4;
  color: #21160e;
  box-shadow: 0 22px 70px rgba(0,0,0,.42);
}

.w-file-kicker {
  margin: 0 0 10px;
  color: #8a1f18;
  font: 900 11px/1.4 var(--arg-mono, "MS Gothic", monospace);
}

.w-evidence-file h2 {
  margin: 0 0 14px;
  color: #150e09;
  font: 900 28px/1.15 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
}

.w-evidence-file p:not(.w-file-kicker) {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

.w-detail-source {
  margin-top: 12px !important;
  padding: 8px 10px;
  border: 1px solid rgba(32,70,84,.28);
  background:
    repeating-linear-gradient(90deg, rgba(20,98,118,.08) 0 1px, transparent 1px 5px),
    rgba(255,255,255,.28);
  color: #194858;
  font: 900 11px/1.35 var(--arg-mono, "MS Gothic", monospace) !important;
}

.w-collection-guide {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.w-collection-guide article {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 9px;
  padding: 8px 9px;
  border: 1px solid rgba(47,33,20,.16);
  background: rgba(255,255,255,.22);
}

.w-collection-guide b {
  color: #8a1f18;
  font: 900 11px/1.4 var(--arg-mono, "MS Gothic", monospace);
}

.w-collection-guide span {
  color: rgba(33,22,14,.78);
  font-size: 12px;
  line-height: 1.55;
}

.w-evidence-fix-button {
  width: 100%;
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(47,33,20,.24);
  background: rgba(0,0,0,.08);
  color: rgba(33,22,14,.5);
  font: 900 12px/1.35 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: 0;
  text-align: center;
}

.w-evidence-fix-button.is-ready {
  border-color: #24150d;
  background: #24150d;
  color: #fff4dc;
  cursor: pointer;
}

.w-evidence-fix-button.is-ready:hover,
.w-evidence-fix-button.is-ready:focus-visible {
  background: #84151b;
  outline: 2px solid rgba(132,21,27,.24);
}

.w-evidence-fix-button.is-missing {
  border-color: rgba(126,24,26,.24);
  background: rgba(126,24,26,.08);
  color: rgba(126,24,26,.72);
}

.w-evidence-fix-button.is-fixed {
  border-color: rgba(28,97,43,.32);
  background: rgba(28,97,43,.12);
  color: #2f6d3d;
}

.w-memo-register {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(80,45,18,.24);
}

.w-memo-register h3 {
  margin: 0 0 10px;
  color: #4c2115;
  font: 900 12px/1.2 var(--arg-mono, "MS Gothic", monospace);
}

.w-memo-register > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 210px;
  overflow: auto;
}

.w-memo-register article,
.w-memo-entry {
  min-height: 78px;
  width: 100%;
  padding: 9px;
  border: 1px solid rgba(47,33,20,.18);
  background: rgba(0,0,0,.06);
  color: rgba(33,22,14,.42);
  text-align: left;
}

.w-memo-entry {
  cursor: not-allowed;
}

.w-memo-register article.is-found,
.w-memo-entry.is-found {
  border-color: rgba(126,24,26,.42);
  background: rgba(126,24,26,.10);
  color: #24130d;
  cursor: pointer;
  transition: transform .14s ease, background .14s ease, box-shadow .14s ease;
}

.w-memo-entry.is-found:hover,
.w-memo-entry.is-found:focus-visible {
  background: rgba(126,24,26,.18);
  box-shadow: 0 0 0 2px rgba(126,24,26,.12);
  transform: translateY(-2px);
  outline: none;
}

.w-memo-register b,
.w-memo-register span {
  display: block;
  font-family: var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: 0;
}

.w-memo-register b {
  color: #8a1f18;
  font-size: 12px;
}

.w-memo-register span {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 900;
}

.w-memo-register p {
  margin: 6px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}

.w-memo-zoom-layer {
  position: fixed;
  inset: 0;
  z-index: 2147481800;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px),
    rgba(0,0,0,.72);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}

.w-memo-zoom-layer.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.w-memo-zoom-window {
  width: min(720px, 94vw);
  max-height: min(720px, 86vh);
  overflow: auto;
  border: 1px solid rgba(51,35,24,.45);
  background:
    linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.1)),
    #e5d8bd;
  color: #1c130d;
  box-shadow: 0 32px 110px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.36);
  transform: translateY(14px) scale(.985);
  transition: transform .16s ease;
}

.w-memo-zoom-layer.is-visible .w-memo-zoom-window {
  transform: translateY(0) scale(1);
}

.w-memo-zoom-window header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(47,33,20,.2);
  background: #23160e;
  color: #fff2cf;
  font: 900 12px/1.2 var(--arg-mono, "MS Gothic", monospace);
}

.w-memo-zoom-window header button {
  border: 1px solid rgba(255,242,207,.45);
  background: rgba(255,242,207,.08);
  color: #fff2cf;
  font: inherit;
  cursor: pointer;
}

.w-memo-zoom-window > b {
  display: block;
  padding: 18px 22px 0;
  color: #81171b;
  font: 900 18px/1.4 "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.w-memo-zoom-window pre {
  margin: 0;
  padding: 16px 22px 24px;
  white-space: pre-wrap;
  font: 700 15px/1.95 "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: 0;
}

.w-route-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 112px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(80,45,18,.24);
  overflow: auto;
}

.w-route-chip {
  padding: 5px 7px;
  border: 1px solid rgba(47,33,20,.2);
  background: rgba(0,0,0,.08);
  color: rgba(33,22,14,.45);
  font: 900 10px/1 var(--arg-mono, "MS Gothic", monospace);
}

.w-route-chip.is-found {
  border-color: rgba(150,22,26,.46);
  background: rgba(150,22,26,.12);
  color: #7d1517;
}

.w-evidence-next {
  display: inline-flex;
  margin-top: 22px;
  padding: 11px 14px;
  border: 1px solid #111;
  background: #111;
  color: #fff4dc;
  font: 900 12px/1 var(--arg-mono, "MS Gothic", monospace);
  text-decoration: none;
}

.w-evidence-next[hidden] {
  display: none !important;
}

.w-evidence-next:hover,
.w-evidence-next:focus-visible {
  background: #84151b;
  outline: 2px solid rgba(132,21,27,.24);
}

@media (max-width: 980px) {
  .w-evidence-head,
  .w-evidence-layout {
    grid-template-columns: 1fr;
  }

  .w-evidence-layout {
    min-height: 0;
  }

  .w-evidence-head {
    display: block;
  }

  .w-evidence-status {
    justify-content: start;
    margin-top: 14px;
  }

  .w-evidence-file {
    position: static;
    max-height: none;
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .w-evidence-room {
    width: min(100vw - 18px, 1440px);
    padding-top: 54px;
  }

  .w-evidence-wall {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    max-height: none;
    padding: 14px;
  }

  .w-evidence-card {
    aspect-ratio: 4 / 3;
  }

  .w-memo-register > div {
    grid-template-columns: 1fr;
    max-height: none;
  }
}

/* v76 Site Y: quiet answer page */
body.arg-y.y-quiet-page {
  min-height: 100vh;
  overflow-x: hidden;
  background: #000 !important;
  color: #f4f4f4;
}

body.arg-y.y-quiet-page::before,
body.arg-y.y-quiet-page::after {
  display: none !important;
}

.y-quiet-page .y-finale-stage {
  width: min(760px, calc(100vw - 34px));
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 64px 0;
}

.y-quiet-page .y-decision-room {
  width: 100%;
  min-height: auto;
  display: block;
  padding: clamp(22px, 5vw, 52px);
  border: 1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 36%),
    #000;
  box-shadow: none;
}

.y-quiet-page .y-decision-room::before {
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgba(255,255,255,.08) 50%, transparent 50.1%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0 1px, transparent 1px 9px);
  opacity: .18;
  mix-blend-mode: normal;
}

.y-quiet-page .y-choice-panel,
.y-quiet-page .y-ending {
  position: relative;
  z-index: 1;
}

.y-quiet-code {
  margin: 0 0 34px;
  color: rgba(255,255,255,.38);
  font: 900 11px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .18em;
}

.y-quiet-page .y-choice-panel h1 {
  max-width: none;
  margin: 0 0 20px;
  color: #f7f7f7;
  font: 400 clamp(28px, 5vw, 48px)/1.35 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
  text-shadow: none;
}

.y-quiet-page .y-choice-panel > p:not(.arg-eyebrow) {
  max-width: none;
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.9;
}

.y-quiet-message {
  margin: 0 0 8px;
}

.y-quiet-small {
  margin: 0 0 34px;
  color: rgba(255,255,255,.42) !important;
  font-size: 12px !important;
}

.y-quiet-page .y-choice-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 36px 0 0;
  border-top: 1px solid rgba(255,255,255,.16);
}

.y-quiet-page .y-choice-grid button,
.y-quiet-page .y-choice-grid button:nth-child(7) {
  min-height: 0;
  grid-column: auto;
  display: grid;
  grid-template-columns: minmax(92px, .32fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: #f7f7f7;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .16s ease, padding-left .16s ease, background .16s ease;
}

.y-quiet-page .y-choice-grid button b {
  color: rgba(255,255,255,.9);
  font: 400 18px/1.3 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
}

.y-quiet-page .y-choice-grid button span {
  color: rgba(255,255,255,.48);
  font: 400 13px/1.7 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

.y-quiet-page .y-choice-grid button:hover,
.y-quiet-page .y-choice-grid button:focus-visible {
  transform: none;
  padding-left: 12px;
  color: #fff;
  background: rgba(255,255,255,.045);
  outline: none;
}

.y-quiet-page .y-choice-grid button:hover span,
.y-quiet-page .y-choice-grid button:focus-visible span {
  color: rgba(255,255,255,.82);
}

.y-secret-choice[hidden] {
  display: none !important;
}

.y-quiet-page .y-choice-grid .y-secret-choice {
  margin-top: 18px;
  padding: 22px 14px;
  border: 1px solid rgba(210, 255, 226, .54);
  background:
    linear-gradient(90deg, rgba(210,255,226,.12), transparent 42%),
    rgba(255,255,255,.035);
  box-shadow: inset 0 0 26px rgba(210,255,226,.05);
}

.y-quiet-page .y-choice-grid .y-secret-choice b {
  color: #eaffef;
}

.y-quiet-page .y-choice-grid .y-secret-choice span {
  color: rgba(232,255,238,.72);
}

.y-quiet-page .y-ending {
  width: 100%;
  display: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.y-quiet-page .y-ending.is-visible {
  display: block;
}

.y-quiet-page .y-ending > span {
  display: block;
  margin: 0 0 32px;
  color: rgba(255,255,255,.36);
  font: 900 11px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .16em;
}

.y-quiet-page .y-ending h2 {
  margin: 0 0 20px;
  color: #fff;
  font: 400 clamp(31px, 6vw, 56px)/1.32 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
}

.y-quiet-page .y-ending p {
  max-width: 560px;
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 2;
}

.y-quiet-page .y-locked-note {
  margin-top: 24px;
  color: rgba(255,255,255,.38) !important;
  font-size: 12px !important;
}

.y-quiet-page .y-ending .arg-link-row {
  margin-top: 38px;
}

.y-quiet-page .y-choice-continue {
  margin: 32px 0 0;
  color: rgba(255,255,255,.48);
  font: 400 12px/1.7 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  animation: yContinuePulse 1.45s steps(2, end) infinite;
}

.y-quiet-page .y-ending .arg-link-row a {
  min-width: 0;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.55);
  background: transparent;
  color: rgba(255,255,255,.82);
  font: 400 14px/1.5 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

.y-quiet-page .y-ending .arg-link-row a:hover,
.y-quiet-page .y-ending .arg-link-row a:focus-visible {
  color: #fff;
  border-color: #fff;
}

@keyframes yContinuePulse {
  0%, 100% { opacity: .32; }
  50% { opacity: .94; }
}

/* U v60: SMILE social short-video network */
body.u-smile-app {
  --u3-bg: #09090d;
  --u3-panel: rgba(20, 20, 27, .86);
  --u3-line: rgba(255,255,255,.11);
  --u3-muted: rgba(255,255,255,.58);
  --u3-pink: #ff2c79;
  --u3-cyan: #53e0da;
  color: #f7f7fa;
  background:
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px) 0 0 / 56px 100%,
    radial-gradient(circle at 48% 0, rgba(255,44,121,.12), transparent 33rem),
    #08080d;
}

body.u-smile-app .az-ribbon { position: relative; z-index: 20; }

.u3-app {
  width: min(1440px, calc(100% - 32px));
  min-height: calc(100vh - 49px);
  display: grid;
  grid-template-columns: 230px minmax(400px, 630px) minmax(270px, 350px);
  gap: clamp(22px, 3vw, 48px);
  align-items: start;
  margin: 0 auto;
  padding: 28px 0 70px;
}

.u3-sidebar,
.u3-sidepanel {
  position: sticky;
  top: 70px;
  display: grid;
  gap: 22px;
}

.u3-logo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: #fff;
  text-decoration: none;
  font: 900 23px/1 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: 0;
}

.u3-logo i {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  color: #09090d;
  background: linear-gradient(135deg, var(--u3-pink), #ffa1c1 55%, var(--u3-cyan));
  font: 900 10px/1 var(--arg-mono, monospace);
  font-style: normal;
}

.u3-nav { display: grid; gap: 5px; }

.u3-nav button,
.u3-post-button {
  min-height: 45px;
  border: 0;
  color: rgba(255,255,255,.74);
  background: transparent;
  font: 800 14px/1.2 "Yu Gothic", sans-serif;
  text-align: left;
  cursor: pointer;
}

.u3-nav button { display: flex; align-items: center; gap: 12px; padding: 0 10px; }
.u3-nav button span { width: 18px; color: var(--u3-cyan); font-family: var(--arg-mono, monospace); }
.u3-nav button:hover,
.u3-nav button:focus-visible,
.u3-nav button.is-active { color: #fff; background: rgba(255,255,255,.08); outline: none; }
.u3-nav button.is-active span { color: var(--u3-pink); }

.u3-post-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  color: #0b0b11;
  background: #fff;
  text-align: center;
}
.u3-post-button span { color: var(--u3-pink); font: 900 21px/1 var(--arg-mono, monospace); }
.u3-post-button:hover { color: #fff; background: var(--u3-pink); }
.u3-post-button:hover span { color: #fff; }

.u3-account {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--u3-line);
}
.u3-account > i,
.u3-author > i {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  color: #08080d;
  background: linear-gradient(135deg, #fff, var(--u3-cyan));
  font: 900 15px/1 var(--arg-mono, monospace);
  font-style: normal;
}
.u3-account span,
.u3-author div { display: grid; gap: 3px; }
.u3-account b,
.u3-author b { font: 800 12px/1.2 var(--arg-mono, monospace); }
.u3-account small,
.u3-author span { color: var(--u3-muted); font: 11px/1.2 "Yu Gothic", sans-serif; }

.u3-feed { min-width: 0; display: grid; gap: 14px; }
.u3-feed-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 39px; }
.u3-tabs { display: flex; gap: 20px; }
.u3-tabs button { border: 0; padding: 7px 0; color: rgba(255,255,255,.46); background: transparent; font: 800 14px/1 "Yu Gothic", sans-serif; cursor: pointer; }
.u3-tabs button.is-active { color: #fff; border-bottom: 2px solid var(--u3-pink); }
.u3-live-status { color: var(--u3-muted); font: 11px/1.4 "Yu Gothic", sans-serif; white-space: nowrap; }
.u3-live-status i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--u3-pink); box-shadow: 0 0 10px var(--u3-pink); }
.u3-live-status b { color: #fff; font-family: var(--arg-mono, monospace); }

.u3-player {
  position: relative;
  width: min(100%, 565px);
  min-height: min(78vh, 760px);
  justify-self: center;
  overflow: hidden;
  background: #111;
  box-shadow: 0 26px 84px rgba(0,0,0,.45);
  isolation: isolate;
}
.u3-player > img { display: block; width: 100%; height: 100%; min-height: min(78vh, 760px); object-fit: cover; filter: saturate(.82) contrast(1.08) brightness(.77); transition: filter .45s ease, transform .45s ease; }
.u3-vignette { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.5), transparent 28%, transparent 55%, rgba(0,0,0,.82)); }
.u3-player-top { position: absolute !important; z-index: 3; inset: 15px 17px auto; display: flex; justify-content: space-between; color: rgba(255,255,255,.84); font: 800 11px/1 var(--arg-mono, monospace); }
.u3-audio { position: absolute !important; z-index: 3; right: 17px; top: 46px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(0,0,0,.3); font: 17px/1 serif; cursor: pointer; }
.u3-audio[aria-pressed="true"] { color: rgba(255,255,255,.4); }

.u3-video-copy { position: absolute !important; z-index: 3; left: 20px; right: 94px; bottom: 28px; text-shadow: 0 2px 16px #000; }
.u3-author { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; }
.u3-author > i { width: 38px; height: 38px; background: linear-gradient(135deg, #ffe7f0, var(--u3-pink)); }
.u3-author > div { min-width: 0; }
.u3-author button { margin-left: auto; min-height: 27px; padding: 0 10px; border: 1px solid rgba(255,255,255,.75); color: #fff; background: rgba(0,0,0,.18); font: 800 11px/1 "Yu Gothic", sans-serif; cursor: pointer; }
.u3-author button.is-active { color: #111; background: #fff; }
.u3-video-copy > p { margin: 0 0 8px; color: #fff; font-size: 14px; line-height: 1.72; }
.u3-video-copy .u3-tags { color: #c5fbf8; font: 800 11px/1.5 var(--arg-mono, monospace); }
.u3-sound-row { display: flex; align-items: center; gap: 7px; width: 100%; overflow: hidden; border: 0; padding: 0; color: #fff; background: transparent; font: 800 11px/1.4 var(--arg-mono, monospace); text-align: left; cursor: pointer; }
.u3-sound-row b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.u3-actions { position: absolute !important; z-index: 4; right: 15px; bottom: 48px; display: grid; gap: 13px; }
.u3-actions button { display: grid; place-items: center; gap: 3px; width: 51px; min-height: 46px; border: 0; color: #fff; background: transparent; text-shadow: 0 2px 10px #000; cursor: pointer; }
.u3-actions span { font: 900 24px/1 "Arial", sans-serif; }
.u3-actions b { font: 800 10px/1 var(--arg-mono, monospace); }
.u3-actions button.is-active span { color: var(--u3-pink); text-shadow: 0 0 14px var(--u3-pink); }
.u3-progress { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.24); }
.u3-progress i { display: block; width: 9%; height: 100%; background: linear-gradient(90deg, var(--u3-pink), var(--u3-cyan)); transition: width .36s ease; }
.u3-next-video { position: absolute !important; z-index: 5; left: 50%; bottom: 8px; display: flex; align-items: center; gap: 6px; padding: 0; border: 0; color: rgba(255,255,255,.76); background: transparent; transform: translateX(-50%); font: 800 10px/1 var(--arg-mono, monospace); cursor: pointer; }
.u3-next-video i { color: var(--u3-pink); font-size: 17px; font-style: normal; animation: u3Bounce 1.2s ease-in-out infinite; }
.u3-player.is-swapping > img { animation: u3Swap .32s ease; }

.u3-recommendations { display: grid; gap: 11px; }
.u3-recommendations > div { display: flex; justify-content: space-between; color: var(--u3-muted); font: 11px/1.2 "Yu Gothic", sans-serif; }
.u3-recommendations b { color: #fff; font-family: var(--arg-mono, monospace); }
.u3-thumb-rail { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.u3-thumb-rail button { position: relative; flex: 0 0 85px; height: 94px; overflow: hidden; border: 1px solid transparent; padding: 0; background: #111; cursor: pointer; }
.u3-thumb-rail button img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.u3-thumb-rail button span { position: absolute; left: 5px; bottom: 5px; color: #fff; font: 800 9px/1 var(--arg-mono, monospace); text-shadow: 0 1px 4px #000; }
.u3-thumb-rail button.is-current { border-color: #fff; }
.u3-thumb-rail button.is-current img { opacity: 1; }

.u3-sidepanel { gap: 14px; }
.u3-rate-card,
.u3-comments-card,
.u3-notice { border: 1px solid var(--u3-line); background: var(--u3-panel); }
.u3-rate-card { padding: 16px; }
.u3-rate-card > span { color: var(--u3-muted); font: 800 11px/1 var(--arg-mono, monospace); }
.u3-rate-card > b { display: block; margin: 6px 0 12px; color: #fff; font: 900 36px/1 var(--arg-mono, monospace); }
.u3-rate-card > div { height: 4px; overflow: hidden; background: rgba(255,255,255,.12); }
.u3-rate-card > div i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--u3-cyan), var(--u3-pink)); transition: width .3s ease; }
.u3-rate-card p { margin: 11px 0 0; color: var(--u3-muted); font-size: 12px; line-height: 1.65; }

.u3-comments-card header { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 10px; border-bottom: 1px solid var(--u3-line); }
.u3-comments-card header div { display: grid; gap: 3px; }
.u3-comments-card header b { font: 900 13px/1 var(--arg-mono, monospace); }
.u3-comments-card header span { color: var(--u3-muted); font: 11px/1 "Yu Gothic", sans-serif; }
.u3-comments-card header button { border: 0; color: var(--u3-muted); background: transparent; font: 20px/1 sans-serif; cursor: pointer; }
.u3-comment-list { max-height: min(47vh, 400px); overflow: auto; padding: 0 14px; }
.u3-comment-list p { display: grid; gap: 3px; margin: 0; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06); color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.55; }
.u3-comment-list b { color: var(--u3-cyan); font: 800 10px/1 var(--arg-mono, monospace); }
.u3-comment-form { display: flex; gap: 8px; padding: 12px; }
.u3-comment-form input { min-width: 0; flex: 1; border: 1px solid rgba(255,255,255,.14); padding: 9px; color: #fff; background: rgba(0,0,0,.35); font: 12px/1 "Yu Gothic", sans-serif; }
.u3-comment-form input:focus { outline: 1px solid var(--u3-cyan); }
.u3-comment-form button { border: 0; padding: 0 11px; color: #111; background: #fff; font: 800 11px/1 "Yu Gothic", sans-serif; cursor: pointer; }
.u3-comments-card.is-collapsed .u3-comment-list,
.u3-comments-card.is-collapsed .u3-comment-form { display: none; }
.u3-notice { padding: 14px; }
.u3-notice b { color: var(--u3-pink); font: 900 11px/1 var(--arg-mono, monospace); }
.u3-notice p { margin: 7px 0 0; color: var(--u3-muted); font-size: 12px; line-height: 1.6; }
.u3-notice.is-active { animation: u3Notice .65s steps(2, end); }

.u3-compose { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.7); }
.u3-compose[hidden] { display: none; }
.u3-compose > div { position: relative; width: min(92vw, 370px); padding: 28px; border: 1px solid rgba(255,255,255,.26); background: #15151c; box-shadow: 0 28px 90px #000; }
.u3-compose b { font: 900 20px/1 var(--arg-mono, monospace); }
.u3-compose p { color: var(--u3-muted); line-height: 1.8; }
.u3-compose button { min-height: 37px; border: 0; padding: 0 13px; color: #111; background: #fff; font-weight: 800; cursor: pointer; }
.u3-compose [data-u3-compose-close] { position: absolute !important; top: 10px; right: 10px; width: 26px; padding: 0; color: #fff; background: transparent; font-size: 21px; }

.u3-scare { position: fixed; z-index: 1500; inset: 0; display: grid; place-items: center; overflow: hidden; background: #000; }
.u3-scare[hidden] { display: none; }
.u3-scare img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.38) saturate(.72); }
.u3-scare b,
.u3-scare p { position: fixed; z-index: 1; margin: 0; color: #fff; text-shadow: 0 0 12px #000, 0 0 30px var(--u3-pink); }
.u3-scare b { left: 22px; top: 20px; font: 900 clamp(38px, 9vw, 140px)/.8 var(--arg-mono, monospace); }
.u3-scare p { left: 24px; right: 24px; bottom: 22px; font: 800 14px/1.5 "Yu Gothic", sans-serif; }
.u3-scare.is-active { animation: u3Scare .95s steps(3, end) infinite; }

.u3-app.is-u3-corrupt .u3-player > img { filter: saturate(.52) contrast(1.26) brightness(.65) hue-rotate(315deg); }
.u3-app.is-u3-corrupt .u3-rate-card > b { color: var(--u3-pink); text-shadow: 0 0 16px rgba(255,44,121,.6); }
.u3-app.is-u3-critical .u3-player { box-shadow: 0 20px 80px rgba(255,44,121,.28), 0 0 0 1px rgba(255,255,255,.4); }
.u3-app.is-u3-critical .u3-player::after { content: "SMILE"; position: absolute; z-index: 2; inset: 40% 0 auto; color: rgba(255,255,255,.14); font: 900 clamp(46px, 9vw, 98px)/1 var(--arg-mono, monospace); text-align: center; letter-spacing: .08em; pointer-events: none; animation: u3GlitchWord .25s steps(2, end) infinite; }
.u3-app.is-u3-complete > :not(.u3-scare) { filter: brightness(.34) saturate(.3); }

@keyframes u3Swap { 0% { transform: scale(1.025); filter: brightness(1.45) contrast(1.25); } 100% { transform: scale(1); } }
@keyframes u3Bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@keyframes u3Notice { 0%,100% { border-color: var(--u3-line); } 50% { border-color: var(--u3-pink); background: rgba(255,44,121,.1); } }
@keyframes u3Scare { 0%,100% { transform: translate(0); } 33% { transform: translate(-5px, 2px); filter: invert(.08); } 66% { transform: translate(4px, -3px); } }
@keyframes u3GlitchWord { 50% { transform: translate(7px, -3px); color: rgba(83,224,218,.2); } }

@media (max-width: 1080px) {
  .u3-app { grid-template-columns: 190px minmax(330px, 1fr); }
  .u3-sidepanel { grid-column: 2; position: static; grid-template-columns: minmax(180px, .7fr) minmax(260px, 1fr); align-items: start; }
  .u3-notice { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .u3-app { width: 100%; display: block; padding: 0 0 42px; }
  .u3-sidebar { position: static; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; border-bottom: 1px solid var(--u3-line); }
  .u3-nav { display: flex; gap: 2px; }
  .u3-nav button { width: 34px; min-height: 34px; justify-content: center; padding: 0; font-size: 0; }
  .u3-nav button span { width: auto; font-size: 15px; }
  .u3-post-button { width: 36px; min-height: 36px; padding: 0; font-size: 0; }
  .u3-post-button span { font-size: 23px; }
  .u3-account { display: none; }
  .u3-feed { gap: 0; }
  .u3-feed-head { padding: 11px 15px; }
  .u3-live-status { display: none; }
  .u3-player { width: 100%; min-height: calc(100svh - 136px); }
  .u3-player > img { min-height: calc(100svh - 136px); }
  .u3-recommendations { padding: 15px; }
  .u3-sidepanel { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 0 15px; }
  .u3-rate-card { order: 2; }
  .u3-comments-card { order: 1; }
  .u3-notice { order: 3; }
  .u3-comment-list { max-height: 250px; }
}

.y-quiet-page .y-scare-layer {
  place-items: center;
  background: #000;
}

.y-quiet-page .y-scare-layer img {
  display: none;
}

.y-quiet-page .y-scare-layer::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.04), transparent 13rem),
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 8px);
  opacity: .45;
  mix-blend-mode: normal;
}

.y-quiet-page .y-scare-layer div {
  width: min(420px, calc(100vw - 44px));
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.y-quiet-page .y-scare-layer b {
  margin: 0 0 14px;
  color: #fff;
  font: 400 clamp(27px, 6vw, 46px)/1.4 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: 0;
  text-shadow: none;
}

.y-quiet-page .y-scare-layer p {
  color: rgba(255,255,255,.62);
  font: 400 13px/1.8 "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

.y-quiet-page .y-scare-layer.is-active div {
  animation: yQuietPulse 1.1s steps(2) both;
}

@keyframes yQuietPulse {
  0% { opacity: 0; filter: blur(8px); }
  22% { opacity: 1; filter: blur(0); }
  58% { opacity: .28; }
  100% { opacity: 1; }
}

@media (max-width: 640px) {
  .y-quiet-page .y-finale-stage {
    width: min(100vw - 20px, 760px);
    padding: 54px 0 34px;
  }

  .y-quiet-page .y-decision-room {
    padding: 22px 18px;
  }

  .y-quiet-page .y-choice-grid button,
  .y-quiet-page .y-choice-grid button:nth-child(7) {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 16px 0;
  }
}

/* v88 Site Y: real 404 after direct Z ending */
html.y-real-404-preload,
html.y-real-404-preload body.arg-y {
  background: #fff !important;
  color: #111 !important;
}

html.y-real-404-preload body.arg-y .az-ribbon,
html.y-real-404-preload body.arg-y .y-finale-stage,
html.y-real-404-preload body.arg-y .y-scare-layer {
  display: none !important;
}

body.arg-y.y-real-404-page {
  min-height: 100vh;
  overflow: auto;
  background: #fff !important;
  background-image: none !important;
  color: #111 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

body.arg-y.y-real-404-page::before,
body.arg-y.y-real-404-page::after,
body.arg-y.y-real-404-page .az-ribbon,
body.arg-y.y-real-404-page .arg-toast {
  display: none !important;
}

.y-real-404 {
  min-height: 100vh;
  width: auto;
  margin: 0;
  padding: 72px 8px;
  background: #fff;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
}

.y-real-404-box {
  max-width: 760px;
  margin: 0 auto;
  background: transparent;
  color: #111;
}

.y-real-404-box h1 {
  margin: 0 0 18px;
  color: #111;
  font: 700 32px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  text-shadow: none;
}

.y-real-404-box p {
  margin: 0 0 16px;
  color: #111;
  font: 400 16px/1.45 Arial, Helvetica, sans-serif;
}

.y-real-404-box hr {
  height: 1px;
  margin: 22px 0 14px;
  border: 0;
  border-top: 1px solid #999;
  background: transparent;
}

.y-real-404-box address {
  color: #111;
  font: italic 14px/1.4 Arial, Helvetica, sans-serif;
}

.y-real-404-verdict {
  margin-top: 32px !important;
  max-width: 540px;
  color: #111 !important;
  font: 400 15px/1.55 Arial, Helvetica, sans-serif !important;
}

.z-final-links .z-final-direct-y {
  border-color: #fff;
  background: #fff;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
}

.z-final-links .z-final-direct-y:hover,
.z-final-links .z-final-direct-y:focus-visible {
  color: #fff;
  background: #111;
  outline-color: #fff;
}

/* v77 Site Z: direct arrival without Y */
body.z-no-y-route .z-screen {
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.26),
    inset 0 0 70px rgba(255,255,255,.09),
    0 0 80px rgba(255,255,255,.08);
}

body.z-no-y-route .z-hud b {
  color: #fff;
  background: rgba(255,255,255,.12);
}

body.z-no-y-route .z-outcome-panel {
  border-color: rgba(255,255,255,.36);
  background: rgba(255,255,255,.07);
}

body.z-no-y-route .z-sprite-yuu {
  opacity: .18;
  filter: grayscale(1) contrast(1.8);
}

body.z-no-y-route.z-direct-arrival-playing .z-screen {
  animation: zDirectPulse .28s steps(2) infinite;
}

.z-direct-arrival {
  position: absolute;
  inset: 0;
  z-index: 18;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.14) 0 1px, transparent 1px 5px),
    rgba(0,0,0,.86);
  color: #fff;
  text-align: center;
  pointer-events: none;
  animation: zDirectArrive .18s steps(2) 8;
}

.z-direct-arrival b {
  display: block;
  margin-bottom: 14px;
  font: 900 clamp(24px, 5vw, 58px)/1.15 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: 0;
}

.z-direct-arrival span {
  display: block;
  color: rgba(255,255,255,.72);
  font: 900 clamp(12px, 2vw, 18px)/1.5 var(--arg-mono, "MS Gothic", monospace);
}

.z-direct-arrival.is-fading {
  opacity: 0;
  transition: opacity .5s ease;
}

@keyframes zDirectPulse {
  0%, 100% { filter: contrast(1.15) brightness(1); transform: translate(0, 0); }
  50% { filter: invert(.1) contrast(1.8) brightness(1.18); transform: translate(-2px, 1px); }
}

@keyframes zDirectArrive {
  0%, 100% { transform: translate(0, 0); opacity: 1; }
  50% { transform: translate(6px, -2px); opacity: .72; }
}

/* v100 interaction and route polish */
.e-result-links div {
  display: grid;
  gap: 8px;
}

.e-result-links a {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(116,226,255,.42);
  color: #e9fbff;
  background: rgba(0,0,0,.44);
  font: 900 12px/1.35 var(--arg-mono, "MS Gothic", monospace);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.e-result-links a:hover,
.e-result-links a:focus-visible {
  border-color: #74e2ff;
  color: #001014;
  background: #74e2ff;
}

.mailos-folders button[data-mail-folder="possibility"] {
  position: relative;
  margin-top: 8px;
  border-color: rgba(255, 42, 94, .82);
  color: #ffe7ef;
  background:
    linear-gradient(90deg, rgba(255,42,94,.24), rgba(0,0,0,.74) 45%, rgba(255,255,255,.05)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.13) 0 1px, transparent 1px 6px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 18px rgba(255,42,94,.2);
  text-shadow: 1px 0 #ff2a5e, -1px 0 rgba(116,226,255,.7);
  animation: possibilityFolderPulse 2.4s steps(2, end) infinite;
}

.mailos-folders button[data-mail-folder="possibility"]::after {
  content: "not local / not folder";
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.58);
  font: 900 9px/1 var(--arg-mono, "MS Gothic", monospace);
}

.mailos-folders button[data-mail-folder="possibility"] span {
  color: #000;
  background: #ffecf2;
  box-shadow: 0 0 0 1px #ff2a5e;
}

.mailos-folders button[data-mail-folder="possibility"].is-active,
.mailos-folders button[data-mail-folder="possibility"][aria-pressed="true"] {
  border-color: #fff;
  color: #fff;
  background:
    linear-gradient(90deg, #2a0009, #000 54%, #350012),
    repeating-linear-gradient(90deg, rgba(255,255,255,.2) 0 1px, transparent 1px 5px);
  filter: saturate(1.4);
}

.mail-preview.is-possibility-mail {
  color: #ffeaf0;
  background:
    radial-gradient(circle at 94% 2%, rgba(255,42,94,.22), transparent 15rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 5px),
    #050003;
  border-left: 2px solid #ff2a5e;
}

.mail-preview.is-possibility-mail .mail-preview-head span {
  color: #ff86a2;
}

.mail-preview.is-possibility-mail .mail-preview-head h2 {
  color: #fff;
  text-shadow: 0 0 16px rgba(255,42,94,.32);
}

.mail-preview.is-possibility-mail .mail-preview-meta,
.mail-preview.is-possibility-mail .mail-preview-body p {
  color: rgba(255,232,238,.84);
}

.mail-preview.is-possibility-mail .mail-preview-body p {
  padding-left: 12px;
  border-left: 1px solid rgba(255,42,94,.42);
}

.mail-preview.is-possibility-mail .mail-preview-links a {
  border-color: #ff2a5e;
  color: #fff;
  background: #180009;
}

@keyframes possibilityFolderPulse {
  0%, 100% { transform: translateX(0); filter: hue-rotate(0deg); }
  49% { transform: translateX(0); }
  50% { transform: translateX(2px); filter: hue-rotate(-18deg); }
  52% { transform: translateX(-1px); }
}

.game-horror-flash[data-horror-site] {
  color: #f4ead6;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(72,0,12,.46), rgba(0,0,0,.94) 64%),
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 18%, transparent 82%, rgba(255,255,255,.04));
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
  font-size: clamp(30px, 6.5vw, 82px);
  font-weight: 900;
  line-height: 1.28;
  letter-spacing: 0;
  text-shadow: 0 0 22px rgba(96,0,12,.82), 2px 2px 0 #000;
}

.game-horror-flash[data-horror-site]::before {
  content: "";
  position: absolute;
  inset: 10%;
  border-top: 1px solid rgba(244,234,214,.22);
  border-bottom: 1px solid rgba(244,234,214,.16);
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.1), transparent 9rem),
    repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, transparent 1px 18px);
  opacity: .74;
}

.game-horror-flash[data-horror-step="2"] {
  color: #ffccd4;
  text-shadow: 0 0 30px #b0001f, 3px 3px 0 #000;
}

.game-horror-flash[data-horror-site="L"] {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.07), transparent 8rem),
    radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.42), rgba(0,0,0,.96) 68%);
}

.signal-dread-text {
  position: absolute;
  left: 50%;
  bottom: 12%;
  z-index: 7;
  width: min(780px, 88%);
  min-height: 84px;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: rgba(255, 25, 64, .22);
  font: 900 clamp(28px, 7vw, 86px)/1 var(--arg-mono, "MS Gothic", monospace);
  text-align: center;
  text-shadow: 0 0 18px rgba(255,25,64,.36);
  transform: translateX(-50%);
  mix-blend-mode: screen;
}

body.l-signal-watched .signal-dread-text {
  color: rgba(255, 15, 50, .72);
  animation: signalDreadBlink .58s steps(2, end) infinite;
}

body.l-signal-watched .three-stage,
body.l-signal-watched .famicom-shell {
  box-shadow: inset 0 0 84px rgba(255,15,50,.22);
}

.signal-stage[data-signal-dread="2"] .signal-dread-text {
  letter-spacing: .52em;
  text-shadow: 3px 0 rgba(255,255,255,.16), -3px 0 rgba(255,0,60,.6), 0 0 24px rgba(255,0,60,.5);
}

.signal-stage[data-signal-dread="3"] .signal-dread-text,
.signal-stage[data-signal-dread="4"] .signal-dread-text {
  animation: signalDreadBlink .42s steps(2, end) infinite;
  filter: contrast(1.5);
}

.signal-stage[data-signal-dread="5"] .signal-dread-text,
.signal-stage[data-signal-dread="6"] .signal-dread-text {
  bottom: 8%;
  width: min(980px, 98%);
  color: rgba(255, 0, 35, .94);
  letter-spacing: .04em;
  line-height: .88;
  text-shadow: 5px 0 rgba(255,255,255,.2), -5px 0 rgba(255,0,60,.82), 0 0 30px rgba(255,0,35,.75);
  animation: signalDreadBlink .2s steps(2, end) infinite;
}

.signal-stage[data-signal-dread="5"]::before,
.signal-stage[data-signal-dread="6"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, transparent 0 4px, rgba(255,0,38,.08) 5px 6px),
    radial-gradient(ellipse at 50% 50%, transparent 34%, rgba(72,0,18,.24) 78%, rgba(0,0,0,.34));
  mix-blend-mode: screen;
  animation: signalDreadBlink .34s steps(2, end) infinite;
}

@keyframes signalDreadBlink {
  50% { filter: blur(1px); transform: translateX(-50%) scale(1.03); }
}

/* L: signals turn the map into an increasingly hostile receiver. */
.signal-stage[data-signal-dread="3"] canvas {
  filter: brightness(1.12) saturate(.72) contrast(1.2) hue-rotate(324deg);
}

.signal-stage[data-signal-dread="4"] canvas {
  filter: brightness(1.2) saturate(.62) contrast(1.28) hue-rotate(336deg);
}

.signal-stage[data-signal-dread="4"] .game-hud,
.signal-stage[data-signal-dread="5"] .game-hud,
.signal-stage[data-signal-dread="6"] .game-hud {
  border-color: rgba(255, 22, 57, .72);
  background: rgba(23, 0, 6, .82);
  box-shadow: 0 0 22px rgba(255, 0, 44, .28);
}

.signal-stage[data-signal-dread="5"] canvas,
.signal-stage[data-signal-dread="6"] canvas {
  filter: brightness(1.38) saturate(.58) contrast(1.34) hue-rotate(342deg);
  animation: signalCanvasTwitch .42s steps(2, end) infinite;
}

.signal-stage[data-signal-dread="6"]::after {
  content: "ﾐﾃﾙ  ﾐﾃﾙ  ﾐﾃﾙ  ﾐﾃﾙ";
  position: absolute;
  inset: 17% 4% auto;
  z-index: 6;
  color: rgba(255, 12, 48, .3);
  font: 900 clamp(15px, 2.2vw, 28px)/1.3 var(--arg-mono, "MS Gothic", monospace);
  letter-spacing: .38em;
  text-align: center;
  pointer-events: none;
  text-shadow: 2px 0 rgba(255,255,255,.18), -2px 0 rgba(255,0,44,.7);
  animation: signalOverlayTwitch .26s steps(2, end) infinite;
}

@keyframes signalCanvasTwitch {
  50% { transform: translate(1px, -1px); }
}

@keyframes signalOverlayTwitch {
  50% { transform: translate(-2px, 1px); opacity: .45; }
}

.root-route-evidence-object {
  position: absolute;
  left: 54%;
  top: 50%;
  z-index: 7;
  width: 42px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 2px solid #77f6ff;
  background:
    linear-gradient(90deg, rgba(255,42,94,.55) 0 18%, transparent 18% 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.22) 0 1px, transparent 1px 5px),
    #051118;
  color: #dffcff;
  box-shadow: 0 0 0 2px rgba(0,0,0,.55), 0 0 18px rgba(119,246,255,.48);
  image-rendering: pixelated;
  cursor: pointer;
  animation: rootEvidenceFlicker 1.2s steps(2, end) infinite;
}

.root-route-evidence-object span {
  font: 900 8px/1 var(--arg-mono, "MS Gothic", monospace);
  text-shadow: 1px 0 #ff2a5e, -1px 0 #77f6ff;
}

.root-route-evidence-object.is-collected {
  opacity: .18;
  filter: grayscale(1);
  animation: none;
  pointer-events: none;
}

@keyframes rootEvidenceFlicker {
  0%, 100% { transform: translate(0, 0); }
  47% { transform: translate(1px, -1px); }
  51% { transform: translate(-1px, 1px); }
}

.arg-route-evidence-pickup em {
  display: block;
  color: rgba(255,42,94,.76);
  font-size: 8px;
  font-style: normal;
  letter-spacing: 0;
}

.arg-route-evidence-pickup.is-priority {
  opacity: .82;
  border-color: rgba(255,42,94,.8);
  box-shadow: 0 4px 22px rgba(0,0,0,.6), 0 0 18px rgba(255,42,94,.26);
}

body.x-direct-z-mode .x-topbar {
  border-bottom-color: rgba(255,42,94,.46);
}

body.x-direct-z-mode .x-y-link {
  border-color: #ff2a5e;
  color: #fff;
  background: #29000c;
}

.x-post.is-direct-z {
  border-color: rgba(255,42,94,.42);
  background:
    linear-gradient(90deg, rgba(255,42,94,.08), transparent),
    rgba(0,0,0,.46);
}

.x-post.is-direct-z .x-avatar {
  color: #fff;
  background: #ff2a5e;
}

.x-post.is-direct-z .x-post-link {
  border-color: rgba(255,42,94,.78);
  color: #fff;
  background: rgba(255,42,94,.16);
}

.z-volume-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: rgba(231,255,214,.82);
  font: 900 11px/1 var(--arg-mono, "MS Gothic", monospace);
}

.z-volume-control input {
  width: 112px;
  accent-color: var(--z-green, #57ff6e);
}

body.z-developer-route .z-screen {
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 6px),
    radial-gradient(circle at 50% 52%, rgba(255,42,94,.12), transparent 16rem),
    #050505;
}

body.z-developer-route .z-final-stamp b {
  color: #ffe071;
}

.v-vhs-button.is-yumeo-tape .v-vhs-body {
  border-color: rgba(255,42,94,.86);
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(255,42,94,.16) 12% 16%, transparent 16% 84%, rgba(255,42,94,.16) 84% 88%, transparent 88%),
    linear-gradient(180deg, #0b0204, #221017 45%, #050001);
  box-shadow: inset 0 0 0 8px rgba(0,0,0,.7), 0 22px 90px rgba(255,42,94,.2);
}

.v-vhs-button.is-admin-tape .v-vhs-body {
  border-color: rgba(116,226,255,.78);
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(116,226,255,.14) 12% 16%, transparent 16% 84%, rgba(116,226,255,.14) 84% 88%, transparent 88%),
    linear-gradient(180deg, #01090d, #0d1c22 45%, #020607);
  box-shadow: inset 0 0 0 8px rgba(0,0,0,.7), 0 22px 90px rgba(116,226,255,.16);
}

.v-vhs-button.is-empty-tape {
  grid-column: 1 / -1;
}

.v-vhs-button.is-empty-tape .v-vhs-body {
  width: min(230px, 62vw);
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(180deg, #141414, #070707);
  opacity: .62;
}

.v-vhs-button.is-empty-tape .v-vhs-label {
  letter-spacing: 0;
}

/* v101 Data shard: black glitch voids */
.arg-route-evidence-pickup {
  position: absolute;
  left: clamp(12px, var(--evidence-left, 9vw), calc(100vw - var(--evidence-width, 106px) - 12px));
  top: clamp(54px, var(--evidence-top, 20vh), calc(100vh - var(--evidence-height, 60px) - 14px));
  width: var(--evidence-width, 106px);
  height: var(--evidence-height, 60px);
  min-height: 0;
  padding: 0;
  border: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  opacity: .76;
  isolation: isolate;
  transform: rotate(var(--evidence-rotate, -5deg)) scale(var(--evidence-scale, .86));
  transition: opacity .16s ease, transform .16s ease, filter .16s ease;
  animation: shardVoidDrift 3.4s steps(2, end) infinite;
}

.arg-route-evidence-pickup::before,
.arg-route-evidence-pickup::after,
.root-route-evidence-object::before,
.root-route-evidence-object::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.arg-route-evidence-pickup::before,
.root-route-evidence-object::before {
  inset: -12px;
  z-index: -2;
  border-radius: 44% 18% 58% 22%;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(0,0,0,.96) 0 42%, rgba(0,0,0,.72) 58%, transparent 78%),
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.1), transparent 18%),
    #000;
  box-shadow:
    inset 0 0 14px rgba(255,255,255,.05),
    inset 0 0 34px rgba(0,0,0,.95),
    0 0 22px rgba(0,0,0,.9),
    0 0 26px rgba(255,42,94,.1);
  filter: contrast(1.45);
  clip-path: polygon(5% 18%, 28% 6%, 48% 13%, 70% 2%, 94% 22%, 88% 52%, 100% 73%, 72% 91%, 45% 84%, 18% 97%, 0 70%, 9% 45%);
}

.arg-route-evidence-pickup::after,
.root-route-evidence-object::after {
  inset: -5px;
  z-index: -1;
  background:
    linear-gradient(90deg, transparent 0 16%, rgba(255,42,94,.42) 17% 19%, transparent 20% 54%, rgba(116,226,255,.28) 55% 56%, transparent 57%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, transparent 0 7px, rgba(255,255,255,.07) 7px 8px, transparent 8px 14px);
  mix-blend-mode: screen;
  opacity: .45;
  clip-path: inset(12% 0 8% 0);
  animation: shardNoiseSlice 1.1s steps(2, end) infinite;
}

.arg-route-evidence-pickup span,
.root-route-evidence-object span {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  gap: 1px;
  padding: 7px;
  border: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 38%, rgba(255,255,255,.03)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.1) 0 1px, transparent 1px 6px);
  color: rgba(225,255,255,.78);
  font-family: var(--arg-mono, "MS Gothic", monospace);
  line-height: 1;
  text-transform: uppercase;
  filter: contrast(1.2);
  clip-path: polygon(0 18%, 12% 0, 96% 6%, 88% 100%, 6% 92%);
}

.arg-route-evidence-pickup b,
.arg-route-evidence-pickup i,
.arg-route-evidence-pickup em,
.root-route-evidence-object b,
.root-route-evidence-object i,
.root-route-evidence-object em {
  display: block;
  font-style: normal;
  letter-spacing: 0;
  text-shadow:
    1px 0 rgba(255,42,94,.92),
    -1px 0 rgba(116,226,255,.74),
    0 0 10px rgba(255,255,255,.2);
}

.arg-route-evidence-pickup b,
.root-route-evidence-object b {
  color: rgba(255,255,255,.66);
  font-size: clamp(8px, 1vw, 11px);
  font-weight: 900;
}

.arg-route-evidence-pickup i,
.root-route-evidence-object i {
  color: rgba(201,255,255,.88);
  font-size: clamp(10px, 1.2vw, 14px);
  font-weight: 900;
}

.arg-route-evidence-pickup em,
.root-route-evidence-object em {
  color: rgba(255,42,94,.7);
  font-size: clamp(7px, .86vw, 9px);
}

.arg-route-evidence-pickup:hover,
.arg-route-evidence-pickup:focus-visible {
  opacity: 1;
  outline: 0;
  transform: rotate(calc(var(--evidence-rotate, -5deg) + 2deg)) scale(calc(var(--evidence-scale, .86) + .08));
  filter: brightness(1.25) saturate(1.45);
}

.arg-route-evidence-pickup:hover::before,
.arg-route-evidence-pickup:focus-visible::before {
  box-shadow:
    inset 0 0 20px rgba(255,255,255,.06),
    inset 0 0 36px rgba(0,0,0,.98),
    0 0 28px rgba(0,0,0,1),
    0 0 34px rgba(255,42,94,.22);
}

.arg-route-evidence-pickup.is-collected,
.root-route-evidence-object.is-collected {
  opacity: .12;
  filter: grayscale(1) brightness(.45) blur(.2px);
  animation: none;
}

.arg-route-evidence-pickup.is-collected::after,
.root-route-evidence-object.is-collected::after {
  opacity: .12;
  animation: none;
}

.arg-route-evidence-pickup.is-vertical span,
.arg-route-evidence-pickup.is-live span,
.arg-route-evidence-pickup.is-door span,
.arg-route-evidence-pickup.is-white span,
.arg-route-evidence-pickup.is-rom span {
  writing-mode: vertical-rl;
}

.arg-route-evidence-pickup.is-thin::before,
.arg-route-evidence-pickup.is-word::before,
.arg-route-evidence-pickup.is-novel::before {
  border-radius: 12% 50% 18% 42%;
  clip-path: polygon(0 35%, 11% 12%, 58% 4%, 100% 21%, 91% 69%, 62% 100%, 8% 86%);
}

.arg-route-evidence-pickup.is-ticket::before,
.arg-route-evidence-pickup.is-lost::before,
.arg-route-evidence-pickup.is-map::before {
  border-radius: 28%;
  clip-path: polygon(12% 0, 88% 4%, 100% 23%, 88% 100%, 20% 91%, 0 62%, 7% 22%);
}

.arg-route-evidence-pickup.is-red::after,
.arg-route-evidence-pickup.is-ritual::after,
.arg-route-evidence-pickup.is-vhs::after {
  opacity: .6;
  background:
    linear-gradient(90deg, transparent 0 20%, rgba(255,0,44,.58) 21% 24%, transparent 25% 62%, rgba(255,255,255,.16) 63% 65%, transparent 66%),
    repeating-linear-gradient(0deg, rgba(255,0,44,.18) 0 1px, transparent 1px 5px);
}

.arg-route-evidence-pickup.is-white::before {
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.08),
    0 0 28px rgba(255,255,255,.2),
    0 0 28px rgba(0,0,0,.9);
}

.arg-route-evidence-pickup.is-priority {
  opacity: .88;
  border-color: transparent;
  box-shadow: none;
}

.root-route-evidence-object {
  left: var(--evidence-left, 67%);
  top: var(--evidence-top, 44%);
  width: var(--evidence-width, 46px);
  height: var(--evidence-height, 34px);
  border: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(225,255,255,.86);
  overflow: visible;
  transform: rotate(var(--evidence-rotate, -7deg)) scale(var(--evidence-scale, .78));
  animation: shardVoidDrift 2.8s steps(2, end) infinite;
}

.root-route-evidence-object:hover,
.root-route-evidence-object:focus-visible {
  outline: 0;
  filter: brightness(1.24) saturate(1.3);
}

@keyframes shardVoidDrift {
  0%, 100% { filter: contrast(1.08); }
  36% { filter: contrast(1.24) brightness(.94); }
  37% { translate: 2px -1px; }
  39% { translate: -1px 1px; }
  41% { translate: 0 0; }
}

@keyframes shardNoiseSlice {
  0%, 100% { clip-path: inset(12% 0 8% 0); transform: translate(0, 0); }
  42% { clip-path: inset(0 0 46% 0); transform: translate(2px, -1px); }
  45% { clip-path: inset(52% 0 0 0); transform: translate(-3px, 1px); }
  48% { clip-path: inset(8% 0 12% 0); transform: translate(0, 0); }
}

/* v1.26 Data shard: bind each fragment to a real, site-specific scene. */
.arg-route-evidence-host {
  isolation: isolate;
}

.arg-route-evidence-host.needs-position {
  position: relative;
}

.arg-route-evidence-host .arg-route-evidence-pickup {
  position: absolute;
  left: var(--evidence-left, 50%);
  top: var(--evidence-top, 50%);
  z-index: 28;
  max-width: 24%;
  max-height: 24%;
}

.arg-route-evidence-pickup.is-site-c {
  image-rendering: pixelated;
  opacity: .88;
}

.arg-route-evidence-pickup.is-site-c::before {
  border-radius: 0;
  clip-path: polygon(0 18%, 18% 18%, 18% 0, 78% 0, 78% 18%, 100% 18%, 100% 80%, 78% 80%, 78% 100%, 18% 100%, 18% 80%, 0 80%);
}

.arg-route-evidence-pickup.is-site-e,
.arg-route-evidence-pickup.is-site-g,
.arg-route-evidence-pickup.is-site-v {
  opacity: .64;
}

.arg-route-evidence-pickup.is-site-e::before,
.arg-route-evidence-pickup.is-site-g::before,
.arg-route-evidence-pickup.is-site-v::before {
  border-radius: 4px;
  clip-path: polygon(0 8%, 100% 0, 94% 92%, 4% 100%);
}

.arg-route-evidence-pickup.is-site-f::before,
.arg-route-evidence-pickup.is-site-j::before {
  border-radius: 1px;
  clip-path: polygon(0 10%, 100% 10%, 93% 100%, 5% 91%);
}

.arg-route-evidence-pickup.is-site-h::before,
.arg-route-evidence-pickup.is-site-o::before,
.arg-route-evidence-pickup.is-site-p::before {
  border-radius: 50%;
  box-shadow: 0 0 22px rgba(0,0,0,.95), 0 0 34px rgba(255,32,68,.22);
}

.arg-route-evidence-pickup.is-site-i::before,
.arg-route-evidence-pickup.is-site-q::before,
.arg-route-evidence-pickup.is-site-r::before {
  border-radius: 18%;
  clip-path: polygon(7% 0, 92% 8%, 100% 78%, 82% 100%, 8% 91%, 0 24%);
}

.arg-route-evidence-pickup.is-site-k,
.arg-route-evidence-pickup.is-site-l,
.arg-route-evidence-pickup.is-site-m {
  opacity: .72;
  pointer-events: auto;
}

.arg-route-evidence-pickup.is-site-k::before,
.arg-route-evidence-pickup.is-site-l::before,
.arg-route-evidence-pickup.is-site-m::before {
  border-radius: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.98) 0 45%, rgba(0,0,0,.75) 55%, transparent 76%);
}

.arg-route-evidence-pickup.is-site-n::before,
.arg-route-evidence-pickup.is-site-s::before {
  border-radius: 0;
  clip-path: polygon(0 14%, 100% 0, 94% 85%, 6% 100%);
}

.arg-route-evidence-pickup.is-site-t::before,
.arg-route-evidence-pickup.is-site-u::before {
  border-radius: 6px;
  clip-path: polygon(9% 0, 92% 6%, 100% 81%, 76% 100%, 4% 92%, 0 19%);
}

@media (max-width: 640px) {
  .arg-route-evidence-host .arg-route-evidence-pickup {
    max-width: 31%;
    max-height: 31%;
  }
}

/* v1.27: from the third query onward, E is no longer a damaged search page. */
.e404-decay-ofuda,
.e404-curse-sigil {
  position: fixed;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}

.e404-decay-ofuda {
  right: -6vw;
  top: 5vh;
  width: min(50vw, 660px);
  height: min(72vh, 700px);
  object-fit: cover;
  filter: saturate(.5) brightness(.44) contrast(1.45);
  mix-blend-mode: screen;
  transform: rotate(3deg) scale(.9);
  transition: opacity .22s ease, transform .4s ease;
}

.e404-curse-sigil {
  left: clamp(18px, 8vw, 150px);
  top: 13vh;
  display: grid;
  gap: 8px;
  color: #ef2633;
  font-family: var(--arg-mono);
  text-align: center;
  text-shadow: 2px 0 #430006, -2px 0 #120001, 0 0 18px rgba(255, 24, 34, .9);
  transform: rotate(-8deg) scale(.7);
  transition: opacity .2s ease, transform .25s steps(2, end);
}

.e404-curse-sigil b {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(90px, 18vw, 290px);
  line-height: .8;
  color: #e3212e;
}

.e404-curse-sigil span {
  color: #ff4853;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.e404-decay-scene[data-level="3"],
.e404-decay-scene[data-level="4"],
.e404-decay-scene[data-level="5"],
.e404-decay-scene[data-level="6"],
.e404-decay-scene[data-level="7"] {
  opacity: .94;
  background: #130002;
}

.e404-decay-scene[data-level="3"] .e404-decay-room,
.e404-decay-scene[data-level="4"] .e404-decay-room,
.e404-decay-scene[data-level="5"] .e404-decay-room,
.e404-decay-scene[data-level="6"] .e404-decay-room,
.e404-decay-scene[data-level="7"] .e404-decay-room {
  opacity: .22;
  filter: grayscale(1) sepia(1) saturate(2.7) hue-rotate(310deg) brightness(.25) contrast(1.8);
}

.e404-decay-scene[data-level="3"] .e404-decay-ofuda,
.e404-decay-scene[data-level="4"] .e404-decay-ofuda,
.e404-decay-scene[data-level="5"] .e404-decay-ofuda,
.e404-decay-scene[data-level="6"] .e404-decay-ofuda,
.e404-decay-scene[data-level="7"] .e404-decay-ofuda {
  opacity: .68;
  transform: rotate(3deg) scale(1.03);
  animation: e404OfudaSignal .54s steps(2, end) infinite;
}

.e404-decay-scene[data-level="3"] .e404-curse-sigil,
.e404-decay-scene[data-level="4"] .e404-curse-sigil,
.e404-decay-scene[data-level="5"] .e404-curse-sigil,
.e404-decay-scene[data-level="6"] .e404-curse-sigil,
.e404-decay-scene[data-level="7"] .e404-curse-sigil {
  opacity: 1;
  transform: rotate(-8deg) scale(1);
  animation: e404CurseSigil .68s steps(2, end) infinite;
}

body.arg-e.e404-cursed .e404-search-card,
body.arg-e.e404-cursed .e404-result-panel,
body.arg-e.e404-cursed .e404-decay-artifact {
  color: #ff4a55;
  background-color: rgba(18, 0, 2, .92);
}

body.arg-e.e404-cursed .e404-search-card .arg-lead,
body.arg-e.e404-cursed .e404-search-card .arg-eyebrow,
body.arg-e.e404-cursed .e404-decay-readout,
body.arg-e.e404-cursed .e404-result-panel h2,
body.arg-e.e404-cursed .e404-result-panel .arg-eyebrow,
body.arg-e.e404-cursed .e404-result-panel p,
body.arg-e.e404-cursed .e-result-card,
body.arg-e.e404-cursed .e-result-card b,
body.arg-e.e404-cursed .e-result-card h3,
body.arg-e.e404-cursed .e-result-card p,
body.arg-e.e404-cursed .e-result-card small,
body.arg-e.e404-cursed .e404-decay-artifact,
body.arg-e.e404-cursed .e404-decay-artifact b,
body.arg-e.e404-cursed .e404-decay-artifact i,
body.arg-e.e404-cursed .e404-query-row {
  color: #ff4a55 !important;
  text-shadow: 0 0 7px rgba(222, 0, 18, .36);
}

@keyframes e404OfudaSignal {
  0%, 100% { clip-path: inset(0); transform: rotate(3deg) scale(1.03) translate(0); }
  45% { clip-path: inset(9% 0 24% 0); transform: rotate(3deg) scale(1.08) translate(-12px, 5px); }
  70% { clip-path: inset(55% 0 2% 0); transform: rotate(3deg) scale(.98) translate(8px, -2px); }
}

@keyframes e404CurseSigil {
  0%, 100% { filter: none; }
  40% { filter: blur(.7px); transform: rotate(-8deg) translate(9px, -4px) scale(1.04); }
  67% { filter: contrast(2); transform: rotate(-8deg) translate(-6px, 4px) scale(.98); }
}

/* Same restrained recovery window used by the diary's Data shard. */
.arg-shard-recovery-popup {
  width: min(390px, calc(100vw - 32px));
  padding: 18px;
  border: 1px solid #bafcff;
  color: #efffff;
  background: linear-gradient(90deg, rgba(255,0,89,.22), transparent 20%, rgba(0,230,255,.16) 72%, transparent), repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 5px), #020202;
  box-shadow: 0 18px 62px rgba(0,0,0,.82);
  font: 12px/1.65 "MS Gothic", "Yu Gothic", monospace;
}

.arg-shard-recovery-popup.is-visible {
  transform: translate(-50%, -50%) scale(1);
}

.arg-shard-recovery-popup b {
  color: #efffff;
  font: 900 14px/1.5 "MS Gothic", "Yu Gothic", monospace;
  letter-spacing: .06em;
  text-shadow: none;
}

.arg-shard-recovery-popup span {
  color: #bafcff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
}

/* W evidence photographs are inspectable without leaving the restoration wall. */
.w-evidence-zoom-layer {
  position: fixed;
  inset: 0;
  z-index: 5200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .78);
  opacity: 0;
  transition: opacity .16s ease;
}

.w-evidence-zoom-layer[hidden] { display: none; }
.w-evidence-zoom-layer.is-visible { opacity: 1; }

.w-evidence-zoom-window {
  width: min(760px, 100%);
  max-height: min(90vh, 760px);
  overflow: auto;
  border: 1px solid rgba(213, 235, 225, .48);
  background: #070808;
  box-shadow: 0 24px 80px rgba(0,0,0,.9);
  transform: translateY(10px) scale(.98);
  transition: transform .16s ease;
}

.w-evidence-zoom-layer.is-visible .w-evidence-zoom-window { transform: translateY(0) scale(1); }
.w-evidence-zoom-window header { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid rgba(213,235,225,.2); color: #a8cbc2; font: 11px/1.2 var(--arg-mono); }
.w-evidence-zoom-window header button { width: 26px; height: 24px; border: 1px solid rgba(213,235,225,.42); color: #e6f0eb; background: #111; cursor: pointer; }
.w-evidence-zoom-window img { display: block; width: 100%; max-height: 58vh; object-fit: contain; background: #000; }
.w-evidence-zoom-window div { padding: 13px 15px 16px; color: #e4ede9; }
.w-evidence-zoom-window b { display: block; margin-bottom: 6px; font-size: 15px; }
.w-evidence-zoom-window p { margin: 0; color: #b6c2bc; font-size: 13px; line-height: 1.7; }

/* E keeps its friendly search shell through query five; the corruption behaves like a cursed game save. */
.e404-exe-token {
  position: fixed;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 32px;
  border: 2px solid rgba(255, 50, 61, .84);
  color: #ff505a;
  background: rgba(8, 0, 1, .84);
  box-shadow: 4px 4px 0 rgba(0, 0, 0, .7);
  font: 900 11px/1 var(--arg-mono);
  opacity: 0;
  pointer-events: none;
}

.e404-exe-token-a { left: 9vw; bottom: 16vh; }
.e404-exe-token-b { right: 18vw; top: 24vh; }
.e404-exe-token-c { left: 31vw; bottom: 7vh; width: 66px; }

body.arg-e.e404-hexed .e404-search-card {
  box-shadow: 5px 0 rgba(255, 0, 50, .25), -4px 0 rgba(0, 212, 255, .18), 0 18px 46px rgba(34, 0, 5, .44);
  animation: e404FriendlyHex 2.1s steps(2, end) infinite;
}

body.arg-e.e404-hexed .e404-result-panel {
  box-shadow: 0 0 0 1px rgba(255, 53, 65, .28), 0 18px 60px rgba(0, 0, 0, .52);
}

body.arg-e.e404-hexed .e404-decay-readout,
body.arg-e.e404-hexed .e404-decay-artifact b {
  color: #c51c2a;
}

body.arg-e.e404-hexed .e404-decay-artifact {
  border-left-color: #d72b37;
  background: rgba(255, 249, 247, .88);
}

body.arg-e.e404-hexed .e404-exe-token {
  opacity: .86;
  animation: e404ExeToken .6s steps(2, end) infinite;
}

.e404-decay-scene[data-level="3"],
.e404-decay-scene[data-level="4"],
.e404-decay-scene[data-level="5"] {
  opacity: .56;
  background: rgba(20, 0, 2, .82);
}

.e404-decay-scene[data-level="3"] .e404-decay-room,
.e404-decay-scene[data-level="4"] .e404-decay-room,
.e404-decay-scene[data-level="5"] .e404-decay-room {
  opacity: .14;
  filter: grayscale(1) sepia(1) saturate(1.9) hue-rotate(310deg) brightness(.32) contrast(1.55);
}

.e404-decay-scene[data-level="3"] .e404-decay-ofuda,
.e404-decay-scene[data-level="4"] .e404-decay-ofuda,
.e404-decay-scene[data-level="5"] .e404-decay-ofuda {
  opacity: .28;
  transform: rotate(3deg) scale(.92);
  animation: e404OfudaSignal 1.1s steps(2, end) infinite;
}

.e404-decay-scene[data-level="3"] .e404-curse-sigil,
.e404-decay-scene[data-level="4"] .e404-curse-sigil,
.e404-decay-scene[data-level="5"] .e404-curse-sigil {
  opacity: .46;
  transform: rotate(-8deg) scale(.66);
  animation: e404CurseSigil 1.1s steps(2, end) infinite;
}

.e404-input-ghost,
.e404-save-stack {
  position: fixed;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  font-family: var(--arg-mono, "MS Gothic", monospace);
}

.e404-input-ghost {
  left: 50%;
  top: 17vh;
  display: grid;
  width: min(560px, calc(100vw - 40px));
  gap: 5px;
  padding: 9px 12px;
  border: 1px solid rgba(238, 32, 47, .84);
  color: #ff525d;
  background: rgba(17, 0, 2, .92);
  box-shadow: 5px 0 rgba(255,255,255,.1), -5px 0 rgba(255,0,44,.26), 0 18px 42px rgba(0,0,0,.7);
  transform: translate(-50%, -18px) skewX(-2deg);
}

.e404-input-ghost span { font-size: 10px; letter-spacing: .15em; }
.e404-input-ghost b { min-height: 22px; padding: 4px 7px; color: #fff0e6; background: #050001; font-size: 14px; }
.e404-input-ghost i { color: #ff8a91; font-size: 10px; font-style: normal; }

.e404-save-stack {
  right: 5vw;
  bottom: 9vh;
  display: grid;
  width: min(200px, 38vw);
  gap: 3px;
  color: #f34855;
  transform: rotate(-4deg) translateY(12px);
}

.e404-save-stack span {
  padding: 7px 9px;
  border: 1px solid rgba(255, 69, 80, .72);
  background: rgba(10, 0, 1, .9);
  font-size: 11px;
  box-shadow: 4px 0 rgba(255,255,255,.08), -3px 0 rgba(255,0,52,.25);
}

body.arg-e[data-e404-decay="4"] .e404-input-ghost {
  opacity: 1;
  animation: e404InputGhost .36s steps(2, end) infinite;
}

body.arg-e[data-e404-decay="4"] .e404-search-card,
body.arg-e[data-e404-decay="4"] .e404-result-panel {
  animation-duration: .72s;
}

body.arg-e[data-e404-decay="5"] .e404-input-ghost,
body.arg-e[data-e404-decay="5"] .e404-save-stack {
  opacity: 1;
}

body.arg-e[data-e404-decay="5"] .e404-input-ghost { animation: e404InputGhost .18s steps(2, end) infinite; }
body.arg-e[data-e404-decay="5"] .e404-save-stack { animation: e404SaveStack .22s steps(2, end) infinite; }
body.arg-e[data-e404-decay="5"] .e404-search-card { animation-duration: .28s; filter: contrast(1.18) saturate(.72); }
body.arg-e[data-e404-decay="5"] .e404-result-panel { transform: translateX(2px); }

@keyframes e404InputGhost {
  0%, 100% { transform: translate(-50%, -18px) skewX(-2deg); clip-path: inset(0); }
  42% { transform: translate(calc(-50% + 13px), -9px) skewX(3deg); clip-path: inset(0 0 41% 0); }
  68% { transform: translate(calc(-50% - 9px), -23px) skewX(-4deg); clip-path: inset(46% 0 0 0); }
}

@keyframes e404SaveStack {
  0%, 100% { transform: rotate(-4deg) translateY(12px); clip-path: inset(0); }
  43% { transform: rotate(-2deg) translate(9px, -5px); clip-path: inset(0 0 34% 0); }
  72% { transform: rotate(-7deg) translate(-7px, 4px); clip-path: inset(28% 0 0 0); }
}

@keyframes e404FriendlyHex {
  0%, 100% { transform: translate(0); }
  8% { transform: translate(2px, 0); }
  12% { transform: translate(-1px, 1px); }
  61% { transform: translate(0); }
  65% { transform: translate(-2px, 0); }
}

@keyframes e404ExeToken {
  0%, 100% { transform: translate(0); clip-path: inset(0); }
  44% { transform: translate(12px, -4px); clip-path: inset(0 0 36% 0); }
  69% { transform: translate(-8px, 5px); clip-path: inset(42% 0 0 0); }
}

/* Final Z sprite pass: the newest page styles keep every person legible. */
.z-world-alert-pc[hidden], .z-world-alert-pc.is-consumed { display: none !important; }
.z-system-confirm-panel button, .z-system-confirm-panel button:last-child { color: #dff6b0; background: #07100a; }
.z-system-confirm-panel button:hover, .z-system-confirm-panel button:focus-visible { color: #07100a; background: #dff6b0; outline: 2px solid #ffe071; outline-offset: 3px; }
.z-sprite { border: 0; clip-path: polygon(31% 0,69% 0,78% 22%,93% 34%,77% 42%,75% 76%,90% 100%,62% 100%,50% 84%,38% 100%,10% 100%,25% 76%,23% 42%,7% 34%,22% 22%); }
.z-sprite-mashiro { background: linear-gradient(180deg,#faf7f1 0 48%,#d8d3dd 48% 77%,#35313e 77% 100%) !important; box-shadow: inset 0 0 0 3px #f8f5ef,inset 0 -13px 0 #34313d !important; }
.z-sprite-mashiro::before { left:24%;top:-17%;width:52%;height:32%;background:#f0cdb7;box-shadow:0 -5px 0 #3b2940,-6px 1px 0 #3b2940,6px 1px 0 #3b2940,0 8px 0 #f0cdb7; }
.z-sprite-mashiro::after { left:28%;top:47%;width:44%;height:10%;background:#c55178;box-shadow:-12px 7px 0 #faf7f1,12px 7px 0 #faf7f1,-6px 38px 0 #35313e,9px 38px 0 #35313e; }
.z-sprite-yumeo { background:linear-gradient(180deg,#b7283d 0 64%,#311e31 64% 100%) !important;box-shadow:inset 0 0 0 3px #7f1c31,inset 0 -13px 0 #281a2a !important; }
.z-sprite-yumeo::before { left:24%;top:-17%;width:52%;height:32%;background:#dcae95;box-shadow:0 -5px 0 #171522,-6px 1px 0 #171522,6px 1px 0 #171522,0 8px 0 #dcae95; }
.z-sprite-yumeo::after { left:33%;top:47%;width:34%;height:12%;background:#f0ddc2;box-shadow:-14px 7px 0 #b7283d,14px 7px 0 #b7283d,-7px 37px 0 #281a2a,9px 37px 0 #281a2a; }
.z-sprite-yuu { background:linear-gradient(180deg,#242033 0 54%,#0b0a11 54% 100%) !important;box-shadow:inset 0 0 0 3px #0a0910,inset 0 -17px 0 #050509 !important; }
.z-sprite-yuu::before { left:24%;top:-17%;width:52%;height:32%;background:#d9d5df;box-shadow:0 -5px 0 #15131f,-7px 1px 0 #15131f,7px 1px 0 #15131f,0 8px 0 #d9d5df; }
.z-sprite-yuu::after { left:29%;top:47%;width:42%;height:10%;background:#4b344f;box-shadow:-12px 7px 0 #242033,12px 7px 0 #242033,-7px 39px 0 #050509,9px 39px 0 #050509; }

/* U v61: desktop is one complete short-video screen, without a page scroll. */
@media (min-width: 721px) {
  body.u-smile-app { overflow: hidden; }
  .u3-app {
    width: min(1380px, calc(100% - 28px));
    height: calc(100dvh - 49px);
    min-height: 0;
    grid-template-columns: 190px minmax(360px, 560px) minmax(245px, 310px);
    gap: clamp(16px, 2.4vw, 36px);
    padding: 12px 0;
    overflow: hidden;
    box-sizing: border-box;
  }
  .u3-sidebar,
  .u3-sidepanel { top: 12px; gap: 10px; }
  .u3-nav button { min-height: 37px; font-size: 13px; }
  .u3-post-button { min-height: 38px; }
  .u3-account { padding-top: 10px; }
  .u3-feed {
    height: 100%;
    grid-template-rows: 34px minmax(260px, 1fr) 108px;
    gap: 8px;
    min-height: 0;
  }
  .u3-feed-head { min-height: 34px; }
  .u3-player,
  .u3-player > img { width: 100%; min-height: 0; height: 100%; }
  .u3-player { cursor: pointer; }
  .u3-recommendations { min-height: 108px; gap: 6px; overflow: visible; }
  .u3-thumb-rail { min-height: 76px; gap: 6px; overflow: hidden; }
  .u3-thumb-rail button { flex-basis: 70px; height: 76px; }
  .u3-rate-card { padding: 12px; }
  .u3-rate-card > b { margin: 4px 0 8px; font-size: 29px; }
  .u3-rate-card p { margin-top: 8px; font-size: 11px; }
  .u3-comments-card header { padding: 10px 12px 8px; }
  .u3-comment-list { max-height: min(31vh, 270px); padding: 0 12px; }
  .u3-comment-list p { padding: 8px 0; font-size: 11px; }
  .u3-comment-form { padding: 9px; }
  .u3-notice { padding: 10px 12px; }
  .u3-notice p { margin-top: 5px; font-size: 11px; }
}

/* The SMILE scare uses the complete image rather than cropping it to the viewport. */
.u3-scare img {
  width: min(94vw, 1320px);
  height: min(92vh, 900px);
  object-fit: contain;
  background: #000;
}

/* Z v87: deliberately simple square-built Famicom people. */
.z-sprite {
  width: 38px !important;
  height: 48px !important;
  border: 0 !important;
  clip-path: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.z-sprite::before,
.z-sprite::after { content: ""; position: absolute; display: block; }
.z-sprite-mashiro {
  background: #faf7f1 !important;
  box-shadow: 5px 0 #faf7f1, -5px 12px #faf7f1, 33px 12px #faf7f1, 7px 31px #d3cedb, 21px 31px #d3cedb, 8px 43px #34313d, 21px 43px #34313d !important;
}
.z-sprite-mashiro::before {
  left: 9px; top: -19px; width: 20px; height: 19px; background: #efcdb8;
  box-shadow: 0 -5px #3b2940, -5px -2px #3b2940, 20px -2px #3b2940, -5px 5px #3b2940, 20px 5px #3b2940;
}
.z-sprite-mashiro::after { left: 14px; top: 17px; width: 10px; height: 6px; background: #c55178; }
.z-sprite-yumeo {
  background: #b7283d !important;
  box-shadow: 5px 0 #b7283d, -5px 12px #b7283d, 33px 12px #b7283d, 7px 31px #281a2a, 21px 31px #281a2a, 8px 43px #171522, 21px 43px #171522 !important;
}
.z-sprite-yumeo::before {
  left: 9px; top: -19px; width: 20px; height: 19px; background: #d9ae96;
  box-shadow: 0 -5px #171522, -5px -2px #171522, 20px -2px #171522, -5px 5px #171522, 20px 5px #171522;
}
.z-sprite-yumeo::after { left: 15px; top: 13px; width: 8px; height: 15px; background: #f0ddc2; }
.z-sprite-yuu {
  background: #201c2a !important;
  opacity: .7;
  box-shadow: 5px 0 #201c2a, -5px 12px #201c2a, 33px 12px #201c2a, 7px 31px #09090e, 21px 31px #09090e, 8px 43px #050509, 21px 43px #050509 !important;
}
.z-sprite-yuu::before {
  left: 9px; top: -19px; width: 20px; height: 19px; background: #d8d5df;
  box-shadow: 0 -5px #13111c, -5px -2px #13111c, 20px -2px #13111c, -5px 5px #13111c, 20px 5px #13111c;
}
.z-sprite-yuu::after { left: 14px; top: 17px; width: 10px; height: 6px; background: #4b344f; }

/* Keep the bodies narrow so the square-built figures read as people, not tiles. */
.z-sprite-mashiro,
.z-sprite-yumeo,
.z-sprite-yuu {
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: 100% 28px !important;
}
.z-sprite-mashiro {
  background-image:
    linear-gradient(90deg, transparent 0 9px, #faf7f1 9px 29px, transparent 29px),
    linear-gradient(90deg, transparent 0 8px, #d3cedb 8px 18px, transparent 18px 21px, #d3cedb 21px 31px, transparent 31px),
    linear-gradient(90deg, transparent 0 9px, #34313d 9px 17px, transparent 17px 21px, #34313d 21px 29px, transparent 29px) !important;
  background-size: 100% 26px, 100% 13px, 100% 10px !important;
  background-position: 0 0, 0 26px, 0 39px !important;
  box-shadow: none !important;
}
.z-sprite-mashiro::before {
  left: 11px; top: -18px; width: 16px; height: 17px; background: #efcdb8;
  box-shadow: 0 -4px #3b2940, -4px 0 #3b2940, 16px 0 #3b2940, -4px 5px #3b2940, 16px 5px #3b2940;
}
.z-sprite-mashiro::after { left: 15px; top: 14px; width: 8px; height: 5px; background: #c55178; }
.z-sprite-yumeo {
  background-image:
    linear-gradient(90deg, transparent 0 9px, #b7283d 9px 29px, transparent 29px),
    linear-gradient(90deg, transparent 0 8px, #281a2a 8px 18px, transparent 18px 21px, #281a2a 21px 31px, transparent 31px),
    linear-gradient(90deg, transparent 0 9px, #171522 9px 17px, transparent 17px 21px, #171522 21px 29px, transparent 29px) !important;
  background-size: 100% 26px, 100% 13px, 100% 10px !important;
  background-position: 0 0, 0 26px, 0 39px !important;
  box-shadow: none !important;
}
.z-sprite-yumeo::before {
  left: 11px; top: -18px; width: 16px; height: 17px; background: #d9ae96;
  box-shadow: 0 -4px #171522, -4px 0 #171522, 16px 0 #171522, -4px 5px #171522, 16px 5px #171522;
}
.z-sprite-yumeo::after { left: 16px; top: 10px; width: 6px; height: 14px; background: #f0ddc2; }
.z-sprite-yuu {
  background-image:
    linear-gradient(90deg, transparent 0 8px, #211b2c 8px 30px, transparent 30px),
    linear-gradient(90deg, transparent 0 7px, #09090e 7px 18px, transparent 18px 20px, #09090e 20px 31px, transparent 31px),
    linear-gradient(90deg, transparent 0 8px, #050509 8px 17px, transparent 17px 21px, #050509 21px 30px, transparent 30px) !important;
  background-size: 100% 26px, 100% 13px, 100% 10px !important;
  background-position: 0 0, 0 26px, 0 39px !important;
  opacity: .78;
  box-shadow: none !important;
}
.z-sprite-yuu::before {
  left: 11px; top: -18px; width: 16px; height: 17px; background: #d8d5df;
  box-shadow: 0 -4px #13111c, -4px 0 #13111c, 16px 0 #13111c, -4px 5px #13111c, 16px 5px #13111c;
}
.z-sprite-yuu::after { left: 15px; top: 14px; width: 8px; height: 5px; background: #4b344f; }

/* Z: supplied pixel portraits replace the temporary CSS-built characters. */
.z-sprite {
  width: clamp(42px, 5vw, 62px) !important;
  height: clamp(76px, 9vw, 112px) !important;
  overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
}

.z-sprite::before,
.z-sprite::after {
  display: none !important;
  content: none !important;
}

.z-sprite img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: pixelated;
  pointer-events: none;
  filter: drop-shadow(0 5px 0 rgba(0,0,0,.42));
}

.z-sprite-yumeo img {
  object-position: 50% 49%;
}

.z-sprite-yuu img {
  object-position: 50% 47%;
}
