/* KTT Easter Egg Scene System
   Physical scene plates first; terminal flavor stays in the instrument labels. */
:root {
  --ktt-egg-safe-top: max(88px, calc(70px + env(safe-area-inset-top)));
}

.ktt-egg-scene {
  --egg-accent: var(--ktt-amber-signal, #ffb347);
  --egg-art: none;
  position: fixed;
  inset: 0;
  z-index: 9005;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: #050505;
  transition: opacity .32s ease, visibility 0s linear .32s;
}

.ktt-egg-scene.is-active {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.ktt-egg-scene.is-active.is-settled {
  visibility: hidden;
  opacity: 0;
  transition: opacity .46s ease, visibility 0s linear .46s;
}

.ktt-egg-scene__art {
  position: absolute;
  inset: 0;
  background-image: var(--egg-art);
  background-position: var(--egg-position, center);
  background-size: cover;
  transform: scale(1.025);
  filter: saturate(.96) contrast(1.04) brightness(.88);
  animation: kttEggSceneSettle 7s ease-out both;
}

.ktt-egg-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(3,4,3,.54) 0, rgba(3,4,3,.12) 46%, rgba(3,4,3,.42) 100%),
    linear-gradient(0deg, rgba(3,4,3,.68) 0, transparent 48%, rgba(3,4,3,.18) 100%);
}

.ktt-egg-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: .18;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 50% 42%, transparent 0 42%, rgba(0,0,0,.54) 100%);
  mix-blend-mode: screen;
}

.ktt-egg-scene__plate {
  position: absolute;
  z-index: 3;
  left: clamp(14px, 4vw, 68px);
  bottom: clamp(18px, 6vh, 76px);
  width: min(520px, calc(100vw - 28px));
  padding: clamp(17px, 2.7vw, 28px);
  border: 1px solid color-mix(in srgb, var(--egg-accent) 62%, transparent);
  border-left: 4px solid var(--egg-accent);
  background: linear-gradient(135deg, rgba(5,7,5,.93), rgba(13,15,12,.82));
  box-shadow: 0 26px 80px rgba(0,0,0,.54), inset 0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter: blur(12px);
}

.ktt-egg-scene__plate::before,
.ktt-egg-scene__plate::after {
  content: "";
  position: absolute;
  width: 17px;
  height: 17px;
  border-color: var(--egg-accent);
  opacity: .82;
}

.ktt-egg-scene__plate::before {
  top: -1px;
  right: -1px;
  border-top: 2px solid;
  border-right: 2px solid;
}

.ktt-egg-scene__plate::after {
  right: -1px;
  bottom: -1px;
  border-right: 2px solid;
  border-bottom: 2px solid;
}

.ktt-egg-scene__kicker,
.ktt-egg-scene__status {
  display: block;
  color: var(--egg-accent);
  font: 800 .65rem/1.45 var(--ktt-field-mono, ui-monospace, monospace);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ktt-egg-scene__title {
  display: block;
  margin: 9px 0 12px;
  color: #f4ead8;
  font: 900 clamp(1.55rem, 5vw, 3.4rem)/.95 var(--ktt-field-font, Arial, sans-serif);
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.ktt-egg-scene__status {
  color: rgba(244,234,216,.72);
  letter-spacing: .1em;
}

.ktt-egg-scene__meter {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
  margin-top: 15px;
}

.ktt-egg-scene__meter i {
  height: 5px;
  background: color-mix(in srgb, var(--egg-accent) 28%, transparent);
}

.ktt-egg-scene__meter i:nth-child(-n+5) {
  background: var(--egg-accent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--egg-accent) 48%, transparent);
}

.ktt-egg-scene[data-scene="berlin"] {
  --egg-art: url("graphics/easter-eggs/berlin-1989.webp");
  --egg-accent: var(--ktt-snow-blue, #9cc7d8);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="kgb"] {
  --egg-art: url("graphics/easter-eggs/kgb-dossier.webp");
  --egg-accent: #c54b3f;
  --egg-position: center;
}

.ktt-egg-scene[data-scene="fsb"] {
  --egg-art: url("graphics/easter-eggs/fsb-mirror-network.webp");
  --egg-accent: var(--ktt-snow-blue, #9cc7d8);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="ranger"] {
  --egg-art: url("graphics/easter-eggs/ranger-station.webp");
  --egg-accent: var(--ktt-coyote-tan, #b69b63);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="hal"] {
  --egg-art: url("graphics/easter-eggs/hal-console.webp");
  --egg-accent: var(--ktt-muted-red, #9f332e);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="nods"],
.ktt-egg-scene[data-scene="thermal"],
.ktt-egg-scene[data-scene="night"] {
  --egg-art: url("graphics/easter-eggs/nods-timber.webp");
  --egg-accent: var(--ktt-nvg-green, #76ff69);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="nods"] .ktt-egg-scene__art {
  filter: grayscale(1) sepia(.55) hue-rotate(62deg) saturate(4) contrast(1.22) brightness(.76);
}

.ktt-egg-scene[data-scene="thermal"] {
  --egg-accent: var(--ktt-warning-orange, #dd6b20);
}

.ktt-egg-scene[data-scene="thermal"] .ktt-egg-scene__art {
  filter: grayscale(1) contrast(1.58) brightness(.84) sepia(.9) saturate(5) hue-rotate(332deg);
}

.ktt-egg-scene[data-scene="radio"] {
  --egg-art: url("graphics/easter-eggs/field-radio.webp");
  --egg-accent: var(--ktt-amber-signal, #ffb347);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="hardbass"] {
  --egg-art: url("graphics/easter-eggs/hardbass-yard.webp");
  --egg-accent: #e24ac8;
  --egg-position: center;
}

.ktt-egg-scene[data-scene="moose"] {
  --egg-art: url("graphics/easter-eggs/wildlife-moose.webp");
  --egg-accent: var(--ktt-amber-signal, #ffb347);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="bear"] {
  --egg-art: url("graphics/easter-eggs/bear-protocol.webp");
  --egg-accent: var(--ktt-coyote-tan, #b69b63);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="rodeo"] {
  --egg-art: url("graphics/easter-eggs/rodeo-arena.webp");
  --egg-accent: var(--ktt-amber-signal, #ffb347);
  --egg-position: center;
}

.ktt-egg-scene[data-scene="founder"] {
  --egg-art: url("ktt-deployment-mortar-team.jpg");
  --egg-accent: var(--ktt-coyote-tan, #b69b63);
  --egg-position: center 36%;
}

/* Once the activation plate clears, the selected scene becomes the page itself. */
html body.ktt-theme[data-ktt-egg-background] {
  --ktt-egg-page-art: none;
  --ktt-egg-page-accent: var(--ktt-amber-signal, #ffb347);
  --ktt-egg-page-position: center;
  --ktt-egg-page-filter: saturate(.94) contrast(1.05) brightness(.88);
  --ktt-egg-page-overlay:
    linear-gradient(90deg, rgba(3,4,3,.4), rgba(3,4,3,.08) 48%, rgba(3,4,3,.32)),
    linear-gradient(0deg, rgba(3,4,3,.5), transparent 54%, rgba(3,4,3,.14));
  --ktt-egg-band: rgba(4,6,4,.4);
  --ktt-egg-panel: rgba(4,6,4,.62);
  position: relative !important;
  isolation: isolate;
  min-height: 100%;
  background: #050605 !important;
}

html body.ktt-theme[data-ktt-egg-background]::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-image: var(--ktt-egg-page-overlay), var(--ktt-egg-page-art) !important;
  background-position: center, var(--ktt-egg-page-position) !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat !important;
  filter: var(--ktt-egg-page-filter);
  transform: scale(1.012);
  animation: kttEggBackdropIn .72s ease-out both;
}

html body.ktt-theme[data-ktt-egg-background] > :is(
  .top-header,
  .hx-intro-stack,
  section,
  .hx-declass,
  .site-footer,
  #ktt-nav-mount,
  #ktt-footer-mount,
  main
) {
  position: relative;
  z-index: 1;
}

html body.ktt-theme[data-ktt-egg-background] > .top-header {
  position: sticky;
  z-index: 1000;
}

html body.ktt-theme[data-ktt-egg-background="berlin"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/berlin-1989.webp");
  --ktt-egg-page-accent: var(--ktt-snow-blue, #9cc7d8);
  --ktt-egg-page-filter: saturate(.78) contrast(1.1) brightness(.9);
  --ktt-egg-band: rgba(1,12,5,.4);
  --ktt-egg-panel: rgba(1,15,5,.62);
}

html body.ktt-theme[data-ktt-egg-background="kgb"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/kgb-dossier.webp");
  --ktt-egg-page-accent: #c54b3f;
  --ktt-egg-page-filter: sepia(.16) saturate(.86) contrast(1.08) brightness(.86);
  --ktt-egg-band: rgba(18,4,3,.43);
  --ktt-egg-panel: rgba(24,5,4,.64);
}

html body.ktt-theme[data-ktt-egg-background="fsb"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/fsb-mirror-network.webp");
  --ktt-egg-page-accent: var(--ktt-snow-blue, #9cc7d8);
  --ktt-egg-page-filter: saturate(.72) contrast(1.1) brightness(.82);
  --ktt-egg-band: rgba(5,12,15,.44);
  --ktt-egg-panel: rgba(6,16,19,.66);
}

html body.ktt-theme[data-ktt-egg-background="ranger"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/ranger-station.webp");
  --ktt-egg-page-accent: var(--ktt-coyote-tan, #b69b63);
  --ktt-egg-page-position: center 54%;
  --ktt-egg-page-filter: saturate(.84) contrast(1.03) brightness(.9);
  --ktt-egg-band: rgba(35,27,16,.4);
  --ktt-egg-panel: rgba(45,34,20,.62);
}

html body.ktt-theme[data-ktt-egg-background="hal"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/hal-console.webp");
  --ktt-egg-page-accent: var(--ktt-muted-red, #9f332e);
  --ktt-egg-page-position: center;
  --ktt-egg-page-filter: saturate(.88) contrast(1.14) brightness(.78);
  --ktt-egg-band: rgba(9,3,3,.45);
  --ktt-egg-panel: rgba(14,3,3,.66);
}

html body.ktt-theme[data-ktt-egg-background="nods"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/nods-timber.webp");
  --ktt-egg-page-accent: var(--ktt-nvg-green, #76ff69);
  --ktt-egg-page-filter: grayscale(1) sepia(.55) hue-rotate(62deg) saturate(4) contrast(1.24) brightness(.76);
  --ktt-egg-band: rgba(1,15,4,.38);
  --ktt-egg-panel: rgba(2,20,6,.6);
}

html body.ktt-theme[data-ktt-egg-background="thermal"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/nods-timber.webp");
  --ktt-egg-page-accent: var(--ktt-warning-orange, #dd6b20);
  --ktt-egg-page-filter: grayscale(1) contrast(1.62) brightness(.82) sepia(.95) saturate(5) hue-rotate(332deg);
  --ktt-egg-band: rgba(1,2,22,.42);
  --ktt-egg-panel: rgba(2,2,35,.62);
}

html body.ktt-theme[data-ktt-egg-background="night"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/nods-timber.webp");
  --ktt-egg-page-accent: var(--ktt-snow-blue, #9cc7d8);
  --ktt-egg-page-filter: saturate(.66) contrast(1.08) brightness(.68) hue-rotate(8deg);
  --ktt-egg-band: rgba(2,7,10,.43);
  --ktt-egg-panel: rgba(3,10,14,.64);
}

html body.ktt-theme[data-ktt-egg-background="radio"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/field-radio.webp");
  --ktt-egg-page-accent: var(--ktt-amber-signal, #ffb347);
  --ktt-egg-page-position: center 56%;
  --ktt-egg-page-filter: saturate(.92) contrast(1.04) brightness(.88);
  --ktt-egg-band: rgba(12,10,5,.4);
  --ktt-egg-panel: rgba(17,14,7,.62);
}

html body.ktt-theme[data-ktt-egg-background="hardbass"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/hardbass-yard.webp");
  --ktt-egg-page-accent: #e24ac8;
  --ktt-egg-page-filter: saturate(1.08) contrast(1.1) brightness(.82);
  --ktt-egg-band: rgba(14,3,16,.4);
  --ktt-egg-panel: rgba(20,4,24,.62);
}

html body.ktt-theme[data-ktt-egg-background="moose"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/wildlife-moose.webp");
  --ktt-egg-page-accent: var(--ktt-amber-signal, #ffb347);
  --ktt-egg-page-position: center 48%;
  --ktt-egg-page-filter: saturate(.94) contrast(1.04) brightness(.9);
  --ktt-egg-band: rgba(13,12,6,.38);
  --ktt-egg-panel: rgba(18,17,8,.6);
}

html body.ktt-theme[data-ktt-egg-background="bear"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/bear-protocol.webp");
  --ktt-egg-page-accent: var(--ktt-coyote-tan, #b69b63);
  --ktt-egg-page-position: center 45%;
  --ktt-egg-page-filter: saturate(.84) contrast(1.06) brightness(.86);
  --ktt-egg-band: rgba(18,13,7,.4);
  --ktt-egg-panel: rgba(24,17,9,.62);
}

html body.ktt-theme[data-ktt-egg-background="founder"] {
  --ktt-egg-page-art: url("ktt-deployment-mortar-team.jpg");
  --ktt-egg-page-accent: var(--ktt-coyote-tan, #b69b63);
  --ktt-egg-page-position: center 36%;
  --ktt-egg-page-filter: saturate(.76) contrast(1.04) brightness(.84);
}

html body.ktt-theme[data-ktt-egg-background="rodeo"] {
  --ktt-egg-page-art: url("graphics/easter-eggs/rodeo-arena.webp");
  --ktt-egg-page-accent: var(--ktt-amber-signal, #ffb347);
  --ktt-egg-page-position: center 52%;
  --ktt-egg-page-filter: saturate(.96) contrast(1.06) brightness(.92);
  --ktt-egg-band: rgba(37,20,8,.36);
  --ktt-egg-panel: rgba(49,27,10,.58);
}

/* Retire the old 1989 rule that painted every descendant opaque black. */
html body.ktt-theme[data-ktt-egg-background] :where(.hx-home, .hx-home *) {
  background-color: transparent !important;
}

html body.ktt-theme[data-ktt-egg-background] #egg-fx {
  background-color: transparent !important;
}

html body.ktt-theme[data-ktt-egg-background] .top-header {
  background: rgba(3,5,3,.74) !important;
  border-bottom-color: color-mix(in srgb, var(--ktt-egg-page-accent) 48%, transparent) !important;
  backdrop-filter: blur(14px) saturate(.85);
}

html body.ktt-theme[data-ktt-egg-background] :is(.hx-hero, .hx-route, .hx-sec, .hx-lab, .hx-rodeo, .hx-network) {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ktt-egg-band) 78%, transparent), color-mix(in srgb, var(--ktt-egg-band) 48%, transparent)) !important;
  border-color: color-mix(in srgb, var(--ktt-egg-page-accent) 22%, transparent) !important;
}

html body.ktt-theme[data-ktt-egg-background] .hx-hero-bg {
  opacity: .1 !important;
  mix-blend-mode: luminosity;
}

html body.ktt-theme[data-ktt-egg-background] .hx-hero-scrim {
  background: linear-gradient(96deg, rgba(2,3,2,.5), rgba(2,3,2,.1) 58%, rgba(2,3,2,.36)) !important;
}

html body.ktt-theme[data-ktt-egg-background] :is(.hx-card, .hx-route-card, .hx-plate, .hx-archive, .hx-ops-tile, .hx-live-link, .hx-ticker, .hx-network-card, .ktt-field-shell, .ktt-result-card) {
  background: linear-gradient(145deg, var(--ktt-egg-panel), rgba(2,3,2,.4)) !important;
  border-color: color-mix(in srgb, var(--ktt-egg-page-accent) 34%, transparent) !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.24);
  backdrop-filter: blur(9px) saturate(.82);
}

html body.ktt-theme[data-ktt-egg-background] .hx-btn--p {
  background: var(--ktt-egg-page-accent) !important;
  border-color: var(--ktt-egg-page-accent) !important;
  color: #050605 !important;
  text-shadow: none !important;
}

html body.ktt-theme[data-ktt-egg-background] footer {
  background: rgba(3,5,3,.68) !important;
  border-top-color: color-mix(in srgb, var(--ktt-egg-page-accent) 32%, transparent) !important;
  backdrop-filter: blur(12px);
}

html body.ktt-theme[data-ktt-egg-background] :is(.hx-h1, .hx-h2, .hx-lead, .hx-card strong, .hx-route-card strong) {
  text-shadow: 0 2px 18px rgba(0,0,0,.78);
}

@keyframes kttEggBackdropIn {
  from { opacity: 0; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1.012); }
}

@keyframes kttEggSceneSettle {
  from { transform: scale(1.065); }
  to { transform: scale(1.025); }
}

/* Physical panel treatments layered over the shared scene. */
.field-radio-panel {
  border-color: rgba(255,179,71,.58) !important;
  background: linear-gradient(145deg, rgba(15,14,10,.97), rgba(4,6,4,.94)) !important;
  color: var(--ktt-field-dust, #d8c99f) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

.field-radio-head {
  color: var(--ktt-amber-signal, #ffb347);
  border-color: rgba(255,179,71,.3) !important;
}

.field-radio-panel .radio-lines { color: #e6dcc5; }

.founder-note-panel {
  background:
    linear-gradient(90deg, rgba(3,4,3,.94), rgba(3,4,3,.65)),
    url("ktt-deployment-mortar-team.jpg") center 32%/cover no-repeat !important;
}

.founder-note-card {
  border-left: 4px solid var(--ktt-coyote-tan, #b69b63) !important;
  background: linear-gradient(145deg, rgba(12,13,11,.96), rgba(25,25,20,.88)) !important;
}

.lubyanka-search-panel {
  background:
    linear-gradient(rgba(24,12,8,.9), rgba(24,12,8,.94)),
    url("graphics/easter-eggs/kgb-dossier.webp") center/cover no-repeat !important;
  border-color: rgba(197,75,63,.72) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.65), inset 0 0 0 1px rgba(244,234,216,.08) !important;
}

.checkpoint-charlie-panel {
  color: #dce9ec !important;
  border-color: rgba(156,199,216,.72) !important;
  background:
    linear-gradient(135deg, rgba(4,8,9,.94), rgba(8,14,16,.86)),
    url("graphics/easter-eggs/berlin-1989.webp") center/cover no-repeat !important;
}

.checkpoint-charlie-panel::before,
.checkpoint-charlie-panel .checkpoint-stamp { color: var(--ktt-snow-blue, #9cc7d8) !important; }

.checkpoint-close {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid currentColor;
  background: rgba(0,0,0,.58);
  color: inherit;
  font: 800 .64rem/1 var(--ktt-field-mono, monospace);
  letter-spacing: .12em;
  cursor: pointer;
}

.ktt-command-close {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(156,199,216,.58);
  background: rgba(0,0,0,.48);
  color: var(--ktt-snow-blue, #9cc7d8);
  font: 800 .62rem/1 var(--ktt-field-mono, monospace);
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.bear-protocol-panel {
  color: #eee3cb !important;
  border: 1px solid rgba(182,155,99,.64) !important;
  background:
    linear-gradient(90deg, rgba(5,7,5,.96), rgba(5,7,5,.74)),
    url("graphics/easter-eggs/bear-protocol.webp") center/cover no-repeat !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.64) !important;
}

.radio-free-ktt-panel {
  background:
    linear-gradient(90deg, rgba(5,6,4,.88), rgba(5,6,4,.6)),
    url("graphics/easter-eggs/field-radio.webp") center/cover no-repeat !important;
}

#ranger-station-overlay {
  background:
    linear-gradient(90deg, rgba(18,13,8,.88), rgba(18,13,8,.56)),
    url("graphics/easter-eggs/ranger-station.webp") center/cover no-repeat;
}

#ranger-station-overlay .ktt-egg-card {
  background: rgba(31,25,17,.91) !important;
  backdrop-filter: blur(14px);
}

#static-canvas { image-rendering: pixelated; }

/* 1989 uses a real checkpoint plate instead of a flat green split screen. */
#cw89-boot-overlay.active {
  background:
    linear-gradient(90deg, rgba(2,5,6,.94), rgba(2,5,6,.58)),
    url("graphics/easter-eggs/berlin-1989.webp") center/cover no-repeat !important;
}

.cw89-boot-card {
  border-color: rgba(156,199,216,.62) !important;
  background: rgba(3,7,8,.88) !important;
  color: #dce9ec !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: blur(10px);
}

.cw89-boot-title,
.cw89-line { color: var(--ktt-snow-blue, #9cc7d8) !important; }

#cw89-sector-split.active {
  background:
    linear-gradient(90deg, rgba(7,13,14,.82) 0 50%, rgba(16,10,6,.68) 50% 100%),
    url("graphics/easter-eggs/berlin-1989.webp") center/cover no-repeat !important;
}

.cw89-sector.east {
  background: linear-gradient(90deg, rgba(5,12,14,.74), rgba(5,12,14,.38)) !important;
}

.cw89-sector.west {
  background: linear-gradient(90deg, rgba(19,12,7,.3), rgba(19,12,7,.72)) !important;
}

.cw89-sector strong { color: #f4ead8 !important; text-shadow: 0 4px 30px rgba(0,0,0,.9) !important; }
.cw89-sector span { color: #d5dedc !important; text-shadow: 0 2px 18px rgba(0,0,0,.96) !important; }

.cw89-wall-line {
  background:
    repeating-linear-gradient(0deg, #85847d 0 28px, #4f504d 28px 31px),
    linear-gradient(90deg, #262824, #b7b8b0 48%, #3b3c38) !important;
  box-shadow: 0 0 20px rgba(156,199,216,.48), 0 0 90px rgba(0,0,0,.48) !important;
}

.cw89-wall-line::after,
.cw89-wall-status,
#cw89-field-bulletin.active,
#cw89-ticker.active {
  border-color: rgba(156,199,216,.62) !important;
  background: rgba(3,7,8,.88) !important;
  color: #dce9ec !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.56) !important;
  backdrop-filter: blur(10px);
}

.cw89-wall-status strong,
.cw89-bulletin-title,
.cw89-bulletin-kicker,
#cw89-ticker span { color: var(--ktt-snow-blue, #9cc7d8) !important; }

.cw89-bulletin-body,
.cw89-wall-status span { color: #e8eee9 !important; }

/* The Russian mode is a physical archive desk, not a red videogame HUD. */
body.soviet-mode::before {
  background:
    linear-gradient(90deg, rgba(42,11,8,.08), rgba(42,11,8,.24)),
    radial-gradient(ellipse 86% 86% at 50% 44%, transparent 46%, rgba(80,10,7,.28) 100%) !important;
}

body.soviet-mode #kgb-reticle { opacity: .38; mix-blend-mode: screen; }

body.soviet-mode .kgb-slam {
  border-color: rgba(197,75,63,.72) !important;
  background: rgba(30,13,9,.76) !important;
  color: #d2665d !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.46);
  backdrop-filter: blur(4px);
}

body.hal-mode #hal-eye {
  top: 40% !important;
  right: 21% !important;
  bottom: auto !important;
  transform: translate(50%, -50%);
  width: clamp(64px, 7vw, 104px);
  height: clamp(64px, 7vw, 104px);
  filter: drop-shadow(0 0 22px rgba(159,51,46,.62));
}

body.hal-mode #hal-eye svg { width: 100%; height: 100%; }

body.hal-mode #command-line {
  top: auto !important;
  bottom: 0;
  border-top: 2px solid rgba(159,51,46,.8) !important;
  border-bottom: 0 !important;
  background: linear-gradient(180deg, rgba(19,18,17,.94), rgba(3,3,3,.98)) !important;
  color: #e8dfd2 !important;
  box-shadow: 0 -24px 80px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.06) !important;
}

body.hal-mode #command-line span { color: #cf574e; }
body.hal-mode #command-line input { color: #fff !important; }

@media (max-width: 720px) {
  body.hal-mode #hal-eye {
    top: 32% !important;
    right: 18% !important;
  }
}

/* A reachable, compact declassification puzzle on the homepage. */
.hx-declass {
  padding-top: 22px;
  padding-bottom: 22px;
  border-top: 1px solid rgba(216,201,159,.14);
}

.hx-declass__inner {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(216,201,159,.24);
  background: rgba(0,0,0,.34);
}

.hx-declass__copy h2 {
  margin: 0 0 7px;
  color: #f4ead8;
  font: 900 1.08rem/1.1 var(--ktt-field-font, Arial, sans-serif);
  text-transform: uppercase;
}

.hx-declass__copy p {
  margin: 0;
  color: #bcb19e;
  line-height: 1.55;
  font-size: .82rem;
}

.hx-declass__files {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.redacted {
  position: relative;
  min-height: 50px;
  overflow: hidden;
  border: 1px solid rgba(216,201,159,.24);
  background: #0b0b0b;
  color: #f4ead8;
  cursor: pointer;
  font: 800 .64rem/1.35 var(--ktt-field-mono, monospace);
  letter-spacing: .1em;
  text-align: left;
}

.redacted::after {
  content: "REDACTED // TAP TO DECLASSIFY";
  position: absolute;
  inset: 7px;
  display: grid;
  place-items: center;
  background: repeating-linear-gradient(-7deg, #020202 0 8px, #111 8px 10px);
  color: rgba(216,201,159,.58);
  transition: transform .28s ease, opacity .22s ease;
}

body.fsb-mode .redacted::after {
  content: "СЕКРЕТНО // НАЖМИТЕ ДЛЯ РАССЕКРЕЧИВАНИЯ";
}

body.fsb-mode .checkpoint-charlie-panel::before {
  content: "КПП ЧАРЛИ";
}

body.fsb-mode .ktt-ranger-station-pass::after {
  content: "ПОЛЕВОЙ ПРОПУСК";
}

body.fsb-mode .cw89-wall-line::after {
  content: "БЕРЛИНСКАЯ СТЕНА";
}

.redacted.is-revealed::after,
.redacted[data-clicked="true"]::after {
  transform: translateX(105%);
  opacity: 0;
}

.redacted.is-revealed,
.redacted[data-clicked="true"] { border-color: rgba(255,179,71,.58); }

/* Only the compact command control is shown outside the expanded mobile menu. */
.top-header > .ktt-command-nav--quick { display: none !important; }

@media (max-width: 900px) {
  .top-header > .ktt-command-nav--quick {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

/* Dedicated gateways use the same physical art as their full modes. */
.ktt-egg-gateway {
  min-height: calc(100vh - 72px);
  background-image: var(--gateway-scrim), var(--gateway-art);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.ktt-egg-gateway--berlin {
  --gateway-art: url("graphics/easter-eggs/berlin-1989.webp");
  --gateway-scrim: linear-gradient(90deg, rgba(2,5,6,.92), rgba(2,5,6,.18) 68%, rgba(2,5,6,.62));
}

.ktt-egg-gateway--ranger {
  --gateway-art: url("graphics/easter-eggs/ranger-station.webp");
  --gateway-scrim: linear-gradient(90deg, rgba(18,12,7,.92), rgba(18,12,7,.18) 68%, rgba(18,12,7,.58));
}

.ktt-egg-gateway .ktt-system-shell {
  width: 100%;
  margin: 0;
  padding: clamp(26px, 5vw, 70px);
  min-height: calc(100vh - 72px);
  display: grid;
  align-items: end;
}

.ktt-egg-gateway .ktt-system-hero {
  max-width: 1100px;
  margin: 0 auto;
  border-left: 4px solid var(--ktt-amber-signal, #ffb347);
  background: rgba(5,7,5,.8);
  backdrop-filter: blur(12px);
  box-shadow: 0 28px 100px rgba(0,0,0,.5);
}

@media (max-width: 720px) {
  .ktt-egg-scene__plate {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto;
  }
  .ktt-egg-scene__title { font-size: clamp(1.4rem, 8vw, 2.4rem); }
  .hx-declass__inner { grid-template-columns: 1fr; }
  .hx-declass__files { grid-template-columns: 1fr; }
  .field-radio-panel { top: var(--ktt-egg-safe-top) !important; max-height: calc(100vh - var(--ktt-egg-safe-top) - 12px); overflow: auto; }
  .checkpoint-charlie-panel,
  .bear-protocol-panel { max-height: calc(100vh - 28px); overflow: auto; }
  #ranger-station-overlay { padding: 10px; align-items: end; }
  #ranger-station-overlay .ktt-egg-card { max-height: calc(100vh - 20px); }
  .ktt-egg-gateway { min-height: calc(100svh - 64px); }
  .ktt-egg-gateway .ktt-system-shell { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .ktt-egg-scene,
  .ktt-egg-scene__art,
  .redacted::after { transition: none !important; animation: none !important; }
  html body.ktt-theme[data-ktt-egg-background]::before { animation: none !important; transform: none; }
}
