:root {
  color-scheme: dark;
  --coal: #080b11;
  --steel: #171e29;
  --steel-2: #253142;
  --cyan: #64e9ff;
  --cyan-dim: #2a7180;
  --sodium: #ffc857;
  --danger: #ff4d5a;
  --bone: #e9e3d5;
  --muted: #8993a1;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  font-family: "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;
}

* { box-sizing: border-box; }

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--coal);
  overscroll-behavior: none;
  touch-action: none;
}

button, textarea { font: inherit; }

button {
  min-width: 44px;
  min-height: 44px;
  color: inherit;
  border: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--bone);
  outline-offset: 3px;
}

.game {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 460px;
  isolation: isolate;
  background: var(--coal);
  user-select: none;
}

#gameCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.game-brand {
  position: absolute;
  top: max(18px, env(safe-area-inset-top));
  left: max(20px, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--bone);
  letter-spacing: .13em;
  pointer-events: none;
}

.game-brand__sigil {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: var(--bone);
  color: var(--coal);
  font-size: 21px;
  font-weight: 900;
  transform: skewX(-7deg);
}

.game-brand__sigil span { color: var(--danger); }
.game-brand__text { font-size: 14px; font-weight: 900; }
.game-brand__text small { display: block; margin-top: 3px; color: var(--muted); font: 9px/1.2 ui-monospace, monospace; letter-spacing: .08em; }

.hud {
  position: absolute;
  top: 14%;
  left: clamp(20px, 5vw, 84px);
  width: min(620px, calc(100vw - 40px));
  pointer-events: none;
  text-shadow: 0 2px 12px #000;
  transition: opacity .22s ease;
}

.game[data-intro="warehouse"] .hud,
.game[data-intro="warehouse"] .system-readout,
.game[data-intro="warehouse"] .action-button { opacity: 0; }
.game[data-manual-showcase="true"] .game-brand,
.game[data-manual-showcase="true"] .hud,
.game[data-manual-showcase="true"] .system-readout,
.game[data-manual-showcase="true"] .corner-tools { display: none; }
.game[data-chip-showcase="true"] .game-brand,
.game[data-chip-showcase="true"] .hud,
.game[data-chip-showcase="true"] .system-readout,
.game[data-chip-showcase="true"] .action-button,
.game[data-chip-showcase="true"] .python-chip,
.game[data-chip-showcase="true"] .machine,
.game[data-chip-showcase="true"] .ending,
.game[data-chip-showcase="true"] .skill-journal,
.game[data-chip-showcase="true"] .corner-tools { display: none !important; }
.game[data-wake-reveal="true"] .hud { opacity: 0; }
.game[data-wake-reveal="true"] .skill-journal { opacity: 0; }

.hud__eyebrow,
.ending__eyebrow {
  margin: 0 0 12px;
  color: var(--sodium);
  font: 700 11px/1.2 ui-monospace, monospace;
  letter-spacing: .18em;
}

.hud h1 {
  margin: 0;
  max-width: 560px;
  color: var(--bone);
  font-size: clamp(32px, 6vw, 76px);
  line-height: .93;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

#gameMessage {
  display: inline-block;
  margin: 20px 0 0;
  padding: 8px 11px;
  background: var(--bone);
  color: var(--coal);
  font: 800 13px/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-shadow: none;
  text-transform: uppercase;
}

.hud__progress {
  width: 210px;
  height: 3px;
  margin-top: 18px;
  background: #ffffff1f;
}

.hud__progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--cyan);
  box-shadow: 0 0 13px var(--cyan);
  transition: width .2s ease;
}

.system-readout {
  position: absolute;
  top: max(22px, env(safe-area-inset-top));
  right: max(112px, calc(env(safe-area-inset-right) + 112px));
  display: flex;
  gap: 24px;
  color: var(--muted);
  font: 9px/1.1 ui-monospace, monospace;
  letter-spacing: .09em;
}

.system-readout b { display: block; margin-top: 4px; color: var(--bone); font-size: 11px; }

.power-rack {
  position: absolute;
  right: max(22px, env(safe-area-inset-right));
  bottom: calc(24px + var(--safe-bottom));
  display: flex;
  gap: 9px;
}

.power {
  position: relative;
  width: 92px;
  height: 76px;
  padding: 9px;
  overflow: hidden;
  border: 1px solid #ffffff2c;
  background: #0d131dcc;
  backdrop-filter: blur(8px);
  text-align: left;
}

.power:hover { border-color: var(--cyan); }
.power:active { transform: translateY(2px); }
.power__key { color: var(--muted); font: 9px ui-monospace, monospace; }
.power b { display: block; margin-top: 17px; font-size: 11px; letter-spacing: .08em; }
.power i { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--cyan); box-shadow: 0 0 15px var(--cyan); }
.power--pulse i { background: var(--sodium); box-shadow: 0 0 15px var(--sodium); }
.power--shield i { background: var(--bone); box-shadow: 0 0 15px var(--bone); }
.power[disabled] { opacity: .22; filter: grayscale(1); }

.action-button {
  position: absolute;
  left: max(22px, env(safe-area-inset-left));
  bottom: calc(24px + var(--safe-bottom));
  display: none;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-left: 3px solid var(--sodium);
  background: var(--bone);
  color: var(--coal);
  font-size: 12px;
  letter-spacing: .08em;
}

.action-button__key { color: #6c665b; font: 9px ui-monospace, monospace; }

.python-chip {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: max(28px, calc(24px + var(--safe-bottom)));
  display: grid;
  grid-template-columns: 42px auto;
  gap: 2px 11px;
  min-width: 250px;
  padding: 10px 16px;
  transform: translateX(-50%) rotate(-1deg);
  border: 1px solid var(--cyan);
  border-left: 5px solid var(--sodium);
  background: #071921ed;
  box-shadow: 0 0 0 1px #64e9ff33, 0 0 30px #64e9ff44;
  color: var(--bone);
  text-align: left;
  animation: chip-call .76s ease-in-out infinite alternate;
}
.python-chip[hidden] { display: none; }
.python-chip span { grid-row: 1 / 3; display: grid; width: 42px; height: 42px; place-items: center; background: var(--cyan); color: var(--coal); font: 900 15px ui-monospace, monospace; }
.python-chip b { align-self: end; font: 900 12px/1 ui-monospace, monospace; letter-spacing: .08em; }
.python-chip small { color: var(--cyan); font: 10px/1 ui-monospace, monospace; }
@keyframes chip-call { from { box-shadow: 0 0 0 1px #64e9ff33, 0 0 20px #64e9ff33; } to { box-shadow: 0 0 0 1px #64e9ffbb, 0 0 42px #64e9ff77; } }

.storage-warning {
  position: absolute;
  z-index: 6;
  top: max(74px, calc(env(safe-area-inset-top) + 58px));
  left: 50%;
  width: min(520px, calc(100vw - 32px));
  padding: 11px 14px;
  transform: translateX(-50%);
  border: 1px solid #ff4d5a88;
  background: #1a090de8;
  box-shadow: 0 14px 45px #000b, inset 3px 0 0 var(--danger);
  color: #ffb4ba;
  font: 800 10px/1.35 ui-monospace, monospace;
  letter-spacing: .08em;
  text-align: center;
  pointer-events: none;
}

.storage-warning[hidden] { display: none; }

.corner-tools {
  position: absolute;
  top: max(14px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  display: flex;
  gap: 6px;
}

.icon-button {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #ffffff24;
  background: #080b11b8;
  color: var(--muted);
  font: 17px/1 ui-monospace, monospace;
}

.icon-button:hover { color: var(--bone); border-color: #ffffff66; }

/* 16.0.1 usability pass: make top-right controls explicit instead of cryptic glyphs. */
.corner-tools .tool-button {
  width: auto;
  min-width: 92px;
  padding: 0 11px;
  white-space: nowrap;
  font: 800 10px/1 ui-monospace, monospace;
  letter-spacing: .02em;
}
.corner-tools .tool-button--reset { min-width: 64px; }
@media (max-width: 759px) {
  .corner-tools { right: 10px; gap: 4px; }
  .corner-tools .tool-button { min-width: 0; padding: 0 8px; font-size: 8px; }
  .corner-tools .explain-toggle { display: none; }
}

.machine {
  position: absolute;
  z-index: 4;
  top: 0;
  right: 0;
  width: min(470px, 34vw);
  height: 100%;
  padding: max(28px, env(safe-area-inset-top)) 34px calc(30px + var(--safe-bottom));
  border-left: 1px solid #64e9ff52;
  background: #0a1019f4;
  box-shadow: -28px 0 80px #000a;
  user-select: text;
  overflow-y: auto;
  touch-action: pan-y;
}

.machine[hidden], .ending[hidden] { display: none; }
.skill-journal[hidden] { display: none; }
.skill-journal {
  position: absolute;
  z-index: 3;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(22px + var(--safe-bottom));
  width: min(280px, calc(100vw - 40px));
  padding: 12px;
  border: 1px solid #64e9ff55;
  background: #080b11e8;
  box-shadow: 0 0 35px #64e9ff13;
  pointer-events: none;
}
.skill-journal > p { margin: 0 0 8px; color: var(--cyan); font: 800 9px/1.2 ui-monospace, monospace; letter-spacing: .12em; }
.skill-card { display: grid; gap: 3px; padding: 8px 10px; border-left: 3px solid #59687a; background: #ffffff08; }
.skill-card + .skill-card { margin-top: 5px; }
.skill-card b { color: var(--muted); font: 900 13px/1 ui-monospace, monospace; }
.skill-card span { color: var(--muted); font: 10px/1.25 ui-monospace, monospace; }
.skill-card small { color: #718398; font: 8px/1.2 ui-monospace, monospace; }
.skill-card[data-unlocked="true"] { border-left-color: var(--cyan); box-shadow: inset 18px 0 30px #64e9ff0b; }
.skill-card[data-unlocked="true"] b { color: var(--bone); }
.skill-card[data-unlocked="true"] span { color: var(--cyan); }
.skill-card[data-unlocked="false"] { opacity: .4; filter: grayscale(1); }
.machine__rail { position: absolute; left: -46px; top: 50%; width: 46px; height: 4px; background: var(--cyan); box-shadow: 0 0 20px var(--cyan); }
.machine__rail span { position: absolute; right: 8px; top: -5px; width: 13px; height: 13px; border-radius: 50%; background: white; box-shadow: 0 0 22px var(--cyan); }
.machine__header { display: flex; align-items: center; justify-content: space-between; }
.machine__status { color: var(--cyan); font: 10px ui-monospace, monospace; letter-spacing: .15em; }
.machine__status i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.machine h2 { max-width: 100%; margin: clamp(18px, 5vh, 44px) 0 10px; color: var(--bone); font-size: clamp(30px, 2.7vw, 41px); line-height: .96; letter-spacing: -.04em; overflow-wrap: anywhere; text-transform: uppercase; }
.machine p { max-width: 420px; color: var(--muted); line-height: 1.5; }
.machine-clue {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin-top: 16px;
  padding: 10px 13px;
  overflow: hidden;
  border: 1px dashed #ffc85770;
  background: #e9e3d50d;
  color: var(--sodium);
  transform: rotate(-.4deg);
}
.machine-clue::after { content: ""; position: absolute; right: -12px; top: -18px; width: 40px; height: 40px; background: #0a1019; transform: rotate(38deg); }
.machine-clue span { font: 8px/1.2 ui-monospace, monospace; letter-spacing: .14em; }
.machine-clue span, .machine-clue code { position: relative; z-index: 1; min-width: 0; }
.machine-clue code { color: var(--bone); font: 800 14px/1 ui-monospace, monospace; white-space: nowrap; }
.other-mind-status {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 5px 14px;
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid #ffffff16;
  background: #05080d;
  color: #59687a;
  font: 9px/1.3 ui-monospace, monospace;
  letter-spacing: .12em;
}
.other-mind-glyph {
  position: relative;
  grid-row: 1 / 3;
  width: 48px;
  height: 48px;
  border: 2px solid #4c5868;
  border-radius: 52% 48% 58% 42%;
  background: #151b24;
  box-shadow: 0 0 6px #4c586844;
  transform: rotate(-24deg) scale(.72);
}
.other-mind-glyph span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 3px;
  border-radius: 50%;
  background: #4c5868;
  transform: translate(-50%, -50%);
}
.other-mind-status b { color: #718398; }
.other-mind-status p { grid-column: 2 / -1; min-height: 18px; margin: 0; color: inherit; font: 11px/1.45 ui-monospace, monospace; letter-spacing: 0; }
.other-mind-status[data-phase="waking"] { border-color: #ffc85766; color: var(--sodium); }
.other-mind-status[data-phase="waking"] .other-mind-glyph { border-color: var(--sodium); box-shadow: 0 0 22px #ffc85788; animation: other-mind-birth 1.2s cubic-bezier(.2, .8, .2, 1) 1 both; }
.other-mind-status[data-phase="waking"] .other-mind-glyph span { height: 7px; background: var(--sodium); }
.other-mind-status[data-phase="awake"] { border-color: #64e9ff78; color: var(--cyan); box-shadow: inset 3px 0 0 var(--cyan), 0 0 24px #64e9ff12; }
.other-mind-status[data-phase="awake"] .other-mind-glyph { border-color: var(--cyan); background: #0a2b33; box-shadow: 0 0 20px #64e9ff66; transform: none; }
.other-mind-status[data-phase="awake"] .other-mind-glyph span { height: 13px; border: 3px solid var(--bone); background: #071017; }
.other-mind-status[data-phase="silent"] { border-style: dashed; border-color: #ffc85755; color: #c5a86c; }
.other-mind-status[data-phase="silent"] .other-mind-glyph { border-style: dashed; border-color: #a98147; }
@keyframes other-mind-birth {
  0% { transform: rotate(-24deg) scale(.72); }
  45% { transform: rotate(5deg) scale(1.12); }
  100% { transform: rotate(0) scale(1); }
}
.code-label { display: block; margin: 22px 0 9px; color: var(--sodium); font: 9px ui-monospace, monospace; letter-spacing: .14em; }
.code-editor { display: grid; grid-template-columns: 36px 1fr; min-height: 150px; border: 1px solid #ffffff1f; background: #05080d; }
.code-editor > span { padding-top: 16px; border-right: 1px solid #ffffff12; color: #46505d; text-align: center; font: 12px ui-monospace, monospace; }
.code-editor textarea { width: 100%; padding: 15px; resize: none; border: 0; outline: 0; background: transparent; color: var(--cyan); caret-color: var(--bone); font: 14px/1.65 ui-monospace, monospace; }
.code-editor:focus-within { border-color: #64e9ff99; box-shadow: inset 3px 0 0 var(--cyan), 0 0 20px #64e9ff14; }
.code-feedback { min-height: 40px; padding: 11px 13px; background: #ffffff08; color: var(--muted); font: 11px/1.5 ui-monospace, monospace; }
.code-feedback[data-status="loading"] { color: var(--sodium); }
.code-feedback[data-status="success"] { color: var(--cyan); }
.code-feedback[data-status="error"] { color: #ff8b94; border-left: 2px solid var(--danger); }
.run-code { width: 100%; margin-top: 12px; padding: 14px 18px; background: var(--sodium); color: var(--coal); font-weight: 900; letter-spacing: .12em; }
.run-code:hover { background: var(--bone); }
.run-code:disabled { cursor: wait; opacity: .55; }

.ending {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: min(760px, calc(100% - 36px));
  padding: 96px clamp(20px, 3vw, 34px) clamp(20px, 3vw, 34px);
  transform: translate(-50%, -50%);
  max-height: calc(100dvh - 160px);
  overflow-y: auto;
  touch-action: pan-y;
  border: 1px solid #ffc85759;
  background: #090d14f2;
  box-shadow: 0 30px 100px #000;
  text-align: center;
  animation: ending-rise .38s cubic-bezier(.2, .8, .2, 1) both;
}
.ending h2 { margin: 0; color: var(--bone); font-size: clamp(30px, 4vw, 52px); line-height: .95; text-transform: uppercase; }
.game[data-scene="reward"] .hud { visibility: hidden; }
.cursor-companion { position: absolute; z-index: 10; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border: 3px solid var(--cyan); background: #081b28f5; border-radius: 50%; display: flex; align-items: center; justify-content: center; gap: 14px; pointer-events: none; box-shadow: 0 0 24px #64e9ff44; animation: mind-breathe 2.4s ease-in-out infinite alternate; }
.cursor-companion i { width: 7px; height: 5px; background: var(--cyan); transform: translateY(-5px); }
.cursor-companion b { position: absolute; width: 20px; height: 5px; border-bottom: 2px solid var(--cyan); border-radius: 50%; bottom: 14px; }
.cursor-companion[data-biting="true"] b { height: 19px; width: 25px; bottom: 7px; background: #64e9ff; animation: companion-chomp .28s ease-in-out infinite alternate; }
@keyframes companion-chomp { to { transform: scaleY(.2); } }
@keyframes mind-breathe { from { box-shadow: 0 0 12px #64e9ff33; } to { box-shadow: 0 0 30px #64e9ff77; } }
.ending p { color: var(--muted); line-height: 1.6; }
.ending__future { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 24px 0; background: #ffffff24; }
.ending__future span { padding: 14px 6px; background: var(--steel); color: var(--cyan); font: 9px ui-monospace, monospace; }
@keyframes ending-rise {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.96); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.screen-noise,
.screen-vignette { position: absolute; inset: 0; pointer-events: none; }
.screen-noise { z-index: 8; opacity: .05; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.screen-vignette { z-index: 7; box-shadow: inset 0 0 150px 28px #000a; }

@media (max-width: 760px) {
  .game { min-height: 100dvh; }
  .game-brand__text small, .system-readout span:nth-child(-n + 2) { display: none; }
  .hud { top: 17%; }
  .hud h1 { font-size: clamp(33px, 11vw, 56px); max-width: 90%; }
  .system-readout { top: max(22px, env(safe-area-inset-top)); right: 118px; }
  .power-rack { right: max(12px, env(safe-area-inset-right)); bottom: calc(12px + var(--safe-bottom)); gap: 5px; }
  .power { width: 66px; height: 64px; padding: 7px; }
  .power__key { display: none; }
  .power b { margin-top: 22px; font-size: 10px; }
  .action-button { left: max(12px, env(safe-area-inset-left)); bottom: calc(12px + var(--safe-bottom)); height: 64px; gap: 0; }
  .action-button__key { display: none; }
  .python-chip { bottom: calc(84px + var(--safe-bottom)); min-width: 270px; }
  .game[data-first-action-guide="true"] .action-button {
    border-color: var(--sodium);
    box-shadow: 0 0 0 1px #ffc85788, 0 0 28px #ffc85744;
    animation: first-action-pulse .72s ease-in-out infinite alternate;
  }
  .machine { top: auto; bottom: 0; width: 100%; height: min(82dvh, 720px); padding: 20px 18px calc(18px + var(--safe-bottom)); border-top: 1px solid #64e9ff52; border-left: 0; }
  .machine__rail { left: 50%; top: -28px; width: 4px; height: 28px; }
  .machine__rail span { right: -4px; top: 6px; }
  .machine h2 { margin: 24px 0 8px; font-size: 32px; }
  .machine p { margin: 0; font-size: 13px; }
  .machine-clue { margin-top: 12px; }
  .other-mind-status { margin-top: 12px; padding: 9px 11px; }
  .other-mind-status p { font-size: 10px; }
  .code-label { margin-top: 18px; }
  .code-editor { min-height: 120px; }
  .ending__future { grid-template-columns: repeat(2, 1fr); }
  .skill-journal { right: 12px; bottom: calc(12px + var(--safe-bottom)); width: min(250px, calc(100vw - 24px)); }
}

@keyframes first-action-pulse {
  from { transform: translateY(0); }
  to { transform: translateY(-4px); }
}

@media (max-height: 520px) and (orientation: landscape) {
  .game { min-height: 100dvh; }
  .hud { top: 20%; }
  .hud h1 { font-size: 38px; max-width: 430px; }
  #gameMessage { margin-top: 10px; }
  .power { height: 58px; }
  .power b { margin-top: 8px; }
  .machine { padding: 10px 16px; }
  .machine__header .icon-button { width: 44px; height: 44px; }
  .machine h2 { margin: 0 0 4px; font-size: 28px; }
  .machine p { margin: 0; font-size: 11px; line-height: 1.25; }
  .machine .other-mind-status { margin-top: 5px; padding: 5px 8px; }
  .machine .other-mind-glyph { width: 34px; height: 34px; }
  .code-label { margin: 7px 0 5px; }
  .code-editor { min-height: 88px; height: 88px; }
  .code-editor > span { padding-top: 9px; }
  .code-editor textarea { padding: 8px 12px; line-height: 1.35; }
  .code-feedback { min-height: 30px; padding: 6px 9px; }
  .run-code { min-height: 44px; margin-top: 5px; padding: 8px 14px; }
}

/* First-play layer: each action stays attached to its object, not the HUD. */
[hidden] { display: none !important; }
.game[data-started="false"] .hud, .game[data-started="false"] .system-readout { visibility: hidden; }
.game[data-scene="warehouse"] .hud, .game[data-scene="chip"] .hud,
.game[data-scene="machine"] .hud, .game[data-scene="automation"] .hud,
.game[data-scene="red-crate"] .hud, .game[data-scene="condition"] .hud, .game[data-scene="queue"] .hud, .game[data-scene="function"] .hud, .game[data-scene="reward"] .hud { top: 105px; max-width: min(430px, 70vw); }
.game:not([data-scene="prologue"]):not([data-scene="collapse"]) .hud h1 { font-size: clamp(23px, 3vw, 42px); }
.hud { pointer-events: none; }
.game .action-button { position: absolute; z-index: 6; bottom: auto; height: auto; min-height: 52px; max-width: calc(100% - 24px); width: max-content; padding: 12px 18px; transform: translate(-50%, -100%); animation: none !important; border: 2px solid #ffe7a1; border-radius: 9px; box-shadow: 0 4px 0 #6e561d, 0 0 26px #ffc85735; gap: 8px; font-size: 13px; }
.game .action-button::after { content: ''; position: absolute; bottom: -12px; left: calc(50% - 9px); border: 9px solid transparent; border-top-color: #ffe7a1; border-bottom: 0; }
.game .action-button[data-direction="left"]::after, .game .action-button[data-direction="right"]::after { display: none; }
.game .action-button[data-walking="true"] { background: #b9f6ff; border-color: #b9f6ff; box-shadow: 0 4px 0 #244d5c; }
.action-button__key { font-size: 9px; white-space: nowrap; }
.world-coach { position: absolute; z-index: 4; transform: translate(-50%, -100%); max-width: calc(100% - 24px); padding: 14px 18px; background: #b9f6ff; color: #08171c; border-radius: 10px; font-weight: 800; text-align: center; pointer-events: none; }
.start-panel, .story-beat { position: absolute; z-index: 9; width: min(560px, calc(100% - 28px)); max-height: calc(100dvh - 150px); overflow-y: auto; touch-action: pan-y; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #0b1522f5; border: 1px solid #76dffb80; border-radius: 14px; padding: clamp(20px, 3vw, 34px); box-shadow: 0 30px 100px #000b; }
.start-panel h2, .story-beat h2 { margin: 8px 0 18px; font-size: clamp(27px, 3.5vw, 46px); line-height: 1.04; color: #f7eedb; }
.start-panel p, .story-beat p { font-size: 17px; line-height: 1.5; color: #c0ceda; }
.start-panel small { display: block; margin-top: 16px; color: #a3bccb; line-height: 1.4; }
.story-beat { z-index: 11; }
.wallet { position: absolute; z-index: 4; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); display: grid; grid-template-columns: auto auto; align-items: center; gap: 3px 14px; border: 1px solid #64ffad55; background: #061710ee; border-radius: 12px; padding: 12px 20px; min-width: 250px; pointer-events: none; }
.wallet small { color: #a1bcb0; font: 10px ui-monospace, monospace; }
.wallet b { grid-row: span 2; color: #70ffac; font: 900 30px ui-monospace, monospace; }
.wallet span { font: 11px ui-monospace, monospace; color: #d3f5e0; }
.income-toast { position: absolute; z-index: 8; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; width: min(360px, calc(100% - 28px)); padding: 16px; border-radius: 16px; background: #071b13ed; border: 1px solid #67ffa478; box-shadow: 0 0 60px #43ff9420; pointer-events: none; }
.income-toast b { display: block; font: 900 clamp(38px, 6vw, 64px)/1 ui-monospace, monospace; color: #70ff9b; text-shadow: 0 0 22px #41ff8477; }
.income-toast span { display: block; color: #d5ffe3; font-size: 15px; margin-top: 9px; }
.corner-tools { z-index: 15; align-items: center; }
.home-link { display: flex; align-items: center; justify-content: center; min-width: 70px; min-height: 44px; padding: 8px 10px; color: #dbe8ee; font: 800 11px ui-monospace, monospace; text-decoration: none; background: #0c1421e8; border: 1px solid #697c8d; border-radius: 5px; }
.journal-toggle { position: absolute; z-index: 6; top: 72px; right: 16px; min-height: 44px; border: 1px solid #64e9ff55; background: #07141eef; color: #9ce9ee; padding: 10px 14px; font: 11px ui-monospace, monospace; border-radius: 8px; }
.skill-journal { z-index: 7; top: 124px; bottom: auto !important; }
.system-readout { display: none; }
.machine { z-index: 10; width: min(470px, 45vw); padding: 22px; }
.machine__header { padding-top: 44px; }
.machine h2 { margin-top: 18px; font-size: 30px; }
.machine #otherMindStatus { display: none; }
.machine .code-editor { min-height: 76px; height: 76px; }
.machine .code-editor textarea { font-size: 20px; }
.signal-builder { padding: 14px; margin-top: 16px; background: #122b30; border: 1px solid #64e9ff55; border-radius: 10px; }
.machine .signal-builder p { color: #d8f6fa; margin: 0 0 12px; font-size: 15px; }
.signal-builder button { display: flex; align-items: center; gap: 15px; min-height: 52px; width: 100%; padding: 12px; background: #cff9ef; color: #102c32; border-radius: 7px; }
.signal-builder code { font: 900 20px ui-monospace, monospace; }
.signal-builder span { font-size: 14px; }
.condition-builder { padding: 14px; margin-top: 16px; background: #24170d; border: 1px solid #ffc85766; border-radius: 10px; }
.machine .condition-builder p { color: #ffe4b7; margin: 0 0 12px; font-size: 14px; }
.condition-builder button { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 52px; width: 100%; margin-top: 8px; padding: 12px; background: #3a2615; color: #f5ead7; border: 1px solid #a97539; border-radius: 7px; text-align: left; }
.condition-builder button:disabled { opacity: .34; cursor: default; }
.condition-builder code { color: #ffc857; font: 900 14px ui-monospace, monospace; white-space: pre; }
.condition-builder span { color: #d5bea0; font-size: 12px; }
.machine .code-label { letter-spacing: .04em; line-height: 1.5; margin-top: 14px; }
.future-comic { position: absolute; z-index: 12; inset: 0; background: #050912; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.comic-art { position: relative; overflow: hidden; background-size: cover; background-position: center; min-height: 0; }
.comic-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 55%, #050912); pointer-events: none; }
.comic-copy { padding: 16px max(22px, calc((100% - 950px) / 2)) 22px; background: #050912; }
.comic-copy h2 { color: #fff1d4; font-size: clamp(24px, 3vw, 40px); margin: 3px 0 8px; line-height: 1.05; }
.comic-copy p { max-width: 840px; color: #c1d0dd; font-size: 16px; line-height: 1.45; margin: 6px 0; }
.comic-copy .run-code { max-width: 540px; letter-spacing: .06em; }
.friend-sandbox { position: absolute; inset: 80px max(16px, calc((100% - 650px)/2)) 20px; z-index: 12; background: #0c1827fa; border: 1px solid #64e9ff77; border-radius: 16px; padding: clamp(18px, 3vw, 30px); overflow-y: auto; touch-action: pan-y; }
.friend-sandbox h2 { color: #fff0d8; font-size: clamp(25px, 3vw, 38px); margin: 10px 0; line-height: 1.1; }
.friend-sandbox p { color: #c0d3dd; font-size: 15px; line-height: 1.5; }
.packet { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; padding: 18px; margin: 20px 0; background: #07101c; border: 1px solid #76b4c0; border-radius: 10px; color: #a4e9e5; }
.packet code { font: 800 22px ui-monospace, monospace; }
#chatOutput { white-space: pre-line; padding: 12px; border-left: 3px solid #68eeb8; background: #16352a55; }
.channel-choices { display: flex; gap: 12px; }
.channel-choices button { flex: 1; min-height: 56px; background: #c1f7eb; color: #092d32; border-radius: 8px; font-weight: 800; }
#chatStage:not([data-step="intercept"]) #interceptPacket, #chatStage:not([data-step="route"]) .channel-choices, #chatStage:not([data-step="joined"]) #chatContinue { display: none; }
.comic-order, .comic-hello { display: none; position: absolute; z-index: 2; padding: 12px 18px; border-radius: 10px; background: #052319ed; color: #a2ffc7; font: 700 14px ui-monospace, monospace; }
.comic-order { top: 18%; right: 8%; }
.comic-order b { display: block; font-size: 32px; margin-top: 5px; }
.future-comic[data-scene="shop"] .comic-order { display: block; animation: order-arrives 3.6s infinite both; }
.comic-beam { position: absolute; z-index: 1; top: 35%; left: 44%; width: 20%; height: 45%; opacity: 0; background: linear-gradient(transparent, #56ffc755); clip-path: polygon(47% 0, 53% 0, 100% 100%, 0 100%); }
.future-comic[data-scene="shop"] .comic-beam { animation: printing-light 3.6s infinite; }
.future-comic[data-scene="vika"] .comic-beam { top: 0; left: 15%; width: 70%; height: 100%; clip-path: none; background: repeating-linear-gradient(0deg, transparent 0 15px, #62edff22 16px 18px); animation: hologram-scan 4s linear infinite; }
.future-comic[data-scene="vika"] .comic-hello { display: block; top: 20%; right: 12%; background: #e5fffb; color: #153745; font: 800 30px Georgia, serif; animation: voice-arrives 2s both; }
.comic-particles { position: absolute; inset: 0; background-image: radial-gradient(circle at 25% 40%, #64efff 0 1px, transparent 3px), radial-gradient(circle at 65% 70%, #ffc75f 0 2px, transparent 4px); background-size: 127px 151px, 193px 183px; opacity: .35; animation: particle-drift 9s linear infinite; }
.comic-army { display: none; position: absolute; z-index: 2; left: 9%; top: 75%; width: 8%; height: 3px; background: #ffefa4; box-shadow: 0 0 12px 3px #ffac37, 30px 35px 0 #4eebff, -25px -40px 0 #4eebff, 40px -65px 0 #ffce66; transform: rotate(-23deg); }
.future-comic[data-scene="battle"] .comic-army { display: block; animation: cyber-volley 1.4s infinite; }
.future-comic[data-scene="battle"] .comic-beam { opacity: 1; top: 30%; left: 70%; height: 35%; width: 25%; clip-path: none; background: radial-gradient(ellipse, #ffcf7b88, transparent 65%); animation: impact-light 1.4s infinite; }
@keyframes order-arrives { 0%, 38% { opacity: 0; transform: translateY(12px); } 50%, 88% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-25px); } }
@keyframes printing-light { 0%, 70%, 100% { opacity: .05; transform: translateX(0); } 30%, 55% { opacity: .7; transform: translateX(20px); } }
@keyframes hologram-scan { from { opacity: .5; background-position: 0 0; } to { opacity: .5; background-position: 0 180px; } }
@keyframes voice-arrives { 0%, 45% { opacity: 0; transform: translateY(15px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes particle-drift { to { background-position: 127px -151px, -193px -183px; } }
@keyframes cyber-volley { 0% { transform: translate(0, 0) rotate(-23deg); opacity: 0; } 20% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(55vw, -22vh) rotate(-23deg); opacity: 0; } }
@keyframes impact-light { 0%, 70%, 100% { opacity: .05; } 85% { opacity: 1; } }
@media (max-width: 760px) {
  .game .hud { left: 18px; }
  .game:not([data-scene="prologue"]):not([data-scene="collapse"]) .hud { max-width: calc(100% - 36px); top: 88px; }
  .game .hud h1 { font-size: 27px; max-width: 100%; }
  .game #gameMessage { font-size: 11px; max-width: 100%; }
  .game-brand__text { display: none; }
  .game-brand { top: 18px; left: 16px; }
  .game .action-button { min-height: 56px; font-size: 12px; }
  .machine { width: 100%; height: min(82dvh, 640px); padding: 16px 18px; }
  .machine__header { padding-top: 0; }
  .machine h2 { margin-top: 12px; font-size: 25px; }
  .machine .signal-builder p { font-size: 13px; }
  .machine .code-editor { height: 68px; min-height: 68px; }
  .comic-art { background-position: 58% center; }
  .comic-copy { padding: 12px 18px max(18px, env(safe-area-inset-bottom)); }
  .comic-copy p { font-size: 14px; }
  .comic-copy h2 { font-size: 27px; }
  .comic-hello { right: 5% !important; top: 25% !important; font-size: 24px !important; }
  .wallet { padding: 10px 15px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (max-height: 520px) and (orientation: landscape) {
  .future-comic { grid-template-columns: 55% 45%; grid-template-rows: 1fr; }
  .ending { max-height: calc(100dvh - 120px); padding: 82px 24px 14px; }
  .ending .ending__eyebrow { margin: 0 0 8px; font-size: 9px; }
  .ending h2 { font-size: 28px; }
  .ending p { font-size: 12px; line-height: 1.3; margin: 8px 0; }
  .ending__future { margin: 10px 0; }
  .ending__future span { padding: 8px 6px; }
  .wallet { padding: 4px 12px; bottom: 6px; gap: 2px 10px; }
  .wallet b { font-size: 24px; }
  .wallet small { font-size: 8px; }
  .wallet span { font-size: 9px; }
  .comic-copy { overflow-y: auto; touch-action: pan-y; padding: 72px 18px 12px; }
  .comic-copy h2 { font-size: 24px; }
  .comic-copy p { font-size: 13px; }
  .start-panel, .story-beat { max-height: calc(100dvh - 90px); top: 55%; }
  .start-panel h2, .story-beat h2 { font-size: 26px; }
  .start-panel p, .story-beat p { font-size: 14px; margin: 8px 0; }
  .machine { width: 52%; height: 100%; padding: 12px; }
  .machine h2, .machine-clue { display: none; }
  .signal-builder { margin-top: 6px; padding: 9px; }
  .machine .code-editor { height: 52px; min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .other-mind-status, .other-mind-glyph { animation: none !important; }
  .python-chip { animation: none; }
}
.exit-dialog { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 20px; background: #03070ee8; }
.exit-dialog__card { width: min(440px, 100%); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 26px; background: #101923; border: 1px solid #65ddef; }
.exit-dialog h2 { margin: 0 0 14px; font-size: 28px; }
.exit-dialog p { font-size: 18px; line-height: 1.4; }
.exit-dialog .run-code { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 12px; text-decoration: none; font-size: 16px; }
.exit-dialog #confirmExit { background: #253542; color: #e9e5d7; }

.code-reality {
  margin: 12px 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(100, 233, 255, .26);
  background: linear-gradient(90deg, rgba(4, 21, 29, .92), rgba(15, 25, 35, .72));
  color: #cceef2;
  font: 650 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.code-reality > span { color: #64e9ff; font-weight: 900; letter-spacing: .08em; }
.code-reality p { margin: 5px 0 0; }

/* QueQuest 0.3 — program execution should be visible, not explained after the fact. */
.queue-builder { padding: 14px; margin-top: 16px; background: #101d2c; border: 1px solid #7b8dff66; border-radius: 10px; }
.machine .queue-builder p { color: #d7ddff; margin: 0 0 12px; font-size: 14px; }
.queue-builder button { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 50px; width: 100%; margin-top: 8px; padding: 11px 12px; background: #18233a; color: #eef0ff; border: 1px solid #687ad1; border-radius: 7px; text-align: left; }
.queue-builder button:disabled { opacity: .32; cursor: default; }
.queue-builder code { color: #9eb0ff; font: 900 13px ui-monospace, monospace; white-space: pre; }
.queue-builder span { color: #c4cbe7; font-size: 12px; }

.function-builder { padding: 14px; margin-top: 16px; background: #0d241d; border: 1px solid #72f0bc66; border-radius: 10px; }
.machine .function-builder p { color: #d3ffe9; margin: 0 0 12px; font-size: 14px; }
.function-builder button { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 48px; width: 100%; margin-top: 7px; padding: 10px 12px; background: #153429; color: #effff7; border: 1px solid #4eaa84; border-radius: 7px; text-align: left; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
.function-builder button:disabled { opacity: .30; cursor: default; }
.function-builder button[data-pulse="true"] { transform: translateX(5px); background: #24694f; box-shadow: 0 0 22px #72f0bc55; }
.function-builder code { color: #8dffd0; font: 900 12px ui-monospace, monospace; white-space: pre; }
.function-builder span { color: #c8e9da; font-size: 11px; }
.program-viz { margin: 12px 0 8px; padding: 10px 12px; border: 1px solid #64e9ff44; border-radius: 9px; background: #061019dd; }
.program-viz__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #86f4ff; font: 800 9px/1.2 ui-monospace, monospace; letter-spacing: .1em; }
.program-viz__head b { color: #ffc857; font-size: 10px; }
.program-viz__cells { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(34px, 1fr); gap: 5px; margin: 9px 0; overflow: hidden; }
.program-viz__cell { position: relative; min-width: 0; height: 38px; display: grid; place-items: center; border: 1px solid #48596d; border-radius: 5px; background: #15202d; color: #d9e1e7; font: 900 10px ui-monospace, monospace; transition: transform .18s ease, opacity .18s ease, border-color .18s ease, background .18s ease; }
.program-viz__cell[data-kind="red"] { background: #43161b; border-color: #ff6e78; color: #ffd9dc; }
.program-viz__cell[data-active="true"] { transform: translateY(-4px); border-color: #ffc857; box-shadow: 0 0 18px #ffc85744; }
.program-viz__cell[data-done="true"] { opacity: .28; transform: translateY(2px) scale(.96); }
.program-viz__cell::after { content: attr(data-index); position: absolute; left: 4px; bottom: 2px; color: #718296; font-size: 7px; }
.program-viz__flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 5px; color: #67788d; font: 800 8px ui-monospace, monospace; text-align: center; }
.program-viz__flow span { padding: 6px 4px; border: 1px solid #33475b; border-radius: 4px; background: #0b1722; }
.program-viz__flow span[data-hot="true"] { color: #081013; background: #64e9ff; border-color: #bff9ff; box-shadow: 0 0 14px #64e9ff55; }
.program-viz__flow span[data-state="pass"] { color: #07130d; background: #65f0a7; border-color: #adffd0; }
.program-viz__flow span[data-state="block"] { color: #24070b; background: #ff7580; border-color: #ffc0c5; }

@media (max-width: 760px) {
  .program-viz__cells { grid-auto-columns: minmax(30px, 1fr); gap: 4px; }
  .program-viz__cell { height: 34px; font-size: 9px; }
  .queue-builder code, .function-builder code { font-size: 11px; }
  .queue-builder button, .function-builder button { min-height: 46px; }
}

/* Chapter 5: isolated friends-defense vertical slice. Shape + text carry state; color is only reinforcement. */
.friend-sandbox { width: min(860px, calc(100% - 32px)); inset-inline: 50%; transform: translateX(-50%); }
.friend-intro { max-width: 760px; }
.friend-match { display: grid; gap: 14px; }
.friend-event-pointer { padding: 13px; border: 1px solid #64e9ff77; border-radius: 12px; background: #07101c; }
.friend-event-pointer > span { display: block; margin-bottom: 8px; color: #9cbecb; font: 800 11px/1.25 ui-monospace, monospace; letter-spacing: .08em; }
.friend-event-card { display: flex; align-items: center; gap: 14px; min-height: 70px; }
.friend-event-card > b { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border: 2px solid currentColor; border-radius: 12px; color: #fff0bb; font-size: 29px; }
.friend-event-card strong, .friend-event-card code { display: block; }
.friend-event-card strong { color: #effcff; font-size: 17px; }
.friend-event-card code { margin-top: 7px; color: #68eeb8; font: 800 13px ui-monospace, monospace; }
.friend-event-queue { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.friend-event-queue span { display: grid; place-items: center; min-height: 42px; border: 1px solid #607482; border-radius: 8px; color: #9eb0ba; font: 900 20px ui-monospace, monospace; }
.friend-event-queue span[data-state="current"] { border: 3px double #fff0bb; color: #fff0bb; transform: translateY(-2px); }
.friend-event-queue span[data-state="done"] { border-style: dashed; color: #68eeb8; }
.friend-event-queue span[data-state="done"]::after { content: '✓'; margin-left: 4px; font-size: 11px; }
.friend-roles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.friend-roles button { display: grid; grid-template-columns: 42px 1fr; grid-template-areas: 'glyph role' 'glyph name' 'glyph verb'; align-items: center; min-height: 86px; padding: 10px 12px; border: 1px solid #76b4c0; border-radius: 10px; background: #102536; color: #eafcff; text-align: left; }
.friend-roles button:disabled { opacity: .48; }
.friend-roles button > b { grid-area: glyph; display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid currentColor; border-radius: 50%; font-size: 22px; }
.friend-roles button > span { grid-area: role; color: #91aab6; font: 800 10px ui-monospace, monospace; letter-spacing: .1em; }
.friend-roles button > strong { grid-area: name; font-size: 13px; line-height: 1.2; }
.friend-roles button > small { grid-area: verb; color: #68eeb8; font: 800 11px ui-monospace, monospace; }
.friend-match[data-result="retry"] .friend-event-pointer { border-style: dashed; }
.friend-match[data-result="success"] .friend-event-pointer { box-shadow: inset 0 0 0 1px #68eeb855; }
.friend-code-reveal { padding: 14px; border: 1px solid #68eeb877; border-radius: 12px; background: #071611; }
.friend-code-reveal p { margin: 0 0 10px; }
.friend-code-reveal pre { max-height: 250px; overflow: auto; margin: 0; padding: 13px; background: #030a08; border-radius: 8px; white-space: pre; touch-action: pan-x pan-y; }
.friend-code-reveal code { color: #d5ffe9; font: 700 13px/1.55 ui-monospace, monospace; }
.friend-code-map span { color: #fff0bb; font: 900 12px ui-monospace, monospace; }
#chatOutput { margin: 0; min-height: 54px; }
#friendStartMatch, #chatContinue { margin-top: 0; }

@media (max-width: 760px) {
  .friend-sandbox { inset: 76px 10px max(10px, env(safe-area-inset-bottom)); width: auto; transform: none; padding: 16px; }
  .friend-sandbox h2 { font-size: 25px; }
  .friend-sandbox p { font-size: 13px; }
  .friend-roles { grid-template-columns: 1fr; }
  .friend-roles button { min-height: 64px; }
  .friend-event-queue { gap: 5px; }
  .friend-event-queue span { min-height: 38px; font-size: 17px; }
  .friend-code-reveal code { font-size: 11px; }
}

/* Chapter 6: Vika / state + memory. The face is intentionally abstract, blue, floating and bodyless. */
.vika-memory { position: absolute; inset: 80px max(16px, calc((100% - 860px)/2)) 20px; z-index: 13; width: min(860px, calc(100% - 32px)); inset-inline: 50%; transform: translateX(-50%); overflow-y: auto; padding: clamp(18px, 3vw, 30px); border: 1px solid #66dfff88; border-radius: 16px; background: radial-gradient(circle at 50% 12%, #123d64 0, #081522 46%, #050b12 100%); box-shadow: 0 18px 70px #000a; touch-action: pan-y; }
.vika-memory h2 { margin: 0 0 6px; color: #eafaff; font-size: clamp(28px, 4vw, 46px); line-height: 1; text-shadow: 0 0 22px #64dfff66; }
.vika-memory p { color: #bed5e2; font-size: 14px; line-height: 1.45; }
.vika-presence { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 20px; margin: 8px 0 20px; }
.vika-face { position: relative; width: 132px; height: 108px; justify-self: center; border: 1px solid #7ceaffaa; border-radius: 52% 48% 48% 52% / 58% 56% 44% 42%; background: radial-gradient(circle at 50% 34%, #79eaff33, #0b3157 60%, #061321 100%); box-shadow: 0 0 26px #4edaff77, inset 0 0 24px #67e7ff33; filter: drop-shadow(0 8px 16px #0008); animation: vika-float 3.2s ease-in-out infinite; }
.vika-face::before, .vika-face::after { content: ''; position: absolute; inset: 10px 20px; border-top: 1px solid #8ef0ff66; border-bottom: 1px solid #3db9e855; border-radius: 50%; transform: rotate(-6deg); }
.vika-face::after { inset: 24px 12px 18px; transform: rotate(7deg); opacity: .6; }
.vika-eye { position: absolute; top: 38px; width: 20px; height: 8px; border-top: 3px solid #c9f8ff; border-radius: 50%; box-shadow: 0 -2px 10px #87eeff; }
.vika-eye--left { left: 30px; transform: rotate(-4deg); }
.vika-eye--right { right: 30px; transform: rotate(4deg); }
.vika-mouth { position: absolute; left: 50%; bottom: 28px; width: 34px; height: 9px; transform: translateX(-50%); border-bottom: 2px solid #9cefff; border-radius: 50%; opacity: .8; }
@keyframes vika-float { 0%,100% { transform: translateY(0) rotate(-.5deg); } 50% { transform: translateY(-7px) rotate(.5deg); } }
.vika-stage { display: grid; gap: 14px; }
.vika-signal { padding: 13px; border: 1px solid #5bdfff66; border-radius: 12px; background: #06111d; }
.vika-signal > span { display: block; margin-bottom: 8px; color: #9dc2d1; font: 800 11px/1.25 ui-monospace, monospace; letter-spacing: .08em; }
.vika-signal-card { display: flex; align-items: center; gap: 14px; min-height: 70px; }
.vika-signal-card > b { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border: 2px solid #9befff; border-radius: 50%; color: #e8fbff; font-size: 28px; box-shadow: inset 0 0 14px #62dfff33; }
.vika-signal-card strong, .vika-signal-card code { display: block; }
.vika-signal-card strong { color: #effcff; font-size: 17px; }
.vika-signal-card code { margin-top: 7px; color: #7ce6ff; font: 800 13px ui-monospace, monospace; }
.vika-repeat-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.vika-repeat-track span { display: grid; place-items: center; min-height: 44px; border: 1px solid #547083; border-radius: 999px; color: #9fb6c2; font: 900 20px ui-monospace, monospace; }
.vika-repeat-track span[data-state="current"] { border: 3px double #e8fbff; color: #e8fbff; transform: translateY(-2px); }
.vika-repeat-track span[data-state="done"] { border-style: dashed; color: #72efb2; }
.vika-repeat-track span[data-state="done"]::after { content: ' ✓'; font-size: 11px; }
.vika-memory-panel { display: grid; grid-template-columns: minmax(130px, 1.15fr) 1fr 1fr; gap: 8px; align-items: stretch; padding: 10px; border: 1px solid #88eaff55; border-radius: 12px; background: #071723; }
.vika-memory-panel > p { display: flex; align-items: center; margin: 0; padding: 8px; color: #9dc2d1; font: 900 11px/1.2 ui-monospace, monospace; letter-spacing: .08em; }
.vika-memory-panel > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; min-height: 54px; padding: 9px 11px; border: 1px solid #466777; border-radius: 8px; background: #0b2231; }
.vika-memory-panel code { color: #9aeaff; font: 800 13px ui-monospace, monospace; }
.vika-memory-panel strong { color: #fff1ba; font: 900 16px ui-monospace, monospace; }
#vikaMemoryTrustedRow[data-value="true"] { border-style: double; }
#vikaMemoryTrustedRow[data-value="true"] strong::before { content: '✓ '; color: #72efb2; }
.vika-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.vika-actions button { display: grid; grid-template-columns: 38px 1fr; grid-template-areas: 'n title' 'n copy'; align-items: center; min-height: 78px; padding: 10px 12px; border: 1px solid #6ca9bd; border-radius: 10px; background: #0d2939; color: #eafcff; text-align: left; }
.vika-actions button:disabled { opacity: .48; }
.vika-actions b { grid-area: n; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; color: #8deaff; }
.vika-actions strong { grid-area: title; font-size: 13px; }
.vika-actions small { grid-area: copy; color: #92b6c6; font: 800 10px ui-monospace, monospace; }
.vika-stage[data-result="retry"] .vika-memory-panel { border-style: dashed; }
.vika-stage[data-result="success"] .vika-memory-panel { box-shadow: inset 0 0 0 1px #72efb244; }
.vika-code-reveal { padding: 14px; border: 1px solid #72efb277; border-radius: 12px; background: #061812; }
.vika-code-reveal p { margin: 0 0 10px; }
.vika-code-reveal pre { max-height: 280px; overflow: auto; margin: 0; padding: 13px; border-radius: 8px; background: #020a08; white-space: pre; touch-action: pan-x pan-y; }
.vika-code-reveal code { color: #d9ffeb; font: 700 13px/1.55 ui-monospace, monospace; }
.vika-code-map span { color: #fff0bb; font: 900 12px ui-monospace, monospace; }
#vikaOutput { margin: 0; min-height: 48px; }
#vikaStartMemory, #vikaContinue { margin-top: 0; }

@media (max-width: 760px) {
  .vika-memory { inset: 76px 10px max(10px, env(safe-area-inset-bottom)); width: auto; transform: none; padding: 16px; }
  .vika-presence { grid-template-columns: 92px 1fr; gap: 12px; }
  .vika-face { width: 84px; height: 72px; }
  .vika-eye { top: 26px; width: 14px; height: 6px; border-top-width: 2px; }
  .vika-eye--left { left: 19px; }
  .vika-eye--right { right: 19px; }
  .vika-mouth { bottom: 18px; width: 23px; height: 6px; }
  .vika-memory h2 { font-size: 29px; }
  .vika-memory p { font-size: 13px; }
  .vika-memory-panel { grid-template-columns: 1fr 1fr; }
  .vika-memory-panel > p { grid-column: 1 / -1; min-height: 34px; }
  .vika-actions { grid-template-columns: 1fr; }
  .vika-actions button { min-height: 64px; }
  .vika-code-reveal code { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .vika-face { animation: none; }
}

/* Chapter 7: synthetic reliability finale. */
.virus-finale { position:absolute; inset:80px max(16px,calc((100% - 900px)/2)) 20px; z-index:14; width:min(900px,calc(100% - 32px)); inset-inline:50%; transform:translateX(-50%); overflow-y:auto; padding:clamp(18px,3vw,30px); border:1px solid #ff7f8c77; border-radius:16px; background:radial-gradient(circle at 15% 10%,#3a1119,#100b12 45%,#06070b); box-shadow:0 18px 70px #000a; touch-action:pan-y; }
.virus-finale h2 { margin:0 0 6px; color:#fff1ee; font-size:clamp(26px,4vw,42px); line-height:1.05; }
.virus-finale p { color:#d7c3c6; font-size:14px; line-height:1.45; }
.virus-presence { display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:center; margin:8px 0 20px; }
.virus-core { position:relative; width:90px; height:90px; justify-self:center; border:1px solid #ff7788; transform:rotate(45deg); background:#260b12; box-shadow:0 0 28px #ff596a55,inset 0 0 22px #ff596a33; }
.virus-core i { position:absolute; inset:18px; border:1px solid #ff9ba7; }
.virus-core i:nth-child(2){ inset:30px; transform:rotate(45deg); }.virus-core i:nth-child(3){ inset:40px; background:#ff7684; }
.virus-stage { display:grid; gap:14px; }
.virus-failure { padding:13px; border:1px solid #ff7f8c66; border-radius:12px; background:#12090d; }
.virus-failure>span { display:block; margin-bottom:8px; color:#d8a4aa; font:800 11px/1.25 ui-monospace,monospace; letter-spacing:.08em; }
.virus-failure-card { display:flex; align-items:center; gap:14px; min-height:72px; }
.virus-failure-card>b { display:grid; place-items:center; width:54px; height:54px; flex:0 0 54px; border:2px solid #ff8b96; border-radius:10px; color:#ffd9dd; font:900 20px ui-monospace,monospace; }
.virus-failure-card strong,.virus-failure-card small { display:block; }.virus-failure-card strong{color:#fff4f4;font-size:16px}.virus-failure-card small{margin-top:6px;color:#c7a8ac}
.virus-case-track { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.virus-case-track span { display:grid; place-items:center; min-height:42px; border:1px solid #72545b; border-radius:8px; color:#aa9297; font:900 14px ui-monospace,monospace; }
.virus-case-track span[data-state="broken"] { border:3px double #ff8b96; color:#ffd9dd; transform:translateY(-2px); }
.virus-case-track span[data-state="recovered"] { border-style:dashed; color:#72efb2; }.virus-case-track span[data-state="recovered"]::after{content:' ✓';font-size:10px}
.virus-recoveries { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.virus-recoveries button { display:grid; grid-template-columns:42px 1fr; grid-template-areas:'g t' 'g s'; align-items:center; min-height:74px; padding:10px 12px; border:1px solid #8d6570; border-radius:10px; background:#1e1015; color:#fff0f2; text-align:left; }
.virus-recoveries button:disabled{opacity:.48}.virus-recoveries b{grid-area:g;display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:7px}.virus-recoveries strong{grid-area:t;font-size:12px}.virus-recoveries small{grid-area:s;color:#c3a3aa;font:800 9px ui-monospace,monospace}
.virus-log-panel { padding:12px; border:1px solid #5a4850; border-radius:10px; background:#09070a; }.virus-log-panel>p{margin:0 0 8px;color:#aa9297;font:900 10px ui-monospace,monospace}.virus-log-panel ol{display:grid;gap:5px;margin:0;padding-left:22px}.virus-log-panel li{display:grid;grid-template-columns:100px 1fr auto;gap:8px;color:#d8c5c8;font:11px ui-monospace,monospace}.virus-log-panel em{color:#72efb2;font-style:normal;font-weight:900}
.virus-code-reveal { padding:14px; border:1px solid #72efb277; border-radius:12px; background:#07130d; }.virus-code-reveal p{margin:0 0 10px}.virus-code-reveal pre{max-height:280px;overflow:auto;margin:0;padding:13px;border-radius:8px;background:#020706;white-space:pre;touch-action:pan-x pan-y}.virus-code-reveal code{color:#d9ffeb;font:700 13px/1.55 ui-monospace,monospace}.virus-code-map span{color:#fff0bb;font:900 12px ui-monospace,monospace}
.virus-stage[data-result="retry"] .virus-failure{border-style:dashed}.virus-stage[data-result="success"] .virus-failure{box-shadow:inset 0 0 0 1px #72efb244}#virusOutput{margin:0;min-height:48px}
@media(max-width:760px){.virus-finale{inset:76px 10px max(10px,env(safe-area-inset-bottom));width:auto;transform:none;padding:16px}.virus-presence{grid-template-columns:72px 1fr;gap:10px}.virus-core{width:58px;height:58px}.virus-recoveries{grid-template-columns:1fr}.virus-recoveries button{min-height:64px}.virus-log-panel li{grid-template-columns:82px 1fr}.virus-log-panel em{display:none}.virus-code-reveal code{font-size:11px}}

/* QueQuest 1.0 · Automation Foundry */
.automation-foundry{position:absolute;inset:72px max(12px,calc((100% - 1060px)/2)) 16px;z-index:15;width:min(1060px,calc(100% - 24px));inset-inline:50%;transform:translateX(-50%);overflow:auto;padding:clamp(18px,3vw,30px);border:1px solid #f0b85d66;border-radius:18px;background:radial-gradient(circle at 15% 0,#312511,#111016 42%,#080a0f);box-shadow:0 24px 90px #000c;touch-action:pan-y}.automation-foundry h2{margin:0 0 8px;color:#fff3c4;font-size:clamp(28px,4vw,46px);line-height:1.02}.automation-foundry p{color:#d7c9a7;line-height:1.45}.foundry-head{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:center}.foundry-mark{position:relative;width:84px;height:84px;border:1px solid #f0b85d;border-radius:12px;background:#1a140a;box-shadow:0 0 28px #f0b85d22,inset 0 0 26px #f0b85d18}.foundry-mark i{position:absolute;left:14px;right:14px;height:8px;border:1px solid #ffd985;background:#5a3f12}.foundry-mark i:nth-child(1){top:18px}.foundry-mark i:nth-child(2){top:38px}.foundry-mark i:nth-child(3){top:58px}.foundry-stage{display:grid;gap:14px}.foundry-status{padding:12px;border:1px solid #6e5a33;border-radius:12px;background:#0c0c0d}.foundry-status>span{display:block;margin-bottom:10px;color:#e3bd70;font:900 11px ui-monospace,monospace;letter-spacing:.07em}.foundry-queue{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.foundry-queue span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:48px;padding:8px;border:1px solid #514a3b;border-radius:8px;background:#171713;color:#9b927d;transition:.18s transform,.18s border-color,.18s opacity}.foundry-queue span b{font-size:20px}.foundry-queue span small{font:900 9px ui-monospace,monospace}.foundry-queue span[data-state="active"]{border:3px double #ffe39a;color:#fff4c8;transform:translateY(-3px)}.foundry-queue span[data-state="done"]{border-style:dashed;color:#72efb2;opacity:.7}.foundry-queue[data-level="6"] span:not([data-state="done"]){box-shadow:inset 0 -4px #ff986644}.foundry-queue[data-level="9"]{animation:foundry-alarm .38s linear 2}.foundry-factory{position:relative;display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;gap:9px;align-items:center;padding:18px;border:1px solid #6b5840;border-radius:14px;background:#0c0d0d;overflow:hidden}.foundry-belt{position:absolute;left:2%;right:2%;top:50%;height:10px;transform:translateY(-50%);border-block:1px solid #544b39;background:#191a17;overflow:hidden}.foundry-belt i{position:absolute;top:1px;width:30px;height:6px;background:repeating-linear-gradient(90deg,#5f5744 0 8px,transparent 8px 14px);animation:foundry-belt 1s linear infinite}.foundry-belt i:nth-child(1){left:0}.foundry-belt i:nth-child(2){left:22%}.foundry-belt i:nth-child(3){left:44%}.foundry-belt i:nth-child(4){left:66%}.foundry-belt i:nth-child(5){left:88%}.foundry-node{position:relative;z-index:1;display:grid;grid-template-columns:38px 1fr;grid-template-areas:'n t' 'n s';align-items:center;min-height:82px;padding:11px;border:1px solid #635941;border-radius:10px;background:#181811}.foundry-node b{grid-area:n;display:grid;place-items:center;width:30px;height:30px;border:1px solid #9f8952;border-radius:7px;color:#e8cb83}.foundry-node strong{grid-area:t;color:#fff1bf}.foundry-node small{grid-area:s;color:#8d846f;font:800 9px ui-monospace,monospace}.foundry-node[data-state="wired"]{border-color:#f1c46c;box-shadow:inset 0 0 0 1px #f1c46c33}.foundry-node[data-state="wired"] small{color:#72efb2}.foundry-node--bottleneck{background:#21140f}.foundry-arrow{position:relative;z-index:1;color:#e9c97f;text-align:center;font-size:24px}.foundry-runtime{display:grid;grid-template-columns:170px 1fr 220px;gap:10px}.foundry-workers,.foundry-throughput,.foundry-ledger{min-height:78px;padding:11px;border:1px solid #5e574a;border-radius:10px;background:#0c0d0e}.foundry-workers{display:grid;grid-template-columns:1fr 1fr;gap:7px}.foundry-workers span{display:grid;place-items:center;border:1px solid #8f7b50;border-radius:8px;color:#ffd985;font:900 18px ui-monospace,monospace}.foundry-workers span:nth-child(2){opacity:.18}.foundry-workers[data-count="2"] span:nth-child(2){opacity:1;animation:foundry-pulse .45s ease}.foundry-workers small{grid-column:1/-1;color:#8d846f;text-align:center;font:900 9px ui-monospace,monospace}.foundry-throughput{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.foundry-throughput small{width:100%;color:#8d846f;text-align:center;font:900 9px ui-monospace,monospace}.foundry-throughput b{color:#d8cfb6;font:900 11px ui-monospace,monospace}.foundry-throughput i{color:#f0b85d}.foundry-ledger{display:grid;grid-template-columns:1fr repeat(3,auto);gap:7px;align-items:center}.foundry-ledger small{grid-column:1/-1;color:#8d846f;font:900 9px ui-monospace,monospace}.foundry-ledger b{padding:6px;border:1px solid #4e4b43;border-radius:6px;color:#d9d1bd;font:800 11px ui-monospace,monospace}.foundry-ledger[data-state="race"]{border:3px double #ff7f77;animation:foundry-alarm .45s linear infinite}.foundry-ledger[data-state="race"] b:nth-of-type(2){transform:translateX(-8px);box-shadow:0 0 0 2px #ff7f7755}.foundry-ledger[data-state="safe"]{border-color:#72efb2}.foundry-ledger[data-state="safe"]::after{content:'LOCK ✓';justify-self:end;color:#72efb2;font:900 10px ui-monospace,monospace}.foundry-controls,.foundry-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.foundry-controls button,.foundry-choices button{display:grid;grid-template-columns:38px 1fr;grid-template-areas:'g t' 'g s';align-items:center;min-height:70px;padding:10px 12px;border:1px solid #685d47;border-radius:10px;background:#17150f;color:#f5e6be;text-align:left}.foundry-controls button:disabled,.foundry-choices button:disabled{opacity:.34}.foundry-controls b,.foundry-choices b{grid-area:g;display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:7px}.foundry-controls strong,.foundry-choices strong{grid-area:t;font-size:12px}.foundry-controls small,.foundry-choices small{grid-area:s;color:#9d947e;font:800 9px ui-monospace,monospace}.foundry-stage[data-step="manual"] .foundry-controls--pipeline,.foundry-stage[data-step="manual"] .foundry-choices,.foundry-stage[data-step="pipeline"] .foundry-controls--manual,.foundry-stage[data-step="pipeline"] .foundry-choices,.foundry-stage[data-step="bottleneck"] .foundry-controls,.foundry-stage[data-step="bottleneck"] [data-race-choice],.foundry-stage[data-step="race"] .foundry-controls,.foundry-stage[data-step="race"] [data-scale-choice],.foundry-stage[data-step="won"] .foundry-controls,.foundry-stage[data-step="won"] .foundry-choices{display:none}.foundry-code-reveal{padding:14px;border:1px solid #72efb277;border-radius:12px;background:#07130d}.foundry-code-reveal p{margin:0 0 10px}.foundry-code-reveal pre{max-height:330px;overflow:auto;margin:0;padding:13px;border-radius:8px;background:#020706;white-space:pre;touch-action:pan-x pan-y}.foundry-code-reveal code{color:#d9ffeb;font:700 12px/1.5 ui-monospace,monospace}.foundry-code-map span{color:#fff0bb;font:900 12px ui-monospace,monospace}.game[data-trace="off"] .program-viz{display:none!important}.game[data-trace="off"] .foundry-throughput{opacity:.2}.corner-tools #traceToggle{font:900 10px ui-monospace,monospace}.corner-tools #traceToggle[aria-pressed="true"]{outline:2px solid #72efb2}@keyframes foundry-belt{from{transform:translateX(-36px)}to{transform:translateX(36px)}}@keyframes foundry-alarm{50%{filter:brightness(1.45)}}@keyframes foundry-pulse{50%{transform:scale(1.08)}}
@media(max-width:760px){.automation-foundry{inset:70px 8px max(8px,env(safe-area-inset-bottom));width:auto;transform:none;padding:14px}.foundry-head{grid-template-columns:64px 1fr;gap:10px}.foundry-mark{width:58px;height:58px}.foundry-mark i{left:10px;right:10px;height:5px}.foundry-mark i:nth-child(1){top:14px}.foundry-mark i:nth-child(2){top:26px}.foundry-mark i:nth-child(3){top:38px}.foundry-queue{grid-template-columns:repeat(3,1fr)}.foundry-factory{grid-template-columns:1fr 24px 1fr 24px 1fr;padding:10px;gap:5px}.foundry-node{grid-template-columns:1fr;grid-template-areas:'t' 's';min-height:66px;padding:8px;text-align:center}.foundry-node b{display:none}.foundry-node strong{font-size:11px}.foundry-runtime{grid-template-columns:1fr 1fr}.foundry-throughput{grid-column:1/-1;order:3}.foundry-ledger{grid-template-columns:1fr repeat(3,auto)}.foundry-controls,.foundry-choices{grid-template-columns:1fr}.foundry-controls button,.foundry-choices button{min-height:60px}.foundry-code-reveal code{font-size:10px}.foundry-arrow{font-size:17px}}
@media(prefers-reduced-motion:reduce){.foundry-belt i,.foundry-ledger[data-state="race"]{animation:none}}

/* QueQuest 2.0 · postgame engineering campus */
.engineer-campus,.contract-board,.python-contracts,.ai-lab,.llm-workshop{position:absolute;inset:68px max(10px,calc((100% - 1180px)/2)) 14px;z-index:18;width:min(1180px,calc(100% - 20px));inset-inline:50%;transform:translateX(-50%);overflow:auto;padding:clamp(18px,3vw,30px);border:1px solid #5b6575;border-radius:20px;background:radial-gradient(circle at 16% 0,#17232f,#0a0d12 46%,#05070a);box-shadow:0 30px 110px #000d;touch-action:pan-y}.engineer-campus h2,.contract-board h2,.python-contracts h2,.ai-lab h2,.llm-workshop h2{margin:0 0 8px;color:#eef6ff;font-size:clamp(28px,4vw,48px);line-height:1.02}.engineer-campus p,.contract-board p,.python-contracts p,.ai-lab p,.llm-workshop p{color:#b9c5d1;line-height:1.5}.campus-head,.contract-board>header,.python-contracts>header,.ai-lab-head,.llm-head{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start}.campus-rank{display:grid;min-width:220px;gap:5px;padding:14px;border:1px solid #48647f;border-radius:14px;background:#08121c}.campus-rank small,.campus-rank span{color:#7f98af;font:800 10px ui-monospace,monospace}.campus-rank b{color:#9be7ff;font:900 16px ui-monospace,monospace}.campus-rank strong{color:#fff;font:900 28px ui-monospace,monospace}.campus-rank>div{height:8px;border:1px solid #33516a;border-radius:99px;overflow:hidden;background:#05090d}.campus-rank>div i{display:block;width:0;height:100%;background:linear-gradient(90deg,#58b7ff,#84ffd1);transition:.3s width}.campus-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.campus-branches button{display:grid;grid-template-columns:58px 1fr;gap:12px;min-height:148px;padding:16px;border:1px solid #384c5f;border-radius:15px;background:#0a1219;color:#dcecff;text-align:left;transition:.16s transform,.16s border-color,.16s background}.campus-branches button:hover,.campus-branches button:focus-visible{transform:translateY(-2px);border-color:#73c7ff;background:#0d1822}.campus-branches button>b{display:grid;place-items:center;width:50px;height:50px;border:1px solid #5b91ad;border-radius:11px;color:#9cecff;font:900 23px ui-monospace,monospace}.campus-branches button span{display:grid;align-content:start;gap:5px}.campus-branches small,.campus-branches em{color:#8298aa;font:800 9px/1.4 ui-monospace,monospace;font-style:normal}.campus-branches strong{font-size:17px}.campus-branches i{margin-top:7px;color:#78e6b6;font:900 11px ui-monospace,monospace;font-style:normal}.campus-branches button[data-done="true"]{border-color:#65d8a0aa;box-shadow:inset 0 0 0 1px #65d8a022}.campus-sync{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border:1px dashed #526779;border-radius:14px;background:#071019}.campus-sync strong{color:#d8f4ff}.campus-sync p{margin:4px 0}.campus-sync__buttons{display:flex;gap:8px;align-items:start}.campus-sync button,.contract-detail>button,.python-contract-editor>button:first-child{min-height:44px;padding:9px 12px;border:1px solid #486b83;border-radius:9px;background:#0b1821;color:#dff6ff;font:900 10px ui-monospace,monospace}.campus-sync textarea{grid-column:1/-1;min-height:92px;padding:10px;border:1px solid #385267;border-radius:9px;background:#02070b;color:#bff2ff;font:12px/1.5 ui-monospace,monospace}.campus-sync>#campusImport{grid-column:2}.campus-sync>#campusSyncStatus{grid-column:1/-1;margin:0;color:#7fa8ba;font:800 10px ui-monospace,monospace}
.contract-board>header,.python-contracts>header{grid-template-columns:1fr 48px}.contract-board__meta,.python-contracts__meta{display:flex;justify-content:space-between;gap:12px;margin:14px 0;padding:10px 12px;border:1px solid #364656;border-radius:10px;background:#071019;color:#94a7b8}.contract-board__meta span,.python-contracts__meta span{color:#9cecff;font:900 11px ui-monospace,monospace}.contract-board__meta small,.python-contracts__meta small{font:800 9px ui-monospace,monospace}.contract-list,.python-contract-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.contract-card,.python-contract-card{display:grid;grid-template-columns:44px 1fr 24px;gap:10px;align-items:center;min-height:98px;padding:12px;border:1px solid #344b5e;border-radius:11px;background:#091118;color:#d9e7f2;text-align:left}.contract-card>b{display:grid;place-items:center;width:39px;height:39px;border:1px solid #4f809e;border-radius:8px;color:#8ce7ff;font-size:19px}.contract-card span,.python-contract-card span{display:grid;gap:3px}.contract-card small,.python-contract-card small,.contract-card em,.python-contract-card em{color:#71899d;font:800 8px/1.35 ui-monospace,monospace;font-style:normal}.contract-card strong,.python-contract-card strong{font-size:13px}.contract-card>i{color:#70e6ac;font:900 14px ui-monospace,monospace;font-style:normal}.contract-card[data-done="true"],.python-contract-card[data-done="true"]{border-color:#4bbd88aa;background:#071710}.contract-detail,.python-contract-editor{position:sticky;bottom:0;margin-top:14px;padding:18px;border:1px solid #5882a1;border-radius:14px;background:#081019;box-shadow:0 -22px 50px #000a}.contract-detail h3,.python-contract-editor h3{margin:7px 0;color:#fff;font-size:26px}.contract-detail>small,.python-contract-editor>small{display:block;margin-top:12px;color:#82abc4;font:900 10px ui-monospace,monospace}.contract-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contract-choices button{display:grid;gap:5px;min-height:78px;padding:11px;border:1px solid #425c6e;border-radius:9px;background:#0d1820;color:#e8f7ff;text-align:left}.contract-choices small{color:#7e94a5;font:800 9px ui-monospace,monospace}.contract-detail[data-result="retry"]{border-color:#e56b6b}.contract-detail[data-result="success"]{border-color:#60d89b}.python-contract-card{grid-template-columns:1fr 40px}.python-contract-card>b{color:#81e8c2;font:900 16px ui-monospace,monospace}.python-contract-visual{margin:12px 0;padding:12px;border:1px dashed #4c6d81;border-radius:9px;color:#9cecff;text-align:center;font:900 12px ui-monospace,monospace;letter-spacing:.06em}.python-contract-code{grid-template-columns:40px 1fr}.python-contract-code textarea{min-height:240px}.python-contract-checks{display:grid;gap:6px;margin-top:10px}.python-contract-checks>div{padding:8px 10px;border:1px solid #425364;border-radius:8px;background:#091015;color:#9fb0bd;font:800 10px ui-monospace,monospace}.python-contract-checks>div[data-ok="true"]{border-color:#4ebd82;color:#77efad}.python-contract-checks>div[data-ok="false"]{border-color:#c95d5d;color:#ff9f9f}
.ai-lab{border-color:#5a6fff;background:radial-gradient(circle at 15% 0,#121b50,#0a0d18 44%,#05070b)}.ai-lab-head{grid-template-columns:94px 1fr}.ai-core{position:relative;width:84px;height:84px;border:1px solid #7285ff;border-radius:50%;background:#0a1033;box-shadow:0 0 34px #5b6fff44,inset 0 0 28px #5368ff44}.ai-core i{position:absolute;width:13px;height:13px;border:1px solid #a5c5ff;border-radius:50%;background:#5f77ff}.ai-core i:nth-child(1){left:18px;top:24px}.ai-core i:nth-child(2){right:18px;top:24px}.ai-core i:nth-child(3){left:36px;bottom:18px}.ai-lab-stage{display:grid;gap:13px}.ai-lab-status{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid #46559c;border-radius:10px;background:#090d22}.ai-lab-status>span{color:#aeb8ff;font:900 10px ui-monospace,monospace}.ai-lab-status>div{display:grid;grid-template-columns:auto 120px;gap:8px;align-items:center}.ai-lab-status b{color:#e7ebff;font:900 10px ui-monospace,monospace}.ai-lab-status i{display:block;height:8px;border:1px solid #485a8f;border-radius:99px;overflow:hidden}.ai-lab-status em{display:block;width:0;height:100%;background:#72e5b0;transition:.3s width}.ai-training,.ai-eval{padding:12px;border:1px solid #36447a;border-radius:12px;background:#080b19}.ai-training>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:#8d9ccf;font:900 9px ui-monospace,monospace}.ai-sample-grid{display:grid;grid-template-columns:repeat(6,minmax(74px,1fr));gap:8px}.ai-sample-grid--eval{grid-template-columns:repeat(9,minmax(64px,1fr));margin-top:8px}.ai-sample{display:grid;gap:5px;justify-items:center;padding:7px;border:1px solid #35416a;border-radius:8px;background:#0e1224}.ai-sample strong{color:#b9c6ff;font:900 9px ui-monospace,monospace}.ai-sample[data-result="ok"]{border-color:#47b980}.ai-sample[data-result="error"]{border:3px double #db6767}.ai-pixels{display:grid;grid-template-columns:repeat(5,8px);grid-template-rows:repeat(5,8px);gap:2px}.ai-pixels i{display:block;border:1px solid #24305b;background:#080b13}.ai-pixels i[data-on="true"]{background:#8ca4ff;box-shadow:0 0 5px #7188ff}.ai-correction{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:13px;border:1px solid #5666aa;border-radius:10px;background:#0c1028}.ai-correction>div:first-child{display:flex;gap:12px;align-items:center}.ai-correction small,.ai-coach>small,.ai-code-reveal small{color:#8496d7;font:900 9px ui-monospace,monospace}.ai-label-buttons,.ai-reward-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ai-label-buttons button,.ai-reward-buttons button{min-height:50px;border:1px solid #52649d;border-radius:8px;background:#101731;color:#dfe6ff;font:900 11px ui-monospace,monospace}.ai-coach{padding:14px;border:1px solid #5767a5;border-radius:12px;background:#090e24}.ai-coach h3{margin:7px 0;color:#fff;font-size:22px}.ai-choice{display:flex;align-items:center;justify-content:space-between;margin:10px 0;padding:10px;border:1px solid #4d5b8f;border-radius:8px}.ai-choice span{color:#8794c3;font:900 9px ui-monospace,monospace}.ai-choice b{color:#fff1aa;font:900 18px ui-monospace,monospace}.ai-value-bars{display:grid;gap:6px;margin:10px 0}.ai-value-bars>div{display:grid;grid-template-columns:90px 1fr 48px;gap:8px;align-items:center;color:#8d9ac7;font:800 9px ui-monospace,monospace}.ai-value-bars i{display:block;height:9px;border:1px solid #3d4b78;border-radius:99px;overflow:hidden;background:linear-gradient(90deg,#763a52 0 50%,#183b34 50% 100%)}.ai-value-bars i::after{content:'';display:block;width:var(--v);height:100%;background:#89a2ff88}.ai-value-bars>div[data-best="true"] span{color:#fff3a7}.ai-reward-buttons{grid-template-columns:1fr 1fr}.ai-code-reveal{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid #66d6a177;border-radius:12px;background:#07130f}.ai-code-reveal pre{max-height:260px;overflow:auto;margin:6px 0 0;padding:10px;border-radius:8px;background:#020707}.ai-code-reveal code{color:#c9ffe5;font:700 11px/1.45 ui-monospace,monospace}.ai-code-reveal>p{grid-column:1/-1;margin:0}
.llm-workshop{border-color:#b367d3;background:radial-gradient(circle at 12% 0,#2b123a,#0e0b15 45%,#060609)}.llm-head{grid-template-columns:90px 1fr}.llm-orb{display:grid;place-items:center;width:78px;height:78px;border:1px solid #d38cff;border-radius:50%;background:#1b0a26;color:#efc7ff;font:900 28px ui-monospace,monospace;box-shadow:0 0 34px #c362ff44,inset 0 0 30px #bd5eff44}.llm-stage{display:grid;gap:13px}.llm-stage>span{color:#d79df1;font:900 10px ui-monospace,monospace}.llm-pipeline{display:grid;grid-template-columns:repeat(11,auto);gap:5px;align-items:center;overflow:auto;padding:14px;border:1px solid #604370;border-radius:12px;background:#100b16}.llm-pipeline>div{display:grid;min-width:120px;gap:4px;padding:10px;border:1px solid #4a3b53;border-radius:8px;background:#140f1a}.llm-pipeline>div b{color:#9e7aab;font:900 9px ui-monospace,monospace}.llm-pipeline>div strong{color:#dcc7e5;font-size:11px}.llm-pipeline>div small{color:#796a80;font:800 8px ui-monospace,monospace}.llm-pipeline>div[data-state="wired"]{border-color:#d27cf5;box-shadow:inset 0 0 0 1px #d27cf533}.llm-pipeline>div[data-state="wired"] small{color:#82e5ac}.llm-pipeline>div[data-state="fixed"]{border-style:dashed;border-color:#8c66a0}.llm-pipeline>i{color:#a575b8;font-style:normal}.llm-module-rack{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.llm-module-rack button{display:grid;gap:5px;min-height:72px;padding:10px;border:1px solid #5c4666;border-radius:9px;background:#150f1b;color:#ead8ef;text-align:left}.llm-module-rack button:disabled{opacity:.3}.llm-module-rack small{color:#8b7393;font:800 8px ui-monospace,monospace}.llm-eval-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.llm-eval-card{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:10px;border:1px solid #55435e;border-radius:8px;background:#100c14}.llm-eval-card>span{font-size:18px}.llm-eval-card>div{display:grid;gap:3px}.llm-eval-card strong{color:#e5d3ea;font-size:11px}.llm-eval-card small{color:#9a879f;font:800 9px ui-monospace,monospace}.llm-eval-card[data-result="ok"]{border-color:#5bb985}.llm-eval-card[data-result="error"]{border-color:#c75b72}.llm-code-reveal{padding:14px;border:1px solid #78d99b77;border-radius:12px;background:#07110c}.llm-code-reveal pre{max-height:330px;overflow:auto;padding:12px;border-radius:8px;background:#020706}.llm-code-reveal code{color:#d9ffe7;font:700 11px/1.5 ui-monospace,monospace}.llm-code-reveal span{color:#f0c5ff;font:900 11px ui-monospace,monospace}
@media(max-width:820px){.engineer-campus,.contract-board,.python-contracts,.ai-lab,.llm-workshop{inset:66px 7px max(7px,env(safe-area-inset-bottom));width:auto;transform:none;padding:14px}.campus-head,.ai-lab-head,.llm-head{grid-template-columns:1fr}.campus-rank{min-width:0}.campus-branches{grid-template-columns:1fr}.campus-branches button{min-height:122px}.campus-sync{grid-template-columns:1fr}.campus-sync__buttons{display:grid;grid-template-columns:1fr 1fr}.campus-sync>#campusImport{grid-column:1}.contract-list,.python-contract-list{grid-template-columns:1fr}.contract-board__meta,.python-contracts__meta{display:grid}.contract-choices{grid-template-columns:1fr}.ai-sample-grid{grid-template-columns:repeat(3,1fr)}.ai-sample-grid--eval{grid-template-columns:repeat(3,1fr)}.ai-correction{grid-template-columns:1fr}.ai-label-buttons{grid-template-columns:repeat(3,1fr)}.ai-code-reveal{grid-template-columns:1fr}.ai-code-reveal>p{grid-column:1}.llm-module-rack{grid-template-columns:1fr 1fr}.llm-eval-grid{grid-template-columns:1fr}.llm-pipeline{grid-template-columns:repeat(11,max-content)}.campus-sync button,.contract-choices button,.llm-module-rack button,.ai-label-buttons button,.ai-reward-buttons button{min-height:58px}}
@media(max-width:430px){.campus-branches button{grid-template-columns:48px 1fr;padding:12px}.campus-branches button>b{width:42px;height:42px}.campus-sync__buttons,.llm-module-rack,.ai-reward-buttons{grid-template-columns:1fr}.ai-lab-status{display:grid}.ai-lab-status>div{grid-template-columns:auto 1fr}.ai-pixels{grid-template-columns:repeat(5,7px);grid-template-rows:repeat(5,7px)}.python-contract-code textarea{min-height:280px}.llm-pipeline>div{min-width:108px}}
@media(prefers-reduced-motion:reduce){.campus-branches button,.campus-rank>div i,.ai-lab-status em{transition:none}}

/* QueQuest 2.0 — deterministic endless systems sandbox. */
.system-sandbox{position:fixed;z-index:33;inset:76px 24px max(18px,env(safe-area-inset-bottom));width:min(1080px,calc(100% - 48px));margin:auto;padding:20px;overflow:auto;border:1px solid #6db5c9;border-radius:18px;background:radial-gradient(circle at 10% 0,#123345,#081016 45%,#04080b);box-shadow:0 26px 90px #000d;color:#eaf9ff}
.system-sandbox>header{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.system-sandbox>header h2{margin:6px 0;font-size:clamp(25px,4vw,42px)}.system-sandbox>header p{max-width:820px;color:#a6bfca;line-height:1.5}
.sandbox-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);gap:14px}.sandbox-brief,.sandbox-machine{border:1px solid #365d6b;border-radius:14px;background:#071118d9}.sandbox-brief{padding:15px}.sandbox-brief>strong{display:block;margin-bottom:12px;color:#87efff;font:900 14px ui-monospace,monospace;letter-spacing:.08em}.sandbox-brief dl{display:grid;gap:7px;margin:0}.sandbox-brief dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px;border-bottom:1px solid #24414c}.sandbox-brief dt{color:#6e929f;font:800 9px ui-monospace,monospace}.sandbox-brief dd{margin:0;color:#e5fbff;font:900 10px ui-monospace,monospace;text-align:right}.sandbox-brief p{margin:14px 0 0;color:#8da9b4;font-size:12px;line-height:1.5}.sandbox-machine{display:grid;gap:14px;padding:16px}.sandbox-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:7px;align-items:center}.sandbox-flow span{padding:12px 7px;border:1px solid #4e8291;border-radius:8px;background:#0c1d25;color:#a9f2ff;text-align:center;font:900 10px ui-monospace,monospace}.sandbox-flow i{color:#668d99;font-style:normal}.sandbox-controls{display:grid;grid-template-columns:1fr 1fr minmax(130px,.7fr);gap:9px}.sandbox-controls>div{display:grid;grid-template-columns:36px 1fr 36px;grid-template-areas:'label label label' 'minus value plus';gap:5px;align-items:center;padding:9px;border:1px solid #2f5360;border-radius:9px;background:#09151b}.sandbox-controls small{grid-area:label;color:#6f98a6;font:900 9px ui-monospace,monospace}.sandbox-controls b{grid-area:value;text-align:center;color:#fff;font:900 22px ui-monospace,monospace}.sandbox-controls button{min-height:40px;border:1px solid #4a7785;border-radius:7px;background:#10242d;color:#dcfaff;font-size:18px}.sandbox-controls>div button:first-of-type{grid-area:minus}.sandbox-controls>div button:last-of-type{grid-area:plus}.sandbox-controls .sandbox-lock{align-self:stretch;min-height:72px;font:900 11px ui-monospace,monospace}.sandbox-lock[data-on="true"]{border-color:#6de9a7;background:#103326;color:#9dffc5;box-shadow:inset 0 0 0 1px #6de9a744}.sandbox-timeline{display:grid;grid-template-columns:repeat(16,1fr);align-items:end;gap:3px;min-height:132px;padding:10px;border:1px solid #2a4c57;border-radius:10px;background:linear-gradient(#071015cc,#020508),repeating-linear-gradient(0deg,transparent 0 25px,#1e364133 26px)}.sandbox-timeline i{position:relative;display:block;height:var(--q,8%);min-height:8px;border:1px solid #72cde0;border-bottom-width:3px;border-radius:4px 4px 1px 1px;background:linear-gradient(#63d9ee,#1f6575);transition:.2s height}.sandbox-timeline i[data-race="true"]{border-style:double;border-color:#ff7d84;background:repeating-linear-gradient(135deg,#802e35 0 4px,#3d171a 4px 8px)}.sandbox-timeline i::after{content:'';position:absolute;inset:auto 0 -5px;height:2px;background:#071015}.sandbox-result{min-height:44px;margin:0;padding:10px;border-left:3px solid #5a8793;background:#09151a;color:#a9c1c9;font:800 11px/1.45 ui-monospace,monospace}.system-sandbox[data-result="success"] .sandbox-result{border-color:#61db98;color:#9affbf}.system-sandbox[data-result="retry"] .sandbox-result{border-color:#e66d72;color:#ffaaa9}.sandbox-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.sandbox-actions button{min-height:54px}.sandbox-actions #sandboxNext{padding:0 18px;border:1px solid #68d99a;border-radius:8px;background:#123426;color:#b8ffd2;font:900 11px ui-monospace,monospace}
.contract-board__meta #contractSandboxOpen{justify-self:end;min-height:44px;padding:0 14px;border:1px solid #62bdcf;border-radius:8px;background:#0c222a;color:#a9efff;font:900 10px ui-monospace,monospace}
@media(max-width:820px){.system-sandbox{inset:66px 7px max(7px,env(safe-area-inset-bottom));width:auto;padding:14px}.sandbox-layout{grid-template-columns:1fr}.sandbox-controls{grid-template-columns:1fr 1fr}.sandbox-controls .sandbox-lock{grid-column:1/-1;min-height:58px}.sandbox-flow{overflow:auto;grid-template-columns:repeat(7,max-content)}.sandbox-flow span{min-width:104px}.sandbox-actions{grid-template-columns:1fr}.sandbox-actions button,.contract-board__meta #contractSandboxOpen{min-height:58px}.contract-board__meta #contractSandboxOpen{justify-self:stretch}}
@media(max-width:430px){.sandbox-controls{grid-template-columns:1fr}.sandbox-controls .sandbox-lock{grid-column:1}.sandbox-timeline{min-height:110px;padding:7px;gap:2px}.sandbox-brief dl>div{display:grid}.sandbox-brief dd{text-align:left}}

/* QueQuest 2.0 — transparent one-layer model workbench. */
.model-workbench{position:fixed;z-index:33;inset:76px 24px max(18px,env(safe-area-inset-bottom));width:min(1120px,calc(100% - 48px));margin:auto;padding:20px;overflow:auto;border:1px solid #6f77de;border-radius:18px;background:radial-gradient(circle at 12% 0,#1b2053,#090c18 47%,#040609);box-shadow:0 26px 90px #000d;color:#eef0ff}.model-workbench>header{display:grid;grid-template-columns:1fr auto;gap:18px}.model-workbench>header h2{margin:6px 0;font-size:clamp(25px,4vw,42px)}.model-workbench>header p{max-width:860px;color:#a6afd4;line-height:1.5}.model-pack-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.model-pack-tabs button{min-height:50px;border:1px solid #454f91;border-radius:9px;background:#0e1330;color:#b5c0ff;font:900 10px ui-monospace,monospace}.model-pack-tabs button[data-active="true"]{border-color:#8da1ff;background:#17215b;color:#fff;box-shadow:inset 0 0 0 1px #8da1ff55}.model-dashboard{display:grid;gap:12px}.model-stats{display:grid;grid-template-columns:.7fr 1.35fr .8fr 1.5fr;gap:8px}.model-stats>div{display:grid;gap:5px;padding:10px;border:1px solid #394276;border-radius:9px;background:#090d22}.model-stats small{color:#7d89bb;font:900 8px ui-monospace,monospace}.model-stats b{color:#edf0ff;font:900 12px ui-monospace,monospace}.model-stats i{display:block;height:7px;border:1px solid #44528b;border-radius:99px;overflow:hidden}.model-stats em{display:block;width:0;height:100%;background:#72e7ad;transition:.2s width}.model-main{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.model-main article{padding:13px;border:1px solid #3a4779;border-radius:12px;background:#080c1b}.model-main article>small,.model-main article>strong{display:block;color:#7e8fd0;font:900 9px ui-monospace,monospace;letter-spacing:.05em}.model-main article>strong{margin:14px 0 7px;color:#bcc7ff}.model-main article>p{color:#8994bb;font-size:11px;line-height:1.5}.model-prototypes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.model-prototypes button{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;min-height:66px;padding:8px;border:1px solid #414d81;border-radius:8px;background:#0c1128;color:#e8ebff;text-align:left}.model-prototypes button[data-active="true"]{border-color:#93a7ff;background:#161e4a}.model-prototypes b{font:900 12px ui-monospace,monospace}.model-mini-pixels{display:grid;grid-template-columns:repeat(5,6px);grid-template-rows:repeat(5,6px);gap:1px}.model-mini-pixels i{display:block;background:#12172b;border:1px solid #26315b}.model-mini-pixels i[data-on="true"]{background:#92a7ff;border-color:#a9b9ff}.model-weights{display:grid;grid-template-columns:repeat(5,28px);grid-template-rows:repeat(5,28px);gap:3px}.model-weights i{position:relative;display:grid;place-items:center;border:1px solid #2c3564;border-radius:3px;background:#101426;color:#eaf0ff;font:900 11px/1 ui-monospace,monospace;text-shadow:0 1px 2px #000}.model-weights i::after{content:"·"}.model-weights i[data-sign="positive"]::after{content:"+"}.model-weights i[data-sign="negative"]::after{content:"−"}.model-weights i[data-sign="positive"]{background:rgba(107,222,172,var(--weight));border-color:#5ecb9c}.model-weights i[data-sign="negative"]{background:rgba(230,92,103,var(--weight));border-color:#cf6871}.model-weights i[data-sign="zero"]{background:#101426}.model-confusion{display:grid;gap:7px;margin:8px 0}.model-confusion>div{display:grid;grid-template-columns:74px 60px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid #3c4675;border-radius:8px;background:#0b1024}.model-confusion>div[data-ok="true"]{border-color:#4f9d79}.model-confusion b{color:#fff;font:900 12px ui-monospace,monospace}.model-confusion span{color:#9bacff;font:900 11px ui-monospace,monospace}.model-confusion small{color:#7e88ad;font:800 9px ui-monospace,monospace}.model-main #modelMastery{display:block;margin-top:13px;color:#8cf0bb;font:900 10px ui-monospace,monospace}.model-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr;gap:8px}.model-controls button{min-height:54px;border:1px solid #4b578d;border-radius:8px;background:#111735;color:#dce3ff;font:900 10px ui-monospace,monospace}.model-controls #modelAugment[data-on="true"]{border-color:#5ed19a;background:#103426;color:#b6ffd3}.model-workbench[data-mastered="true"]{border-color:#62d99c}
@media(max-width:820px){.model-workbench{inset:66px 7px max(7px,env(safe-area-inset-bottom));width:auto;padding:14px}.model-main{grid-template-columns:1fr}.model-stats{grid-template-columns:1fr 1fr}.model-controls{grid-template-columns:1fr 1fr}.model-pack-tabs button,.model-controls button{min-height:58px}}
@media(max-width:430px){.model-pack-tabs,.model-stats,.model-controls{grid-template-columns:1fr}.model-prototypes{grid-template-columns:1fr}.model-weights{grid-template-columns:repeat(5,minmax(24px,1fr));grid-template-rows:repeat(5,30px)}.model-confusion>div{grid-template-columns:52px 48px 1fr}}

/* QueQuest 3.0 — deep AI labs, real-world bridge and SIMNET. All state uses text/shape as well as color. */
.neural-foundry,.retrieval-warehouse,.bot-forge,.automation-lab,.ai-factory-capstone{position:fixed;z-index:34;inset:72px 18px max(14px,env(safe-area-inset-bottom));width:min(1160px,calc(100% - 36px));margin:auto;overflow:auto;padding:20px;border:1px solid #52677d;border-radius:18px;background:radial-gradient(circle at 14% 0,#172534,#090d12 48%,#040608);box-shadow:0 26px 100px #000e;color:#eef7ff;touch-action:pan-y}.neural-foundry>header,.retrieval-warehouse>header,.bot-forge>header,.automation-lab>header,.ai-factory-capstone>header{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.neural-foundry h2,.retrieval-warehouse h2,.bot-forge h2,.automation-lab h2,.ai-factory-capstone h2{margin:5px 0 8px;font-size:clamp(26px,4vw,44px);line-height:1.02}.neural-foundry p,.retrieval-warehouse p,.bot-forge p,.automation-lab p,.ai-factory-capstone p{color:#aebfcd;line-height:1.5}.neural-foundry button,.retrieval-warehouse button,.bot-forge button,.automation-lab button,.ai-factory-capstone button{min-height:48px}

.neural-layout,.retrieval-layout,.forge-grid,.automation-lab-grid,.factory-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.45fr);gap:14px;margin-top:16px}.neural-layout>article,.retrieval-layout>article,.forge-grid>article,.automation-lab-grid>article,.factory-layout>article{padding:14px;border:1px solid #344c61;border-radius:13px;background:#071018}.neural-brief>small,.neural-machine>small,.retrieval-mission>small,.retrieval-space>small,.forge-grid article>small,.automation-lab-grid article>small,.factory-layout article>small{color:#77a9bf;font:900 9px ui-monospace,monospace;letter-spacing:.08em}.neural-brief>strong,.retrieval-mission>b,.forge-brief>b,.automation-lab-brief>b{display:block;margin:10px 0;color:#8ff0c6;font:900 13px ui-monospace,monospace}

.neural-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.neural-stats span{padding:9px;border:1px solid #35526d;border-radius:8px;background:#091722}.neural-stats small,.neural-stats b{display:block;font-family:ui-monospace,monospace}.neural-stats small{color:#718ea4;font-size:8px}.neural-stats b{margin-top:4px;color:#e8fbff}.neural-graph{position:relative;display:grid;grid-template-columns:auto auto 1fr auto auto;gap:10px;align-items:center;min-height:170px;margin:12px 0;padding:20px;border:1px solid #38566f;border-radius:12px;background:linear-gradient(90deg,#07141e,#0a1021)}.neural-inputs,.neural-hidden{display:grid;gap:8px}.neural-inputs i,.neural-hidden i,.neural-graph>strong{display:grid;place-items:center;width:42px;height:42px;border:1px solid #61758c;border-radius:50%;background:#101d2c;color:#fff;font:900 11px ui-monospace,monospace}.neural-hidden{grid-template-columns:1fr 1fr}.neural-hidden i[data-sign="positive"]{box-shadow:inset 0 0 0 calc(var(--activation)*10px) #51d89a55}.neural-hidden i[data-sign="negative"]{box-shadow:inset 0 0 0 calc(var(--activation)*10px) #ee6d7a55}.neural-backprop{position:absolute;right:12px;bottom:8px;color:#ff9da6;font:900 8px ui-monospace,monospace;letter-spacing:.08em}.neural-graph[data-hidden="false"] .neural-hidden{opacity:.18}.neural-samples{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.neural-samples button{display:grid;gap:4px;padding:8px;border:1px solid #374e63;border-radius:8px;background:#0a1520;color:#dff5ff}.neural-samples button[data-active="true"]{outline:2px solid #ffd36a}.neural-samples button[data-ok="true"]::after{content:'✓ PASS';color:#7aebb2;font:900 8px ui-monospace,monospace}.neural-samples button[data-ok="false"]::after{content:'× MISS';color:#ff8791;font:900 8px ui-monospace,monospace}.neural-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.neural-code{margin-top:12px;padding:12px;border:1px solid #4b6f80;border-radius:10px;background:#04090d}.neural-code pre{overflow:auto;white-space:pre}.neural-code code{font:12px/1.5 ui-monospace,monospace;color:#d6fff0}

.retrieval-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.retrieval-controls button{border:1px solid #405d71;border-radius:8px;background:#0b1924;color:#cfefff;font:900 9px ui-monospace,monospace}.retrieval-controls button[data-on="true"]{border-color:#73dbae;background:#0e2a20}.retrieval-checks,.automation-lab-checks{display:grid;gap:5px;margin:10px 0}.retrieval-checks span,.automation-lab-checks span{padding:7px 9px;border:1px solid #3e5265;border-radius:7px;color:#aab8c4;font:800 9px ui-monospace,monospace}.retrieval-checks span[data-ok="true"],.automation-lab-checks span[data-ok="true"]{border-color:#4a8d70;color:#9ff4c9}.retrieval-checks span[data-ok="false"],.automation-lab-checks span[data-ok="false"]{border-color:#8b4d55;color:#ffadb4}.automation-lab-checks span[data-optional="true"]{border-style:dashed}.retrieval-map{position:relative;min-height:330px;border:1px solid #344f63;border-radius:12px;background:radial-gradient(circle at 50% 45%,#17334a,#071019 65%);overflow:hidden}.retrieval-crate{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;min-width:98px;min-height:58px;padding:7px;border:1px solid #52778c;border-radius:8px;background:#0b1823;color:#e9f7ff;text-align:left}.retrieval-crate[data-selected="true"]{outline:2px solid #ffd76f}.retrieval-crate[data-untrusted="true"]{border-style:dashed}.retrieval-results{display:grid;gap:7px;margin-top:9px}.retrieval-results>div{padding:9px;border:1px solid #334c61;border-radius:8px;background:#09131c}.retrieval-results>div[data-untrusted="true"]::before{content:'UNTRUSTED DATA · ';color:#ff9b8e;font:900 8px ui-monospace,monospace}.retrieval-results b,.retrieval-results span,.retrieval-results small{font-family:ui-monospace,monospace}.retrieval-results span{float:right;color:#8ce1ff}.retrieval-results p{margin:5px 0;font-size:11px}

.forge-modules,.automation-lab-modules,.factory-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.forge-modules button,.automation-lab-modules button,.factory-modules button{display:grid;gap:3px;align-content:center;padding:8px;border:1px solid #3b5368;border-radius:8px;background:#0b1721;color:#d9efff;font:900 9px ui-monospace,monospace}.forge-modules button small,.automation-lab-modules button small,.factory-modules button small{color:#7892a4;font-size:8px}.forge-modules button[data-on="true"],.automation-lab-modules button[data-on="true"],.factory-modules button[data-on="true"]{border-color:#6fe0ad;background:#0d2b21;color:#baffdb}.forge-pipeline,.automation-lab-pipeline,.factory-pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:70px;margin:9px 0 12px;padding:10px;border:1px solid #39556a;border-radius:10px;background:#050b10;color:#738a9a;font:900 10px ui-monospace,monospace}.forge-pipeline span,.automation-lab-pipeline span,.factory-pipeline span{padding:7px;border:1px solid #5d7a8d;border-radius:6px;background:#102231;color:#dff5ff}.forge-strategies{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.forge-strategies>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:8px;border:1px solid #344d61;border-radius:8px;background:#09141d}.forge-strategies span,.forge-strategies b{font:900 9px ui-monospace,monospace}.forge-strategies i{grid-column:1/-1;height:5px;background:#172533;overflow:hidden}.forge-strategies i::after{content:'';display:block;height:100%;width:inherit;background:#74dcb0}.forge-eval,.factory-evals{display:grid;gap:6px;margin:10px 0}.forge-eval span,.factory-evals>div{padding:8px;border:1px solid #40546a;border-radius:7px;background:#08121a}.forge-eval span[data-ok="true"],.factory-evals>div[data-ok="true"]{border-color:#49896d}.forge-eval span[data-ok="false"],.factory-evals>div[data-ok="false"]{border-color:#884b54}.factory-evals b,.factory-evals small{display:block;font-family:ui-monospace,monospace}.factory-evals b{color:#dff5ff;font-size:9px}.factory-evals small{margin-top:3px;color:#8194a2;font-size:8px}.forge-artifact,.factory-skeleton pre,.automation-lab-code pre{max-height:330px;overflow:auto;padding:12px;border:1px solid #31495a;border-radius:9px;background:#020609;color:#cffff0;font:11px/1.5 ui-monospace,monospace;white-space:pre-wrap}.forge-feedback{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.automation-lab-cargo{display:grid;gap:7px;margin:12px 0}.automation-lab-cargo span{padding:9px;border:1px solid #445c6d;border-radius:7px;background:#0a151e;color:#d9eef7;font:800 10px ui-monospace,monospace}.automation-lab-trace{display:grid;gap:4px;max-height:180px;overflow:auto;margin:8px 0;padding:9px;border:1px solid #2e4556;border-radius:8px;background:#03080c}.automation-lab-trace code{color:#a9c6d4;font:9px/1.4 ui-monospace,monospace}.automation-lab-code{margin-top:13px;padding:12px;border:1px solid #4d7c69;border-radius:10px;background:#06100c}

.factory-top{display:grid;grid-template-columns:minmax(240px,420px) auto;justify-content:space-between;gap:14px;margin:14px 0}.factory-top>div{padding:10px;border:1px solid #42596e;border-radius:9px;background:#08131c}.factory-top small,.factory-top b,.factory-top strong{font-family:ui-monospace,monospace}.factory-top small{display:block;color:#7692a7;font-size:8px}.factory-top b{display:block;margin:4px 0;color:#e7f7ff}.factory-top i{display:block;height:8px;overflow:hidden;border:1px solid #354e62;border-radius:99px}.factory-top em{display:block;width:0;height:100%;background:#79e7b1}.ai-factory-capstone[data-over="true"] .factory-top em{background:#ff7c86}.factory-score{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.factory-score b{color:#8ff0c1;font:900 20px ui-monospace,monospace}.factory-score p{margin:0}.factory-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.factory-skeleton{margin-top:14px;padding:12px;border:1px solid #5b876f;border-radius:11px;background:#06110c}.factory-skeleton>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.factory-skeleton small{color:#75b692;font:900 8px ui-monospace,monospace}.factory-skeleton button{border:1px solid #4c8d6a;border-radius:8px;background:#0f2a1e;color:#caffdf;font:900 9px ui-monospace,monospace}

@media(max-width:820px){.neural-foundry,.retrieval-warehouse,.bot-forge,.automation-lab,.ai-factory-capstone{inset:64px 7px max(7px,env(safe-area-inset-bottom));width:auto;padding:14px}.neural-foundry>header,.retrieval-warehouse>header,.bot-forge>header,.automation-lab>header,.ai-factory-capstone>header,.neural-layout,.retrieval-layout,.forge-grid,.automation-lab-grid,.factory-layout{grid-template-columns:1fr}.forge-modules,.automation-lab-modules,.factory-modules{grid-template-columns:1fr 1fr}.neural-controls{grid-template-columns:1fr 1fr}.retrieval-map{min-height:280px}.factory-top{grid-template-columns:1fr}.factory-actions{grid-template-columns:1fr}.neural-foundry button,.retrieval-warehouse button,.bot-forge button,.automation-lab button,.ai-factory-capstone button,.forge-modules button,.automation-lab-modules button,.factory-modules button{min-height:58px}}
@media(max-width:430px){.forge-modules,.automation-lab-modules,.factory-modules,.retrieval-controls,.neural-stats,.neural-controls{grid-template-columns:1fr}.neural-samples{grid-template-columns:1fr 1fr}.neural-graph{grid-template-columns:auto auto 1fr auto auto;padding:12px}.retrieval-crate{min-width:82px}.factory-skeleton>div{display:grid}}

/* QueQuest 3.0 · SIMNET external-systems simulator */
.simnet-lab{position:fixed;inset:58px 24px 24px;z-index:36;overflow:auto;padding:20px;border:1px solid #52768a;border-radius:16px;background:radial-gradient(circle at 76% 8%,#16334a 0,#07131d 38%,#03080c 100%);box-shadow:0 24px 80px #000b;color:#dff6ff}.simnet-lab>header{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.simnet-lab>header h2{max-width:850px;margin:5px 0 7px;font-size:clamp(22px,4vw,42px);line-height:1}.simnet-lab>header p:not(.ending__eyebrow){max-width:850px;color:#91a9b8}.simnet-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.7fr);gap:12px;margin-top:15px}.simnet-grid article,.simnet-incidents,.simnet-code{padding:14px;border:1px solid #355469;border-radius:12px;background:#07121bdb}.simnet-brief>small,.simnet-work small,.simnet-incidents small,.simnet-code>small{color:#72b9d6;font:900 8px ui-monospace,monospace;letter-spacing:.1em}.simnet-brief h3{margin:8px 0;color:#eefaff;font-size:20px}.simnet-brief p{color:#a7bbc7;line-height:1.55}.simnet-brief>strong{display:block;margin-top:13px;color:#8cf2bd;font:900 12px ui-monospace,monospace}.simnet-event{margin-top:14px;padding:11px;border:1px dashed #8b6749;border-radius:9px;background:#1d130b}.simnet-event small,.simnet-event b{display:block}.simnet-event b{margin-top:5px;color:#ffd49b;font:800 10px/1.5 ui-monospace,monospace}.simnet-work>div:first-child{display:flex;justify-content:space-between}.simnet-route{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:66px;margin:8px 0 12px;padding:10px;border:1px solid #395d72;border-radius:10px;background:linear-gradient(90deg,#04090d,#081826)}.simnet-route span{padding:8px 10px;border:1px solid #6c91a5;border-radius:7px;background:#0e2432;color:#e4f8ff;font:900 9px ui-monospace,monospace}.simnet-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.simnet-modules button{display:grid;gap:3px;align-content:center;min-height:52px;padding:8px;border:1px solid #3b5768;border-radius:8px;background:#081721;color:#d8eff9;font:900 9px ui-monospace,monospace}.simnet-modules button small{color:#6f8fa0;font-size:8px}.simnet-modules button[data-on="true"]{border-color:#69dfae;background:#0b2b20;color:#b9ffda;box-shadow:inset 0 0 0 1px #69dfae55}.simnet-checks{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0}.simnet-checks span{padding:7px 9px;border:1px solid #3a5161;border-radius:7px;color:#9bacb7;font:800 8px ui-monospace,monospace}.simnet-checks span[data-ok="true"]{border-color:#46876a;color:#9bf0c5}.simnet-checks span[data-ok="false"]{border-color:#8b4b54;color:#ffadb4}.simnet-trace{display:grid;gap:3px;max-height:190px;overflow:auto;margin:8px 0;padding:10px;border:1px solid #284455;border-radius:8px;background:#010508}.simnet-trace code{color:#9fc7d8;font:9px/1.45 ui-monospace,monospace}.simnet-work>#simnetCommit{width:100%;min-height:48px;border:1px solid #508a6e;border-radius:8px;background:#0c291e;color:#caffdf;font:900 9px ui-monospace,monospace}.simnet-work>#simnetCommit:disabled{opacity:.4}.simnet-incidents{margin-top:13px;border-color:#725f3f;background:radial-gradient(circle at 90% 10%,#382314,#090b0d 52%)}.simnet-incident-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.simnet-incident-head h3{margin:4px 0 0}.simnet-incident-head>b{padding:8px 10px;border:1px solid #b77c54;border-radius:7px;color:#ffd09b;font:900 12px ui-monospace,monospace}.simnet-incidents>p{color:#d5c5b7}.simnet-incident-choice{margin:10px 0}.simnet-incident-choice>small{display:block;margin-bottom:6px}.simnet-incident-choice>div{display:flex;flex-wrap:wrap;gap:7px}.simnet-incident-choice button{min-height:44px;padding:7px 11px;border:1px solid #514f4b;border-radius:7px;background:#141313;color:#d8d0c8;font:900 9px ui-monospace,monospace}.simnet-incident-choice button[data-on="true"]{border-color:#e0b05f;background:#32240f;color:#fff0bd}.simnet-incidents[data-ok="true"]{border-color:#4a936d}.simnet-incident-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.simnet-code{margin-top:13px;border-color:#486e61;background:#06100c}.simnet-code pre{max-height:330px;overflow:auto;white-space:pre-wrap}.simnet-code code{color:#cffff0;font:11px/1.55 ui-monospace,monospace}
@media(max-width:920px){.simnet-lab{inset:62px 8px max(8px,env(safe-area-inset-bottom));padding:14px}.simnet-lab>header,.simnet-grid{grid-template-columns:1fr}.simnet-modules{grid-template-columns:1fr 1fr}.simnet-checks{grid-template-columns:1fr}.simnet-lab button{min-height:58px}}
@media(max-width:430px){.simnet-modules{grid-template-columns:1fr}.simnet-incident-choice>div{display:grid;grid-template-columns:1fr;width:100%}.simnet-incident-actions{grid-template-columns:1fr}}

/* QueQuest 4.0 · interest / novice layer */
.start-mode { width:100%; min-height:58px; margin-top:10px; padding:11px 14px; border:1px solid #64e9ff4d; border-radius:10px; background:#07141ee8; color:var(--bone); text-align:left; }
.start-mode b { display:block; font:900 11px/1.2 ui-monospace,monospace; letter-spacing:.08em; color:var(--cyan); }
.start-mode span { display:block; margin-top:5px; color:#a9bdca; font-size:12px; line-height:1.35; }
.start-mode[aria-pressed="true"] { border-color:#ffc85788; background:#1a1609e8; }
.start-mode[aria-pressed="true"] b { color:var(--sodium); }
.skill-recorder { position:absolute; z-index:5; left:50%; bottom:max(92px,calc(82px + env(safe-area-inset-bottom))); width:min(440px,calc(100% - 28px)); transform:translateX(-50%); padding:11px 14px; border:1px solid #64e9ff4d; border-radius:12px; background:#07131cee; box-shadow:0 18px 50px #0007; pointer-events:none; }
.skill-recorder>div:first-child { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.skill-recorder small { color:#8eabb9; font:8px/1.25 ui-monospace,monospace; letter-spacing:.08em; }
.skill-recorder b { white-space:nowrap; color:var(--cyan); font:900 10px/1 ui-monospace,monospace; }
.skill-recorder__cells { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin:9px 0 7px; }
.skill-recorder__cells i { height:6px; border:1px solid #ffffff24; border-radius:999px; background:#ffffff0a; }
.skill-recorder__cells i[data-filled="true"] { border-color:#64e9ff80; background:var(--cyan); box-shadow:0 0 14px #64e9ff55; }
.skill-recorder p { margin:0; color:#c7d7df; font:10px/1.35 ui-monospace,monospace; }
.skill-recorder[data-complete="true"] { border-color:#ffc85770; box-shadow:0 18px 50px #0007,0 0 34px #ffc8571d; }
.skill-recorder[data-complete="true"] b,.skill-recorder[data-complete="true"] p { color:var(--sodium); }
.adaptive-coach { position:absolute; z-index:7; left:50%; bottom:max(165px,calc(150px + env(safe-area-inset-bottom))); width:min(420px,calc(100% - 28px)); transform:translateX(-50%); padding:12px 14px; border:1px dashed #ffc85770; border-radius:11px; background:#161206f2; box-shadow:0 18px 55px #0009; pointer-events:none; }
.adaptive-coach small { color:#b89d62; font:8px/1.2 ui-monospace,monospace; letter-spacing:.08em; }
.adaptive-coach b { display:block; margin-top:4px; color:var(--sodium); font-size:13px; }
.adaptive-coach p { margin:5px 0 0; color:#e8ddc2; font-size:12px; line-height:1.4; }
.concept-bridge { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1.25fr) auto minmax(0,1fr); align-items:stretch; gap:7px; margin:16px 0 2px; }
.concept-bridge>span { min-width:0; padding:9px 10px; border:1px solid #ffffff18; background:#ffffff07; }
.concept-bridge>i { align-self:center; color:#637584; font-style:normal; }
.concept-bridge small { display:block; color:#738c9b; font:8px/1 ui-monospace,monospace; letter-spacing:.1em; }
.concept-bridge b { display:block; margin-top:5px; color:#e7eef2; font:800 10px/1.3 ui-monospace,monospace; overflow-wrap:anywhere; }
.concept-bridge>span:last-of-type { border-color:#64e9ff3d; }
.concept-bridge>span:last-of-type b { color:var(--cyan); }
.concept-bridge p { grid-column:1/-1; margin:0; padding:7px 9px; border-left:2px solid #ffc85770; color:#c2b999; font:10px/1.35 ui-monospace,monospace; }
.game[data-explain="compact"] .concept-bridge { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.game[data-explain="compact"] .concept-bridge__meaning { display:none; }
.game[data-explain="compact"] .concept-bridge p { display:none; }
.explain-toggle { font:900 17px/1 ui-monospace,monospace; }
.explain-toggle[aria-pressed="true"] { color:var(--sodium); border-color:#ffc85770; }
@media (max-width:760px) {
  .skill-recorder { bottom:max(84px,calc(76px + env(safe-area-inset-bottom))); padding:9px 11px; }
  .skill-recorder small { max-width:62%; }
  .adaptive-coach { bottom:max(158px,calc(146px + env(safe-area-inset-bottom))); }
  .concept-bridge { grid-template-columns:1fr; gap:5px; }
  .concept-bridge>i { display:none; }
  .concept-bridge p { grid-column:auto; }
  .game[data-explain="compact"] .concept-bridge { grid-template-columns:1fr 1fr; }
}
.sorter-bonus { width:100%; min-height:50px; margin:8px 0 0; border:1px solid #64e9ff55; border-radius:9px; background:#071821; color:var(--cyan); font:900 10px/1.2 ui-monospace,monospace; letter-spacing:.09em; }
.sorter-bay { position:absolute; z-index:14; inset:clamp(12px,3vw,38px); overflow-y:auto; touch-action:pan-y; padding:clamp(18px,3vw,30px); border:1px solid #64e9ff60; border-radius:16px; background:#071019f8; box-shadow:0 30px 110px #000d; color:var(--bone); }
.sorter-bay__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.sorter-bay__head h2 { margin:4px 0 8px; font-size:clamp(30px,5vw,58px); line-height:.9; }
.sorter-bay__head p:not(.ending__eyebrow) { max-width:760px; margin:0; color:#a9becb; line-height:1.45; }
.sorter-bay__meta { display:flex; justify-content:space-between; gap:12px; margin:20px 0 10px; color:#8fa8b7; font:10px/1.2 ui-monospace,monospace; letter-spacing:.08em; }
.sorter-bay__meta b { color:var(--cyan); }
.sorter-order { padding:14px 16px; border-left:4px solid var(--sodium); background:#15140d; }
.sorter-order small { display:block; color:#a99b72; font:8px ui-monospace,monospace; letter-spacing:.1em; }
.sorter-order strong { display:block; margin-top:5px; color:#fff0c0; font-size:clamp(17px,2vw,25px); }
.sorter-floor { display:grid; grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:stretch; margin-top:14px; }
.sorter-floor>section { min-width:0; padding:10px; border:1px solid #ffffff18; background:#ffffff05; }
.sorter-floor small { color:#728b9a; font:8px ui-monospace,monospace; letter-spacing:.1em; }
.sorter-arrow { align-self:center; color:var(--sodium); font-size:25px; }
.sorter-lane { display:flex; flex-wrap:wrap; gap:6px; min-height:102px; margin:8px 0 0; padding:0; list-style:none; }
.sorter-crate { width:74px; min-height:64px; padding:7px; border:2px solid #526171; background:#18212b; color:#e7eef2; font:8px/1.2 ui-monospace,monospace; }
.sorter-crate b { display:block; font-size:10px; }
.sorter-crate span { display:block; margin-top:5px; color:#a7bac4; }
.sorter-crate[data-color="red"] { border-color:#b96c70; }
.sorter-crate[data-color="blue"] { border-color:#6aa8cf; }
.sorter-crate[data-color="green"] { border-color:#73ae84; }
.sorter-crate[data-shape="circle"] { border-radius:18px; }
.sorter-crate[data-priority="high"] { box-shadow:inset 0 0 0 2px #ffc85755; }
.sorter-crate[data-correct="false"] { outline:3px solid #ff4d5a; outline-offset:2px; background:#291317; }
.sorter-lane--pass { background:linear-gradient(90deg,#64e9ff09,transparent); }
.sorter-lane--hold { background:linear-gradient(90deg,#ffc85708,transparent); }
.sorter-rules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.sorter-rules button { min-height:64px; padding:10px 12px; border:1px solid #ffffff25; border-radius:9px; background:#0d1620; color:var(--bone); text-align:left; }
.sorter-rules button strong { display:block; font-size:13px; }
.sorter-rules button small { display:block; margin-top:4px; color:#8195a2; }
.sorter-rules button[data-selected="true"] { border-color:#64e9ff90; box-shadow:inset 3px 0 0 var(--cyan); }
.sorter-status { min-height:48px; margin:10px 0 0; padding:10px 12px; border-left:3px solid #667784; background:#ffffff07; color:#b8c8d1; font:11px/1.4 ui-monospace,monospace; }
.sorter-status[data-state="success"] { border-left-color:#64e9ff; color:#cbf7ff; }
.sorter-status[data-state="error"] { border-left-color:#ff5b67; color:#ffb4ba; }
.sorter-code { margin:9px 0 0; padding:12px 14px; overflow:auto; border:1px solid #64e9ff45; background:#03080d; color:var(--cyan); font:12px/1.5 ui-monospace,monospace; }
.sorter-actions { display:flex; gap:8px; margin-top:12px; }
.sorter-actions button { flex:1; min-height:48px; border:1px solid #ffffff24; border-radius:8px; background:#111a24; color:#d9e2e7; font-weight:800; }
@media(max-width:760px){
  .sorter-bay { inset:8px; padding:14px; }
  .sorter-bay__head p:not(.ending__eyebrow){font-size:12px;}
  .sorter-floor { grid-template-columns:1fr 1fr; }
  .sorter-floor>section:first-child { grid-column:1/-1; }
  .sorter-arrow { display:none; }
  .sorter-rules { grid-template-columns:1fr; }
  .sorter-actions { flex-direction:column; }
  .sorter-rules button,.sorter-actions button { min-height:56px; }
}

/* QueQuest 5.0 · Factory Nexus persistent world */
.factory-nexus{position:absolute;z-index:16;inset:clamp(8px,2vw,24px);overflow:auto;touch-action:pan-y;padding:clamp(14px,2vw,24px);border:1px solid #7fe0c64f;border-radius:18px;background:linear-gradient(180deg,#071310fa,#050a0dfa);box-shadow:0 34px 120px #000e;color:var(--bone)}
.nexus-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.nexus-head h2{margin:3px 0 6px;font-size:clamp(34px,5.8vw,72px);line-height:.88;letter-spacing:-.035em}.nexus-head p:not(.ending__eyebrow){max-width:900px;margin:0;color:#abc5bd;line-height:1.45}.nexus-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.nexus-meta>span{padding:8px 10px;border:1px solid #ffffff1c;border-radius:8px;background:#ffffff06;color:#90a8a2;font:900 9px/1 ui-monospace,monospace;letter-spacing:.08em}.nexus-meta b{color:#85efd4}.nexus-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.5fr) minmax(260px,.9fr);gap:12px;align-items:start}.nexus-missions,.nexus-builder,.nexus-side>section{min-width:0;border:1px solid #ffffff18;border-radius:12px;background:#ffffff05}.nexus-missions{padding:12px}.nexus-missions>small,.nexus-side small,.nexus-python>small,.nexus-finale>small{color:#6f9c91;font:8px/1 ui-monospace,monospace;letter-spacing:.1em}.nexus-mission-tabs{display:grid;gap:6px;margin-top:9px}.nexus-mission-tabs button{min-height:44px;padding:8px 10px;border:1px solid #ffffff18;border-radius:7px;background:#0b1514;color:#b6c6c1;text-align:left;font:800 9px/1.25 ui-monospace,monospace}.nexus-mission-tabs button[data-active="true"]{border-color:#84efd17d;background:#0c211c;color:#e5fff6}.nexus-mission-tabs button[data-done="true"]{box-shadow:inset 3px 0 0 #82eecf}.nexus-missions article{margin-top:10px;padding:12px;border-left:3px solid #d1a85c;background:#16140c}.nexus-missions article small{color:#ab925d;font:8px ui-monospace,monospace;letter-spacing:.1em}.nexus-missions h3{margin:5px 0 8px;font-size:18px}.nexus-missions p{margin:0;color:#d6d0bd;font-size:12px;line-height:1.45}.nexus-missions em{display:block;margin-top:10px;color:#9e967d;font:10px/1.4 ui-monospace,monospace}.nexus-builder{padding:14px}.nexus-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:6px;align-items:center}.nexus-flow span{padding:10px 7px;border:1px solid #ffffff1c;border-radius:7px;background:#07120f;text-align:center;color:#cde5dd;font:900 9px ui-monospace,monospace}.nexus-flow i{color:#587b72;font-style:normal}.nexus-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.nexus-module-grid button{min-height:68px;padding:9px;border:1px solid #ffffff1c;border-radius:8px;background:#0a1314;color:#c1cec9;text-align:left}.nexus-module-grid button>b{float:right;color:#5f756f}.nexus-module-grid button strong{display:block;font:900 10px/1.2 ui-monospace,monospace}.nexus-module-grid button small{display:block;margin-top:5px;color:#708b83;font:7px/1.2 ui-monospace,monospace;letter-spacing:.06em}.nexus-module-grid button[data-on="true"]{border-color:#80eacf88;background:#0a211b;box-shadow:inset 0 -3px 0 #82eecf55}.nexus-module-grid button[data-kind="ai"]{border-style:dashed}.nexus-module-grid button[data-kind="agent"] strong{color:#d5c9ff}.nexus-module-grid button:disabled{opacity:.38}.nexus-result{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding:11px;border:1px solid #7e5b5b;border-radius:8px;background:#180d0d}.nexus-result b{margin-right:auto;color:#ffb4ae}.nexus-result span{padding:4px 7px;border:1px solid #ffffff14;border-radius:99px;color:#b7aaa8;font:800 8px ui-monospace,monospace}.nexus-result[data-ok="true"]{border-color:#4c9a7d;background:#081812}.nexus-result[data-ok="true"] b{color:#bfffe7}.nexus-trace{min-height:108px;max-height:190px;overflow:auto;margin:8px 0 0;padding:10px 12px;border:1px solid #ffffff13;background:#030706;color:#8cb8ab;white-space:pre-wrap;font:10px/1.45 ui-monospace,monospace}.nexus-status{min-height:48px;margin:8px 0 0;padding:10px;border-left:3px solid #d1a85c;background:#15130b;color:#d8d0b4;font:10px/1.4 ui-monospace,monospace}.nexus-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.nexus-actions button{flex:1 1 180px;min-height:48px;border:1px solid #ffffff22;border-radius:8px;background:#0b1514;color:#d2e3dd;font-weight:900}.nexus-python{margin-top:10px;padding:11px;border:1px solid #77dcbf55;background:#06100d}.nexus-python pre{margin:7px 0 0;max-height:250px;overflow:auto;white-space:pre-wrap}.nexus-python code{color:#bdffe8;font:10px/1.5 ui-monospace,monospace}.nexus-finale{margin-top:10px;padding:12px;border:1px solid #d1a85c55;background:#181409}.nexus-finale h3{margin:5px 0;color:#ffe5ae}.nexus-finale p{margin:0;color:#cbbf9f;line-height:1.45}.nexus-side{display:grid;gap:12px}.nexus-side>section{padding:12px}.nexus-companion{border-color:#8a7ed35a!important;background:linear-gradient(180deg,#100d1b,#0a0c12)!important}.nexus-companion h3{margin:5px 0 2px;color:#d8d0ff}.nexus-companion>b{display:block;color:#9d95c8;font:10px ui-monospace,monospace}.nexus-companion p{min-height:42px;color:#c7c3dc;font-size:12px;line-height:1.4}.nexus-companion>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.nexus-companion button{min-height:44px;border:1px solid #665a8c;border-radius:7px;background:#171225;color:#ddd6ff;font-weight:800}.nexus-companion em{display:block;margin-top:8px;color:#7f7896;font:9px/1.4 ui-monospace,monospace}.nexus-companion[data-state="good"]{box-shadow:inset 3px 0 0 #85efd0}.nexus-companion[data-state="drift"]{box-shadow:inset 3px 0 0 #e2a45f}.nexus-research-grid{display:grid;gap:6px;margin-top:8px;max-height:560px;overflow:auto}.nexus-research-grid button{min-height:58px;padding:8px 9px;border:1px solid #ffffff17;border-radius:7px;background:#0a1211;color:#c7d4d0;text-align:left}.nexus-research-grid button strong{display:block;font:900 9px ui-monospace,monospace}.nexus-research-grid button small{display:block;margin-top:4px;color:#728781;font-size:9px;line-height:1.3}.nexus-research-grid button i{display:block;margin-top:5px;color:#b99550;font:800 7px ui-monospace,monospace}.nexus-research-grid button[data-learned="true"]{border-color:#75d9bd55;background:#0b1b17}.nexus-research-grid button[data-learned="true"] i{color:#7ce9ca}.nexus-research-grid button:disabled{opacity:.43}.campus-branches [data-campus-branch="nexus"]{border-color:#7be0c84f;background:linear-gradient(90deg,#0a1b17,#0b1113)}
@media(max-width:1040px){.nexus-layout{grid-template-columns:1fr 1.4fr}.nexus-side{grid-column:1/-1;grid-template-columns:1fr 1fr}.nexus-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.factory-nexus{inset:7px;padding:12px}.nexus-head{display:grid;grid-template-columns:1fr auto}.nexus-head p:not(.ending__eyebrow){grid-column:1/-1;font-size:12px}.nexus-layout{grid-template-columns:1fr}.nexus-side{grid-column:auto;grid-template-columns:1fr}.nexus-module-grid{grid-template-columns:1fr 1fr}.nexus-flow{grid-template-columns:1fr 1fr}.nexus-flow i{display:none}.nexus-mission-tabs button,.nexus-module-grid button,.nexus-research-grid button,.nexus-companion button,.nexus-actions button{min-height:56px}}
@media(max-width:390px){.nexus-module-grid{grid-template-columns:1fr}.nexus-meta{display:grid;grid-template-columns:1fr}.nexus-flow{grid-template-columns:1fr}}

.game[data-explain="compact"] .nexus-missions article>em{display:none}
.nexus-builds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.nexus-builds button{min-height:48px;border:1px solid #d1a85c42;border-radius:7px;background:#11100a;color:#ead8a7;font:900 9px ui-monospace,monospace}.nexus-builds button[data-done="true"]{border-color:#7ce8c5;background:#0a1b15;color:#bfffe8}.nexus-build-status{padding:8px 10px;border-left:2px solid #7ce8c5;background:#07110d;color:#a9c9bc!important;font:9px/1.4 ui-monospace,monospace}@media(max-width:520px){.nexus-builds{grid-template-columns:1fr}.nexus-builds button{min-height:56px}}

/* QueQuest 6.0 — Factory Nexus game-feel pass */
.nexus-physical-line{margin-top:12px;padding:12px;border:1px solid #ffffff16;border-radius:10px;background:linear-gradient(180deg,#07100f,#040807);overflow:hidden}
.nexus-plant{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:6px}
.nexus-plant>span{min-width:0;padding:8px;border:1px solid #ffffff17;border-radius:7px;background:#0a1513;text-align:center}.nexus-plant small{display:block;color:#637d76;font:700 7px/1 ui-monospace,monospace;letter-spacing:.11em}.nexus-plant b{display:block;margin-top:4px;color:#cfe5df;font:900 9px/1.2 ui-monospace,monospace}.nexus-plant>i{color:#55786f;font-style:normal}
.nexus-crates{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:10px;padding:8px;border-radius:7px;background:repeating-linear-gradient(90deg,#0b1211 0 22px,#0f1917 22px 44px);border:1px solid #ffffff12;overflow:hidden}
.nexus-crates::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:#54796e55}
.nexus-crate{position:relative;z-index:1;display:grid;place-items:center;min-height:34px;border:1px solid #9db7af3d;border-radius:5px;background:#17211e;color:#d9e9e4;font:900 10px/1 ui-monospace,monospace;box-shadow:inset 0 -3px 0 #0005;transition:transform .24s ease,opacity .24s ease,background .24s ease}
.nexus-crate[data-status="drop"]{transform:translateY(8px) rotate(8deg);opacity:.62;border-style:dashed;background:#261313;color:#ffb0a7}.nexus-crate[data-status="duplicate"]{background:repeating-linear-gradient(135deg,#241d0f 0 5px,#3a2c14 5px 10px);color:#ffe0a0;border-color:#d8a95277}.nexus-crate[data-status="unsafe"]{background:#2b1320;color:#ffc3db;border-color:#dd6b9d88;box-shadow:inset 0 0 0 2px #dd6b9d33}.nexus-crate[data-status="miss"]{background:#17213a;color:#bdcaff;border-color:#788bd988}
.nexus-physical-line[data-danger="true"]{border-color:#cf765f66}.nexus-physical-line>p{margin:8px 0 0;color:#78968d;font:800 8px/1.35 ui-monospace,monospace;letter-spacing:.05em}
@media (prefers-reduced-motion:no-preference){.nexus-physical-line[data-danger="false"] .nexus-crate{animation:nexus-crate-pulse .42s ease both}.nexus-physical-line[data-danger="true"] .nexus-crate[data-status="drop"],.nexus-physical-line[data-danger="true"] .nexus-crate[data-status="unsafe"]{animation:nexus-crate-fail .36s ease both}@keyframes nexus-crate-pulse{0%{transform:translateX(-5px);opacity:.7}100%{transform:none;opacity:1}}@keyframes nexus-crate-fail{0%{transform:none}55%{transform:translateY(3px) rotate(-4deg)}100%{transform:translateY(8px) rotate(8deg)}}}
.nexus-remix-copy{margin:7px 0 0;padding:9px 11px;border-left:3px solid #d5ab58;background:#181307;color:#e1c98f;font:900 9px/1.45 ui-monospace,monospace}.nexus-actions #nexusRemixToggle[data-active="true"]{border-color:#d9ad58;background:#251b08;color:#ffe4a5}.nexus-actions #nexusRemixToggle[data-done="true"]{border-color:#72d7b9;background:#0c1b16;color:#bfffe9}
.nexus-companion h3#nexusCompanionHumanState{font-size:18px;letter-spacing:.01em}.nexus-memory-rack{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:8px 0 10px}.nexus-memory-rack span{min-width:0;min-height:45px;padding:6px 4px;border:1px dashed #ffffff18;border-radius:7px;background:#0d0c13;display:grid;place-items:center;text-align:center;opacity:.45}.nexus-memory-rack span[data-learned="true"]{opacity:1;border-style:solid;border-color:#776ca45c;background:#171226}.nexus-memory-rack b{font-size:15px;color:#bcb4eb}.nexus-memory-rack small{margin-top:3px;color:#77718d;font:700 6px/1.15 ui-monospace,monospace;letter-spacing:.04em}.nexus-memory-rack span[data-learned="true"] small{color:#aca4c5}.nexus-feedback{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.nexus-metrics-toggle{width:100%;margin-top:6px;min-height:40px!important;border-style:dashed!important;color:#9f97c6!important;font:800 8px ui-monospace,monospace!important}.nexus-companion-metrics{margin-top:7px;padding:8px;border:1px solid #ffffff12;border-radius:6px;background:#07060a}.nexus-companion-metrics b,.nexus-companion-metrics span{display:block;color:#9f97c6;font:800 8px/1.35 ui-monospace,monospace}.nexus-companion-metrics span{margin-top:3px;color:#77718e}
.game[data-explain="compact"] .nexus-metrics-toggle{display:none}.game[data-explain="compact"] .nexus-companion-metrics{display:block!important}
@media(max-width:720px){.nexus-plant{grid-template-columns:1fr 1fr}.nexus-plant>i{display:none}.nexus-crates{grid-template-columns:repeat(4,minmax(0,1fr))}.nexus-crate{min-height:42px}.nexus-memory-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nexus-metrics-toggle{min-height:48px!important}}
@media(max-width:390px){.nexus-crates{grid-template-columns:repeat(2,minmax(0,1fr))}.nexus-memory-rack{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* QueQuest 7.0 — OPS DESK / investigation workstation */
.ops-desk{position:absolute;z-index:16;inset:clamp(8px,2.2vw,28px);overflow:auto;touch-action:pan-y;padding:clamp(14px,2.5vw,26px);border:1px solid #72c9ff4a;border-radius:16px;background:linear-gradient(180deg,#07111af8,#04080df8);color:var(--bone);box-shadow:0 32px 120px #000d}
.ops-desk__head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.ops-desk__head h2{margin:3px 0 7px;font-size:clamp(34px,6vw,72px);line-height:.84;letter-spacing:-.04em}.ops-desk__head p:not(.ending__eyebrow){max-width:880px;margin:0;color:#a8bac8;line-height:1.45}
.ops-desk__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 10px;color:#7892a4;font:800 9px/1.3 ui-monospace,monospace;letter-spacing:.07em}.ops-desk__meta span{padding:7px 9px;border:1px solid #ffffff14;border-radius:7px;background:#071018}
.ops-desktop{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(250px,.56fr);gap:10px;min-height:560px}
.ops-launcher{display:grid;align-content:start;gap:7px;padding:8px;border:1px solid #ffffff17;border-radius:10px;background:#071018}.ops-launcher button{min-height:72px;padding:7px 5px;border:1px solid transparent;border-radius:8px;background:#0a151e;color:#91a9ba}.ops-launcher button b{display:block;font:900 22px/1 ui-monospace,monospace;color:#c8d8e2}.ops-launcher button span{display:block;margin-top:6px;font:800 7px/1.15 ui-monospace,monospace;letter-spacing:.06em}.ops-launcher button[data-on="true"]{border-color:#6fc8ff70;background:#102536;color:#e7f7ff;box-shadow:inset 3px 0 0 #72c9ff}.ops-launcher button:focus-visible{outline:2px solid #ccefff;outline-offset:2px}
.ops-window{min-width:0;border:1px solid #ffffff1b;border-radius:10px;background:#0a1118;overflow:hidden}.ops-window__bar{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid #ffffff14;background:#101b25;color:#718694;font:800 8px/1 ui-monospace,monospace;letter-spacing:.08em}.ops-window__bar>b{text-align:center;color:#c1d5e1}.ops-panel{padding:clamp(14px,2vw,22px)}.ops-panel>small,.ops-hypothesis>small,.ops-incidents small{color:#6f8fa3;font:800 8px/1.25 ui-monospace,monospace;letter-spacing:.09em}.ops-panel h3{margin:5px 0 10px;font-size:clamp(22px,3vw,34px)}.ops-panel p{color:#a7b7c1;line-height:1.48}.ops-caller{font:800 9px/1.3 ui-monospace,monospace;letter-spacing:.04em}.ops-caller b{color:#d2e9f7}
.ops-dispatch__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.ops-dispatch__actions button,.ops-choice-grid button,.ops-incident-actions button{min-height:50px;padding:9px;border:1px solid #ffffff1d;border-radius:8px;background:#0e1a23;color:#d3e1e9;font-weight:850;text-align:left}.ops-dispatch__actions button:hover{border-color:#65c5ff66}.ops-qbot{margin-top:14px;padding:12px;border-left:3px solid #8b81d4;background:#100d1b}.ops-qbot small{color:#9288be;font:800 7px ui-monospace,monospace}.ops-qbot p{margin:7px 0 0;color:#c9c4e1}
.ops-evidence{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ops-evidence article{min-height:110px;padding:11px;border:1px dashed #ffffff18;border-radius:8px;background:#080f15;opacity:.48}.ops-evidence article[data-found="true"]{opacity:1;border-style:solid;border-color:#68c7ff4d;background:#0b1821}.ops-evidence small{color:#78a2ba;font:800 7px ui-monospace,monospace}.ops-evidence p{margin:6px 0 0;color:#bdd0da;font-size:12px;line-height:1.42}
.ops-graph{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;min-height:180px;margin-top:12px;padding:18px;border:1px solid #ffffff13;border-radius:9px;background:repeating-linear-gradient(0deg,#071018 0 24px,#08131c 24px 25px)}.ops-node{min-width:88px;padding:10px 8px;border:1px solid #536674;border-radius:8px;background:#111b23;text-align:center}.ops-node small{display:block;color:#627783;font:700 7px ui-monospace,monospace}.ops-node b{display:block;margin-top:4px;color:#d7e3e9;font:900 9px/1.2 ui-monospace,monospace}.ops-node[data-status="warn"]{border-style:dashed;border-color:#c99d5f}.ops-node[data-status="danger"]{border-color:#d26c75;box-shadow:inset 0 -3px 0 #d26c7555}.ops-node[data-status="ok"]{border-color:#6eaa98}.ops-graph i{color:#526979;font-style:normal;font-size:18px}
.ops-terminal__screen{min-height:135px;margin:10px 0;padding:12px;border:1px solid #ffffff15;background:#020608;color:#94c5a9;font:11px/1.5 ui-monospace,monospace;white-space:pre-wrap}.ops-terminal label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.ops-terminal label>span{color:#77d5a6;font:900 13px ui-monospace,monospace}.ops-terminal input{min-width:0;height:48px;padding:0 12px;border:1px solid #ffffff20;border-radius:7px;background:#07110c;color:#d5f7e2;font:16px ui-monospace,monospace}.ops-terminal label button{height:48px;padding:0 14px;border:1px solid #75d5a566;border-radius:7px;background:#0d2217;color:#baf0d0;font-weight:900}.ops-command-hints{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ops-command-hints button{min-height:36px;padding:7px 9px;border:1px solid #ffffff16;border-radius:6px;background:#091018;color:#8498a6;font:800 8px ui-monospace,monospace}
.ops-hypothesis{min-width:0;padding:13px;border:1px solid #ffffff17;border-radius:10px;background:#091017}.ops-hypothesis h3{margin:4px 0 8px;color:#d4e0e7;font-size:15px}.ops-choice-grid{display:grid;gap:6px;margin-bottom:13px}.ops-choice-grid button{min-height:46px;font:800 9px/1.35 ui-monospace,monospace}.ops-choice-grid button[data-on="true"]{border-color:#6bc8ff80;background:#102534;box-shadow:inset 3px 0 0 #72c9ff}.ops-hypothesis>p{min-height:68px;margin:8px 0;padding:9px 10px;border-left:3px solid #657787;background:#0e151b;color:#9eb0bb;font:10px/1.45 ui-monospace,monospace}.ops-hypothesis[data-ok="true"]>p{border-left-color:#69d2ad;color:#c8f3e4}.ops-case-closed{padding:8px;border:1px solid #69d2ad55;border-radius:7px;background:#091b15;color:#baf3dd;font:850 8px/1.3 ui-monospace,monospace}.ops-case-nav{display:flex;gap:6px;margin-top:8px}.ops-case-nav button{flex:1;min-height:42px;border:1px solid #ffffff18;border-radius:7px;background:#0b151d;color:#aebfc9;font:800 8px ui-monospace,monospace}
.ops-incidents{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-top:12px;padding:14px;border:1px solid #9b7bdc40;border-radius:10px;background:#0e0b17}.ops-incidents h3{margin:5px 0;color:#ded4ff}.ops-incidents p{color:#a8a1ba;line-height:1.45}.ops-incidents em{color:#8b82a0;font:800 8px ui-monospace,monospace}.ops-incidents em b{color:#d8d0ff}.ops-incidents>p{grid-column:1/-1;margin:0;padding:9px;border-left:3px solid #8674b6;background:#120f1d;font:9px/1.4 ui-monospace,monospace}.ops-incidents[data-ok="true"]>p{border-left-color:#68d1ad;color:#c5f4e2}.ops-incident-actions{grid-column:1/-1;display:flex;gap:8px}.ops-incident-actions button{flex:1;text-align:center}.campus-branches [data-campus-branch="desk"]{border-color:#6ebee54d;background:linear-gradient(90deg,#0a1720,#0b1115)}
.game[data-explain="compact"] .ops-qbot{display:none}.game[data-explain="compact"] .ops-dispatch__actions{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.ops-desktop{grid-template-columns:78px minmax(0,1fr)}.ops-hypothesis{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ops-hypothesis>small,.ops-hypothesis>h3,.ops-hypothesis>p,.ops-hypothesis>.ops-case-closed,.ops-hypothesis>.ops-case-nav{grid-column:1/-1}.ops-incidents{grid-template-columns:1fr 1fr}.ops-incidents>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.ops-desk{inset:6px;padding:11px}.ops-desk__head p:not(.ending__eyebrow){font-size:12px}.ops-desktop{grid-template-columns:1fr;min-height:0}.ops-launcher{grid-template-columns:repeat(4,1fr);position:sticky;top:0;z-index:2}.ops-launcher button{min-height:58px}.ops-launcher button b{font-size:18px}.ops-window{min-height:420px}.ops-hypothesis{grid-template-columns:1fr}.ops-dispatch__actions,.ops-evidence{grid-template-columns:1fr}.ops-incidents{grid-template-columns:1fr}.ops-incidents>div:first-child{grid-column:auto}.ops-choice-grid button,.ops-dispatch__actions button,.ops-incident-actions button{min-height:56px}.ops-incident-actions{flex-direction:column}.ops-terminal label{grid-template-columns:auto 1fr}.ops-terminal label button{grid-column:1/-1}.game[data-explain="compact"] .ops-dispatch__actions{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.ops-launcher{grid-template-columns:1fr 1fr}.ops-graph{justify-content:flex-start}.ops-node{min-width:100px}.ops-desk__meta{display:grid;grid-template-columns:1fr}}

/* QUEQUEST 8.0 · WORLD GRID */
.world-grid{position:absolute;inset:0;z-index:88;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 62% 20%,rgba(53,104,116,.22),transparent 34%),linear-gradient(180deg,rgba(7,12,19,.985),rgba(5,8,13,.995));color:#eef7f5}
.world-grid[hidden]{display:none!important}.world-head{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;max-width:1480px;margin:0 auto 18px}.world-head h2{margin:.1em 0;font-size:clamp(34px,6vw,78px);letter-spacing:-.045em}.world-head p{max-width:860px;color:#a9c3c0;line-height:1.55}.world-meta{max-width:1480px;margin:0 auto 18px;display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(120px,.7fr)) auto;gap:8px;align-items:stretch}.world-meta>span,.world-meta>div,.world-meta>button{border:1px solid rgba(152,205,196,.18);background:rgba(14,26,32,.72);min-height:60px;border-radius:12px;padding:10px 12px}.world-meta>span{display:flex;align-items:center;font:700 12px/1.2 var(--mono,monospace);letter-spacing:.08em}.world-meta>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px}.world-meta small{font-size:10px;color:#7fa19d;letter-spacing:.08em}.world-meta b{font:800 13px/1 var(--mono,monospace)}.world-meta i{grid-column:1/-1;display:block;height:4px;background:#12262b;border-radius:4px;overflow:hidden}.world-meta em{display:block;height:100%;width:65%;background:linear-gradient(90deg,#80b7a8,#d5c480)}
.world-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(430px,1.65fr) minmax(260px,.9fr);gap:12px;align-items:start}.world-dispatch,.world-control,.world-map-zone{min-width:0}.world-dispatch>section,.world-qbot,.world-node-detail,.world-control{border:1px solid rgba(142,193,185,.16);background:rgba(9,19,25,.78);border-radius:16px;padding:16px}.world-dispatch strong{display:block;color:#d8c77b;margin:7px 0}.world-dispatch h3,.world-control h3,.world-node-detail h3{margin:.25em 0 .55em;font-size:clamp(18px,2vw,27px)}.world-dispatch p,.world-control p,.world-node-detail p{color:#aec5c1;line-height:1.5}.world-messages{display:grid;gap:8px;margin-top:12px}.world-messages p{margin:0;padding:10px 12px;border-left:2px solid #638f88;background:rgba(94,142,135,.08);font-size:13px}.world-qbot{margin-top:10px}.world-qbot b{display:inline-block;border:1px solid rgba(213,196,128,.32);border-radius:999px;padding:4px 8px;font-size:10px}.world-qbot p{margin-bottom:0}
.world-map-zone{border:1px solid rgba(142,193,185,.18);background:linear-gradient(180deg,rgba(7,16,22,.82),rgba(9,25,30,.64));border-radius:18px;padding:12px}.world-map-caption{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center;margin:3px 0 12px;font:800 10px/1 var(--mono,monospace);letter-spacing:.09em;color:#7ea5a0}.world-map-caption i{color:#d9c777}.world-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}.world-map button{appearance:none;min-width:0;min-height:112px;padding:12px 8px;border:1px solid rgba(116,160,154,.2);border-radius:13px;background:rgba(12,29,34,.75);color:#e8f5f2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:5px;cursor:pointer;transition:border-color .16s,transform .16s,background .16s}.world-map button>b{font-size:24px;line-height:1;color:#9fc6bd}.world-map button strong{font-size:12px}.world-map button small{color:#789e99;font-size:10px;line-height:1.3}.world-map button i{margin-top:auto;font:800 9px/1 var(--mono,monospace);letter-spacing:.08em;color:#66817d}.world-map button[data-alert="true"]{border-color:#d5a766;background:rgba(85,49,27,.32);animation:worldPulse 1.55s ease-in-out infinite}.world-map button[data-alert="true"] i{color:#f0bd78}.world-map button[data-seen="true"]{box-shadow:inset 0 0 0 1px rgba(135,206,190,.18)}.world-map button:focus-visible{outline:2px solid #d5c480;outline-offset:2px}@keyframes worldPulse{50%{border-color:#f1d698;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.world-map button[data-alert="true"]{animation:none}}
.world-node-detail{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:4px 12px}.world-node-detail small,.world-node-detail h3,.world-node-detail p{grid-column:1/-1}.world-node-detail em{color:#85aaa4;font-size:12px}.world-node-detail code{color:#d8c77b;font-size:11px;text-align:right}.world-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.world-actions button{min-height:70px;border:1px solid rgba(133,177,170,.18);border-radius:11px;background:#0c1b22;color:#e8f3f1;padding:9px;text-align:left;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;gap:2px 5px}.world-actions button>b{grid-row:1/3;font-size:18px;color:#8eb7ad}.world-actions button strong{font-size:10px;line-height:1.25}.world-actions button small{font-size:9px;color:#698d88}.world-actions button[data-on="true"]{border-color:#d8c77b;background:rgba(104,92,44,.23);box-shadow:inset 0 0 0 1px rgba(216,199,123,.18)}#worldPlan{min-height:45px;font-size:12px;border-top:1px solid rgba(142,193,185,.12);padding-top:10px}#worldDeploy{width:100%;min-height:54px}.world-control>#worldStatus{min-height:62px;padding:10px;border-radius:10px;background:rgba(0,0,0,.18);font-size:12px}.world-control>#worldNext,#worldShiftOpen{min-height:46px}.world-code{margin-top:12px;border-top:1px solid rgba(213,196,128,.2);padding-top:12px}.world-code>b{display:block;margin:6px 0;color:#decf89}.world-code pre{max-height:220px;overflow:auto;background:#071117;border-radius:10px;padding:10px;font-size:10px;white-space:pre-wrap}.world-grid[data-ok="false"] #worldStatus{border-left:2px solid #9f654f}.world-grid[data-ok="true"] #worldStatus{border-left:2px solid #76b69f}
@media(max-width:1050px){.world-layout{grid-template-columns:1fr 1.5fr}.world-control{grid-column:1/-1}.world-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.world-grid{padding:14px}.world-head{align-items:center}.world-head h2{font-size:38px}.world-head p{font-size:13px}.world-meta{grid-template-columns:1fr 1fr}.world-meta>span,.world-meta>button{grid-column:1/-1}.world-layout{grid-template-columns:1fr}.world-map-zone,.world-control{grid-column:auto}.world-map{grid-template-columns:repeat(2,minmax(0,1fr))}.world-map button{min-height:104px}.world-actions{grid-template-columns:1fr}.world-actions button,#worldDeploy,#worldNext,#worldShiftOpen{min-height:54px}.world-node-detail{grid-template-columns:1fr}.world-node-detail code{text-align:left}}


/* QUEQUEST 9.0 · DISCOVERY → MASTERY → DIRECT CODE */
.world-meta{grid-template-columns:minmax(170px,1.3fr) minmax(180px,1fr) minmax(170px,1fr) repeat(3,minmax(110px,.65fr)) auto}
#worldMode,#worldMastery{font-size:10px;line-height:1.35;color:#b7d7d1}
.world-direct-open{width:100%;min-height:50px;margin-top:8px;border:1px solid rgba(216,199,123,.42);border-radius:10px;background:rgba(106,90,37,.18);color:#ead98f;font:800 11px/1.2 var(--mono,monospace);letter-spacing:.06em}
.world-direct{margin-top:10px;padding:11px;border:1px solid rgba(126,187,176,.22);border-radius:12px;background:rgba(5,17,22,.72)}
.world-direct>small{color:#7ea9a1;font:700 9px/1.2 var(--mono,monospace);letter-spacing:.08em}.world-direct h3{margin:5px 0 4px;font-size:16px}.world-direct p{font-size:11px;line-height:1.45;color:#9ebbb6}.world-direct .code-editor{margin:8px 0}.world-direct textarea{min-height:150px;font-size:12px}.world-direct .run-code{width:100%;min-height:48px}
@media(max-width:980px){.world-meta{grid-template-columns:1fr 1fr 1fr}.world-meta>span:nth-child(-n+3){grid-column:auto}.world-meta>button{grid-column:1/-1}}
@media(max-width:760px){.world-meta{grid-template-columns:1fr 1fr}.world-meta>span:nth-child(-n+3){grid-column:1/-1}.world-direct-open,.world-direct .run-code{min-height:54px}.world-direct textarea{font-size:16px;min-height:180px}}

#worldBlackBoxOpen{border-color:rgba(222,207,137,.34);color:#e4d596;background:rgba(94,76,31,.16)}

/* QueQuest 10.0 · AUTOMATION COMMONS */
.automation-commons{position:absolute;inset:0;z-index:89;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 20% 12%,rgba(91,76,128,.24),transparent 34%),radial-gradient(circle at 78% 20%,rgba(48,113,102,.18),transparent 30%),linear-gradient(180deg,rgba(8,10,17,.99),rgba(5,8,12,.995));color:#eef7f5}.automation-commons[hidden]{display:none!important}.commons-head{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;max-width:1480px;margin:0 auto 18px}.commons-head h2{margin:.08em 0;font-size:clamp(36px,6.2vw,80px);letter-spacing:-.055em}.commons-head p{max-width:900px;color:#b8c4d4;line-height:1.55}.commons-meta{max-width:1480px;margin:0 auto 16px;display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(110px,.5fr)) auto auto;gap:8px}.commons-meta>*{min-height:58px;border:1px solid rgba(183,170,223,.16);border-radius:11px;background:rgba(15,17,28,.8);padding:9px 11px;color:#dfe9f3}.commons-meta>span{display:flex;align-items:center;font:800 11px/1.3 ui-monospace,monospace;letter-spacing:.08em}.commons-meta>div{display:grid;gap:2px}.commons-meta small{color:#80799a;font:8px ui-monospace,monospace;letter-spacing:.08em}.commons-meta b{font:900 17px ui-monospace,monospace}.commons-meta button{font:900 9px/1.25 ui-monospace,monospace}.commons-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(520px,1.72fr);gap:14px}.commons-briefing,.commons-workbench{min-width:0}.commons-briefing>section,.commons-workbench{border:1px solid rgba(179,164,218,.17);border-radius:13px;background:rgba(13,16,24,.84)}.commons-briefing>section{padding:14px;margin-bottom:12px}.commons-briefing small,.commons-code-panel>small,.commons-python>small{color:#9288b9;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.commons-briefing h3,.commons-code-panel h3{margin:6px 0 8px;font-size:21px}.commons-briefing p,.commons-code-panel p{color:#bec5d1;line-height:1.5}.commons-briefing em{display:block;margin-top:9px;color:#817d8e;font:9px/1.45 ui-monospace,monospace}.commons-briefing button{width:100%;min-height:48px;margin-top:9px}.commons-library{display:grid;gap:6px;margin-top:9px;max-height:330px;overflow:auto}.commons-library>em{color:#6f7180;font-size:11px;line-height:1.4}.commons-library>button{display:grid;grid-template-columns:26px 1fr;gap:6px;align-items:start;padding:8px;border:1px solid #ffffff10;border-radius:7px;background:#0a0d14;color:inherit;text-align:left;min-height:48px}.commons-library>button>b{color:#aa9ed6;font-size:16px}.commons-library span{min-width:0;color:#dddff0;font:800 9px ui-monospace,monospace}.commons-library small{display:block;margin-top:3px;color:#74798a;font-size:7px;word-break:break-word}.commons-workbench{padding:14px}.commons-machine{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:6px;align-items:center}.commons-machine span{min-height:42px;display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid rgba(127,193,178,.16);border-radius:8px;background:#081513;color:#d7efe8;font:900 9px ui-monospace,monospace;text-align:center}.commons-machine i{color:#668c83;font-style:normal}.commons-rules{display:grid;gap:8px;margin-top:12px}.commons-rule{display:grid;grid-template-columns:70px minmax(0,1.2fr) minmax(0,1.15fr) minmax(0,.9fr);gap:7px;align-items:center;padding:8px;border:1px solid #ffffff12;border-radius:9px;background:#090c12}.commons-rule>b{color:#a89ed0;font:900 9px ui-monospace,monospace}.commons-rule select{min-width:0;min-height:44px;border:1px solid #ffffff1a;border-radius:7px;background:#111622;color:#e5e7f1;padding:7px;font-size:10px}.commons-rule[data-active="false"]{opacity:.32}.commons-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.commons-actions button{flex:1 1 180px;min-height:50px}.commons-event-tape{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin-top:13px}.commons-event-tape>div{position:relative;min-height:72px;padding:10px 29px 9px 9px;border:1px solid #ffffff12;border-radius:9px;background:#080d13}.commons-event-tape b{display:block;color:#dfe7ee;font-size:11px;line-height:1.3}.commons-event-tape small{display:block;margin-top:5px;color:#697f82;font:7px/1.3 ui-monospace,monospace;letter-spacing:.04em}.commons-event-tape span{position:absolute;right:9px;top:50%;translate:0 -50%;font:900 18px ui-monospace,monospace;color:#697078}.commons-event-tape>div[data-ok="true"]{border-color:#6cd0ad5e;background:#081712}.commons-event-tape>div[data-ok="true"] span{color:#8cebc9}.commons-event-tape>div[data-ok="false"]{border-color:#b96d6d55;background:#170a0b}.commons-event-tape>div[data-ok="false"] span{color:#f0a19c}.commons-status{min-height:50px;margin:10px 0 0;padding:10px;border-left:3px solid #9b85ca;background:#100e18;color:#d9d4e7;font:10px/1.45 ui-monospace,monospace}.commons-optimization{margin:7px 0 0;color:#77798a;font:9px/1.4 ui-monospace,monospace}.commons-python{margin-top:12px;padding:11px;border:1px solid #6fcbb155;border-radius:9px;background:#07110e}.commons-python pre{max-height:260px;overflow:auto;margin:8px 0 0;white-space:pre-wrap}.commons-python code{color:#c5f7e6;font:10px/1.5 ui-monospace,monospace}.commons-code-panel{margin-top:8px;padding:14px;border:1px solid rgba(177,152,226,.24);border-radius:10px;background:#0d0a16}.commons-code-panel textarea{min-height:280px}.commons-code-checks{display:grid;gap:5px;margin-top:9px}.commons-code-checks>div{padding:7px 9px;border:1px solid #ffffff12;border-radius:7px;background:#0a0d12;color:#a9aeb8;font:9px/1.35 ui-monospace,monospace}.commons-code-checks>div[data-ok="true"]{border-color:#67c9a84d;color:#baf2dd}.commons-code-checks>div[data-ok="false"]{border-color:#b466664d;color:#efaaa6}.campus-branches [data-campus-branch="commons"]{border-color:#a28bd14a;background:linear-gradient(90deg,#161022,#0b1115)}
@media(max-width:900px){.commons-meta{grid-template-columns:1fr 1fr 1fr}.commons-meta>span,.commons-meta>button{grid-column:span 3}.commons-layout{grid-template-columns:1fr}.commons-briefing{display:grid;grid-template-columns:1fr 1fr;gap:10px}.commons-briefing>section{margin:0}.commons-library-wrap{grid-column:1/-1}.commons-rule{grid-template-columns:60px 1fr 1fr}.commons-rule select:last-child{grid-column:2/-1}.commons-machine span{font-size:8px}}
@media(max-width:620px){.automation-commons{padding:14px}.commons-head{align-items:center}.commons-head h2{font-size:38px}.commons-head p{font-size:13px}.commons-meta{grid-template-columns:1fr 1fr}.commons-meta>span,.commons-meta>button{grid-column:1/-1}.commons-briefing{grid-template-columns:1fr}.commons-library-wrap{grid-column:auto}.commons-machine{grid-template-columns:1fr}.commons-machine i{display:none}.commons-rule{grid-template-columns:1fr}.commons-rule>b{padding-top:3px}.commons-rule select:last-child{grid-column:auto}.commons-rule select,.commons-actions button,.commons-briefing button,.commons-meta button,#commonsCodeRun{min-height:52px}.commons-event-tape{grid-template-columns:1fr 1fr}}
.commons-library>button[data-on="true"]{border-color:#78d7bc66;background:#0a1c18}.commons-library>button[data-on="true"]>b{color:#83e6c8}


/* 10.0 · tiny CC0 functional icons — never required to understand state */
.automation-commons button img{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:7px;opacity:.9}
@media(max-width:620px){.automation-commons button img{width:20px;height:20px}}

/* QueQuest 11.0 · RELEASE WEEK */
.city-operations{position:absolute;inset:0;z-index:90;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 18% 8%,rgba(74,122,158,.2),transparent 32%),radial-gradient(circle at 84% 12%,rgba(142,100,61,.16),transparent 30%),linear-gradient(180deg,rgba(7,12,17,.995),rgba(5,8,11,.998));color:#eef6f5}.city-operations[hidden]{display:none!important}.release-head{max-width:1480px;margin:0 auto 16px;display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.release-head h2{margin:.08em 0;font-size:clamp(38px,6vw,78px);letter-spacing:-.055em}.release-head p{max-width:920px;color:#b7c9cf;line-height:1.55}.release-meta{max-width:1480px;margin:0 auto 12px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px}.release-meta>*{min-height:56px;border:1px solid rgba(122,170,185,.18);border-radius:10px;background:rgba(12,20,25,.82);padding:9px 12px;color:#dfeaec}.release-meta>span{display:flex;align-items:center;font:800 10px/1.3 ui-monospace,monospace;letter-spacing:.07em}.release-meta button{font:900 9px ui-monospace,monospace}.release-shift-label{max-width:1480px;margin:0 auto 10px;padding:9px 12px;border-left:3px solid #a38ad1;background:#100e18;color:#d7ccec;font:900 10px ui-monospace,monospace}.release-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(540px,1.62fr);gap:14px}.release-story,.release-workbench,.release-code{border:1px solid rgba(119,165,178,.18);border-radius:13px;background:rgba(10,16,20,.86)}.release-story{padding:15px}.release-story>small,.release-qbot>small,.release-evidence>small,.release-code>small{color:#7ba0aa;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.release-story h3,.release-qbot h3,.release-code h3{margin:5px 0 8px;font-size:21px}.release-story>p,.release-code>p{color:#b4c2c6;line-height:1.5}.release-symptom{margin:12px 0;padding:11px;border:1px solid #ffffff12;border-radius:9px;background:#091116}.release-symptom span{display:block;color:#72858b;font:8px ui-monospace,monospace}.release-symptom b{display:block;margin:5px 0;color:#edf4f5;font-size:13px;line-height:1.35}.release-symptom small{color:#82959a;line-height:1.35}.release-services{display:grid;gap:6px;margin-top:12px}.release-services>div{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;min-height:48px;padding:7px 9px;border:1px solid #ffffff0e;border-radius:8px;background:#080d10;opacity:.56}.release-services>div[data-active="true"]{opacity:1;border-color:#77bfd154;background:#0a1820}.release-services b{font-size:18px;color:#8bc5d0}.release-services span{font:800 9px ui-monospace,monospace}.release-services small{display:block;margin-top:2px;color:#68818a;font-size:7px}.release-workbench{padding:15px}.release-qbot{padding:12px;border:1px solid rgba(144,127,190,.22);border-radius:10px;background:linear-gradient(90deg,rgba(32,24,47,.72),rgba(10,17,21,.72))}.release-qbot>p{color:#bac5d2;font-size:11px;line-height:1.45}.release-patches{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:9px}.release-patches button{min-height:72px;padding:10px;border:1px solid #ffffff13;border-radius:9px;background:#0b1015;color:#e3e9ec;text-align:left}.release-patches button[data-selected="true"]{border-color:#9d8ecb70;background:#181326}.release-patches span{display:block;font-weight:800;font-size:11px;line-height:1.3}.release-patches small{display:block;margin-top:5px;color:#777f8c;font:7px/1.35 ui-monospace,monospace}.release-track{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.release-track>div{min-height:60px;padding:8px;border:1px solid #ffffff12;border-radius:8px;background:#091015;display:grid;grid-template-columns:24px 1fr;gap:5px;align-items:center}.release-track b{font:900 16px ui-monospace,monospace;color:#61747a}.release-track span{font:900 8px ui-monospace,monospace;letter-spacing:.04em}.release-track [data-state="done"]{border-color:#6ec7aa4d;background:#091a14}.release-track [data-state="done"] b{color:#8ce5c6}.release-track [data-state="bad"]{border-color:#c16f6f55;background:#190b0c}.release-track [data-state="bad"] b{color:#f0a09b}.release-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.release-controls button{min-height:50px;font:900 8px/1.25 ui-monospace,monospace}.release-controls #opsRollback{grid-column:1/-1;border-color:#c1747055;color:#e7a39e}.release-evidence{margin-top:11px;padding:10px;border:1px solid #ffffff10;border-radius:9px;background:#071015}.release-evidence #opsEvidence{display:grid;gap:5px;margin-top:7px}.release-evidence #opsEvidence>div,.release-evidence em{padding:6px 8px;border-left:2px solid #668992;color:#aebcc0;font:9px/1.4 ui-monospace,monospace}.release-status{min-height:52px;margin:10px 0 0;padding:10px;border-left:3px solid #7faabd;background:#0c1419;color:#d9e5e7;font:10px/1.45 ui-monospace,monospace}.release-lesson{margin:7px 0 0;padding:9px;border:1px solid #72bf9f42;border-radius:8px;background:#0a1713;color:#b8dfd0;font-size:11px;line-height:1.45}.release-next{display:flex;gap:8px;margin-top:9px}.release-next button{flex:1;min-height:48px}.release-code{max-width:980px;margin:0 auto;padding:16px}.release-code textarea{min-height:250px}.release-code #opsCodeBack{margin-bottom:10px}.release-checks{display:grid;gap:5px;margin-top:9px}.release-checks>div{padding:7px 9px;border:1px solid #ffffff12;border-radius:7px;background:#091014;color:#aab9bd;font:9px/1.35 ui-monospace,monospace}.release-checks>div[data-ok="true"]{border-color:#69c3a447;color:#b9ead9}.release-checks>div[data-ok="false"]{border-color:#bd6d6d47;color:#eaa8a3}.city-operations[data-state="outage"] .release-status{border-left-color:#c56b67;background:#1b0d0f}.city-operations[data-state="ship"] .release-status{border-left-color:#70c1a2;background:#0b1814}.campus-branches [data-campus-branch="operations"]{border-color:#789eb64a;background:linear-gradient(90deg,#101820,#0b1115)}
@media(max-width:960px){.release-layout{grid-template-columns:1fr}.release-services{grid-template-columns:repeat(5,1fr)}.release-services>div{grid-template-columns:1fr;text-align:center}.release-controls{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.city-operations{padding:14px}.release-head{align-items:center}.release-head h2{font-size:38px}.release-head p{font-size:13px}.release-meta{grid-template-columns:1fr 1fr}.release-meta>span{grid-column:1/-1}.release-meta button{min-height:52px}.release-services{grid-template-columns:1fr 1fr}.release-patches{grid-template-columns:1fr}.release-track{grid-template-columns:1fr 1fr}.release-controls{grid-template-columns:1fr}.release-controls button,.release-next button,#opsGuardRun{min-height:54px}.release-code textarea{font-size:16px;min-height:220px}}

/* QueQuest 12.0 · CITY CHRONICLE */
.city-chronicle{position:absolute;inset:0;z-index:91;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 16% 8%,rgba(158,115,69,.17),transparent 30%),radial-gradient(circle at 82% 12%,rgba(82,122,135,.15),transparent 31%),linear-gradient(180deg,rgba(10,12,13,.997),rgba(5,8,9,.999));color:#edf2ef}.city-chronicle[hidden]{display:none!important}.chronicle-head{max-width:1480px;margin:0 auto 16px;display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.chronicle-head h2{margin:.08em 0;font-size:clamp(38px,6vw,78px);letter-spacing:-.055em}.chronicle-head p{max-width:930px;color:#bbc4c0;line-height:1.55}.chronicle-meta{max-width:1480px;margin:0 auto 12px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px}.chronicle-meta>*{min-height:56px;border:1px solid rgba(176,145,104,.2);border-radius:10px;background:rgba(20,19,17,.84);padding:9px 12px;color:#e6e5dd}.chronicle-meta>span{display:flex;align-items:center;font:800 10px/1.3 ui-monospace,monospace;letter-spacing:.07em}.chronicle-meta button{font:900 9px ui-monospace,monospace}.chronicle-window-label{max-width:1480px;margin:0 auto 10px;padding:9px 12px;border-left:3px solid #b28a5d;background:#17120d;color:#e1c9a8;font:900 10px ui-monospace,monospace}.chronicle-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(270px,.78fr) minmax(560px,1.62fr);gap:14px}.chronicle-past,.chronicle-board,.chronicle-code{border:1px solid rgba(183,151,108,.18);border-radius:13px;background:rgba(13,15,14,.88)}.chronicle-past{padding:15px}.chronicle-past>small,.chronicle-clue-panel>small,.chronicle-choice-panel>small,.chronicle-code>small{color:#a98e6f;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.chronicle-past h3,.chronicle-code h3{margin:5px 0 8px;font-size:21px}.chronicle-past>p,.chronicle-code>p{color:#b9c1bd;line-height:1.5}.chronicle-symptom{margin:12px 0;padding:11px;border:1px solid #ffffff11;border-radius:9px;background:#11110f}.chronicle-symptom span{display:block;color:#877763;font:8px ui-monospace,monospace}.chronicle-symptom b{display:block;margin:5px 0;color:#f0e9df;font-size:13px;line-height:1.35}.chronicle-services{display:grid;gap:6px;margin-top:12px}.chronicle-services>div{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;min-height:48px;padding:7px 9px;border:1px solid #ffffff0e;border-radius:8px;background:#090b0a;opacity:.52}.chronicle-services>div[data-active="true"]{opacity:1;border-color:#bc966158;background:#17130d}.chronicle-services b{font-size:18px;color:#cfad7f}.chronicle-services span{font:800 9px ui-monospace,monospace}.chronicle-services small{display:block;margin-top:2px;color:#83796d;font-size:7px}.chronicle-board{padding:15px}.chronicle-clues{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.chronicle-clues button{min-height:110px;padding:10px;border:1px solid #ffffff12;border-radius:9px;background:#0b0d0c;color:#e8ece8;text-align:left;display:grid;grid-template-columns:24px 1fr;gap:8px}.chronicle-clues button[data-seen="true"]{border-color:#b9976755;background:#16130e}.chronicle-clues b{font:900 17px ui-monospace,monospace;color:#9a8265}.chronicle-clues strong{display:block;font-size:10px;line-height:1.3}.chronicle-clues small{display:block;margin-top:6px;color:#a7afa9;font:8px/1.45 ui-monospace,monospace}.chronicle-debt{margin:11px 0;padding:11px;border:1px solid rgba(177,143,94,.19);border-radius:10px;background:#0c0d0b}.chronicle-debt>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.chronicle-debt span{color:#8f7b61;font:8px ui-monospace,monospace}.chronicle-debt b{font:900 9px ui-monospace,monospace;color:#d7c09f}.chronicle-debt-track{height:10px;margin:8px 0 7px;border:1px solid #ffffff12;border-radius:999px;overflow:hidden;background:#080a09}.chronicle-debt-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7aa88c,#b6935e,#b8655c);transition:width .2s ease}.chronicle-debt small{color:#888f8a;font-size:9px;line-height:1.4}.chronicle-decisions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:8px}.chronicle-decisions button{min-height:80px;padding:10px;border:1px solid #ffffff12;border-radius:9px;background:#0a0c0b;color:#e3e7e3;text-align:left}.chronicle-decisions button[data-selected="true"]{border-color:#bc98675e;background:#17130e}.chronicle-decisions span{display:block;font-weight:800;font-size:11px;line-height:1.35}.chronicle-decisions small{display:block;margin-top:6px;color:#847b70;font:7px/1.35 ui-monospace,monospace}.chronicle-status{min-height:54px;margin:11px 0 0;padding:10px;border-left:3px solid #9d8768;background:#11120f;color:#dfe4df;font:10px/1.45 ui-monospace,monospace}.city-chronicle[data-debt="high"] .chronicle-status{border-left-color:#bd6b61;background:#1a0f0e}.city-chronicle[data-debt="low"] .chronicle-status{border-left-color:#72ad8e;background:#0c1711}.chronicle-memory{margin-top:8px;padding:11px;border:1px solid #72b18d42;border-radius:9px;background:#0b1711}.chronicle-memory small{display:block;color:#6f987f;font:8px ui-monospace,monospace}.chronicle-memory b{display:block;margin-top:5px;color:#c4e0cf;font-size:11px;line-height:1.5}.chronicle-next{display:flex;gap:8px;margin-top:9px}.chronicle-next button{flex:1;min-height:48px}.chronicle-code{max-width:980px;margin:0 auto;padding:16px}.chronicle-code textarea{min-height:250px}.chronicle-code #chronicleCodeBack{margin-bottom:10px}.chronicle-code-checks{display:grid;gap:5px;margin-top:9px}.chronicle-code-checks>div{padding:7px 9px;border:1px solid #ffffff12;border-radius:7px;background:#09100c;color:#aeb7b0;font:9px/1.35 ui-monospace,monospace}.chronicle-code-checks>div[data-ok="true"]{border-color:#69b58d47;color:#c3e3d0}.chronicle-code-checks>div[data-ok="false"]{border-color:#bd6d6d47;color:#eaa8a3}.campus-branches [data-campus-branch="chronicle"]{border-color:#ad8a5c4a;background:linear-gradient(90deg,#18130d,#0f1110)}
@media(max-width:920px){.chronicle-layout{grid-template-columns:1fr}.chronicle-services{grid-template-columns:repeat(5,minmax(110px,1fr));overflow:auto}.chronicle-clues{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.city-chronicle{padding:14px}.chronicle-head{align-items:center}.chronicle-head h2{font-size:38px}.chronicle-head p{font-size:13px}.chronicle-meta{grid-template-columns:1fr 1fr}.chronicle-meta>span{grid-column:1/-1}.chronicle-meta button{min-height:52px}.chronicle-services{grid-template-columns:1fr 1fr;overflow:visible}.chronicle-clues{grid-template-columns:1fr}.chronicle-clues button{min-height:82px}.chronicle-decisions{grid-template-columns:1fr}.chronicle-decisions button,.chronicle-next button,#chronicleCodeRun{min-height:54px}.chronicle-code textarea{font-size:16px;min-height:220px}}
@media(prefers-reduced-motion:reduce){.chronicle-debt-track i{transition:none}}
.chronicle-echo{margin:9px 0;padding:9px;border-left:3px solid #8a7457;background:#12100d;color:#cdbb9f!important;font:9px/1.45 ui-monospace,monospace}

/* QueQuest 13.0 · CITY WEAVE */
.city-weave{position:absolute;inset:0;z-index:92;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 14% 12%,rgba(83,153,137,.16),transparent 31%),radial-gradient(circle at 84% 8%,rgba(110,121,181,.15),transparent 32%),linear-gradient(180deg,rgba(7,12,14,.998),rgba(4,7,10,.999));color:#edf4f1}.city-weave[hidden]{display:none!important}.weave-head{max-width:1500px;margin:0 auto 16px;display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.weave-head h2{margin:.08em 0;font-size:clamp(40px,6vw,80px);letter-spacing:-.055em}.weave-head p{max-width:940px;color:#b8c9c4;line-height:1.55}.weave-meta{max-width:1500px;margin:0 auto 10px;display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px}.weave-meta>*{min-height:54px;border:1px solid #7fc9b72e;border-radius:10px;background:#0c1517;padding:9px 12px;color:#e4efeb}.weave-meta>span{display:flex;align-items:center;font:800 10px/1.3 ui-monospace,monospace;letter-spacing:.07em}.weave-meta button{font:900 9px ui-monospace,monospace}.weave-season-label{max-width:1500px;margin:0 auto 10px;padding:9px 12px;border-left:3px solid #83c6b1;background:#0b1a18;color:#c8eee2;font:900 10px ui-monospace,monospace}.weave-layout{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(580px,1.55fr);gap:14px}.weave-city,.weave-board,.weave-code{border:1px solid #7fc9b72a;border-radius:13px;background:rgba(8,14,15,.9)}.weave-city{padding:15px}.weave-city>small,.weave-choice-panel>small,.weave-beats>small,.weave-code>small,.weave-history>small{color:#75a99b;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.weave-city h3,.weave-code h3{margin:5px 0 8px;font-size:21px}.weave-city>p,.weave-code>p{color:#b7c4c0;line-height:1.5}.weave-tension{margin:12px 0;padding:11px;border:1px solid #ffffff11;border-radius:9px;background:#0d1414}.weave-tension span{display:block;color:#728c85;font:8px ui-monospace,monospace}.weave-tension b{display:block;margin-top:5px;color:#ecf5f1;font-size:13px;line-height:1.35}.weave-districts{display:grid;gap:6px;margin-top:12px}.weave-districts>div{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;min-height:52px;padding:8px 9px;border:1px solid #ffffff0f;border-radius:8px;background:#080d0e;opacity:.58}.weave-districts>div[data-active="true"]{opacity:1;border-color:#7ccab655;background:#0c1b18}.weave-districts>div[data-trust="low"]{border-left:3px solid #bd6b6b}.weave-districts>div[data-trust="high"]{border-left:3px solid #72bd99}.weave-districts b{font-size:19px;color:#93d4c1}.weave-districts strong{display:block;font:850 9px/1.25 ui-monospace,monospace}.weave-districts small,.weave-districts em{display:block;margin-top:2px;color:#718781;font:7px/1.2 ui-monospace,monospace;font-style:normal}.weave-history{margin-top:12px;padding:11px;border:1px solid #ffffff0e;border-radius:9px;background:#090f10}.weave-history #weaveHistory{display:grid;gap:5px;margin-top:7px}.weave-history #weaveHistory>div{padding:7px 8px;border-left:2px solid #55756c;background:#0c1313}.weave-history small{display:block;color:#667f78;font:7px ui-monospace,monospace}.weave-history b{display:block;margin-top:3px;color:#bccac6;font-size:10px}.weave-history em{color:#778782;font:9px/1.4 ui-monospace,monospace}.weave-board{padding:15px}.weave-pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.weave-pulse>div{padding:9px;border:1px solid #ffffff12;border-radius:9px;background:#091012}.weave-pulse span{display:block;color:#729087;font:800 7px ui-monospace,monospace;letter-spacing:.07em}.weave-pulse b{display:block;margin:5px 0;color:#e1ece8;font:900 17px ui-monospace,monospace}.weave-pulse i{display:block;height:6px;border-radius:999px;overflow:hidden;background:#030707}.weave-pulse i em{display:block;height:100%;width:50%;background:linear-gradient(90deg,#688797,#75b69e,#b3b16f);transition:width .2s ease}.weave-pulse .weave-autonomy{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.weave-pulse .weave-autonomy b{margin:0}.city-weave[data-balance="fragile"] .weave-pulse{outline:1px solid #b9655f55}.city-weave[data-balance="stable"] .weave-pulse{outline:1px solid #71b69645}.weave-choice-panel{margin-top:12px}.weave-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.weave-choices button{min-height:92px;padding:11px;border:1px solid #ffffff14;border-radius:9px;background:#0a1011;color:#e6eeeb;text-align:left}.weave-choices button[data-selected="true"]{border-color:#7cc9b96b;background:#0e211d;box-shadow:inset 3px 0 0 #78c3ad}.weave-choices span{display:block;font-weight:850;font-size:11px;line-height:1.35}.weave-choices small{display:block;margin-top:7px;color:#6f8780;font:7px/1.35 ui-monospace,monospace}.weave-actions{display:flex;gap:8px;margin-top:9px}.weave-actions button{flex:1;min-height:48px}.weave-beats{margin-top:10px;padding:11px;border:1px solid #ffffff10;border-radius:9px;background:#070d0e}.weave-beats #weaveBeats{display:grid;gap:6px;margin-top:7px}.weave-beats #weaveBeats>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:7px 8px;background:#0c1414}.weave-beats #weaveBeats b{color:#82c9b4;font:900 10px ui-monospace,monospace}.weave-beats #weaveBeats span{color:#bdcbc7;font-size:10px;line-height:1.4}.weave-beats em{color:#71837e;font:9px/1.4 ui-monospace,monospace}.weave-status{min-height:54px;margin:10px 0 0;padding:10px;border-left:3px solid #728b84;background:#0d1313;color:#dfe9e5;font:10px/1.45 ui-monospace,monospace}.city-weave[data-balance="fragile"] .weave-status{border-left-color:#bd6b61;background:#180e0e}.city-weave[data-balance="stable"] .weave-status{border-left-color:#72ad8e;background:#0b1712}.weave-lesson{padding:10px;border:1px solid #74b9993b;border-radius:8px;background:#0a1712;color:#c3dfd2;font:10px/1.5 ui-monospace,monospace}.weave-next{display:flex;gap:8px;margin-top:9px}.weave-next button{flex:1;min-height:48px}.weave-code{max-width:980px;margin:0 auto;padding:16px}.weave-code textarea{min-height:250px}.weave-code #weaveCodeBack{margin-bottom:10px}.weave-code-checks{display:grid;gap:5px;margin-top:9px}.weave-code-checks>div{padding:7px 9px;border:1px solid #ffffff12;border-radius:7px;background:#09110e;color:#aebbb5;font:9px/1.35 ui-monospace,monospace}.weave-code-checks>div[data-ok="true"]{border-color:#69b58d47;color:#c3e3d0}.weave-code-checks>div[data-ok="false"]{border-color:#bd6d6d47;color:#eaa8a3}.campus-branches [data-campus-branch="weave"]{border-color:#70b49d4a;background:linear-gradient(90deg,#0c1a16,#0d1111)}
@media(max-width:900px){.weave-layout{grid-template-columns:1fr}.weave-city{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weave-city>small,.weave-city>h3,.weave-city>p,.weave-tension,.weave-history{grid-column:1/-1}.weave-districts{grid-template-columns:1fr 1fr;margin-top:0}.weave-pulse{grid-template-columns:1fr 1fr}.weave-choices{grid-template-columns:1fr}}
@media(max-width:620px){.city-weave{padding:14px}.weave-head{align-items:center}.weave-head h2{font-size:39px}.weave-head p{font-size:13px}.weave-meta{grid-template-columns:1fr 1fr}.weave-meta>span{grid-column:1/-1}.weave-meta button{min-height:54px}.weave-city{display:block}.weave-districts{grid-template-columns:1fr}.weave-pulse{grid-template-columns:1fr 1fr}.weave-choices button,.weave-actions button,.weave-next button,#weaveCodeRun{min-height:56px}.weave-actions,.weave-next{flex-direction:column}.weave-code textarea{font-size:16px;min-height:220px}}
@media(max-width:390px){.weave-pulse{grid-template-columns:1fr}.weave-pulse .weave-autonomy{grid-column:1}.weave-meta{grid-template-columns:1fr}.weave-meta>span{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.weave-pulse i em{transition:none}.city-weave *{scroll-behavior:auto!important}}

/* QueQuest 14.0 · CITY THREADS */
.city-threads{position:absolute;inset:0;z-index:93;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 12% 10%,rgba(111,79,154,.17),transparent 31%),radial-gradient(circle at 88% 12%,rgba(49,132,139,.16),transparent 34%),linear-gradient(180deg,rgba(7,9,15,.998),rgba(5,8,11,.999));color:#eef4f6}.city-threads[hidden]{display:none!important}.threads-head{max-width:1520px;margin:0 auto 16px;display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.threads-head h2{margin:.08em 0;font-size:clamp(40px,6vw,82px);letter-spacing:-.055em}.threads-head p{max-width:980px;color:#bcc8d0;line-height:1.55}.threads-meta{max-width:1520px;margin:0 auto 10px;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px}.threads-meta>*{min-height:54px;border:1px solid #9579c42f;border-radius:10px;background:#0e111a;padding:9px 12px;color:#e9eef4}.threads-meta>span{display:flex;align-items:center;font:800 10px/1.3 ui-monospace,monospace;letter-spacing:.07em}.threads-meta button{font:900 9px ui-monospace,monospace}.threads-cycle-label{max-width:1520px;margin:0 auto 10px;padding:9px 12px;border-left:3px solid #8f78c8;background:#15111f;color:#d9cef4;font:900 10px ui-monospace,monospace}.threads-layout{max-width:1520px;margin:0 auto;display:grid;grid-template-columns:minmax(310px,.88fr) minmax(600px,1.55fr);gap:14px}.threads-world,.threads-board,.threads-code{border:1px solid #927dc02a;border-radius:13px;background:rgba(10,12,19,.91)}.threads-world{padding:15px}.threads-world>small,.threads-world section>small,.threads-choice-panel>small,.threads-beats>small,.threads-code>small{color:#8f82b3;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.threads-world h3,.threads-code h3{margin:5px 0 8px;font-size:21px}.threads-world>p,.threads-code>p{color:#bac5cf;line-height:1.5}.threads-question{margin:12px 0;padding:11px;border:1px solid #ffffff11;border-radius:9px;background:#11131a}.threads-question span{display:block;color:#75798c;font:8px ui-monospace,monospace}.threads-question b{display:block;margin-top:5px;color:#edf2f6;font-size:13px;line-height:1.4}.threads-world section{margin-top:12px}.threads-actors,.threads-districts{display:grid;gap:6px;margin-top:7px}.threads-actors>div{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid #ffffff0f;border-radius:8px;background:#090c12;opacity:.52}.threads-actors>div[data-active="true"]{opacity:1;border-color:#9a84ca5c;background:#171326}.threads-actors b{color:#b19de1;font-size:17px}.threads-actors strong{display:block;font:850 9px ui-monospace,monospace}.threads-actors small{display:block;margin-top:2px;color:#7e8491;font:7px ui-monospace,monospace}.threads-districts{grid-template-columns:1fr 1fr}.threads-districts>div{display:grid;grid-template-columns:24px 1fr;gap:6px;align-items:center;min-height:44px;padding:7px 8px;border:1px dashed #ffffff11;border-radius:8px;background:#080b10;color:#66707b}.threads-districts>div[data-open="true"]{border-style:solid;border-color:#67b7b64a;background:#0a1719;color:#d9ecee}.threads-districts b{color:#73c4c1}.threads-districts span{font:800 8px/1.3 ui-monospace,monospace}.threads-echo-panel{padding:10px;border:1px solid #a782c92d;border-radius:9px;background:#100d16}.threads-echoes{display:grid;gap:6px;margin-top:7px}.threads-echoes>div{padding:8px;border-left:2px solid #9a78c2;background:#15101e}.threads-echoes small{display:block;color:#866f9d;font:7px ui-monospace,monospace}.threads-echoes span{display:block;margin-top:3px;color:#c9c2d2;font-size:10px;line-height:1.4}.threads-echoes em{color:#7e7a86;font:9px/1.4 ui-monospace,monospace}.threads-board{padding:15px}.threads-pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.threads-pulse>div{padding:9px;border:1px solid #ffffff12;border-radius:9px;background:#0a0e14}.threads-pulse span{display:block;color:#7a8290;font:800 7px ui-monospace,monospace;letter-spacing:.07em}.threads-pulse b{display:block;margin:5px 0;color:#e7edf1;font:900 17px ui-monospace,monospace}.threads-pulse i{display:block;height:6px;border-radius:999px;overflow:hidden;background:#030507}.threads-pulse i em{display:block;height:100%;width:50%;background:linear-gradient(90deg,#766aa6,#6cb2ad,#b8ac68);transition:width .2s ease}.threads-pulse .threads-bond{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.threads-pulse .threads-bond b{margin:0;color:#c8b6f0}.threads-choice-panel{margin-top:12px}.threads-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.threads-choices button{min-height:96px;padding:11px;border:1px solid #ffffff14;border-radius:9px;background:#0b0e14;color:#e6ebf0;text-align:left}.threads-choices button[data-selected="true"]{border-color:#9b83cf70;background:#181327;box-shadow:inset 3px 0 0 #9b84ca}.threads-choices span{display:block;font-weight:850;font-size:11px;line-height:1.35}.threads-choices small{display:block;margin-top:7px;color:#7f7692;font:7px/1.35 ui-monospace,monospace}.threads-actions{display:flex;gap:8px;margin-top:9px}.threads-actions button{flex:1;min-height:50px}.threads-beats{margin-top:10px;padding:11px;border:1px solid #ffffff10;border-radius:9px;background:#080b10}.threads-beats #threadsBeats{display:grid;gap:6px;margin-top:7px}.threads-beats #threadsBeats>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:7px 8px;background:#10131a}.threads-beats #threadsBeats b{color:#a891d3;font:900 10px ui-monospace,monospace}.threads-beats #threadsBeats span{color:#c6ccd1;font-size:10px;line-height:1.4}.threads-beats em{color:#737982;font:9px/1.4 ui-monospace,monospace}.threads-status{min-height:54px;margin:10px 0 0;padding:10px;border-left:3px solid #8d79b0;background:#121019;color:#e0e5e9;font:10px/1.45 ui-monospace,monospace}.threads-reveal{padding:10px;border:1px solid #6aaead42;border-radius:8px;background:#0b1718;color:#c9e4e2;font:10px/1.5 ui-monospace,monospace}.threads-next{display:flex;gap:8px;margin-top:9px}.threads-next button{flex:1;min-height:48px}.threads-code{max-width:980px;margin:0 auto;padding:16px}.threads-code textarea{min-height:270px}.threads-code #threadsCodeBack{margin-bottom:10px}.threads-code-checks{display:grid;gap:5px;margin-top:9px}.threads-code-checks>div{padding:7px 9px;border:1px solid #ffffff12;border-radius:7px;background:#0a0d12;color:#afb5bd;font:9px/1.35 ui-monospace,monospace}.threads-code-checks>div[data-ok="true"]{border-color:#69b58d47;color:#c4e2d1}.threads-code-checks>div[data-ok="false"]{border-color:#bd6d6d47;color:#eaa8a3}.campus-branches [data-campus-branch="threads"]{border-color:#9278bd52;background:linear-gradient(90deg,#171122,#0c1216)}
@media(max-width:930px){.threads-layout{grid-template-columns:1fr}.threads-world{display:grid;grid-template-columns:1fr 1fr;gap:10px}.threads-world>small,.threads-world>h3,.threads-world>p,.threads-question,.threads-echo-panel{grid-column:1/-1}.threads-world section{margin-top:0}.threads-choices{grid-template-columns:1fr}}
@media(max-width:620px){.city-threads{padding:14px}.threads-head{align-items:center}.threads-head h2{font-size:38px}.threads-head p{font-size:13px}.threads-meta{grid-template-columns:1fr 1fr}.threads-meta>span{grid-column:1/-1}.threads-meta button{min-height:54px}.threads-world{display:block}.threads-world section{margin-top:12px}.threads-districts{grid-template-columns:1fr}.threads-pulse{grid-template-columns:1fr 1fr}.threads-pulse .threads-bond{grid-column:1/-1}.threads-choices button,.threads-actions button,.threads-next button,#threadsCodeRun{min-height:56px}.threads-actions,.threads-next{flex-direction:column}.threads-code textarea{font-size:16px;min-height:230px}}
@media(max-width:390px){.threads-pulse{grid-template-columns:1fr}.threads-pulse .threads-bond{grid-column:1}.threads-meta{grid-template-columns:1fr}.threads-meta>span{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.threads-pulse i em{transition:none}.city-threads *{scroll-behavior:auto!important}}

/* QueQuest 15.0 · QUEST GUILD */
.quest-guild{position:absolute;inset:0;z-index:94;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 12% 8%,rgba(186,121,54,.18),transparent 30%),radial-gradient(circle at 86% 12%,rgba(71,120,150,.18),transparent 34%),linear-gradient(180deg,#080a0d,#05070a 72%,#090806);color:#eef1ed}.quest-guild[hidden]{display:none!important}.guild-head{max-width:1580px;margin:0 auto 14px;display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.guild-head h2{margin:.04em 0;font-size:clamp(44px,6.6vw,92px);letter-spacing:-.06em}.guild-head p{max-width:1030px;color:#c3c8c4;line-height:1.55}.guild-meta{max-width:1580px;margin:0 auto 12px;display:grid;grid-template-columns:1fr auto minmax(280px,.6fr);gap:8px;align-items:stretch}.guild-meta>*{min-height:54px;padding:10px 13px;border:1px solid #c58c4733;border-radius:10px;background:#11100d}.guild-meta span,.guild-meta strong{display:flex;align-items:center;font:900 10px ui-monospace,monospace;letter-spacing:.06em}.guild-meta strong{font-size:16px;color:#e7bc78}.guild-meta em{display:flex;align-items:center;color:#887e70;font:9px/1.4 ui-monospace,monospace}.guild-layout{max-width:1580px;margin:0 auto;display:grid;grid-template-columns:minmax(290px,.7fr) minmax(680px,1.7fr);gap:14px}.guild-sidebar,.guild-board,.guild-detail,.guild-work,.guild-raid{border:1px solid #c08d4930;border-radius:14px;background:rgba(13,14,14,.94)}.guild-sidebar{padding:14px;align-self:start;position:sticky;top:8px}.guild-sidebar>small,.guild-section-head small,.guild-detail>small{color:#c49458;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.guild-skills{display:grid;gap:7px;margin-top:9px}.guild-skill-card{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:9px;border:1px solid #ffffff10;border-radius:9px;background:#090b0c}.guild-skill-card>b{display:grid;place-items:center;min-height:40px;border-radius:8px;background:#18150f;color:#dfb878;font:900 17px ui-monospace,monospace}.guild-skill-card small{display:block;color:#8d877d;font:800 7px ui-monospace,monospace}.guild-skill-card strong{display:block;margin-top:2px;color:#e8e7df;font-size:10px}.guild-skill-card p{margin:4px 0;color:#a9aeaa;font-size:9px;line-height:1.35}.guild-skill-card i{display:block;color:#6f7774;font:7px/1.4 ui-monospace,monospace}.guild-safety{margin-top:10px;padding:10px;border:1px solid #739a8240;border-radius:9px;background:#0b1611}.guild-safety b{color:#86b99b;font:900 8px ui-monospace,monospace}.guild-safety p{margin:5px 0 0;color:#a6b9ae;font-size:9px;line-height:1.45}.guild-main{display:grid;gap:12px}.guild-board,.guild-detail,.guild-work,.guild-raid{padding:14px}.guild-section-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.guild-section-head h3,.guild-detail h3{margin:4px 0;font-size:22px}.guild-section-head p,.guild-detail>p{margin:5px 0;color:#aeb5b1;line-height:1.45}.guild-section-head button{min-height:48px}.guild-quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.guild-quest-card{position:relative;overflow:hidden;min-height:154px;padding:13px;border:1px solid #ffffff12;border-radius:10px;background:linear-gradient(135deg,#111311,#0b0d0f);color:#e8ebe7;text-align:left}.guild-quest-card::after{content:"";position:absolute;inset:0 0 0 auto;width:42%;opacity:.15;background-position:center;background-size:cover;pointer-events:none}.guild-quest-card[data-art="garage"]::after{background-image:url('garage-panel.jpg')}.guild-quest-card[data-art="ice"]::after{background-image:url('ice-panel.jpg')}.guild-quest-card[data-art="ai"]::after{background-image:url('tier-llm.jpg')}.guild-quest-card[data-art="market"]::after{background-image:url('garage-strip.jpg');filter:saturate(.35)}.guild-quest-card[data-art="grid"]::after{background-image:url('bg-grid.svg');opacity:.12}.guild-quest-card:not(:disabled):hover{border-color:#c89b5b59;transform:translateY(-1px)}.guild-quest-card:disabled{opacity:.46}.guild-quest-card[data-done="true"]{border-color:#78ad8654;background:linear-gradient(135deg,#0b1811,#0b0f0c)}.guild-quest-card small,.guild-quest-card strong,.guild-quest-card p,.guild-quest-card div,.guild-quest-card i{position:relative;z-index:1}.guild-quest-card small{display:block;color:#ba8c57;font:800 7px ui-monospace,monospace}.guild-quest-card strong{display:block;max-width:78%;margin-top:6px;font-size:13px;line-height:1.25}.guild-quest-card p{max-width:77%;margin:7px 0;color:#aeb3af;font-size:9px;line-height:1.45}.guild-quest-card div{display:flex;gap:4px;flex-wrap:wrap}.guild-quest-card div span{padding:3px 5px;border:1px solid #ffffff13;border-radius:999px;color:#b8c1bc;font:700 7px ui-monospace,monospace}.guild-quest-card i{display:block;margin-top:7px;color:#777e79;font:7px/1.35 ui-monospace,monospace}.guild-detail{border-color:#c7995851;background:#11110e}.guild-detail>#guildQuestBack{min-height:44px;margin-bottom:8px}.guild-detail>b{display:block;color:#d9ba82;font:800 9px ui-monospace,monospace}.guild-approaches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.guild-approaches button{min-height:112px;padding:11px;border:1px solid #ffffff13;border-radius:9px;background:#0a0c0c;color:#e5e9e5;text-align:left}.guild-approaches button[data-on="true"]{border-color:#d2a46570;background:#1a150d;box-shadow:inset 3px 0 0 #d0a25f}.guild-approaches strong{display:block;font-size:10px;line-height:1.4}.guild-approaches small{display:block;margin-top:6px;color:#c19458;font:800 7px/1.35 ui-monospace,monospace}.guild-approaches i{display:block;margin-top:5px;color:#777d79;font:7px/1.4 ui-monospace,monospace}.guild-detail-actions{display:flex;gap:8px;margin-top:10px}.guild-detail-actions button{flex:1;min-height:52px}.guild-result{display:grid;gap:5px;margin-top:10px;padding:10px;border:1px solid #ffffff0f;border-radius:9px;background:#090b0b}.guild-result p{margin:0;color:#bdc4bf;font-size:10px;line-height:1.45}.guild-result em{color:#797f7b;font:9px/1.4 ui-monospace,monospace}.guild-real-echo{margin-top:10px;padding:11px;border-left:3px solid #658fa0;background:#0c1518}.guild-real-echo small{display:block;color:#668b99;font:800 7px ui-monospace,monospace}.guild-real-echo strong{display:block;margin-top:5px;color:#c9dde3}.guild-real-echo p{margin:6px 0;color:#9eafb4;font-size:10px;line-height:1.45}.guild-real-echo i{color:#82959a;font:8px/1.45 ui-monospace,monospace}.guild-detail>#guildStatus,.guild-raid>#guildRaidStatus{min-height:44px;margin:10px 0 0;padding:9px;border-left:3px solid #b68851;background:#12110e;color:#d8d8d0;font:9px/1.45 ui-monospace,monospace}.guild-work{background:#0b1011}.guild-job{margin-top:9px;padding:12px;border:1px solid #ffffff10;border-radius:9px;background:#080b0c}.guild-job small{display:block;color:#6e9aa2;font:800 8px ui-monospace,monospace}.guild-job strong{display:block;margin-top:5px}.guild-job p{color:#aab4b4;font-size:10px;line-height:1.45}.guild-job i{display:block;margin-top:8px;color:#81908f;font:8px/1.4 ui-monospace,monospace}.guild-job-actions{display:flex;gap:6px;flex-wrap:wrap}.guild-job-actions button{min-height:46px;flex:1 1 180px}.guild-raid{background:linear-gradient(135deg,#100d13,#0a0e10)}.guild-raid-scope{padding:8px;border:1px dashed #7f6a963d;border-radius:8px;color:#a69aad;font:8px/1.4 ui-monospace,monospace}.guild-party-picks{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0}.guild-party-picks button{min-height:66px;border:1px solid #ffffff12;border-radius:8px;background:#0a0c10;color:#d7dde0}.guild-party-picks button[data-on="true"]{border-color:#9e83c45c;background:#181224}.guild-party-picks b,.guild-party-picks span{display:block}.guild-party-picks b{font-size:16px}.guild-party-picks span{margin-top:4px;font:800 7px ui-monospace,monospace}.guild-raid>#guildPartyLine{display:block;margin:6px 0 9px;color:#bca9d1;font:800 9px ui-monospace,monospace}.guild-raid>#guildRaidRun{width:100%;min-height:54px}.campus-branches [data-campus-branch="guild"]{order:-10;border-color:#d1a05b75;background:linear-gradient(90deg,#21170b,#0d1215);box-shadow:0 0 0 1px #d3a76218,0 18px 45px #0005}.campus-branches [data-campus-branch="guild"] strong{color:#f0c47e}
@media(max-width:900px){.guild-layout{grid-template-columns:1fr}.guild-sidebar{position:static}.guild-skills{grid-template-columns:repeat(2,1fr)}.guild-party-picks{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.quest-guild{padding:14px}.guild-head{align-items:center}.guild-head h2{font-size:40px}.guild-head p{font-size:13px}.guild-meta{grid-template-columns:1fr 1fr}.guild-meta em{grid-column:1/-1}.guild-skills,.guild-quest-grid{grid-template-columns:1fr}.guild-quest-card{min-height:178px}.guild-approaches{grid-template-columns:1fr}.guild-approaches button{min-height:88px}.guild-detail-actions{flex-direction:column}.guild-detail-actions button,.guild-section-head button,.guild-job-actions button,.guild-raid>#guildRaidRun{min-height:56px}.guild-party-picks{grid-template-columns:repeat(3,1fr)}.guild-party-picks button{min-height:72px}.guild-section-head{gap:8px}}
@media(prefers-reduced-motion:reduce){.guild-quest-card{transition:none!important}.quest-guild *{scroll-behavior:auto!important}}

/* QueQuest 16.0 · FIRST SHIFT + CAREER WORLDS */
.first-shift{position:absolute;inset:0;z-index:120;overflow:hidden;background:#090b0e;color:#eef1ed;perspective:900px;--look-x:0px;--look-y:0px}.first-shift[hidden]{display:none!important}.first-shift__world{position:absolute;inset:-3%;transform:translate(var(--look-x),var(--look-y)) scale(1.05);transition:transform .08s linear}.first-shift__ceiling{position:absolute;inset:0 0 62%;background:linear-gradient(#07090b,#15191d);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%)}.first-shift__wall{position:absolute;inset:26% 0 24%;background:repeating-linear-gradient(90deg,#20262b 0 2px,#151a1e 2px 10%),linear-gradient(#20262b,#111519)}.first-shift__floor{position:absolute;left:-20%;right:-20%;bottom:-12%;height:48%;background:repeating-linear-gradient(90deg,#202329 0 2px,transparent 2px 140px),repeating-linear-gradient(0deg,#202329 0 2px,#101216 2px 80px);transform:rotateX(58deg);transform-origin:bottom}.first-shift__door{position:absolute;right:12%;top:27%;width:14%;height:42%;border:5px solid #56606a;background:#11161b;box-shadow:0 0 0 10px #080a0c}.first-shift__door span{position:absolute;right:12px;top:12px;color:#8f9aa4;font:900 12px ui-monospace}.first-shift__arm{position:absolute;left:52%;top:31%;width:240px;height:300px;filter:drop-shadow(0 22px 22px #0009)}.first-shift__arm:before{content:"";position:absolute;left:92px;top:150px;width:58px;height:120px;background:#303941;border:5px solid #66727d}.first-shift__arm i,.first-shift__arm b{position:absolute;display:block;height:34px;background:#59636b;border:4px solid #84919b;transform-origin:left center}.first-shift__arm i{left:115px;top:145px;width:125px;transform:rotate(calc(-18deg + var(--arm-twitch)))}.first-shift__arm b{left:205px;top:105px;width:98px;transform:rotate(calc(38deg - var(--arm-twitch-b)))}.first-shift__arm em{position:absolute;left:286px;top:151px;width:42px;height:58px;border:5px solid #8b969d;border-top:0}.first-shift__arm img{position:absolute;width:24px;left:108px;top:215px;image-rendering:pixelated}.first-shift__crates{position:absolute;left:10%;bottom:12%;display:flex;gap:22px}.first-shift__crates button{width:132px;height:112px;border:3px solid #8e6540;border-radius:5px;background:linear-gradient(135deg,#936038,#5f3c25);color:#fff0db;box-shadow:0 14px 26px #0008;transform:skewY(-2deg);cursor:pointer}.first-shift__crates span{display:block;font-size:32px}.first-shift__crates b,.first-shift__crates small{display:block}.first-shift__crates small{color:#e8bd83}.first-shift__pallet{position:absolute;right:13%;bottom:10%;width:210px;height:88px;border:3px dashed #8b8172;background:#27241f;color:#e4dacb}.first-shift__pallet[data-ready="true"]{border-color:#ffc857;box-shadow:0 0 28px #ffc85733}.first-shift__hand{position:absolute;left:50%;bottom:-80px;width:230px;height:220px;transform:translateX(-50%);transition:.2s}.first-shift__hand i,.first-shift__hand b{position:absolute;bottom:0;width:78px;height:170px;border-radius:40px 40px 12px 12px;background:#caa17f}.first-shift__hand i{left:28px;transform:rotate(11deg)}.first-shift__hand b{right:28px;transform:rotate(-11deg)}.first-shift__hand[data-carrying="true"]{bottom:-8px}.first-shift__hud{position:absolute;left:5%;top:5%;right:5%;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.first-shift__hud small{font:900 9px ui-monospace;letter-spacing:.12em;color:#d5a65c}.first-shift__hud h2{margin:6px 0;font-size:clamp(28px,4vw,58px)}.first-shift__hud p{max-width:690px;color:#bcc3c0}.first-shift__hud>strong{font:900 34px ui-monospace;color:#ffc857}.first-shift__boss{position:absolute;right:17%;top:37%;width:100px;height:280px}.first-shift__boss i{display:block;margin:auto;width:74px;height:74px;border-radius:50%;background:#d7d2c8}.first-shift__boss b{display:block;width:100%;height:190px;background:#171d22;border:4px solid #777}.first-shift__dialogue{position:absolute;right:8%;top:12%;width:min(480px,84vw);padding:18px;border:1px solid #ffc85755;border-radius:10px;background:#0b0d10ee}.first-shift__dialogue small{color:#ffc857;font:900 9px ui-monospace}.first-shift__dialogue p{font-size:17px;line-height:1.45}.first-shift__dialogue button{min-height:48px;width:100%}.first-shift__chip{position:absolute;right:23%;bottom:27%;width:110px;height:74px;border:2px solid #64e9ff;background:#12343d;color:#dffaff;box-shadow:0 0 36px #64e9ff55}.first-shift__chip span,.first-shift__chip b{display:block}.first-shift__chip span{font:900 26px ui-monospace}.first-shift__extra{position:absolute;right:8%;bottom:7%;min-height:54px}.first-shift__reticle{position:absolute;left:50%;top:50%;width:42px;transform:translate(-50%,-50%);opacity:.38}.first-shift__hint{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);margin:0;color:#7f898f;font:8px ui-monospace;text-align:center}.career-worlds{position:absolute;inset:0;z-index:96;overflow:auto;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 80% 10%,#17303b55,transparent 30%),linear-gradient(180deg,#090b0d,#050608);color:#eef1ed}.career-worlds[hidden]{display:none!important}.career-head{max-width:1500px;margin:0 auto 16px;display:flex;justify-content:space-between;gap:20px}.career-head h2{margin:.05em 0;font-size:clamp(42px,6vw,86px)}.career-head p{max-width:960px;color:#b8c0bd}.career-realm-list,.career-stage{max-width:1500px;margin:0 auto}.career-foundation{padding:14px;border:1px solid #ffffff18;background:#0d1113;border-radius:12px}.career-foundation small{color:#ffc857;font:900 8px ui-monospace}.career-foundation strong{display:block;margin:5px 0;font:900 18px ui-monospace}.career-foundation p{margin:0;color:#9da7a4}.career-realm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.career-realm-grid button{min-height:155px;padding:14px;border:1px solid #ffffff13;border-radius:12px;background:linear-gradient(135deg,#121619,#090b0d);color:#e8edeb;text-align:left}.career-realm-grid button[data-locked="true"]{opacity:.46}.career-realm-grid b{float:left;width:46px;height:46px;display:grid;place-items:center;margin-right:10px;border-radius:9px;background:#1d252a;font:900 20px ui-monospace}.career-realm-grid small,.career-realm-grid strong,.career-realm-grid em,.career-realm-grid i{display:block}.career-realm-grid small{color:#7fa6b4;font:800 8px ui-monospace}.career-realm-grid strong{margin-top:7px;font-size:14px}.career-realm-grid em{margin-top:12px;color:#ffc857;font:800 9px ui-monospace}.career-realm-grid i{margin-top:5px;color:#78817e;font:8px ui-monospace}.career-stage{padding:18px;border:1px solid #ffffff13;border-radius:14px;background:#0b0e10}.career-stage>#careerBack{min-height:44px}.career-stage__head{margin:18px 0}.career-stage__head small{color:#6fb0c3;font:900 8px ui-monospace}.career-stage__head h3{font-size:32px;margin:4px 0}.career-stage__head p{max-width:900px;color:#abb4b1}.career-visual{min-height:240px;display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff10;border-radius:12px;background:#07090b}.career-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.career-controls button{min-height:86px;border:1px solid #ffffff13;border-radius:9px;background:#101416;color:#e6ece9}.career-controls button[data-on="true"]{border-color:#ffc857;background:#211a0e}.career-controls strong,.career-controls small{display:block}.career-controls small{margin-top:7px;color:#7c969d;font:800 8px ui-monospace}.career-result{min-height:48px;padding:10px;border-left:3px solid #6a7e85;background:#0b1113}.career-result[data-ok="true"]{border-color:#6dae83}.cw-belt{width:78%;height:64px;border:8px solid #545c62;background:repeating-linear-gradient(90deg,#15191b 0 46px,#252c30 46px 52px);position:relative}.cw-belt i{position:absolute;top:13px;width:34px;height:30px;background:#8b5a33;border:2px solid #c08855;animation:cwmove 2.5s linear infinite}.cw-belt i:nth-child(2){animation-delay:-.6s}.cw-belt i:nth-child(3){animation-delay:-1.2s}.cw-belt i:nth-child(4){animation-delay:-1.8s}@keyframes cwmove{from{left:-5%}to{left:95%}}.cw-car{position:relative;width:70%;height:200px;display:grid;place-items:center}.cw-car img{width:min(360px,80%);image-rendering:auto;filter:drop-shadow(0 18px 18px #000)}.cw-car span{position:absolute;padding:5px 8px;border:1px solid #64e9ff55;background:#08161a;color:#8feafa;font:800 8px ui-monospace}.cw-car span:nth-of-type(1){left:12%;top:30%}.cw-car span:nth-of-type(2){right:12%;bottom:28%}.cw-fort{display:flex;align-items:center;gap:36px;font:900 14px ui-monospace}.cw-fort i,.cw-fort b,.cw-fort em{padding:25px;border:2px solid #73808a;background:#12171b}.cw-fort b{border-color:#ffc857}.cw-traffic{width:75%;height:160px;position:relative;overflow:hidden}.cw-traffic i{position:absolute;left:-20px;width:12px;height:12px;border-radius:50%;background:#64e9ff;animation:cwtraffic 2s linear infinite}.cw-traffic i:nth-child(2){top:50px;animation-delay:-.6s}.cw-traffic i:nth-child(3){top:100px;animation-delay:-1.2s}.cw-traffic b{position:absolute;right:8%;top:62px}@keyframes cwtraffic{to{left:82%}}.cw-qbot img{width:190px;display:block;margin:auto}.cw-qbot b{display:block;text-align:center;color:#ffc857}.cw-graph{position:relative;width:400px;height:180px}.cw-graph i,.cw-graph b{position:absolute;width:56px;height:56px;border-radius:50%;background:#26343b;border:3px solid #6f8791}.cw-graph b{left:172px;top:62px;background:#5b2e31;border-color:#d66}.cw-graph i:nth-child(1){left:20px;top:20px}.cw-graph i:nth-child(2){left:20px;bottom:20px}.cw-graph i:nth-child(4){right:20px;top:20px}.cw-graph i:nth-child(5){right:20px;bottom:20px}.cw-bits{display:flex;gap:12px}.cw-bits b{width:74px;height:100px;display:grid;place-items:center;border:2px solid #64e9ff;background:#0e252b;color:#bff8ff;font:900 42px ui-monospace}.guild-head__actions{display:flex;gap:8px;align-items:flex-start}.guild-head__actions>#guildWorldsOpen{min-height:48px}
@media(max-width:850px){.career-realm-grid{grid-template-columns:1fr 1fr}.career-controls{grid-template-columns:1fr}.first-shift__crates{left:4%;gap:8px}.first-shift__crates button{width:96px;height:92px}.first-shift__arm{left:40%;transform:scale(.8)}.first-shift__pallet{right:4%;width:160px}.guild-head__actions{flex-direction:column}}
@media(max-width:560px){.career-realm-grid{grid-template-columns:1fr}.first-shift__arm{left:30%;top:34%;transform:scale(.65)}.first-shift__door{right:4%;width:24%}.first-shift__pallet{right:3%;bottom:18%;width:130px}.first-shift__crates{bottom:12%;flex-direction:column}.first-shift__crates button{width:110px;height:62px}.first-shift__hint{display:none}.first-shift__hud h2{font-size:28px}.first-shift__hud p{font-size:12px}.first-shift__dialogue{right:4%;top:18%}}
@media(prefers-reduced-motion:reduce){.cw-belt i,.cw-traffic i{animation:none}.first-shift__world{transition:none}}

/* QueQuest 16.0 · early career signal */
.career-door{position:fixed;left:18px;bottom:76px;z-index:46;min-width:210px;min-height:54px;padding:9px 12px;border:1px solid #64e9ff55;border-radius:10px;background:#071318e8;color:#dffaff;text-align:left;box-shadow:0 10px 32px #0008}.career-door[hidden]{display:none!important}.career-door b,.career-door small{display:block}.career-door b{font:900 12px ui-monospace;letter-spacing:.08em}.career-door small{margin-top:3px;color:#7fb9c6;font:700 7px ui-monospace}.career-door:hover{border-color:#ffc857}.career-door:focus-visible{outline:2px solid #ffc857;outline-offset:2px}@media(max-width:720px){.career-door{left:10px;bottom:70px;min-width:0;max-width:210px;min-height:48px}.career-door small{font-size:6px}}

/* FIRST SHIFT motion: readable even without it; reduced-motion keeps static states. */
.first-shift[data-phase="manual"] .first-shift__arm i{animation:first-arm-twitch 3.7s steps(1,end) infinite}.first-shift[data-phase="manual"] .first-shift__arm b{animation:first-arm-twitch-b 3.7s steps(1,end) infinite}.first-shift[data-phase="boss"] .first-shift__boss{animation:first-boss-enter .35s ease-out both}.first-shift[data-phase="choice"] .first-shift__chip{animation:first-chip-glint 1.35s ease-in-out infinite}
@keyframes first-arm-twitch{0%,84%,100%{margin-top:0}86%{margin-top:-5px}88%{margin-top:2px}90%{margin-top:0}}
@keyframes first-arm-twitch-b{0%,85%,100%{margin-left:0}87%{margin-left:4px}89%{margin-left:-2px}91%{margin-left:0}}
@keyframes first-boss-enter{from{transform:translateX(120px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes first-chip-glint{50%{box-shadow:0 0 50px #64e9ffaa;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.first-shift__arm i,.first-shift__arm b,.first-shift__boss,.first-shift__chip{animation:none!important}}
/* CAREER WORLDS · mechanic-specific feedback */
.career-visual{position:relative}.cw-caption{display:block;margin-top:14px;color:#8da1a8;font:800 9px ui-monospace;letter-spacing:.07em}.cw-car button[data-hotspot]{position:absolute;min-width:82px;min-height:42px;border:1px solid #64e9ff66;border-radius:999px;background:#08161add;color:#bff8ff;font:900 8px ui-monospace;box-shadow:0 0 0 0 #64e9ff00}.cw-car button[data-hotspot="owner"]{left:10%;top:28%}.cw-car button[data-hotspot="gateway"]{right:9%;bottom:24%}.cw-car button[data-hotspot][data-found="true"]{border-color:#ffc857;color:#ffe2a2;box-shadow:0 0 24px #ffc85744}.cw-car [data-hotspot-label]{left:50%;right:auto;top:auto;bottom:2%;transform:translateX(-50%);min-width:min(430px,92%);text-align:center}.cw-raid-pips{display:flex;gap:8px;position:absolute;bottom:20px}.cw-raid-pips i{width:14px;height:14px;border-radius:50%;background:#b85c62;box-shadow:0 0 14px #b85c6255}.career-visual[data-result="pass"] .cw-raid-pips i{background:#69b986;box-shadow:0 0 14px #69b98655}.career-visual[data-result="counterexample"] .cw-raid-pips i:nth-child(2n){background:#ffc857}.cw-traffic strong[data-web-budget]{position:absolute;left:5%;top:12%;color:#ffc857;font:900 12px ui-monospace}.cw-bits b[data-on="true"]{border-color:#ffc857;background:#261f0e;color:#ffe2a2}.career-worlds[data-mechanic="TYCOON"] .career-controls button[data-on="true"]{transform:translateY(-3px)}.career-worlds[data-mechanic="TRAIN"] .career-visual{background:radial-gradient(circle at 50% 50%,#17352c55,#07090b 55%)}.career-worlds[data-mechanic="INVESTIGATE"] .career-controls small{opacity:.45}.career-worlds[data-mechanic="BITS"] .career-controls button{font-family:ui-monospace,monospace}.career-visual[data-result="pass"]{box-shadow:inset 0 0 0 1px #69b98688}.career-visual[data-result="counterexample"]{box-shadow:inset 0 0 0 1px #b85c6288}

/* QueQuest 16.2 — unified first-person warehouse pass. */
.first-shift{position:absolute;inset:0;z-index:120;overflow:hidden;background:#080a0c;color:#eef1ed;perspective:none;--look-x:0;--look-y:0}
.first-shift[hidden]{display:none!important}
.first-shift__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#090b0d;outline:none;cursor:crosshair}
.first-shift__hud{position:absolute;z-index:2;left:clamp(22px,5vw,76px);top:clamp(22px,5vh,48px);right:clamp(22px,5vw,76px);display:flex;justify-content:space-between;gap:30px;align-items:flex-start;pointer-events:none;text-shadow:0 2px 16px #000}
.first-shift__hud small{font:900 10px ui-monospace,monospace;letter-spacing:.13em;color:#d5a65c}
.first-shift__hud h2{margin:7px 0 8px;max-width:780px;font-size:clamp(30px,4vw,58px);line-height:.94}
.first-shift__hud p{margin:0;max-width:720px;color:#d6dbd8;font-size:clamp(13px,1.3vw,18px)}
.first-shift__hud>strong{font:900 clamp(25px,3vw,38px) ui-monospace,monospace;color:#ffc857;white-space:nowrap}
.first-shift__prompt{position:absolute;z-index:3;left:50%;bottom:9%;transform:translateX(-50%);padding:11px 16px;border:1px solid #ffffff22;border-radius:6px;background:#080a0cbd;color:#c9d2cf;font:900 11px ui-monospace,monospace;letter-spacing:.06em;text-align:center;pointer-events:none;backdrop-filter:blur(5px)}
.first-shift__prompt[data-hot="true"]{border-color:#ffc857;background:#21190bd9;color:#ffe7a1;box-shadow:0 0 28px #ffc8572e}
.first-shift__dialogue{position:absolute;z-index:5;left:50%;bottom:9%;width:min(720px,calc(100% - 44px));transform:translateX(-50%);padding:20px 22px;border:1px solid #ffc85773;border-radius:9px;background:#0b0d10f2;box-shadow:0 24px 80px #000c}
.first-shift__dialogue[hidden]{display:none!important}
.first-shift__dialogue small{color:#ffc857;font:900 10px ui-monospace,monospace;letter-spacing:.12em}
.first-shift__dialogue p{margin:8px 0 16px;color:#f1ece2;font-size:18px;line-height:1.5}
.first-shift__dialogue button{width:100%;min-height:48px;border:1px solid #d7a64e;background:#d8a84e;color:#15110a;font-weight:900;letter-spacing:.08em}
.first-shift__choices{display:flex;gap:10px}
.first-shift__choices[hidden]{display:none!important}
.first-shift__choices button{flex:1 1 0;min-height:48px}
.first-shift__choices #firstShiftBossFight{border-color:#e0555f;background:#e0555f;color:#180405}
.first-shift__fight{position:absolute;z-index:5;left:50%;bottom:9%;width:min(560px,calc(100% - 44px));transform:translateX(-50%);padding:16px 20px;border:1px solid #ffc85773;border-radius:9px;background:#0b0d10f2;box-shadow:0 24px 80px #000c;text-align:center}
.first-shift__fight[hidden]{display:none!important}
.first-shift__fight small{color:#ffc857;font:900 10px ui-monospace,monospace;letter-spacing:.1em}
.first-shift__fight-track{margin-top:12px;height:22px;border:1px solid #ffffff2e;border-radius:11px;background:linear-gradient(90deg,#e0555f33,transparent 48%,transparent 52%,#4fae7433);overflow:hidden}
.first-shift__fight-track i{display:block;height:100%;width:50%;background:linear-gradient(90deg,#e0555f,#ffc857,#4fae74);transition:width .12s ease-out;border-radius:11px}
.first-shift__fight[data-hot="true"] small{color:#4fae74}
.first-shift__fight[data-hot="true"] .first-shift__fight-track{box-shadow:0 0 0 2px #4fae74}
.first-shift__control{position:absolute;z-index:3;left:50%;bottom:2.4%;transform:translateX(-50%);margin:0;color:#7f898f;font:9px ui-monospace,monospace;text-align:center;pointer-events:none;white-space:nowrap}
@media(max-width:760px){.first-shift__hud{left:18px;right:18px}.first-shift__hud h2{font-size:30px}.first-shift__hud>strong{font-size:23px}.first-shift__dialogue p{font-size:15px}.first-shift__control{display:none}.first-shift__prompt{bottom:4%;max-width:calc(100% - 24px);white-space:normal}}

/* QueQuest 16.5 — Doom-style renderer. The canvas is a 240-row frame shown
   with hard pixels; its bottom 32 rows (13.33%) are the status bar, so the
   crosshair sits at the middle of the 3D view (43.33%) and the HTML overlays
   stay above the bar. Money lives in the bar now, not in the HUD. */
.first-shift__canvas{image-rendering:crisp-edges;image-rendering:pixelated;cursor:none}
.first-shift__hud>strong{display:none}
.first-shift__hud h2{font-size:clamp(22px,2.6vw,38px)}
.first-shift__hud p{font-size:clamp(12px,1.1vw,16px)}
.first-shift__prompt{bottom:calc(13.34% + 30px)}
.first-shift__dialogue,.first-shift__fight{top:auto;right:auto;bottom:calc(13.34% + 18px)}
.first-shift__dialogue #firstShiftBossNext{margin-top:10px}
.first-shift__control{bottom:calc(13.34% + 8px);text-shadow:0 1px 4px #000}
.first-shift__choices #firstShiftBossFight[data-tone="plain"]{border-color:#d7a64e;background:#d8a84e;color:#15110a}
.first-shift::after{top:43.33%}
.first-shift[data-target="true"]::after{width:30px;height:30px;opacity:1;filter:drop-shadow(0 0 5px #ffc857) drop-shadow(0 0 2px #ffc857)}
@media(max-width:760px){.first-shift__prompt{bottom:calc(13.34% + 10px)}}
/* 16.7 · the dive: while the deep-program runs, nothing of the factory UI
   floats over the frame -- no HUD, crosshair or control hint. */
.first-shift__hud,.first-shift__control{transition:opacity .4s}
.first-shift[data-dive]:not([data-dive=""]):not([data-dive="after"]) .first-shift__hud,
.first-shift[data-dive]:not([data-dive=""]):not([data-dive="after"]) .first-shift__control{opacity:0}
.first-shift[data-dive]:not([data-dive=""]):not([data-dive="after"])::after{opacity:0}

/* First-person warehouse: interaction prompt belongs to the crosshair, not to world-space DOM. */
.game[data-first-person="true"] .action-button{left:50%!important;top:auto!important;bottom:11%!important;transform:translateX(-50%)!important;min-height:44px!important;border:1px solid #ffe7a1!important;border-radius:6px!important;box-shadow:0 0 24px #ffc85726!important}
.game[data-first-person="true"] .action-button::after{display:none!important}
.game[data-first-person="true"] .system-readout{display:none}
.game[data-first-person="true"] .hud{top:92px;max-width:min(560px,60vw)}
.game[data-first-person="true"] .hud__progress{display:none}
.game[data-first-person="true"] #gameMessage{background:#0a0d10c7;color:#d9dfdc;border-left:2px solid #ffc857;padding:7px 10px;font-size:11px;max-width:560px}

/* Terminal is a workstation overlay, not a scrolling web page. */
.machine{z-index:24;top:78px;right:50%;transform:translateX(50%);width:min(1120px,calc(100vw - 72px));height:calc(100dvh - 104px);padding:18px 20px 20px;overflow:hidden;touch-action:none;border:1px solid #64e9ff52;border-radius:12px;background:#081019f7;box-shadow:0 32px 110px #000e;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;column-gap:22px;row-gap:8px;align-content:stretch}
.machine[hidden]{display:none!important}
.machine__rail{display:none}
.machine__header{grid-column:1/-1;grid-row:1;padding:0;min-height:38px}
.machine h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(25px,2.2vw,34px);line-height:.95}
.machine>#machineBrief{grid-column:1;grid-row:3;margin:0;max-width:none;font-size:13px;line-height:1.35}
.machine>#machineClue,.machine>#signalBuilder,.machine>#conditionBuilder,.machine>#queueBuilder,.machine>#functionBuilder,.machine>#programViz{grid-column:1;grid-row:4/6;align-self:start;margin-top:5px}
.machine>#otherMindStatus{display:none!important}
.machine>.code-label{grid-column:2;grid-row:2;margin:4px 0 0;align-self:end}
.machine>.code-editor{grid-column:2;grid-row:3;min-height:78px;height:78px}
.machine>#conceptBridge{grid-column:2;grid-row:4;margin:2px 0 0;align-self:start}
.machine>#codeReality{grid-column:2;grid-row:5;margin:0;align-self:start;max-height:110px;overflow:hidden}
.machine>#codeFeedback{grid-column:2;grid-row:6;min-height:38px;padding:8px 10px;align-self:end}
.machine>#runCode{grid-column:1;grid-row:6;margin:0;min-height:48px;align-self:end}
.machine .signal-builder,.machine .condition-builder,.machine .queue-builder,.machine .function-builder{max-height:100%;overflow:hidden;padding:10px;margin-top:4px}
.machine .signal-builder p,.machine .condition-builder p,.machine .queue-builder p,.machine .function-builder p{font-size:12px!important;line-height:1.3;margin-bottom:8px!important}
.machine .signal-builder button,.machine .condition-builder button,.machine .queue-builder button,.machine .function-builder button{min-height:42px;margin-top:5px;padding:8px 10px}
.machine .program-viz{padding:8px;margin:4px 0 0}
.machine .program-viz__cells{margin:6px 0}
.machine .concept-bridge{font-size:9px}
.machine .code-reality{font-size:10px;line-height:1.3}
@media(max-width:900px){.machine{top:64px;width:calc(100vw - 24px);height:calc(100dvh - 78px);grid-template-columns:1fr 1fr;padding:12px;column-gap:12px}.machine h2{font-size:24px}.machine>#machineBrief{font-size:11px}.machine .condition-builder button,.machine .queue-builder button,.machine .function-builder button{min-height:38px;font-size:10px}}

/* One centered reticle for every first-person warehouse scene. CC0 Kenney asset. */
.game[data-first-person="true"]::after,.first-shift::after{content:"";position:absolute;z-index:119;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);background:url("assets/kenney16/ui/reticle.png") center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 1px 6px #000a);opacity:.84}
.game[data-first-person="true"]::after{z-index:18}.first-shift::after{z-index:4}
/* Print lesson stacks its optional example above the prompt; nothing overlaps or scrolls. */
.machine>#machineClue{grid-column:1;grid-row:4;margin:2px 0 0;align-self:start}
.machine>#signalBuilder{grid-column:1;grid-row:5;margin:0;align-self:start}
.machine>#fragmentPrint strong{display:block;color:#e8f1ed;font:900 11px/1.25 ui-monospace,monospace;letter-spacing:.04em}
.machine>#fragmentPrint span{display:block;margin-top:4px;color:#83a8ae;font-size:9px}
/* 16.2: syntax help is a clue, never a code-building keypad. */
.machine .condition-builder button[hidden],
.machine .queue-builder button[hidden],
.machine .function-builder button[hidden]{display:none!important}
.machine .condition-builder code,
.machine .queue-builder code,
.machine .function-builder code{white-space:normal;font-size:10px;letter-spacing:.06em}

/* 16.3 director pass: terminal owns the monitor; no controls overlap it. */
.game[data-machine-open="true"] .corner-tools,
.game[data-machine-open="true"] .game-brand,
.game[data-machine-open="true"] .hud,
.game[data-machine-open="true"] .wallet,
.game[data-machine-open="true"] .action-button,
.game[data-machine-open="true"]::after{display:none!important}
.game[data-machine-open="true"] .machine{
  top:18px;right:18px;left:18px;transform:none;width:auto;height:calc(100dvh - 36px);
  grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
  padding:16px 18px 18px;column-gap:22px;row-gap:8px
}
.game[data-machine-open="true"] .machine__header{grid-column:1/-1;grid-row:1}
.game[data-machine-open="true"] .machine h2{grid-column:1;grid-row:2}
.game[data-machine-open="true"] .machine>#machineBrief{grid-column:1;grid-row:3}
.game[data-machine-open="true"] .machine>#machineClue,
.game[data-machine-open="true"] .machine>#signalBuilder,
.game[data-machine-open="true"] .machine>#conditionBuilder,
.game[data-machine-open="true"] .machine>#queueBuilder,
.game[data-machine-open="true"] .machine>#functionBuilder,
.game[data-machine-open="true"] .machine>#programViz{grid-column:1;grid-row:4;align-self:start}
.game[data-machine-open="true"] .machine>.code-label{grid-column:2;grid-row:2;align-self:end}
.game[data-machine-open="true"] .machine>.code-editor{grid-column:2;grid-row:3/5;min-height:180px;height:auto;align-self:stretch}
.game[data-machine-open="true"] .machine>.code-editor textarea{height:100%;min-height:150px;resize:none;overflow:auto}
.game[data-machine-open="true"] .machine>#conceptBridge{grid-column:2;grid-row:4;align-self:end;margin:0 0 82px}
.game[data-machine-open="true"] .machine>#codeReality{grid-column:2;grid-row:4;align-self:end;max-height:none;margin:0 0 8px}
.game[data-machine-open="true"] .machine>#runCode{grid-column:1;grid-row:5}
.game[data-machine-open="true"] .machine>#codeFeedback{grid-column:2;grid-row:5}
@media(max-width:900px){
  .game[data-machine-open="true"] .machine{left:8px;right:8px;top:8px;height:calc(100dvh - 16px);grid-template-columns:1fr 1fr;padding:10px;column-gap:10px}
  .game[data-machine-open="true"] .machine>.code-editor{min-height:140px}
  .game[data-machine-open="true"] .machine>.code-editor textarea{min-height:110px}
}

/* 16.3 day breaks are scenes, not little web cards floating over the warehouse. */
.story-beat:not([hidden]){
  position:absolute;inset:0;z-index:130;width:auto;max-height:none;overflow:hidden;
  transform:none;padding:clamp(70px,12vh,150px) clamp(40px,11vw,180px);
  border:0;border-radius:0;background:radial-gradient(circle at 50% 42%,#17202a 0,#090c11 46%,#020304 100%);
  box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  animation:day-cut-in .28s ease-out both
}
.story-beat:not([hidden]) h2{max-width:920px;font-size:clamp(38px,6vw,82px);line-height:.95;margin:8px 0 20px}
.story-beat:not([hidden]) p:not(.ending__eyebrow){max-width:820px;font-size:clamp(16px,1.45vw,22px);line-height:1.55}
.story-beat:not([hidden]) .run-code{width:min(480px,100%);margin-top:18px}
@keyframes day-cut-in{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.story-beat:not([hidden]){padding:64px 24px}.story-beat:not([hidden]) h2{font-size:42px}}

/* 16.3 terminal guidance: clue and the current hint occupy one real column,
   never the same grid cell. Only the next hint is visible, so the whole task
   fits on one monitor without page scrolling. */
.game[data-machine-open="true"] .machine>.machine-guidance{
  grid-column:1;grid-row:4;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;align-self:stretch
}
.game[data-machine-open="true"] .machine-guidance>.machine-clue,
.game[data-machine-open="true"] .machine-guidance>.signal-builder,
.game[data-machine-open="true"] .machine-guidance>.condition-builder,
.game[data-machine-open="true"] .machine-guidance>.queue-builder,
.game[data-machine-open="true"] .machine-guidance>.function-builder,
.game[data-machine-open="true"] .machine-guidance>.program-viz{
  margin:0;max-height:none;flex:0 0 auto
}
.game[data-machine-open="true"] .machine-guidance>.program-viz{min-height:0;overflow:hidden}
.game[data-machine-open="true"] .machine-guidance>.machine-clue{padding:9px 11px}
.game[data-machine-open="true"] .machine-guidance>.machine-clue code{font-size:15px}
.game[data-machine-open="true"] .machine-guidance button{min-height:40px!important}
@media(max-height:760px){
  .game[data-machine-open="true"] .machine{top:8px;bottom:8px;height:auto;padding:10px 12px;row-gap:5px}
  .game[data-machine-open="true"] .machine h2{font-size:23px}
  .game[data-machine-open="true"] .machine>#machineBrief{font-size:11px;line-height:1.2}
  .game[data-machine-open="true"] .machine>.code-editor{min-height:132px}
  .game[data-machine-open="true"] .machine>.code-editor textarea{min-height:108px;font-size:16px;line-height:1.35}
  .game[data-machine-open="true"] .machine #conceptBridge{margin-bottom:68px;font-size:8px}
  .game[data-machine-open="true"] .machine #codeReality{font-size:9px}
  .game[data-machine-open="true"] .machine-guidance{gap:5px}
  .game[data-machine-open="true"] .machine-guidance p{font-size:11px!important;line-height:1.2!important}
  .game[data-machine-open="true"] .machine-guidance button{min-height:36px!important;padding:6px 8px!important}
}

/* QueQuest 16.8 — professions as a class-select screen: the list on the
   left, the picked profession playing its own game on the right (a 320×180
   pixel canvas, career-previews.js). Inside a profession the same canvas is
   the live scene. */
.career-worlds{background:radial-gradient(circle at 78% 18%,#1b3a4744,transparent 34%),radial-gradient(circle at 10% 90%,#3a2a1033,transparent 30%),linear-gradient(180deg,#090b0d,#050608)}
.career-worlds .career-head h2{letter-spacing:.02em}
.career-select{max-width:1500px;margin:14px auto 0;display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px;align-items:start}
.career-select .career-realm-grid{grid-template-columns:1fr;gap:6px;margin:0}
.career-select .career-realm-grid button{min-height:0;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.career-select .career-realm-grid b{float:none;flex:0 0 38px;width:38px;height:38px;margin:0;font-size:17px}
.career-select .career-realm-grid strong{margin-top:3px;font-size:13px}
.career-select .career-realm-grid em{margin-top:4px}
.career-select .career-realm-grid button[data-locked="true"]{opacity:.62}
.career-select .career-realm-grid button[aria-selected="true"]{opacity:1;border-color:#ffc857;background:linear-gradient(135deg,#2a2010,#0d0b08);transform:translateX(4px);box-shadow:0 0 0 1px #ffc85733,0 10px 30px #0008}
.career-select .career-realm-grid button[aria-selected="true"] b{background:#ffc857;color:#16110a}
.career-select .career-realm-grid button:focus-visible{outline:2px solid #64e9ff;outline-offset:2px}
.career-showcase{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);gap:18px;padding:14px;border:1px solid #ffffff14;border-radius:14px;background:#0a0d0f;box-shadow:0 30px 80px #0009}
.career-preview{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:crisp-edges;image-rendering:pixelated;border-radius:8px;background:#050608;box-shadow:inset 0 0 0 1px #ffffff12}
.career-pitch small{display:block;color:#7fa6b4;font:800 9px ui-monospace;letter-spacing:.08em}
.career-pitch h3{margin:6px 0 4px;font-size:clamp(20px,2.2vw,30px);line-height:1.05}
.career-pitch__fantasy{margin:0 0 12px;color:#ffc857;font-size:clamp(15px,1.3vw,19px);font-weight:800}
.career-pitch__cols{display:grid;grid-template-columns:1fr;gap:10px}
.career-pitch__cols b{display:block;color:#8da1a8;font:800 9px ui-monospace;letter-spacing:.1em}
.career-pitch ul{margin:6px 0 0;padding-left:18px;color:#dfe6e3;font-size:14px;line-height:1.45}
.career-pitch p{margin:6px 0 0;color:#c8d1ce;font-size:13px;line-height:1.45}
.career-pitch__deep{color:#7fe9ff!important}
.career-pitch #careerEnter{width:100%;margin-top:14px}
.career-pitch #careerEnter[data-locked="true"]{border-color:#ffffff22;background:#15191c;color:#9aa6a3}
.career-pitch__keys{margin-top:8px!important;color:#6c7773!important;font:700 10px ui-monospace!important}
.career-stage .career-visual{min-height:0;padding:0;background:#050608}
.career-stage .career-visual .career-preview{max-width:980px;margin:0 auto;border-radius:0}
.career-stage #careerRun[aria-disabled="true"]{opacity:.6;cursor:progress}
@media(max-width:1100px){.career-showcase{grid-template-columns:1fr}}
@media(max-width:760px){
  .career-select{grid-template-columns:1fr;gap:12px}
  .career-select .career-showcase{order:-1;padding:10px}
  .career-select .career-realm-grid button[aria-selected="true"]{transform:none}
  .career-worlds .career-foundation{display:none}
}
.career-worlds .career-head>div{min-width:0}.career-worlds .career-head .icon-button{flex:0 0 auto}
@media(max-width:760px){.career-worlds .career-head h2{font-size:clamp(24px,7.4vw,40px);overflow-wrap:anywhere}}
/* 16.9 · the character sheet above the professions: rank, money, moves, branches. */
.career-worlds .career-sheet{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(120px,.6fr) minmax(200px,1fr) minmax(300px,2fr);gap:14px;align-items:start}
.career-sheet small{display:block;color:#8da1a8;font:800 9px ui-monospace;letter-spacing:.1em}
.career-sheet strong{display:block;margin-top:3px;font-size:18px;color:#ffc857}
.career-sheet__me i{display:block;height:5px;margin:6px 0 4px;border-radius:3px;background:#ffffff14;overflow:hidden}
.career-sheet__me i b{display:block;height:100%;background:#ffc857}
.career-sheet__me em{color:#9fb0ab;font:700 10px ui-monospace;font-style:normal}
.career-sheet__moves span,.career-sheet__skills span{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.career-sheet__moves b,.career-sheet__skills b{padding:4px 7px;border:1px solid #ffffff18;border-radius:6px;background:#0b0f11;color:#5f6b68;font:800 10px ui-monospace}
.career-sheet__moves b[data-on="true"]{border-color:#7fe9ff66;color:#7fe9ff}
.career-sheet__skills b{color:#c9d3d0}.career-sheet__skills b i{margin-left:5px;color:#6c7773;font-style:normal}
.career-sheet__skills b:not([data-level="0"]){border-color:#6ee08966}.career-sheet__skills b:not([data-level="0"]) i{color:#6ee089}
@media(max-width:1100px){.career-worlds .career-sheet{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.career-worlds .career-foundation.career-sheet{display:grid;grid-template-columns:1fr 1fr;gap:10px}.career-sheet__skills,.career-sheet__moves{grid-column:1/-1}}
.career-sheet__skills b{font:700 11px system-ui,sans-serif}.career-sheet__skills b[data-picked="true"]{border-color:#ffc857;color:#ffc857}
.career-sheet__about{margin:8px 0 0;color:#c8d1ce;font-size:13px;line-height:1.4}.career-sheet__about strong{display:inline;margin:0;font-size:13px}.career-sheet__about em{color:#8fe6a4;font-style:normal}
.career-sheet__moves b{font:700 11px system-ui,sans-serif}.career-sheet__moves b i{margin-left:5px;font:800 10px ui-monospace;font-style:normal;opacity:.75}

/* QueQuest 17.0 — one warehouse. The chapters after the chip are drawn by the
   same Doom-style hall as Shift 1 (factory-view.js), so their HUD reads like
   Shift 1's: small eyebrow, sentence-case title, one status line. No more
   giant upper-case headline from the 16.2 vector warehouse. */
.game[data-first-person="true"] .hud h1{font-size:clamp(22px,2.6vw,38px);line-height:1;letter-spacing:0;text-transform:none;max-width:780px}
.game[data-first-person="true"] .hud__eyebrow{margin-bottom:7px;font-size:10px;letter-spacing:.13em;color:#d5a65c}
.game[data-first-person="true"] .hud__progress{display:none}
.game[data-first-person="true"] #gameCanvas{cursor:none}
/* 17.1 · GARAGE · НОЧНОЙ ШЛЮЗ: scene left, the player's Python right. */
.career-worlds[data-realm="vehicle"] .career-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);grid-template-areas:"back back" "head head" "visual controls" "visual run" "visual result";column-gap:18px;align-items:start;background:radial-gradient(circle at 70% 0,#2a1d0c40,transparent 40%),#0a0c0e}
.career-worlds[data-realm="vehicle"] #careerBack{grid-area:back;justify-self:start}
.career-worlds[data-realm="vehicle"] .career-stage__head{grid-area:head;margin:12px 0 10px}
.career-worlds[data-realm="vehicle"] .career-stage__head h3{font-size:clamp(26px,3vw,40px);letter-spacing:.02em}
.career-worlds[data-realm="vehicle"] #careerVisual{grid-area:visual;align-self:stretch;display:flex;flex-direction:column;gap:10px;place-items:initial;background:transparent;border:0;overflow:visible}
.career-worlds[data-realm="vehicle"] #careerVisual .career-preview{max-width:none;width:100%;border-radius:10px;box-shadow:0 0 0 1px #ffc85722,0 30px 60px #000c,0 0 80px #ffb44812}
.career-worlds[data-realm="vehicle"] .career-controls{grid-area:controls;display:block;margin:0}
.career-worlds[data-realm="vehicle"] #careerRun{grid-area:run;margin-top:10px;font-size:15px;letter-spacing:.14em;box-shadow:0 0 0 1px #ffc85788,0 10px 30px #ffc85722}
.career-worlds[data-realm="vehicle"] #careerResult{grid-area:result;margin-top:10px;font-size:14px;line-height:1.45}
.career-visual[data-shake="s"] .career-preview{animation:garageShakeS .24s steps(6) 1}
.career-visual[data-shake="l"] .career-preview{animation:garageShakeL .52s steps(12) 1}
@keyframes garageShakeS{0%,100%{transform:translate(0,0)}25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,2px)}}
@keyframes garageShakeL{0%,100%{transform:translate(0,0) rotate(0)}15%{transform:translate(-9px,4px) rotate(-.6deg)}30%{transform:translate(8px,-5px) rotate(.5deg)}45%{transform:translate(-6px,3px)}60%{transform:translate(5px,-2px)}80%{transform:translate(-2px,1px)}}
@media (prefers-reduced-motion: reduce){.career-visual[data-shake] .career-preview{animation:none}}
.garage-sniffer{padding:10px 12px;border:1px solid #64e9ff22;border-radius:10px;background:linear-gradient(180deg,#061014,#040709)}
.garage-sniffer small,.garage-code small,.garage-pick small{display:block;color:#64e9ff;font:900 9px ui-monospace,monospace;letter-spacing:.14em}
.garage-sniffer ol{list-style:none;margin:8px 0 0;padding:0;max-height:168px;overflow:auto;font:12px/1.5 ui-monospace,monospace}
.garage-sniffer li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:3px 6px;border-left:2px solid #2a3a40;animation:garageLogIn .25s ease-out}
.garage-sniffer li code{color:#bfe9f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-sniffer li b{font:900 11px ui-monospace,monospace;letter-spacing:.08em}
.garage-sniffer li i{grid-column:1/-1;color:#6f8287;font-size:10px;font-style:normal}
.garage-sniffer li[data-tone="pass"]{border-color:#6ee089}.garage-sniffer li[data-tone="pass"] b{color:#6ee089}
.garage-sniffer li[data-tone="block"]{border-color:#e8574a}.garage-sniffer li[data-tone="block"] b{color:#e8574a}
.garage-sniffer li[data-tone="bad"]{border-color:#ffc857;background:#2a160c}.garage-sniffer li[data-tone="bad"] b{color:#ffc857}
.garage-sniffer li[data-phase="red"] code{color:#ff9d92}
@keyframes garageLogIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.garage-ui{display:flex;flex-direction:column;gap:12px}
.garage-brief{margin:0;padding:12px 14px;border:1px solid #ffc85733;border-radius:10px;background:#16110a;color:#e9dcc4;font-size:14px;line-height:1.5}
.garage-brief b{display:block;margin-bottom:4px;color:#ffc857;font:900 11px ui-monospace,monospace;letter-spacing:.14em}
.garage-code .code-editor,.garage-pick .code-editor{height:auto;min-height:0;margin-top:6px;border-radius:8px}
.garage-code textarea,.garage-pick textarea{min-height:228px;padding:12px 14px;font:15px/1.55 ui-monospace,monospace;color:#9ff3ff;tab-size:4}
.garage-pick textarea{min-height:104px;color:#ffb4a8}
.garage-code[data-phase="pick"]{opacity:.45}
.garage-code[data-phase="pick"] textarea{cursor:not-allowed}
.garage-pick[data-phase="patch"]{opacity:.55}
.garage-factory{margin:6px 0 10px;padding:10px 12px;border:1px dashed #e8574a66;border-radius:8px;background:#1a0b0b;color:#ffb4a8;font:13px/1.5 ui-monospace,monospace;white-space:pre-wrap}
.garage-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.garage-chips button{min-height:34px;padding:4px 10px;border:1px solid #64e9ff44;border-radius:999px;background:#08161a;color:#9ff3ff;font:700 12px ui-monospace,monospace;cursor:pointer}
.garage-chips button:hover{border-color:#64e9ff;background:#0d232a}
.garage-lint{margin:8px 0 0;min-height:20px;font:12px/1.45 ui-monospace,monospace;color:#9fb0ab}
.garage-lint[data-ok="true"]{color:#6ee089}.garage-lint[data-ok="false"]{color:#ffb15a}
@media(max-width:980px){.career-worlds[data-realm="vehicle"] .career-stage{grid-template-columns:1fr;grid-template-areas:"back" "head" "visual" "controls" "run" "result"}.garage-code textarea{font-size:16px}}
.career-worlds[data-inside="vehicle"] .career-head h2,.career-worlds[data-inside="vehicle"] .career-head p:not(.ending__eyebrow){display:none}
.career-worlds[data-inside="vehicle"] .career-head{margin-bottom:8px}
.garage-code textarea,.garage-pick textarea{white-space:pre;overflow-x:auto;overflow-wrap:normal}

/* QueQuest 17.3 — garage and apartment in first person, engine eras, and the
   dive into programs through a computer screen. */
.fp-world{position:absolute;inset:0;z-index:110;overflow:hidden;background:#050607;color:#eef1ed}
.fp-world[hidden]{display:none!important}
.fp-world__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;cursor:crosshair;image-rendering:pixelated}
.fp-world[data-era="unreal"] .fp-world__canvas,.fp-world[data-era="hl"] .fp-world__canvas{image-rendering:auto}
.fp-world__hud{position:absolute;z-index:2;left:clamp(16px,3vw,40px);top:clamp(14px,3vh,30px);display:flex;flex-direction:column;gap:4px;pointer-events:none;text-shadow:0 2px 10px #000}
.fp-world__hud small{font:900 10px ui-monospace,monospace;letter-spacing:.13em;color:#d5a65c}
.fp-world__hud b{font:900 12px ui-monospace,monospace;letter-spacing:.08em;color:#9fe8ff}
.fp-world__leave{position:absolute;z-index:3;right:clamp(16px,3vw,40px);top:clamp(14px,3vh,30px);min-height:40px;padding:0 14px;border:1px solid #ffffff2a;border-radius:6px;background:#0a0c0ecc;color:#dfe5e2;font:900 11px ui-monospace,monospace;letter-spacing:.06em}
.fp-world{--bar:0%}
/* Speech and the action prompt share one bottom column, so the caption can
   never cover «E · …» (the 17.2 overlap bug); it sits above the era's bar. */
.fp-world__bottom{position:absolute;z-index:3;left:50%;bottom:calc(var(--bar) + 26px);transform:translateX(-50%);width:min(760px,calc(100% - 24px));display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.fp-world__say{margin:0;padding:8px 14px 9px;border-top:2px solid #ffc857;background:#050608d9;color:#f2efe6;font:700 15px/1.35 ui-monospace,monospace;text-align:center;text-shadow:0 1px 0 #000;max-width:100%}
.fp-world__say[hidden]{display:none}
.fp-world__say b{display:block;color:#ffc857;font-size:11px;letter-spacing:.12em}
.fp-world[data-era="wolf"] .fp-world__say,.fp-world[data-era="doom"] .fp-world__say{font-family:'Courier New',monospace;text-transform:uppercase;letter-spacing:.04em}
.fp-world[data-era="hl"] .fp-world__say b,.fp-world[data-era="hl"] .fp-world__say{border-color:#ff9a28}.fp-world[data-era="hl"] .fp-world__say b{color:#ff9a28}
.fp-world__prompt{position:relative;max-width:100%;padding:10px 16px;border:1px solid #ffffff22;border-radius:6px;background:#080a0cbd;color:#c9d2cf;font:900 11px ui-monospace,monospace;letter-spacing:.06em;text-align:center;pointer-events:none;backdrop-filter:blur(4px)}
.fp-world__prompt[data-hot="true"]{border-color:#ffc857;background:#21190bd9;color:#ffe7a1;box-shadow:0 0 28px #ffc8572e}
.fp-world__prompt[hidden]{display:none}
.fp-world__control{position:absolute;z-index:3;left:50%;bottom:1.6%;transform:translateX(-50%);margin:0;color:#7f898f;font:9px ui-monospace,monospace;white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px #000}
.fp-world:not([data-phase="walk"]) .fp-world__control,.fp-world:not([data-phase="walk"]) .fp-world__hud,.fp-world:not([data-phase="walk"]) .fp-world__leave{opacity:0;transition:opacity .3s}
/* The home PC's desktop: DOS → Windows 95 → XP-ish by era. */
.fp-world__menu{position:absolute;z-index:4;left:50%;top:50%;width:min(720px,calc(100% - 32px));max-height:calc(100% - 40px);overflow:auto;transform:translate(-50%,-50%);padding:0 0 14px;border:2px solid #c0c0c0;background:#0000a8;color:#e8e8e8;font:15px/1.45 ui-monospace,monospace;box-shadow:0 30px 90px #000d}
.fp-world__menu[hidden]{display:none}
.fp-world__menu header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:#a8a8a8;color:#000}
.fp-world__menu header button{border:1px solid #000;background:#d4d0c8;color:#000;font:900 10px ui-monospace;padding:4px 8px}
.fp-world__menu ul{list-style:none;margin:10px 0 0;padding:0 12px;display:grid;gap:8px}
.fp-world__menu li button{width:100%;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;padding:10px;border:1px solid #ffffff55;background:transparent;color:inherit;font:inherit;cursor:pointer}
.fp-world__menu li button:hover,.fp-world__menu li button:focus{background:#ffffff1f;outline:none}
.fp-world__menu kbd{grid-row:span 2;display:grid;place-items:center;border:1px solid currentColor;font:900 16px ui-monospace}
.fp-world__menu small{opacity:.8}
.fp-world__menu[data-os="win95"]{background:#008080;border-color:#dfdfdf #404040 #404040 #dfdfdf;font-family:Tahoma,Verdana,sans-serif}
.fp-world__menu[data-os="win95"] header{background:linear-gradient(90deg,#000080,#1084d0);color:#fff}
.fp-world__menu[data-os="xp"]{background:linear-gradient(160deg,#245edb,#3a8cf0 60%,#5fb0ff);border:0;border-radius:10px;overflow:hidden;font-family:system-ui,sans-serif}
.fp-world__menu[data-os="xp"] header{background:linear-gradient(#0a246a,#3a6ea5);color:#fff}
.fp-menu__engine{padding:10px 14px}
.fp-menu__engine p{margin:6px 0}
.fp-menu__learn{color:#ffe7a1}
.fp-menu__ladder{margin:8px 0;padding-left:22px}
.fp-menu__ladder li[data-on="false"]{opacity:.45}
.fp-menu__ladder li[data-on="true"]{color:#9fffb0}
.fp-menu__engine button{margin:8px 0;min-height:42px;width:100%;border:1px solid #ffc857;background:#d8a84e;color:#15110a;font-weight:900}
.fp-menu__engine button[disabled]{opacity:.5}
/* ENGINE UPGRADE moment. */
.fp-world__upgrade{position:absolute;z-index:5;left:50%;top:16%;transform:translateX(-50%);width:min(640px,calc(100% - 32px));padding:16px 20px;border:2px solid #ffc857;border-radius:8px;background:#0b0d10ee;text-align:center;box-shadow:0 0 60px #ffc85744;animation:fpUpgrade .5s ease-out}
.fp-world__upgrade[hidden]{display:none}
.fp-world__upgrade small{display:block;color:#ffc857;font:900 11px ui-monospace;letter-spacing:.2em}
.fp-world__upgrade b{display:block;margin:6px 0;font:900 clamp(18px,3vw,30px) ui-monospace}
.fp-world__upgrade em{color:#9fe8ff;font:900 12px ui-monospace}
.fp-world__upgrade p{margin:8px 0 0;color:#d6dbd8}
@keyframes fpUpgrade{from{transform:translate(-50%,-30px) scale(1.2);opacity:0}to{transform:translateX(-50%);opacity:1}}
@media(max-width:760px){.fp-world__hud b{font-size:10px;max-width:calc(100vw - 150px)}.fp-world__control{display:none}.fp-world__bottom{bottom:calc(var(--bar) + 8px)}.fp-world__say{font-size:13px}}
/* Inside the program: the professions stage, full size, as the world you
   dived into -- neon grid, and CRT scanlines in the early eras. */
.career-surface{min-height:44px;padding:0 16px;border:1px solid #64e9ff;border-radius:6px;background:#08262e;color:#bff8ff;font:900 11px ui-monospace,monospace;letter-spacing:.06em}
.career-surface[hidden]{display:none!important}
.career-worlds[data-dive="true"]{z-index:111;background:radial-gradient(circle at 50% 120%,#3a1d6b88,transparent 55%),repeating-linear-gradient(90deg,#64e9ff10 0 1px,transparent 1px 48px),repeating-linear-gradient(0deg,#64e9ff10 0 1px,transparent 1px 48px),linear-gradient(180deg,#05040d,#0a0618)}
.career-worlds[data-dive="true"] .career-head,.career-worlds[data-dive="true"] #careerBack{display:none!important}
.career-worlds[data-dive="true"] .career-stage{border-color:#64e9ff44;box-shadow:0 0 80px #64e9ff1c,inset 0 0 0 1px #64e9ff22;background:#07061299;animation:diveIn .6s ease-out}
.career-worlds[data-dive="true"][data-realm="vehicle"] .career-stage{grid-template-areas:"surface surface" "head head" "visual controls" "visual run" "visual result"}
.career-worlds[data-dive="true"] #careerSurface{grid-area:surface;justify-self:start}
.career-worlds[data-dive="true"] .career-stage{max-width:1760px}
.career-worlds[data-dive="true"][data-realm="vehicle"] .career-stage{grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr)}
.career-worlds[data-dive="true"]::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2}
body:has(#fpWorld[data-screen="crt"]) .career-worlds[data-dive="true"]::after,body:has(#fpWorld[data-screen="crt-green"]) .career-worlds[data-dive="true"]::after{background:repeating-linear-gradient(0deg,#0000 0 2px,#0000002e 2px 3px),radial-gradient(ellipse at center,#0000 60%,#0007 100%)}
body:has(#fpWorld[data-screen="crt-green"]) .career-worlds[data-dive="true"] .code-editor textarea{color:#7dff9a}
@keyframes diveIn{from{transform:scale(.92);filter:blur(6px) hue-rotate(90deg);opacity:0}to{transform:none;filter:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.fp-world__upgrade,.career-worlds[data-dive="true"] .career-stage{animation:none}}
/* 17.4 · AR headset: the toggle and the holo editor floating in the view.
   The world keeps rendering behind the glass. Look follows the engine era:
   Wolf/Doom green vector, Build amber, Quake/Unreal cyan glass, HL orange. */
.fp-world{--ar:#7dff9a;--ar-bg:#02180acc;--ar-dim:#2d8a45}
.fp-world[data-era="duke"]{--ar:#ffc446;--ar-bg:#1d1100cc;--ar-dim:#8a5d14}
.fp-world[data-era="quake"],.fp-world[data-era="unreal"]{--ar:#78e6ff;--ar-bg:#02121dc2;--ar-dim:#2a6d86}
.fp-world[data-era="hl"]{--ar:#ffa832;--ar-bg:#0c0905c7;--ar-dim:#94591a}
.fp-world__ar{position:absolute;z-index:3;right:clamp(16px,3vw,40px);top:calc(clamp(14px,3vh,30px) + 48px);min-height:40px;padding:0 14px;border:1px solid var(--ar);border-radius:6px;background:var(--ar-bg);color:var(--ar);font:900 11px ui-monospace,monospace;letter-spacing:.06em;cursor:pointer}
.fp-world__ar[hidden]{display:none!important}
.fp-world__ar[aria-pressed="true"]{box-shadow:0 0 22px color-mix(in srgb,var(--ar) 40%,transparent)}
.fp-world:not([data-phase="walk"]) .fp-world__ar{opacity:0;pointer-events:none}
.fp-ar{position:absolute;z-index:4;right:clamp(12px,3vw,40px);top:50%;transform:translateY(-50%);width:min(540px,calc(100% - 24px));max-height:calc(100% - 120px);overflow:auto;box-sizing:border-box;padding:12px 14px 14px;border:1px solid var(--ar);border-radius:4px;background:var(--ar-bg);color:var(--ar);font:13px/1.45 ui-monospace,monospace;box-shadow:0 0 40px color-mix(in srgb,var(--ar) 22%,transparent),inset 0 0 0 1px #ffffff0d;backdrop-filter:blur(2px);animation:arIn .28s ease-out}
.fp-ar[hidden]{display:none!important}
.fp-ar header{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;margin-bottom:8px}
.fp-ar header small{grid-column:1;color:var(--ar-dim);font-weight:900;font-size:10px;letter-spacing:.16em}
.fp-ar header b{grid-column:1;font-size:15px;letter-spacing:.04em}
.fp-ar header button{grid-column:2;grid-row:1/span 2;min-height:36px;padding:0 10px;border:1px solid var(--ar-dim);border-radius:3px;background:transparent;color:var(--ar);font:900 10px ui-monospace,monospace;cursor:pointer}
.fp-ar__brief{margin:0 0 8px;color:#e8efe9;opacity:.9}
.fp-ar .code-editor{min-height:120px;background:#00000066;border-color:var(--ar-dim)}
.fp-ar .code-editor textarea{color:var(--ar);font-size:14px;min-width:0}
.fp-ar__chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.fp-ar__chips button,.fp-ar__actions button{min-height:34px;padding:0 10px;border:1px solid var(--ar-dim);border-radius:3px;background:#00000055;color:var(--ar);font:900 11px ui-monospace,monospace;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.fp-ar__actions{display:flex;flex-wrap:wrap;gap:8px}
.fp-ar__actions .fp-ar__run{border-color:var(--ar);background:color-mix(in srgb,var(--ar) 18%,transparent)}
.fp-ar__lint,.fp-ar__result{margin:6px 0 0;min-height:1em;font-size:12px}
.fp-ar__lint[data-ok="false"],.fp-ar__result[data-ok="false"]{color:#ff8a70}
.fp-ar__result[data-ok="true"]{color:#a8ffb4;font-weight:900}
.fp-ar__cases{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:2px;font-size:11px}
.fp-ar__cases li[data-pass="true"]{color:#a8ffb4}.fp-ar__cases li[data-pass="false"]{color:#ff8a70}
/* While the night plays in the room, the panel folds to a strip. */
.fp-ar[data-mode="watch"]{top:auto;bottom:calc(var(--bar) + 84px);transform:none;max-height:none;background:color-mix(in srgb,var(--ar-bg) 60%,transparent)}
.fp-ar[data-mode="watch"] .fp-ar__brief,.fp-ar[data-mode="watch"] .code-editor,.fp-ar[data-mode="watch"] .fp-ar__chips,.fp-ar[data-mode="watch"] .fp-ar__lint,.fp-ar[data-mode="watch"] .fp-ar__cases,.fp-ar[data-mode="watch"] [data-ar-reset]{display:none}
.fp-world[data-era="wolf"] .fp-ar,.fp-world[data-era="doom"] .fp-ar{border-width:2px;border-radius:0;background-image:repeating-linear-gradient(0deg,#00000033 0 1px,transparent 1px 3px);text-transform:uppercase}
.fp-world[data-era="hl"] .fp-ar{border-radius:2px;border-color:#ffa83299;font-family:system-ui,sans-serif}
.fp-world[data-era="hl"] .fp-ar .code-editor textarea{font-family:ui-monospace,monospace}
.fp-world[data-editor] .fp-world__control{display:none}
@keyframes arIn{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@media(max-width:760px){.fp-ar{left:12px;right:12px;width:auto;top:auto;bottom:calc(var(--bar) + 8px);transform:none;max-height:min(70%,calc(100% - 100px))}.fp-ar__brief{font-size:12px}.fp-world__ar{top:auto;bottom:calc(var(--bar) + 110px)}}
@media(prefers-reduced-motion:reduce){.fp-ar{animation:none}}
