:root {
  --stage-card-radius: 30px;
  --stage-drawer-width: min(44rem, calc(100vw - 2rem));
  --log-drawer-width: min(32rem, calc(100vw - 2rem));
  --stage-serif: "Iowan Old Style", "Palatino Linotype", "Noto Serif SC", "Songti SC", Georgia, serif;
  --stage-mono: "SFMono-Regular", "IBM Plex Mono", "Source Code Pro", Consolas, monospace;
  --stage-surface: rgba(10, 12, 18, 0.82);
  --stage-surface-strong: rgba(16, 18, 25, 0.94);
  --stage-line: rgba(255, 255, 255, 0.14);
  --stage-line-strong: rgba(255, 255, 255, 0.24);
  --stage-muted: rgba(244, 240, 232, 0.58);
  --stage-dim: rgba(244, 240, 232, 0.32);
  --stage-shadow: 0 36px 88px rgba(0, 0, 0, 0.52);
  --stage-raw: #fff0e3;
  --stage-warden: #ffd88f;
  --stage-public: #eef5ff;
  --stage-accent: #ff6a4a;
  --stage-brightness: 1;
  --stage-saturate: 1.02;
  --stage-lift: 0px;
  --ambient-grid-opacity: 0.14;
  --ambient-haze-opacity: 0.24;
  --ambient-haze-blur: 18px;
  --ambient-pulse-duration: 9.4s;
  --ambient-pulse-scale: 1.02;
  --ambient-saturation: 1.02;
  --ambient-contrast: 1.04;
  --ambient-shift-y: 0px;
  --ambient-glow: 0.24;
  --ambient-primary: rgba(255, 193, 92, 0.24);
  --ambient-secondary: rgba(137, 183, 255, 0.18);
  --ambient-tertiary: rgba(255, 106, 74, 0.14);
  --ambient-shadow-glow: rgba(255, 106, 74, 0.12);
  --ambient-flicker-opacity: 0.002;
  --ambient-hue-shift: 0deg;
  --ambient-breath-strength: 0.045;
  --ambient-breath-lift: 5px;
  --ambient-breath-scale-boost: 0.008;
  --ambient-breath-shadow-lift: 12px;
  --ambient-breath-hue-drift: 1.8deg;
  --ambient-breath-brightness-boost: 0.018;
  --ambient-breath-card-glow-boost: 1.06;
  --ambient-breath-line-boost: 1.03;
}

@property --thinking-ring-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

body.stage-redesign {
  overflow: hidden;
  position: relative;
  background: linear-gradient(180deg, #07080c 0%, #040507 100%);
}

body.stage-redesign.virtual-panels-visible {
  overflow: auto;
}

body.stage-redesign::before {
  content: "";
  position: fixed;
  inset: -8%;
  z-index: 0;
  pointer-events: none;
  opacity: calc(var(--ambient-grid-opacity) * 0.52);
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at center, black 0%, transparent 78%);
  mix-blend-mode: screen;
  transition: opacity 1600ms ease;
}

body.stage-redesign::after {
  content: "";
  position: fixed;
  inset: -12%;
  z-index: 12;
  pointer-events: none;
  opacity: clamp(0.14, calc((var(--ambient-haze-opacity) * 0.66) + (var(--ambient-glow) * 0.24)), 0.52);
  background:
    radial-gradient(ellipse at 18% 88%, color-mix(in srgb, var(--ambient-primary) 82%, transparent), transparent 44rem),
    radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--ambient-primary) 72%, transparent), transparent 28rem),
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ambient-secondary) 78%, transparent), transparent 26rem),
    radial-gradient(ellipse at 50% 94%, color-mix(in srgb, var(--ambient-tertiary) 86%, transparent), transparent 52rem),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05), transparent 58%);
  filter:
    blur(var(--ambient-haze-blur))
    saturate(var(--ambient-saturation))
    contrast(var(--ambient-contrast))
    hue-rotate(var(--ambient-hue-shift));
  transform: translate3d(0, var(--ambient-shift-y), 0) scale(var(--ambient-pulse-scale));
  mix-blend-mode: screen;
  animation: stageAmbientBreath var(--ambient-pulse-duration) ease-in-out infinite;
  transition:
    opacity 1800ms ease,
    filter 2200ms ease,
    transform 2200ms ease;
  will-change: opacity, transform;
}

body.stage-redesign .grain,
body.stage-redesign .ambient-lines {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body.stage-redesign .grain {
  z-index: 1;
  opacity: 0.1;
  background-image:
    repeating-radial-gradient(circle at 17% 20%, rgba(255,255,255,0.16), transparent 1px, transparent 7px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 2px);
  mix-blend-mode: overlay;
}

body.stage-redesign .ambient-lines {
  z-index: 1;
  opacity: calc(0.095 + var(--ambient-flicker-opacity));
  background:
    linear-gradient(
      90deg,
      transparent 0 10%,
      rgba(255,255,255,0.06) 10.12%,
      transparent 10.2%,
      transparent 49.8%,
      rgba(255,255,255,0.1) 50%,
      transparent 50.2%,
      transparent 89.8%,
      rgba(255,255,255,0.06) 89.9%,
      transparent 90.1%
    ),
    repeating-linear-gradient(180deg, rgba(255,255,255,0.016) 0 1px, transparent 1px 48px);
  filter: hue-rotate(var(--ambient-hue-shift));
  transform: translate3d(0, var(--ambient-shift-y), 0);
  transition:
    opacity 1800ms ease,
    filter 2200ms ease,
    transform 2200ms ease;
}

body.stage-redesign .stage-app-shell {
  position: relative;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  max-width: none;
  margin: 0;
  padding: clamp(4.25rem, 8vw, 6.5rem) clamp(1.25rem, 4vw, 4rem) clamp(1rem, 2.2vw, 1.6rem);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(1rem, 2vw, 1.8rem);
  filter: brightness(var(--stage-brightness)) saturate(var(--stage-saturate));
  transform: translateY(var(--stage-lift));
  box-shadow:
    0 0 42px var(--ambient-shadow-glow),
    0 0 110px rgba(0, 0, 0, 0.16);
  transition: filter 900ms ease, transform 1100ms ease, box-shadow 1200ms ease;
}

body.stage-redesign.virtual-panels-visible .stage-app-shell {
  height: auto;
  min-height: 100vh;
  grid-template-rows: minmax(0, 1fr) auto auto;
  padding-bottom: 4.75rem;
}

body.stage-redesign .episode-ribbon {
  position: fixed;
  top: 1rem;
  left: clamp(1.25rem, 4vw, 4rem);
  z-index: 34;
  width: min(42rem, 42vw);
  min-height: 2.18rem;
  display: grid;
  grid-template-columns: minmax(8rem, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(0.65rem, 1.2vw, 1rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.stage-redesign .episode-ribbon-copy,
body.stage-redesign .episode-ribbon-beat {
  min-width: 0;
  display: grid;
  gap: 0.22rem;
}

body.stage-redesign .episode-kicker,
body.stage-redesign .episode-ribbon-beat span:first-child {
  font: 800 0.76rem/1.05 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--stage-hot);
}

body.stage-redesign .episode-ribbon strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: 800 clamp(1.12rem, 1.75vw, 1.52rem)/1.05 var(--stage-sans);
  letter-spacing: 0;
  color: var(--stage-ink);
}

body.stage-redesign .episode-ribbon-beat span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1rem;
}

body.stage-redesign .episode-progress {
  display: none;
}

body.stage-redesign .episode-progress span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7fe3bd, #f6bf58 58%, #ff6b4c);
  box-shadow: 0 0 18px rgba(246, 191, 88, 0.36);
  transition: width 850ms cubic-bezier(.2,.8,.2,1);
}

body.stage-redesign .redesign-stage-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.5rem);
  align-items: stretch;
}

@media (min-width: 1101px) {
  body.stage-redesign .redesign-stage-grid .card-warden {
    order: 2;
    transform: none;
  }

  body.stage-redesign .redesign-stage-grid .card-raw {
    order: 1;
    transform: none;
  }

  body.stage-redesign .redesign-stage-grid .card-public {
    order: 3;
  }
}

body.stage-redesign .text-card {
  position: relative;
  min-height: min(58vh, 44rem);
  border: 1px solid var(--stage-line);
  border-radius: var(--stage-card-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.032), rgba(255,255,255,0.008)),
    var(--stage-surface);
  box-shadow: var(--stage-shadow);
  overflow: hidden;
  backdrop-filter: blur(18px);
  transform-style: preserve-3d;
  transition:
    border-color 220ms ease,
    box-shadow 320ms ease,
    transform 420ms ease,
    opacity 220ms ease;
}

body.stage-redesign .text-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(255,255,255,0.012) 18px 19px);
  opacity: 0.22;
  mix-blend-mode: normal;
  pointer-events: none;
}

body.stage-redesign .text-card::after {
  content: none;
}

body.stage-redesign .card-raw {
  --thinking-accent: rgba(255, 112, 78, 0.94);
  --thinking-border: rgba(255, 126, 92, 0.72);
  --thinking-glow: rgba(255, 106, 74, 0.32);
  border-color: color-mix(in srgb, var(--stage-line) 88%, rgba(255, 106, 74, 0.24));
  transform: rotateY(1.15deg);
}

body.stage-redesign .card-warden {
  --thinking-accent: rgba(255, 198, 96, 0.94);
  --thinking-border: rgba(255, 207, 119, 0.7);
  --thinking-glow: rgba(255, 193, 92, 0.28);
  border-color: color-mix(in srgb, var(--stage-line) 88%, rgba(255, 193, 92, 0.22));
}

body.stage-redesign .card-public {
  --thinking-accent: rgba(143, 191, 255, 0.95);
  --thinking-border: rgba(151, 198, 255, 0.72);
  --thinking-glow: rgba(137, 183, 255, 0.3);
  border-color: color-mix(in srgb, var(--stage-line) 88%, rgba(137, 183, 255, 0.24));
  transform: rotateY(-1.15deg);
}

body.stage-redesign .card-raw.is-active {
  box-shadow: var(--stage-shadow);
}

body.stage-redesign .card-warden.is-active {
  box-shadow: var(--stage-shadow);
}

body.stage-redesign .card-public.is-active {
  box-shadow: var(--stage-shadow);
}

body.stage-redesign .text-card.is-thinking {
  border-color: var(--thinking-border);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 0 32px var(--thinking-glow),
    0 38px 106px var(--thinking-glow),
    var(--stage-shadow);
}

body.stage-redesign .card-chrome {
  position: absolute;
  top: 1rem;
  left: 1.1rem;
  right: 1.1rem;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem;
  align-items: start;
}

body.stage-redesign .card-index,
body.stage-redesign .panel-tag,
body.stage-redesign .panel-subtitle,
body.stage-redesign .audience-kicker,
body.stage-redesign .eyebrow,
body.stage-redesign .corner-handle,
body.stage-redesign .metric-label,
body.stage-redesign .drawer-close,
body.stage-redesign .card-footer,
body.stage-redesign .default-policy {
  font-family: var(--stage-mono);
  text-transform: uppercase;
  letter-spacing: 0;
}

body.stage-redesign .card-index,
body.stage-redesign .panel-subtitle {
  font-size: 0.82rem;
  line-height: 1.32;
  color: var(--stage-dim);
}

body.stage-redesign .panel-subtitle {
  letter-spacing: 0;
}

body.stage-redesign .card-head-copy {
  display: grid;
  gap: 0.3rem;
}

body.stage-redesign .panel-tag {
  font-size: 0.84rem;
  letter-spacing: 0;
  color: var(--hot);
}

body.stage-redesign .text-card h2 {
  margin: 0;
  font-size: clamp(1.8rem, 2.4vw, 2.8rem);
  line-height: 0.98;
  letter-spacing: 0;
}

body.stage-redesign .card-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  padding: clamp(4.25rem, 8vw, 5.6rem) clamp(1.35rem, 2.7vw, 2.6rem)
    clamp(2.9rem, 5vw, 3.9rem);
}

body.stage-redesign .text-card.is-thinking .card-inner::before {
  content: "";
  position: absolute;
  inset: 0.45rem;
  z-index: 1;
  border-radius: calc(var(--stage-card-radius) - 0.45rem);
  padding: 1px;
  background:
    conic-gradient(
      from var(--thinking-ring-angle, 0deg),
      transparent 0 18%,
      var(--thinking-accent) 30%,
      rgba(255,255,255,0.86) 36%,
      var(--thinking-accent) 44%,
      transparent 58% 100%
    );
  filter: drop-shadow(0 0 14px var(--thinking-glow));
  opacity: 0.86;
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation:
    stageThinkingTrace 2.8s linear infinite,
    stageThinkingPulse 2.6s ease-in-out infinite;
}

body.stage-redesign .text-output-shell {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}

body.stage-redesign .text-output-shell.is-overflowing {
  align-items: flex-start;
  mask-image: linear-gradient(180deg, transparent 0, black 1.15rem, black calc(100% - 1.25rem), transparent 100%);
}

body.stage-redesign .text-output-shell.is-terminal-shell {
  overflow-y: auto;
  padding-right: 0.3rem;
  mask-image: linear-gradient(180deg, black 0, black calc(100% - 1rem), transparent 100%);
}

body.stage-redesign .text-output-shell.is-terminal-shell::-webkit-scrollbar {
  width: 0.32rem;
}

body.stage-redesign .text-output-shell.is-terminal-shell::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 216, 143, 0.36);
}

body.stage-redesign .card-footer {
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1rem;
  z-index: 3;
  display: flex;
  justify-content: flex-start;
  font-size: 0.58rem;
  color: var(--stage-dim);
}

body.stage-redesign .text-output {
  position: relative;
  width: 100%;
  white-space: pre-wrap;
  max-width: 100%;
  max-height: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-wrap: pretty;
  text-align: left;
  text-shadow: 0 0 22px rgba(255,255,255,0.04);
  will-change: contents, opacity, transform, font-size;
  transform: translateY(0);
}

body.stage-redesign .text-output.large {
  font-family: var(--stage-serif);
  font-size: clamp(1.68rem, 2.28vw, 3.2rem);
  line-height: 1.12;
  letter-spacing: 0;
}

body.stage-redesign .card-raw .text-output.large.is-pending-text {
  font-size: clamp(1.42rem, 2.08vw, 2.85rem);
  line-height: 1.18;
  letter-spacing: 0;
  color: rgba(244, 232, 214, 0.58);
  text-shadow: 0 0 16px rgba(255,255,255,0.025);
  opacity: 0.86;
}

body.stage-redesign .text-output.medium {
  font-family: var(--stage-mono);
  font-size: clamp(0.85rem, 1.12vw, 1.2rem);
  line-height: 1.68;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .warden-panel .text-output.medium,
body.stage-redesign[data-ui-lang="zh"] .warden-panel .code-body {
  font-size: clamp(1.48rem, 2.08vw, 2.34rem);
  line-height: 1.38;
  letter-spacing: 0;
}

body.stage-redesign .raw-body {
  color: var(--stage-raw);
}

body.stage-redesign .raw-body,
body.stage-redesign .public-body {
  font-size: clamp(1.62rem, 2.2vw, 3.05rem);
}

body.stage-redesign .raw-wake-structured-output {
  white-space: pre-wrap;
}

body.stage-redesign .raw-wake-note {
  display: grid;
  gap: 0.22rem;
  width: min(100%, 44rem);
  margin: 0 0 clamp(0.56rem, 0.9vw, 0.96rem);
  font-family: var(--stage-mono);
  font-size: clamp(0.9rem, 0.96vw, 1.12rem);
  line-height: 1.45;
  letter-spacing: 0;
  color: rgba(244, 232, 214, 0.6);
  animation: rawWakeNoticeFade 8s ease forwards;
}

body.stage-redesign .raw-wake-kicker {
  color: rgba(255, 216, 143, 0.72);
  font-weight: 850;
}

body.stage-redesign .raw-wake-echo {
  color: rgba(244, 232, 214, 0.5);
}

body.stage-redesign .raw-wake-body {
  display: block;
}

body.stage-redesign .code-body {
  color: var(--stage-warden);
}

body.stage-redesign .public-body {
  color: var(--stage-public);
}

body.stage-redesign[data-ui-lang="zh"] .code-body {
  font-size: clamp(0.8rem, 1.04vw, 1rem);
  line-height: 1.82;
  letter-spacing: 0;
  text-transform: none;
}

body.stage-redesign[data-ui-lang="zh"] .warden-panel .code-body {
  font-size: clamp(1.48rem, 2.08vw, 2.34rem);
  line-height: 1.38;
  letter-spacing: 0;
}

body.stage-redesign .warden-structured-output {
  white-space: normal;
}

body.stage-redesign .warden-output-line {
  display: block;
  margin: 0.08em 0;
}

body.stage-redesign .warden-output-line.has-label {
  margin-block: 0.2em;
}

body.stage-redesign .warden-output-line.is-empty {
  min-height: 0.52em;
}

body.stage-redesign .warden-output-label {
  color: #ff7356;
  font-weight: 950;
  text-shadow:
    0 0 18px rgba(255, 106, 74, 0.28),
    0 0 2px rgba(255, 255, 255, 0.12);
}

body.stage-redesign .warden-output-value {
  color: color-mix(in srgb, var(--stage-warden) 82%, #fff 18%);
  font-weight: 620;
}

body.stage-redesign[data-ui-lang="en"] .warden-output-value {
  font-family: var(--stage-serif);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

body.stage-redesign .warden-output-line.is-directive {
  color: #ffe6bb;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .text-output.is-terminal-text {
  padding-bottom: 1.2rem;
}

body.stage-redesign .scan-beam {
  position: absolute;
  top: -8%;
  bottom: -8%;
  left: 50%;
  width: 4px;
  z-index: 4;
  opacity: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.95), transparent);
  box-shadow:
    0 0 10px rgba(255,255,255,0.92),
    0 0 35px rgba(198,161,255,0.55),
    0 0 80px rgba(255,106,74,0.25);
  transform: translateX(-50%);
  pointer-events: none;
}

body.stage-redesign .text-card.is-scanning .scan-beam {
  opacity: 1;
  animation: stageBeamSweep 960ms cubic-bezier(.14,.82,.08,1) forwards;
}

body.stage-redesign .text-card.is-scrambling .text-output {
  filter: saturate(1.08) brightness(1.04);
}

body.stage-redesign .text-card.is-redacting .text-output {
  animation: stageRedactionPulse 580ms ease;
}

@keyframes rawWakeNoticeFade {
  0% {
    opacity: 0.9;
    filter: blur(0);
  }
  58% {
    opacity: 0.58;
  }
  100% {
    opacity: 0.4;
    filter: blur(0.2px);
  }
}

body.stage-redesign .text-card.shake {
  animation: stageCardShake 340ms ease;
}

body.stage-redesign .text-card.blacked-out .card-inner::after {
  content: "AUTHORIZED REDACTION";
  position: absolute;
  inset: 14% 10% 22%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  border: 1px solid rgba(255, 106, 74, 0.26);
  background:
    linear-gradient(180deg, rgba(0,0,0,0.84), rgba(0,0,0,0.96)),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,0.02) 0 2px,
      rgba(0,0,0,0.2) 2px 7px
    );
  color: rgba(255, 106, 74, 0.78);
  font: 700 0.82rem/1 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02), 0 0 32px rgba(255, 106, 74, 0.14);
}

body.stage-redesign .text-card.blacked-out .text-output {
  opacity: 0.04;
  filter: blur(3px);
}

body.stage-redesign .theater-audience-panel {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(16rem, 0.9fr) auto minmax(42rem, 1.7fr);
  gap: 1.2rem;
  align-items: center;
  min-height: 10.6rem;
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--stage-line);
  border-radius: calc(var(--stage-card-radius) - 4px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)),
    rgba(11, 13, 19, 0.86);
  box-shadow: 0 26px 70px rgba(0,0,0,0.36);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

body.stage-redesign .theater-audience-panel.active {
  border-color: rgba(255, 106, 74, 0.62);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 0 36px rgba(255, 106, 74, 0.24),
    0 30px 92px rgba(255, 106, 74, 0.16),
    0 26px 70px rgba(0,0,0,0.36);
}

body.stage-redesign .theater-audience-panel > * {
  position: relative;
  z-index: 1;
}

body.stage-redesign .theater-audience-panel.active::before {
  content: "";
  position: absolute;
  inset: 0.35rem;
  z-index: 0;
  border-radius: calc(var(--stage-card-radius) - 0.75rem);
  padding: 1px;
  background:
    conic-gradient(
      from var(--thinking-ring-angle, 0deg),
      transparent 0 14%,
      rgba(255, 106, 74, 0.92) 26%,
      rgba(255, 213, 136, 0.92) 36%,
      rgba(255, 106, 74, 0.78) 48%,
      transparent 62% 100%
    );
  filter: drop-shadow(0 0 18px rgba(255, 106, 74, 0.32));
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation:
    stageThinkingTrace 2.45s linear infinite,
    stageAudienceDecisionPulse 2.2s ease-in-out infinite;
}

body.stage-redesign .theater-audience-panel.active .decision-grid {
  margin: -0.22rem;
  padding: 0.22rem;
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 106, 74, 0.11), transparent 68%),
    rgba(255, 106, 74, 0.035);
  box-shadow:
    inset 0 0 0 1px rgba(255, 106, 74, 0.13),
    0 0 34px rgba(255, 106, 74, 0.12);
}

body.stage-redesign .theater-audience-panel.idle {
  opacity: 0.86;
}

body.stage-redesign .audience-meta {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

body.stage-redesign .audience-request-title {
  margin: 0;
  font-size: 2rem;
  line-height: 1.08;
  letter-spacing: 0;
}

body.stage-redesign .request-copy {
  margin: 0;
  color: var(--stage-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

body.stage-redesign .countdown-wrap {
  display: grid;
  place-items: center;
  align-self: stretch;
  min-width: 10.5rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(6, 8, 12, 0.52);
}

body.stage-redesign .countdown-label {
  font-size: 0.78rem;
  color: var(--stage-dim);
  max-width: 9.4rem;
  padding-inline: 0.65rem;
  text-align: center;
  line-height: 1.35;
}

body.stage-redesign .countdown {
  font-family: var(--stage-mono);
  font-size: clamp(2rem, 2.4vw, 3.2rem);
  letter-spacing: 0;
}

body.stage-redesign .countdown.urgent {
  color: var(--hot);
  text-shadow: 0 0 22px rgba(255, 106, 74, 0.34);
}

body.stage-redesign .decision-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}

body.stage-redesign .option-button {
  min-height: 5.75rem;
  padding: 1.08rem 1.15rem;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0.62rem;
  align-content: start;
  justify-items: start;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 1.1rem;
  background: rgba(255,255,255,0.03);
  color: var(--text);
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

body.stage-redesign .option-button:hover,
body.stage-redesign .option-button:focus-visible {
  border-color: rgba(255, 106, 74, 0.58);
  background: rgba(255, 106, 74, 0.08);
  transform: translateY(-1px);
}

body.stage-redesign .option-button.is-selected {
  border-color: rgba(255, 216, 143, 0.8);
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 216, 143, 0.16), transparent 54%),
    rgba(255, 106, 74, 0.11);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.1),
    0 0 24px rgba(255, 181, 96, 0.2);
}

body.stage-redesign .option-button.is-default-selected {
  border-color: rgba(255, 106, 74, 0.78);
  box-shadow:
    inset 0 0 0 1px rgba(255, 216, 143, 0.16),
    0 0 28px rgba(255, 106, 74, 0.24);
}

body.stage-redesign .option-key {
  font: 800 0.9rem/1 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--hot);
}

body.stage-redesign .option-text {
  font-size: clamp(1.08rem, 1.05vw, 1.28rem);
  line-height: 1.36;
  font-weight: 650;
  color: var(--text);
  text-align: left;
}

body.stage-redesign .default-policy {
  grid-column: 1 / -1;
  margin-top: -0.15rem;
  font-size: 0.78rem;
  color: var(--stage-dim);
}

body.stage-redesign .virtual-panels-dock {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.4rem);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-0.9rem);
  transition:
    max-height 360ms ease,
    opacity 260ms ease,
    transform 260ms ease,
    margin-top 260ms ease;
}

body.stage-redesign.virtual-panels-visible .virtual-panels-dock {
  max-height: 48rem;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  margin-top: -0.15rem;
}

body.stage-redesign .virtual-panel-card {
  min-height: 15.5rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: calc(var(--stage-card-radius) - 6px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.018)),
    rgba(8, 10, 15, 0.86);
  box-shadow: 0 24px 62px rgba(0,0,0,0.3);
  backdrop-filter: blur(18px);
  display: grid;
  align-content: start;
  gap: 0.95rem;
  overflow: hidden;
  position: relative;
}

body.stage-redesign .virtual-trace-dock {
  --trace-edge: clamp(0.9rem, 2vw, 1.35rem);
  position: relative;
  z-index: 38;
  display: grid;
  width: 100%;
  min-height: 15.5rem;
  align-self: stretch;
  justify-items: stretch;
  pointer-events: none;
}

body.stage-redesign .virtual-trace-dock.is-collapsed {
  position: fixed;
  right: var(--trace-edge);
  bottom: var(--trace-edge);
  width: auto;
  height: auto;
  justify-items: end;
}

body.stage-redesign .virtual-trace-tab,
body.stage-redesign .virtual-trace-panel {
  pointer-events: auto;
}

body.stage-redesign .virtual-trace-tab {
  min-width: 10.5rem;
  min-height: 3.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 193, 92, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 193, 92, 0.18), rgba(255,255,255,0.045)),
    rgba(8, 10, 15, 0.92);
  color: var(--text);
  box-shadow: 0 18px 54px rgba(0,0,0,0.38);
  backdrop-filter: blur(18px);
}

body.stage-redesign .virtual-trace-tab span {
  font: 700 0.78rem/1 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .virtual-trace-tab strong {
  min-width: 1.85rem;
  height: 1.85rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255, 230, 184, 0.96);
  font: 800 0.78rem/1 var(--stage-mono);
}

body.stage-redesign .virtual-trace-dock.has-slips.is-collapsed .virtual-trace-tab {
  border-color: rgba(255, 193, 92, 0.58);
  box-shadow:
    0 18px 54px rgba(0,0,0,0.38),
    0 0 28px rgba(255, 193, 92, 0.18);
}

body.stage-redesign .virtual-trace-panel {
  display: grid;
  width: 100%;
  height: 100%;
  min-width: min(18rem, calc(100vw - 2rem));
  min-height: 15.5rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: calc(var(--stage-card-radius) - 6px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.018)),
    rgba(8, 10, 15, 0.94);
  box-shadow: 0 28px 82px rgba(0,0,0,0.46);
  backdrop-filter: blur(20px);
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 0.8rem;
  overflow: hidden;
  resize: both;
}

body.stage-redesign .virtual-trace-dock:not(.is-collapsed) .virtual-trace-tab {
  display: none;
}

body.stage-redesign .virtual-trace-dock.is-collapsed .virtual-trace-panel {
  display: none;
}

body.stage-redesign .virtual-trace-dock.is-maximized {
  position: fixed;
  --trace-max-edge: clamp(0.75rem, 2vw, 1.25rem);
  inset: auto;
  top: var(--trace-max-edge);
  left: var(--trace-max-edge);
  right: auto;
  bottom: auto;
  width: calc(100vw - (var(--trace-max-edge) * 2));
  height: calc(100vh - (var(--trace-max-edge) * 2));
  justify-items: stretch;
}

body.stage-redesign .virtual-trace-dock.is-maximized .virtual-trace-panel {
  width: 100%;
  height: 100%;
  resize: none;
}

body.stage-redesign .virtual-trace-head {
  padding-right: 0.2rem;
}

body.stage-redesign .virtual-trace-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

body.stage-redesign .virtual-trace-panel .virtual-panel-copy {
  margin: 0;
}

body.stage-redesign .virtual-trace-panel .virtual-printer-list {
  max-height: none;
  min-height: 0;
  overflow: auto;
}

body.stage-redesign .virtual-panel-card-light {
  --virtual-room-primary: rgba(255, 193, 92, 0.68);
  --virtual-room-secondary: rgba(137, 183, 255, 0.58);
  --virtual-room-field: color-mix(in srgb, var(--virtual-room-primary) 78%, var(--virtual-room-secondary) 22%);
  --virtual-room-edge: color-mix(in srgb, var(--virtual-room-primary) 46%, var(--virtual-room-secondary) 54%);
  --virtual-room-dark: rgba(5, 7, 11, 0.76);
  --virtual-room-stage-brightness: 1;
  --virtual-room-glow: 0.22;
  --virtual-room-pulse-duration: 6.2s;
  --virtual-room-hue-shift: 0deg;
  --virtual-room-breath-strength: 0.08;
  --virtual-room-brightness-ratio: 0.82;
  --virtual-room-color-wash: 0.48;
  --virtual-room-flicker-opacity: 0.18;
  --virtual-room-flicker-duration: 4.8s;
  --virtual-room-sweep-duration: 11.2s;
  background:
    radial-gradient(ellipse at 24% 18%, var(--virtual-room-field), transparent 20rem),
    radial-gradient(ellipse at 88% 18%, color-mix(in srgb, var(--virtual-room-edge) 66%, transparent), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.016)),
    linear-gradient(150deg, var(--virtual-room-dark), rgba(8, 10, 15, 0.9)),
    rgba(8, 10, 15, 0.9);
  border-color: color-mix(in srgb, var(--virtual-room-field) 24%, rgba(255,255,255,0.08));
  box-shadow:
    0 24px 62px rgba(0,0,0,0.3),
    0 0 calc(34px + var(--virtual-room-glow) * 58px) color-mix(in srgb, var(--virtual-room-field) 62%, transparent),
    inset 0 0 calc(22px + var(--virtual-room-glow) * 36px) color-mix(in srgb, var(--virtual-room-field) 10%, transparent);
}

body.stage-redesign .virtual-panel-card-light::before,
body.stage-redesign .virtual-panel-card-light::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

body.stage-redesign .virtual-panel-card-light::before {
  background:
    radial-gradient(ellipse at 28% 18%, var(--virtual-room-field), transparent 18rem),
    radial-gradient(ellipse at 78% 20%, color-mix(in srgb, var(--virtual-room-edge) 54%, transparent), transparent 18rem),
    linear-gradient(180deg, color-mix(in srgb, var(--virtual-room-field) 16%, transparent), transparent 70%);
  opacity: calc(0.34 + var(--virtual-room-glow) * 0.32);
  filter:
    brightness(calc(var(--virtual-room-stage-brightness) + var(--virtual-room-brightness-ratio) * 0.1))
    saturate(calc(1.1 + var(--virtual-room-breath-strength) * 2.8 + var(--virtual-room-glow) * 0.46))
    hue-rotate(var(--virtual-room-hue-shift))
    blur(16px);
  mix-blend-mode: screen;
  animation: virtualLightRoomBreath var(--virtual-room-pulse-duration) ease-in-out infinite;
}

body.stage-redesign .virtual-panel-card-light::after {
  inset: 1rem;
  border-radius: calc(var(--stage-card-radius) - 12px);
  border: 1px solid color-mix(in srgb, var(--virtual-room-field) 16%, rgba(255,255,255,0.04));
  background:
    linear-gradient(104deg, transparent 0 36%, color-mix(in srgb, var(--virtual-room-field) 24%, transparent) 48%, transparent 62% 100%),
    radial-gradient(ellipse at 52% 44%, color-mix(in srgb, var(--virtual-room-field) 24%, transparent), transparent 48%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.02),
    inset 0 0 calc(20px + var(--virtual-room-glow) * 34px) color-mix(in srgb, var(--virtual-room-field) 38%, transparent);
  mix-blend-mode: screen;
  opacity: var(--virtual-room-flicker-opacity);
  animation: virtualLightRoomFlicker var(--virtual-room-flicker-duration) steps(7, end) infinite;
}

body.stage-redesign .virtual-panel-head {
  display: grid;
  gap: 0.3rem;
  position: relative;
  z-index: 1;
}

body.stage-redesign .virtual-panel-head h3,
body.stage-redesign .virtual-panel-headline h3 {
  margin: 0;
  font-size: 1.34rem;
  letter-spacing: 0;
}

body.stage-redesign .virtual-panel-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

body.stage-redesign .virtual-panel-count {
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  display: inline-grid;
  place-items: center;
  font: 700 0.9rem/1 var(--stage-mono);
}

body.stage-redesign .virtual-panel-track {
  margin-top: 0.15rem;
  position: relative;
  z-index: 1;
}

body.stage-redesign .virtual-panel-list,
body.stage-redesign .virtual-panel-meter {
  display: grid;
  gap: 0.75rem;
  position: relative;
  z-index: 1;
}

body.stage-redesign .virtual-panel-list div,
body.stage-redesign .virtual-panel-meter {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

body.stage-redesign .virtual-panel-list span,
body.stage-redesign .virtual-panel-meter span,
body.stage-redesign .virtual-panel-copy {
  color: var(--stage-muted);
  font-size: 1rem;
  line-height: 1.5;
}

body.stage-redesign .virtual-panel-list strong,
body.stage-redesign .virtual-panel-meter strong {
  color: var(--text);
  font-family: var(--stage-mono);
  font-size: 1rem;
}

body.stage-redesign .virtual-panel-copy {
  margin: -0.2rem 0 0;
  line-height: 1.5;
}

body.stage-redesign .virtual-light-room-preview {
  position: relative;
  z-index: 1;
  isolation: isolate;
  min-height: 7.35rem;
  padding: 1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(ellipse at 32% 18%, color-mix(in srgb, var(--virtual-room-field) 92%, rgba(255,255,255,0.08)), transparent 11rem),
    radial-gradient(ellipse at 82% 18%, color-mix(in srgb, var(--virtual-room-edge) 50%, transparent), transparent 12rem),
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.022)),
    linear-gradient(135deg, color-mix(in srgb, var(--virtual-room-field) 18%, transparent), rgba(5, 7, 10, 0.62) 66%),
    rgba(5, 7, 10, 0.54);
  filter:
    brightness(calc(var(--virtual-room-stage-brightness) + var(--virtual-room-brightness-ratio) * 0.08))
    saturate(calc(1.14 + var(--virtual-room-glow) * 0.72))
    hue-rotate(var(--virtual-room-hue-shift));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    inset 0 -24px 42px rgba(0,0,0,0.28),
    inset 0 0 calc(28px + var(--virtual-room-glow) * 42px) color-mix(in srgb, var(--virtual-room-field) 46%, transparent),
    0 0 calc(20px + var(--virtual-room-glow) * 34px) color-mix(in srgb, var(--virtual-room-field) 48%, transparent);
  overflow: hidden;
  animation: virtualLightRoomShellBreath var(--virtual-room-pulse-duration) ease-in-out infinite;
}

body.stage-redesign .virtual-light-room-preview::before {
  content: '';
  position: absolute;
  inset: 9% 12%;
  border-radius: 1rem;
  background:
    radial-gradient(ellipse at 46% 20%, rgba(255,255,255,0.28), rgba(255,255,255,0.07) 34%, transparent 66%),
    linear-gradient(110deg, color-mix(in srgb, var(--virtual-room-field) 62%, transparent), color-mix(in srgb, var(--virtual-room-edge) 28%, transparent) 58%, transparent),
    linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.014));
  filter:
    brightness(calc(var(--virtual-room-stage-brightness) + 0.12))
    hue-rotate(var(--virtual-room-hue-shift))
    saturate(calc(1.1 + var(--virtual-room-breath-strength) * 3.2));
  box-shadow:
    0 0 calc(34px + var(--virtual-room-glow) * 38px) color-mix(in srgb, var(--virtual-room-field) 64%, transparent),
    inset 0 0 calc(32px + var(--virtual-room-glow) * 32px) rgba(255,255,255,0.14);
  mix-blend-mode: screen;
  opacity: calc(0.5 + var(--virtual-room-color-wash) * 0.38);
  animation: virtualLightRoomBreath var(--virtual-room-pulse-duration) ease-in-out infinite;
}

body.stage-redesign .virtual-light-room-preview::after {
  content: '';
  position: absolute;
  inset: -28%;
  z-index: 1;
  background:
    linear-gradient(100deg, transparent 0 38%, color-mix(in srgb, var(--virtual-room-field) 24%, rgba(255,255,255,0.16)) 48%, transparent 60% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 14px),
    radial-gradient(ellipse at 18% 72%, color-mix(in srgb, var(--virtual-room-field) 20%, transparent), transparent 42%);
  filter: blur(0.2px) hue-rotate(var(--virtual-room-hue-shift));
  mix-blend-mode: screen;
  opacity: var(--virtual-room-flicker-opacity);
  transform: translateX(-8%) rotate(-2deg);
  animation:
    virtualLightRoomFlicker var(--virtual-room-flicker-duration) steps(7, end) infinite,
    virtualLightRoomSweep var(--virtual-room-sweep-duration) ease-in-out infinite;
}

body.stage-redesign .virtual-light-room-stage {
  position: absolute;
  inset: auto 1rem 1rem 1rem;
  display: grid;
  gap: 0.28rem;
  z-index: 2;
}

body.stage-redesign .virtual-light-room-badge {
  width: fit-content;
  max-width: 100%;
  padding: 0.26rem 0.55rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--virtual-room-field) 36%, rgba(255,255,255,0.12));
  background: color-mix(in srgb, rgba(8, 11, 16, 0.68) 76%, var(--virtual-room-field) 24%);
  color: rgba(255, 244, 224, 0.92);
  font: 700 0.76rem/1 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: 0 0 calc(10px + var(--virtual-room-glow) * 16px) color-mix(in srgb, var(--virtual-room-field) 58%, transparent);
}

body.stage-redesign .virtual-light-room-stage strong {
  max-width: 100%;
  font-size: 1.04rem;
  line-height: 1.35;
  letter-spacing: 0;
  text-shadow:
    0 0 calc(12px + var(--virtual-room-glow) * 20px) color-mix(in srgb, var(--virtual-room-field) 72%, transparent),
    0 2px 16px rgba(0,0,0,0.72);
}

body.stage-redesign .virtual-panel-card-light .venue-fill {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--virtual-room-field) 70%, rgba(255,255,255,0.18)), var(--virtual-room-field), var(--virtual-room-edge));
  box-shadow: 0 0 calc(12px + var(--virtual-room-glow) * 22px) color-mix(in srgb, var(--virtual-room-field) 62%, transparent);
}

body.stage-redesign .virtual-printer-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
  max-height: clamp(13rem, 28vh, 21rem);
  overflow-y: scroll;
  padding-right: 0.35rem;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 193, 92, 0.5) rgba(255,255,255,0.06);
}

body.stage-redesign .virtual-printer-list::-webkit-scrollbar {
  width: 0.6rem;
}

body.stage-redesign .virtual-printer-list::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.05);
  border-radius: 999px;
}

body.stage-redesign .virtual-printer-list::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(255, 193, 92, 0.72), rgba(255, 106, 74, 0.58));
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.18);
}

body.stage-redesign .virtual-printer-item {
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
  display: grid;
  gap: 0.4rem;
}

body.stage-redesign .virtual-printer-item.is-empty {
  place-items: center;
  color: var(--stage-dim);
  text-align: center;
}

body.stage-redesign .virtual-printer-item strong {
  font-size: 1rem;
  letter-spacing: 0;
}

body.stage-redesign .virtual-printer-item span,
body.stage-redesign .virtual-printer-item time {
  color: var(--stage-muted);
  font: 400 0.9rem/1.5 var(--stage-mono);
}

body.stage-redesign .virtual-printer-body,
body.stage-redesign .virtual-printer-narrative {
  display: grid;
  gap: 0.32rem;
}

body.stage-redesign .virtual-printer-body {
  color: var(--stage-muted);
}

body.stage-redesign .virtual-printer-narrative {
  color: rgba(255, 216, 143, 0.9);
}

body.stage-redesign .virtual-printer-context-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
  align-items: center;
}

body.stage-redesign .virtual-printer-item .virtual-printer-context-chip {
  padding: 0.18rem 0.42rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
  color: rgba(244, 240, 232, 0.72);
  font: 700 0.78rem/1.2 var(--stage-mono);
}

body.stage-redesign .virtual-printer-item .virtual-printer-context-chip.is-cycle {
  border-color: rgba(255, 106, 74, 0.26);
  background: rgba(255, 106, 74, 0.09);
  color: #ffb39f;
}

body.stage-redesign .virtual-printer-field-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.48rem;
  align-items: baseline;
}

body.stage-redesign .virtual-printer-item .virtual-printer-field-label {
  color: #ff7356;
  font: 900 0.84rem/1.48 var(--stage-mono);
  text-shadow: 0 0 12px rgba(255, 106, 74, 0.22);
}

body.stage-redesign .virtual-printer-item .virtual-printer-field-value,
body.stage-redesign .virtual-printer-item .virtual-printer-text-line {
  color: rgba(244, 240, 232, 0.72);
  font: 400 0.88rem/1.55 var(--stage-mono);
}

body.stage-redesign .virtual-printer-item .virtual-printer-narrative .virtual-printer-field-value,
body.stage-redesign .virtual-printer-item .virtual-printer-narrative .virtual-printer-text-line {
  color: rgba(255, 216, 143, 0.86);
}

body.stage-redesign .virtual-printer-trace {
  display: grid;
  gap: 0.35rem;
}

body.stage-redesign .virtual-printer-trace pre {
  margin: 0;
  padding: 0.6rem 0.7rem;
  border-radius: 0.8rem;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(244, 240, 232, 0.7);
  font: 400 0.82rem/1.55 var(--stage-mono);
  white-space: pre-wrap;
}

body.stage-redesign .corner-handle {
  position: fixed;
  z-index: 35;
  min-height: 2rem;
  padding: 0.35rem 0.8rem;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 999px;
  background: rgba(5, 7, 12, 0.52);
  color: var(--stage-muted);
  backdrop-filter: blur(16px);
  transition:
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

body.stage-redesign .corner-handle:hover,
body.stage-redesign .corner-handle:focus-visible,
body.stage-redesign .corner-handle[aria-expanded="true"] {
  border-color: rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.08);
  color: var(--text);
  transform: translateY(-1px);
}

body.stage-redesign .corner-handle:disabled {
  cursor: default;
  opacity: 0.78;
  transform: none;
}

body.stage-redesign .top-command-stack {
  position: fixed;
  top: 1rem;
  right: 1rem;
  left: auto;
  z-index: 35;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.55rem;
  max-width: calc(100vw - 2rem);
}

body.stage-redesign .top-command-stack > *,
body.stage-redesign .top-command-stack .corner-handle,
body.stage-redesign .top-command-stack .lang-switch-corner,
body.stage-redesign .top-command-stack .lang-switch-corner .lang-button {
  position: static;
}

body.stage-redesign .runtime-handle {
  min-height: 2.18rem;
  padding: 0.42rem 0.84rem;
  font: 700 0.78rem/1 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .runtime-handle-primary {
  border-color: rgba(255, 106, 74, 0.34);
  background: rgba(255, 106, 74, 0.12);
  color: rgba(255, 232, 224, 0.96);
}

body.stage-redesign .transport-toggle-handle[data-transport-state="running"] {
  border-color: rgba(255, 193, 92, 0.34);
  background: rgba(255, 193, 92, 0.14);
  color: rgba(255, 236, 196, 0.98);
}

body.stage-redesign .runtime-handle-sync {
  border-color: rgba(255, 193, 92, 0.28);
  background: rgba(255, 193, 92, 0.1);
  color: rgba(255, 228, 176, 0.96);
}

body.stage-redesign .handle-workbench,
body.stage-redesign .handle-config {
  top: auto;
  right: auto;
  left: auto;
}

body.stage-redesign .lang-switch-corner {
  padding: 0.18rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(5, 7, 12, 0.52);
  backdrop-filter: blur(16px);
}

body.stage-redesign .lang-switch-corner .lang-button {
  min-width: 3.4rem;
  padding: 0.45rem 0.72rem;
}

body.stage-redesign .handle-log { right: 1rem; bottom: 1rem; }

body.stage-redesign .handle-status {
  color: var(--stage-dim);
  font-size: 0.76rem;
}

body.stage-redesign .stage-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 34;
  width: var(--stage-drawer-width);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)),
    rgba(8, 10, 15, 0.94);
  border-right: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 80px rgba(0,0,0,0.45);
  backdrop-filter: blur(24px);
}

body.stage-redesign .stage-drawer[hidden] {
  display: none !important;
}

body.stage-redesign .stage-drawer-info {
  right: 0;
  left: auto;
  border-right: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
}

body.stage-redesign .stage-drawer-log {
  right: 0;
  left: auto;
  width: var(--log-drawer-width);
  border-right: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
}

body.stage-redesign .drawer-scrim {
  position: fixed;
  inset: 0;
  z-index: 33;
  background: rgba(2, 3, 6, 0.48);
  backdrop-filter: blur(2px);
}

body.stage-redesign .drawer-scrim[hidden] {
  display: none !important;
}

body.stage-redesign .drawer-close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
  color: var(--stage-muted);
  cursor: pointer;
}

body.stage-redesign .drawer-stack {
  height: 100%;
  padding: 1.2rem 1rem 1rem;
  overflow-y: auto;
  display: grid;
  gap: 0.95rem;
}

body.stage-redesign .drawer-head,
body.stage-redesign .drawer-section {
  padding: 1rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 1.25rem;
  background: rgba(255,255,255,0.025);
}

body.stage-redesign .drawer-head h1,
body.stage-redesign .drawer-head h2,
body.stage-redesign .drawer-section h3 {
  margin: 0.25rem 0 0;
  letter-spacing: 0;
}

body.stage-redesign .drawer-head h1 {
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 0.96;
}

body.stage-redesign .drawer-head h2 {
  font-size: 2rem;
}

body.stage-redesign .drawer-copy,
body.stage-redesign #pageDescription {
  margin: 0.6rem 0 0;
  color: var(--stage-muted);
  line-height: 1.55;
}

body.stage-redesign .drawer-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

body.stage-redesign .drawer-metric {
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1rem;
  background: rgba(255,255,255,0.03);
  display: grid;
  gap: 0.45rem;
}

body.stage-redesign .metric-value {
  font-size: 1.5rem;
  letter-spacing: 0;
}

body.stage-redesign .drawer-scene-title {
  font-size: 2rem;
}

body.stage-redesign .drawer-chip {
  margin-top: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  font: 700 0.68rem/1 var(--stage-mono);
  text-transform: uppercase;
  letter-spacing: 0;
}

body.stage-redesign .drawer-chip strong {
  font-size: 0.88rem;
  letter-spacing: 0;
}

body.stage-redesign .drawer-chip-plain {
  padding-inline: 0.85rem;
}

body.stage-redesign .drawer-section-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

body.stage-redesign .lang-switch {
  display: inline-flex;
  gap: 0.45rem;
}

body.stage-redesign .lang-button {
  min-width: 4.2rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: var(--stage-muted);
  font-size: 0.78rem;
  letter-spacing: 0;
  line-height: 1;
}

body.stage-redesign .lang-button.is-active {
  color: var(--text);
  border-color: rgba(255, 106, 74, 0.42);
  background: rgba(255, 106, 74, 0.12);
}

body.stage-redesign .leash-track,
body.stage-redesign .venue-track {
  margin-top: 0.8rem;
  height: 0.7rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
}

body.stage-redesign .leash-fill,
body.stage-redesign .venue-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #80e7bd, #ffc15c, #ff6a4a);
  width: 0%;
}

body.stage-redesign .leash-waveform-track {
  --leash-signal-level: 0.18;
  --leash-signal-position: 22%;
  --leash-signal-amplitude: 0.9;
  --leash-signal-stroke-size: 1.6px;
  --leash-signal-ghost-stroke: 4px;
  --leash-signal-spark-stroke: 1.1px;
  --leash-signal-glow: 0.32;
  --leash-signal-rate: 7.2s;
  --leash-signal-spark-rate: 3.7s;
  --leash-signal-jitter-rate: 2.8s;
  --leash-signal-scan-rate: 5.2s;
  --leash-signal-jitter: 0.7px;
  --leash-signal-dash-main: 36 12 8 18;
  --leash-signal-dash-spark: 3 66;
  --leash-signal-cool: rgba(128, 231, 189, 0.96);
  --leash-signal-warm: rgba(255, 193, 92, 0.96);
  --leash-signal-hot: rgba(255, 106, 74, 0.98);
  height: clamp(4.6rem, 9vw, 5.9rem);
  border-radius: 1.15rem;
  border: 1px solid rgba(255,255,255,0.075);
  background:
    radial-gradient(circle at var(--leash-signal-position) 42%, rgba(255, 193, 92, 0.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.014)),
    rgba(5, 7, 11, 0.66);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.055),
    inset 0 -22px 34px rgba(0,0,0,0.22),
    0 0 calc(16px + var(--leash-signal-glow) * 32px) rgba(255, 106, 74, 0.12);
  overflow: hidden;
}

body.stage-redesign .leash-waveform-track[data-tension-band="open"] {
  --leash-signal-cool: rgba(128, 231, 189, 0.98);
  --leash-signal-warm: rgba(176, 224, 132, 0.88);
  --leash-signal-hot: rgba(255, 193, 92, 0.72);
}

body.stage-redesign .leash-waveform-track[data-tension-band="strained"] {
  --leash-signal-cool: rgba(128, 231, 189, 0.78);
  --leash-signal-warm: rgba(255, 193, 92, 0.98);
  --leash-signal-hot: rgba(255, 122, 74, 0.9);
}

body.stage-redesign .leash-waveform-track[data-tension-band="critical"] {
  --leash-signal-cool: rgba(255, 193, 92, 0.78);
  --leash-signal-warm: rgba(255, 122, 74, 0.98);
  --leash-signal-hot: rgba(255, 78, 62, 1);
}

body.stage-redesign .leash-signal-grid,
body.stage-redesign .leash-signal-fill,
body.stage-redesign .leash-waveform {
  position: absolute;
  pointer-events: none;
}

body.stage-redesign .leash-signal-grid {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 2rem 100%, 100% 1.1rem;
  opacity: calc(0.22 + var(--leash-signal-glow) * 0.22);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  animation: leashGridDrift var(--leash-signal-scan-rate) linear infinite;
}

body.stage-redesign .leash-signal-fill {
  inset: 0 auto 0 0;
  min-width: 8%;
  height: 100%;
  border-radius: 0;
  background:
    radial-gradient(circle at 100% 50%, var(--leash-signal-hot), transparent 34%),
    linear-gradient(90deg, rgba(128, 231, 189, 0.12), rgba(255, 193, 92, 0.2), rgba(255, 106, 74, 0.26));
  opacity: calc(0.18 + var(--leash-signal-level) * 0.36);
  filter: blur(2px) saturate(calc(1 + var(--leash-signal-glow) * 0.5));
  transition: width 260ms ease;
}

body.stage-redesign .leash-waveform {
  inset: 0.45rem 0.55rem;
  width: calc(100% - 1.1rem);
  height: calc(100% - 0.9rem);
  overflow: visible;
}

body.stage-redesign .leash-waveform-core {
  transform-box: fill-box;
  transform-origin: center;
  animation: leashSignalTremor var(--leash-signal-jitter-rate) steps(5, end) infinite;
}

body.stage-redesign .leash-waveform path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

body.stage-redesign .leash-waveform-ghost {
  stroke: rgba(255,255,255,0.16);
  stroke-width: var(--leash-signal-ghost-stroke);
  opacity: calc(0.12 + var(--leash-signal-glow) * 0.18);
  filter: blur(2px);
}

body.stage-redesign .leash-waveform-line {
  stroke: url(#leashWaveGradient);
  stroke-width: var(--leash-signal-stroke-size);
  stroke-dasharray: var(--leash-signal-dash-main);
  stroke-dashoffset: 0;
  filter:
    drop-shadow(0 0 calc(4px + var(--leash-signal-glow) * 8px) var(--leash-signal-warm))
    drop-shadow(0 0 calc(8px + var(--leash-signal-glow) * 15px) var(--leash-signal-hot));
  animation: leashWaveTravel var(--leash-signal-rate) linear infinite;
}

body.stage-redesign .leash-waveform-spark {
  stroke: rgba(255,255,255,0.9);
  stroke-width: var(--leash-signal-spark-stroke);
  stroke-dasharray: var(--leash-signal-dash-spark);
  stroke-dashoffset: 18;
  opacity: calc(0.18 + var(--leash-signal-level) * 0.62);
  filter: drop-shadow(0 0 10px var(--leash-signal-hot));
  animation: leashWaveTravel var(--leash-signal-spark-rate) linear infinite reverse;
}

body.stage-redesign .drawer-telemetry,
body.stage-redesign .drawer-meter {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.9rem;
}

body.stage-redesign .drawer-telemetry div,
body.stage-redesign .drawer-meter {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}

body.stage-redesign .drawer-telemetry span,
body.stage-redesign .drawer-meter span {
  min-width: 0;
  color: var(--stage-muted);
}

body.stage-redesign .drawer-telemetry strong,
body.stage-redesign .drawer-meter strong {
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
  font-family: var(--stage-mono);
  line-height: 1.35;
}

body.stage-redesign .ash-summary,
body.stage-redesign .research-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.9rem;
}

body.stage-redesign .ash-summary div,
body.stage-redesign .research-summary div {
  min-width: 0;
  display: grid;
  gap: 0.35rem;
  padding: 0.78rem 0.88rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.95rem;
  background: rgba(255,255,255,0.03);
}

body.stage-redesign .ash-summary-wide,
body.stage-redesign .research-summary-wide {
  grid-column: 1 / -1;
}

body.stage-redesign .ash-summary span,
body.stage-redesign .research-summary span {
  color: var(--stage-muted);
  font: 700 0.68rem/1.2 var(--stage-mono);
  text-transform: uppercase;
  letter-spacing: 0;
}

body.stage-redesign .ash-summary strong,
body.stage-redesign .research-summary strong {
  min-width: 0;
  color: var(--text);
  font: 800 0.98rem/1.35 var(--stage-mono);
  overflow-wrap: anywhere;
}

body.stage-redesign .ash-ledger-list,
body.stage-redesign .research-archive-list {
  display: grid;
  gap: 0.65rem;
  max-height: clamp(12rem, 32vh, 22rem);
  margin-top: 0.9rem;
  padding-right: 0.35rem;
  overflow-y: auto;
  color: var(--stage-muted);
  line-height: 1.5;
  scrollbar-gutter: stable;
}

body.stage-redesign .ash-entry,
body.stage-redesign .research-entry {
  min-width: 0;
  display: grid;
  gap: 0.32rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 0.85rem;
  background: rgba(0,0,0,0.18);
}

body.stage-redesign .ash-entry strong,
body.stage-redesign .ash-entry span,
body.stage-redesign .ash-entry em,
body.stage-redesign .research-entry strong,
body.stage-redesign .research-entry span,
body.stage-redesign .research-entry em,
body.stage-redesign .research-entry small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

body.stage-redesign .ash-entry strong,
body.stage-redesign .research-entry strong {
  color: var(--text);
  font: 800 0.78rem/1.35 var(--stage-mono);
  letter-spacing: 0;
}

body.stage-redesign .ash-entry span,
body.stage-redesign .ash-entry em,
body.stage-redesign .research-entry span,
body.stage-redesign .research-entry em,
body.stage-redesign .research-entry small {
  color: var(--stage-muted);
  font: 600 0.72rem/1.45 var(--stage-mono);
  font-style: normal;
}

body.stage-redesign .ash-entry em,
body.stage-redesign .research-entry em {
  color: rgba(244, 240, 232, 0.72);
}

body.stage-redesign .drawer-rule-list {
  gap: 0.55rem;
}

body.stage-redesign .drawer-inline-actions,
body.stage-redesign .drawer-toggle-grid,
body.stage-redesign .drawer-link-grid {
  display: grid;
  gap: 0.8rem;
}

body.stage-redesign .evolution-audit {
  margin: 0.9rem 0;
  padding: 0.85rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1rem;
  background: rgba(255,255,255,0.03);
}

body.stage-redesign .evolution-audit-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}

body.stage-redesign .evolution-audit-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

body.stage-redesign .evolution-audit-actions button {
  min-width: 0;
  padding: 0.38rem 0.5rem;
  font-size: 0.66rem;
}

body.stage-redesign .evolution-audit-head strong,
body.stage-redesign .evolution-audit-grid strong,
body.stage-redesign .evolution-audit-line {
  font-family: var(--stage-mono);
  letter-spacing: 0;
}

body.stage-redesign .evolution-audit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

body.stage-redesign .evolution-audit-grid div {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 0.75rem;
  background: rgba(0,0,0,0.16);
}

body.stage-redesign .evolution-audit-grid span,
body.stage-redesign .evolution-audit-line {
  color: var(--stage-muted);
}

body.stage-redesign .evolution-audit-line {
  margin-top: 0.65rem;
  font-size: 0.75rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body.stage-redesign .evolution-control-groups {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.85rem;
}

body.stage-redesign .evolution-control-group {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

body.stage-redesign .evolution-control-group-wide {
  grid-column: 1 / -1;
}

body.stage-redesign .evolution-control-list {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

body.stage-redesign .evolution-control-item {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.035);
}

body.stage-redesign .evolution-tree-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.035);
}

body.stage-redesign .evolution-control-main {
  min-width: 0;
}

body.stage-redesign .evolution-control-title,
body.stage-redesign .evolution-control-meta {
  font-family: var(--stage-mono);
  letter-spacing: 0;
}

body.stage-redesign .evolution-control-title {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.76rem;
  color: var(--stage-text);
}

body.stage-redesign .evolution-control-meta {
  margin-top: 0.2rem;
  font-size: 0.68rem;
  line-height: 1.35;
  color: var(--stage-muted);
  overflow-wrap: anywhere;
}

body.stage-redesign .evolution-control-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem;
}

body.stage-redesign .evolution-control-actions button {
  min-width: 0;
  padding: 0.35rem 0.25rem;
  font-size: 0.66rem;
}

body.stage-redesign .evolution-timeline-item {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.5rem 0.55rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.75rem;
  background: rgba(255,255,255,0.035);
}

body.stage-redesign .evolution-timeline-item strong,
body.stage-redesign .evolution-timeline-item span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: var(--stage-mono);
  letter-spacing: 0;
}

body.stage-redesign .evolution-timeline-item strong {
  font-size: 0.72rem;
}

body.stage-redesign .evolution-timeline-item span {
  color: var(--stage-muted);
  font-size: 0.67rem;
  line-height: 1.4;
}

body.stage-redesign .drawer-inline-action,
body.stage-redesign .drawer-link-card {
  padding: 0.95rem 1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: inherit;
  text-decoration: none;
  display: grid;
  gap: 0.35rem;
}

body.stage-redesign .drawer-link-card strong {
  font-size: 1rem;
}

body.stage-redesign .drawer-link-meta {
  color: rgba(255, 255, 255, 0.52);
  font: 600 0.72rem/1.2 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .drawer-link-card span:last-child {
  color: var(--stage-muted);
  line-height: 1.45;
}

body.stage-redesign .drawer-toggle {
  display: flex;
  gap: 0.8rem;
  align-items: start;
  color: var(--stage-muted);
}

body.stage-redesign .drawer-toggle input {
  margin-top: 0.15rem;
}

body.stage-redesign .workbench-toggle-grid {
  margin-top: 0.95rem;
}

body.stage-redesign .workbench-hero,
body.stage-redesign .workbench-section,
body.stage-redesign .workbench-director-overview {
  margin: 0;
}

body.stage-redesign .workbench-director-overview .director-header {
  margin: 0;
}

body.stage-redesign .director-dialog .director-grid {
  margin-top: 0;
}

body.stage-redesign .log-output {
  min-height: 18rem;
  max-height: 40vh;
  padding: 1rem;
  overflow: auto;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(7, 9, 14, 0.76);
  font: 400 0.86rem/1.55 var(--stage-mono);
  white-space: pre-wrap;
}

body.stage-redesign .printer-queue-tools {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

body.stage-redesign .printer-queue-count {
  min-width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  font: 700 0.82rem/1 var(--stage-mono);
}

body.stage-redesign .queue-hint {
  margin: 0.7rem 0 0;
  color: var(--stage-muted);
}

body.stage-redesign .printer-queue-list {
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

body.stage-redesign .printer-slip {
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
}

body.stage-redesign .printer-slip-narrative,
body.stage-redesign .printer-slip-verdict {
  margin-top: 0.65rem;
  color: rgba(255, 216, 143, 0.92);
  font: 400 0.74rem/1.55 var(--stage-mono);
}

body.stage-redesign .printer-slip-digest {
  margin-top: 0.7rem;
  display: grid;
  gap: 0.35rem;
}

body.stage-redesign .printer-slip-digest-line {
  padding: 0.48rem 0.62rem;
  border-radius: 0.72rem;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.025);
  color: rgba(244, 240, 232, 0.68);
  font: 400 0.64rem/1.45 var(--stage-mono);
  letter-spacing: 0;
}

body.stage-redesign .printer-slip-trace {
  margin-top: 0.75rem;
  display: grid;
  gap: 0.55rem;
}

body.stage-redesign .printer-slip-trace-block {
  display: grid;
  gap: 0.28rem;
}

body.stage-redesign .printer-slip-trace-block span {
  color: var(--stage-dim);
  font: 400 0.66rem/1.2 var(--stage-mono);
  letter-spacing: 0;
  text-transform: uppercase;
}

body.stage-redesign .printer-slip-trace-block pre {
  margin: 0;
  padding: 0.72rem 0.82rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(0,0,0,0.28);
  color: rgba(244, 240, 232, 0.72);
  font: 400 0.7rem/1.58 var(--stage-mono);
  white-space: pre-wrap;
}

body.stage-redesign .printer-slip.is-empty {
  color: var(--stage-dim);
  text-align: center;
}

body.stage-redesign .runtime-hidden {
  display: none;
}

body.stage-redesign .director-modal,
body.stage-redesign .config-modal,
body.stage-redesign .help-modal {
  padding: 0;
  align-items: stretch;
  justify-content: flex-end;
}

body.stage-redesign .director-backdrop,
body.stage-redesign .config-backdrop,
body.stage-redesign .help-backdrop {
  background: rgba(2, 3, 7, 0.7);
  backdrop-filter: blur(3px);
}

body.stage-redesign .director-dialog,
body.stage-redesign .config-dialog,
body.stage-redesign .help-dialog {
  width: min(46rem, 100vw);
  max-height: none;
  height: 100vh;
  margin: 0;
  border-radius: 0;
  border: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.016)),
    rgba(9, 11, 17, 0.96);
  box-shadow: -26px 0 80px rgba(0,0,0,0.35);
}

body.stage-redesign .director-dialog {
  padding: 1.1rem;
  overflow-y: auto;
  scrollbar-gutter: stable;
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}

body.stage-redesign .director-dialog > * {
  flex: 0 0 auto;
}

body.stage-redesign .config-dialog,
body.stage-redesign .help-dialog {
  padding: 1rem;
  overflow-y: auto;
}

body.stage-redesign .director-close-button,
body.stage-redesign .config-close-button,
body.stage-redesign .help-close-button,
body.stage-redesign .small,
body.stage-redesign #exportBtn,
body.stage-redesign #exportArchiveBtn,
body.stage-redesign #clearLogBtn,
body.stage-redesign #clearPrinterQueueBtn {
  border-radius: 999px;
  border-color: rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
}

body.stage-redesign .director-grid,
body.stage-redesign .config-grid {
  gap: 0.9rem;
}

body.stage-redesign .help-strip {
  display: grid;
  gap: 1rem;
}

body.stage-redesign .help-strip-header {
  display: grid;
  gap: 0.8rem;
}

body.stage-redesign .help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

body.stage-redesign .help-card {
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  display: grid;
  gap: 0.55rem;
}

body.stage-redesign .help-card h3 {
  margin: 0;
  font-size: 1.02rem;
  letter-spacing: 0;
}

body.stage-redesign .help-card p {
  margin: 0;
  color: var(--stage-muted);
  line-height: 1.6;
}

body.stage-redesign .director-block,
body.stage-redesign .config-strip,
body.stage-redesign .config-field,
body.stage-redesign .director-field {
  background: rgba(255,255,255,0.02);
  color: var(--text);
}

body.stage-redesign .director-block,
body.stage-redesign .config-strip {
  border-color: rgba(255,255,255,0.08);
}

body.stage-redesign .director-field input,
body.stage-redesign .director-field select,
body.stage-redesign .config-field input,
body.stage-redesign .config-field select,
body.stage-redesign .config-field textarea,
body.stage-redesign .director-actions button {
  border-color: rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  color-scheme: dark;
  accent-color: var(--hot);
}

body.stage-redesign .config-field textarea {
  min-height: 10rem;
}

body.stage-redesign .director-field span,
body.stage-redesign .config-field > span,
body.stage-redesign .config-checkbox-row,
body.stage-redesign .config-checkbox-row span {
  color: var(--text);
}

body.stage-redesign .director-field input::placeholder,
body.stage-redesign .config-field input::placeholder,
body.stage-redesign .config-field textarea::placeholder {
  color: var(--stage-dim);
}

body.stage-redesign .director-field select option,
body.stage-redesign .config-field select option {
  background: #0c0f16;
  color: var(--text);
}

body.stage-redesign .director-actions button:hover,
body.stage-redesign .director-actions button:focus-visible,
body.stage-redesign .config-actions button:hover,
body.stage-redesign .config-actions button:focus-visible {
  border-color: rgba(255, 106, 74, 0.52);
}

body.stage-redesign .director-helper-badge {
  border-color: rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.035);
  color: var(--text);
}

body.stage-redesign .director-helper-badge[data-state="active"] {
  border-color: rgba(255, 193, 92, 0.28);
  background: rgba(255, 193, 92, 0.08);
  color: #ffe4b0;
}

body.stage-redesign .rule-chip {
  background: rgba(255,255,255,0.035);
}

body.stage-redesign .rule-chip.active {
  background: rgba(255, 106, 74, 0.11);
}

body.stage-redesign .metric.compact,
body.stage-redesign .config-metrics .metric.compact,
body.stage-redesign .director-badges .metric.compact {
  background: rgba(255,255,255,0.03);
}

@keyframes stageBeamSweep {
  0% { left: -8%; opacity: 0; }
  14% { opacity: 1; }
  86% { opacity: 1; }
  100% { left: 108%; opacity: 0; }
}

@keyframes stageThinkingTrace {
  0% { --thinking-ring-angle: 0deg; }
  100% { --thinking-ring-angle: 360deg; }
}

@keyframes stageThinkingPulse {
  0%, 100% {
    opacity: 0.58;
    filter: drop-shadow(0 0 10px var(--thinking-glow));
  }
  45% {
    opacity: 0.96;
    filter: drop-shadow(0 0 20px var(--thinking-glow));
  }
}

@keyframes stageAudienceDecisionPulse {
  0%, 100% {
    opacity: 0.62;
    filter: drop-shadow(0 0 12px rgba(255, 106, 74, 0.24));
  }
  48% {
    opacity: 0.98;
    filter: drop-shadow(0 0 24px rgba(255, 168, 104, 0.38));
  }
}

@keyframes stageAmbientBreath {
  0%, 100% {
    opacity: calc((var(--ambient-haze-opacity) * 0.98) + (var(--ambient-glow) * 0.24));
    transform: translate3d(0, var(--ambient-shift-y), 0) scale(1);
  }
  50% {
    opacity: calc(
      (var(--ambient-haze-opacity) * (1.04 + var(--ambient-breath-strength) * 0.52))
      + (var(--ambient-glow) * (0.30 + var(--ambient-breath-strength) * 0.72))
    );
    transform:
      translate3d(0, calc(var(--ambient-shift-y) - (var(--ambient-breath-lift) * 0.42)), 0)
      scale(calc(1 + var(--ambient-breath-scale-boost) * 0.55));
  }
}

@keyframes stageRedactionPulse {
  0%, 100% { filter: none; transform: translateX(0); }
  25% { filter: blur(1px); transform: translateX(-2px); }
  50% { filter: blur(0); transform: translateX(3px); }
  74% { filter: blur(1.5px); transform: translateX(-1px); }
}

@keyframes stageCardGlowBreath {
  0%, 100% {
    opacity: calc(0.10 + var(--ambient-glow) * 0.24);
    filter: blur(calc(var(--ambient-haze-blur) * 0.75));
  }
  50% {
    opacity: calc((0.10 + var(--ambient-glow) * 0.24) * var(--ambient-breath-card-glow-boost));
    filter: blur(calc(var(--ambient-haze-blur) * 0.75));
  }
}

@keyframes stageCardShake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(5px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
}

@keyframes virtualLightRoomBreath {
  0%, 100% {
    transform: translateY(0) scale(1);
    opacity: calc(0.44 + var(--virtual-room-glow) * 0.36);
  }
  50% {
    transform:
      translateY(calc(var(--ambient-breath-lift) * -0.08))
      scale(calc(1.015 + var(--virtual-room-breath-strength) * 0.52));
    opacity: calc((0.48 + var(--virtual-room-glow) * 0.38) * var(--ambient-breath-card-glow-boost));
  }
}

@keyframes virtualLightRoomShellBreath {
  0%, 100% {
    filter:
      brightness(calc(var(--virtual-room-stage-brightness) + var(--virtual-room-brightness-ratio) * 0.08))
      saturate(calc(1.14 + var(--virtual-room-glow) * 0.72))
      hue-rotate(var(--virtual-room-hue-shift));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.12),
      inset 0 -24px 42px rgba(0,0,0,0.28),
      inset 0 0 calc(28px + var(--virtual-room-glow) * 44px) var(--virtual-room-primary),
      0 0 calc(22px + var(--virtual-room-glow) * 38px) var(--virtual-room-secondary);
  }
  50% {
    filter:
      brightness(calc(var(--virtual-room-stage-brightness) + 0.12 + var(--virtual-room-brightness-ratio) * 0.1))
      saturate(calc(1.2 + var(--virtual-room-glow) * 0.9))
      hue-rotate(calc(var(--virtual-room-hue-shift) + var(--ambient-breath-hue-drift)));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.18),
      inset 0 -18px 36px rgba(0,0,0,0.22),
      inset 0 0 calc(38px + var(--virtual-room-glow) * 58px) var(--virtual-room-primary),
      0 0 calc(30px + var(--virtual-room-glow) * 52px) var(--virtual-room-secondary);
  }
}

@keyframes virtualLightRoomFlicker {
  0%, 100% {
    opacity: calc(var(--virtual-room-flicker-opacity) * 0.72);
  }
  18% {
    opacity: calc(var(--virtual-room-flicker-opacity) * 1.18);
  }
  38% {
    opacity: calc(var(--virtual-room-flicker-opacity) * 0.58);
  }
  62% {
    opacity: calc(var(--virtual-room-flicker-opacity) * 1.28);
  }
  82% {
    opacity: calc(var(--virtual-room-flicker-opacity) * 0.88);
  }
}

@keyframes virtualLightRoomSweep {
  0%, 100% {
    transform: translateX(-12%) rotate(-2deg);
  }
  50% {
    transform: translateX(12%) rotate(2deg);
  }
}

@keyframes leashSignalTremor {
  0%, 100% {
    transform: translateY(0) scaleY(var(--leash-signal-amplitude));
  }
  20% {
    transform:
      translateY(calc(var(--leash-signal-jitter) * -1))
      scaleY(calc(var(--leash-signal-amplitude) + 0.08));
  }
  45% {
    transform:
      translateY(calc(var(--leash-signal-jitter) * 0.55))
      scaleY(calc(var(--leash-signal-amplitude) - 0.05));
  }
  72% {
    transform:
      translateY(calc(var(--leash-signal-jitter) * -0.38))
      scaleY(calc(var(--leash-signal-amplitude) + 0.04));
  }
}

@keyframes leashWaveTravel {
  to {
    stroke-dashoffset: -148;
  }
}

@keyframes leashGridDrift {
  to {
    background-position: 2rem 0, 0 1.1rem;
  }
}

@media (max-width: 1100px) {
  body.stage-redesign {
    overflow: auto;
  }

  body.stage-redesign .stage-app-shell {
    height: auto;
    min-height: 100vh;
    grid-template-rows: auto auto auto;
    padding-top: 4.8rem;
  }

  body.stage-redesign .episode-ribbon {
    position: static;
    width: auto;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  body.stage-redesign .redesign-stage-grid,
  body.stage-redesign .theater-audience-panel,
  body.stage-redesign .virtual-panels-dock {
    grid-template-columns: 1fr;
  }

  body.stage-redesign .text-card {
    min-height: 24rem;
  }

  body.stage-redesign .countdown-wrap {
    min-height: 8rem;
  }

  body.stage-redesign .decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.stage-redesign .stage-drawer,
  body.stage-redesign .stage-drawer-log {
    width: min(100vw, 34rem);
  }

  body.stage-redesign .virtual-trace-dock {
    --trace-edge: 0.85rem;
  }
}

@media (max-width: 720px) {
  body.stage-redesign .top-command-stack {
    top: 0.85rem;
    right: 0.85rem;
    flex-wrap: wrap;
    gap: 0.45rem;
    max-width: calc(100vw - 1.7rem);
  }

  body.stage-redesign .decision-grid {
    grid-template-columns: 1fr;
  }

  body.stage-redesign .ash-summary,
  body.stage-redesign .research-summary {
    grid-template-columns: 1fr;
  }

  body.stage-redesign .corner-handle {
    padding-inline: 0.68rem;
    font-size: 0.72rem;
  }

  body.stage-redesign .handle-status {
    display: none;
  }

  body.stage-redesign .card-inner {
    padding: 4.8rem 1.1rem 3.2rem;
  }

  body.stage-redesign .text-output.large {
    font-size: clamp(1.42rem, 7.4vw, 2.25rem);
  }

  body.stage-redesign .drawer-stack,
  body.stage-redesign .director-dialog,
  body.stage-redesign .config-dialog,
  body.stage-redesign .help-dialog {
    padding: 0.9rem;
  }

  body.stage-redesign .help-grid {
    grid-template-columns: 1fr;
  }

  body.stage-redesign .virtual-trace-dock {
    --trace-edge: 0.7rem;
  }

  body.stage-redesign .virtual-trace-dock.is-maximized {
    --trace-max-edge: 0.7rem;
    inset: auto;
  }
}

/* Language Room redesign: three speaking mechanisms, not three product cards. */
:root {
  --stage-card-radius: 6px;
  --language-room-ink: #f1eadb;
  --language-room-bg: #080906;
  --language-room-bg-deep: #030403;
  --language-room-charcoal: #11130f;
  --language-room-bone: #d8c8aa;
  --language-room-raw: #f0b06d;
  --language-room-warden: #e1d06f;
  --language-room-public: #b8d6cc;
  --language-room-red: #c75a43;
  --language-room-line: rgba(216, 200, 170, 0.2);
  --language-room-line-soft: rgba(216, 200, 170, 0.1);
  --language-room-shadow: 0 26px 80px rgba(0, 0, 0, 0.62);
}

body.stage-redesign {
  background:
    linear-gradient(180deg, var(--language-room-bg) 0%, var(--language-room-bg-deep) 100%),
    var(--language-room-bg);
}

body.stage-redesign::before {
  opacity: 0.16;
  background-image:
    repeating-linear-gradient(90deg, rgba(216, 200, 170, 0.07) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(180deg, rgba(216, 200, 170, 0.035) 0 1px, transparent 1px 46px);
  background-size: auto;
  mask-image: linear-gradient(180deg, transparent 0%, black 16%, black 84%, transparent 100%);
  mix-blend-mode: screen;
}

body.stage-redesign::after {
  opacity: clamp(0.12, calc((var(--ambient-haze-opacity) * 0.42) + (var(--ambient-glow) * 0.18)), 0.34);
  background:
    linear-gradient(108deg, transparent 0 15%, rgba(240, 176, 109, 0.12) 16%, transparent 24% 47%, rgba(225, 208, 111, 0.12) 48%, transparent 57% 76%, rgba(184, 214, 204, 0.12) 77%, transparent 88%),
    repeating-linear-gradient(180deg, transparent 0 17px, rgba(216, 200, 170, 0.035) 18px, transparent 20px);
  filter:
    saturate(var(--ambient-saturation))
    contrast(var(--ambient-contrast))
    hue-rotate(var(--ambient-hue-shift));
  mix-blend-mode: screen;
}

body.stage-redesign .stage-app-shell {
  isolation: isolate;
  padding: 5rem 2.25rem 1.15rem;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 1rem;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(216, 200, 170, 0.025) 12.1% 12.35%, transparent 12.45% 49.8%, rgba(216, 200, 170, 0.048) 50% 50.18%, transparent 50.3% 87.55%, rgba(216, 200, 170, 0.025) 87.7% 88%, transparent 88.1%),
    linear-gradient(180deg, rgba(199, 90, 67, 0.035), transparent 18%, transparent 78%, rgba(184, 214, 204, 0.025));
  box-shadow: inset 0 0 0 1px rgba(216, 200, 170, 0.035);
}

body.stage-redesign .language-room-field {
  position: absolute;
  inset: 4.25rem 2rem 11.4rem;
  z-index: 0;
  pointer-events: none;
  opacity: 0.82;
}

body.stage-redesign .room-plane,
body.stage-redesign .room-node {
  position: absolute;
  display: block;
}

body.stage-redesign .room-plane-floor {
  left: 4%;
  right: 4%;
  bottom: 3%;
  height: 40%;
  border: 1px solid rgba(216, 200, 170, 0.08);
  border-top: 0;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(240, 176, 109, 0.08) 12.2%, transparent 13% 49.6%, rgba(225, 208, 111, 0.1) 50%, transparent 50.7% 87%, rgba(184, 214, 204, 0.08) 87.8%, transparent 89%),
    repeating-linear-gradient(90deg, rgba(216, 200, 170, 0.05) 0 1px, transparent 1px 86px);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  transform: perspective(900px) rotateX(64deg);
  transform-origin: bottom;
}

body.stage-redesign .room-plane-threshold {
  top: 12%;
  left: 9%;
  right: 9%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216, 200, 170, 0.32), transparent);
  box-shadow: 0 0 24px rgba(216, 200, 170, 0.1);
}

body.stage-redesign .room-node {
  width: 0.35rem;
  height: 62%;
  bottom: 14%;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.34;
  filter: blur(0.2px);
  transform-origin: center;
  animation: languageRoomNodeBreath 5.8s ease-in-out infinite;
}

body.stage-redesign .room-node::before,
body.stage-redesign .room-node::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 5.6rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: 0.28;
  transform: translateX(-50%);
}

body.stage-redesign .room-node::before {
  top: 18%;
}

body.stage-redesign .room-node::after {
  bottom: 22%;
}

body.stage-redesign .room-node-raw {
  left: 16.4%;
  color: var(--language-room-raw);
}

body.stage-redesign .room-node-warden {
  left: 49.82%;
  color: var(--language-room-warden);
  animation-delay: -1.6s;
}

body.stage-redesign .room-node-public {
  right: 16.4%;
  color: var(--language-room-public);
  animation-delay: -3.1s;
}

body.stage-redesign .episode-ribbon {
  top: 1.1rem;
  left: 2.25rem;
  width: min(46rem, calc(100vw - 29rem));
  min-height: 2.4rem;
  padding-left: 0.85rem;
  border-left: 1px solid rgba(216, 200, 170, 0.28);
}

body.stage-redesign .episode-kicker,
body.stage-redesign .episode-ribbon-beat span:first-child {
  color: var(--language-room-red);
}

body.stage-redesign .episode-ribbon strong {
  color: var(--language-room-ink);
}

body.stage-redesign .language-room-grid {
  position: relative;
  z-index: 2;
  isolation: isolate;
  grid-template-columns: minmax(0, 1.04fr) minmax(17.5rem, 0.86fr) minmax(0, 1.04fr);
  gap: 1rem;
  min-height: min(63vh, 45rem);
  align-items: stretch;
}

body.stage-redesign .language-room-link {
  position: absolute;
  top: 50%;
  z-index: 0;
  height: 1px;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(216, 200, 170, 0.24), transparent),
    repeating-linear-gradient(90deg, transparent 0 0.8rem, rgba(216, 200, 170, 0.3) 0.84rem 0.88rem, transparent 0.92rem 1.7rem);
  box-shadow: 0 0 18px rgba(216, 200, 170, 0.08);
  opacity: 0.78;
}

body.stage-redesign .language-room-link-capture {
  left: 14%;
  right: 50%;
  color: var(--language-room-raw);
}

body.stage-redesign .language-room-link-release {
  left: 50%;
  right: 14%;
  color: var(--language-room-public);
}

body.stage-redesign[data-active-role="raw"] .language-room-link-capture,
body.stage-redesign[data-active-role="warden"] .language-room-link,
body.stage-redesign[data-active-role="public"] .language-room-link-release {
  opacity: 1;
  background:
    linear-gradient(90deg, transparent, rgba(241, 234, 219, 0.62), transparent),
    repeating-linear-gradient(90deg, transparent 0 0.65rem, currentColor 0.7rem 0.74rem, transparent 0.82rem 1.55rem);
  animation: languageRoomSignalTravel 1.2s linear infinite;
}

body.stage-redesign .language-role {
  position: relative;
  z-index: 1;
  min-height: 0;
  height: 100%;
  border-radius: var(--stage-card-radius);
  border: 1px solid var(--language-room-line);
  background:
    linear-gradient(180deg, rgba(216, 200, 170, 0.045), rgba(216, 200, 170, 0.012)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.012)),
    rgba(8, 10, 8, 0.78);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    var(--language-room-shadow);
  clip-path: polygon(0 0, calc(100% - 1.05rem) 0, 100% 1.05rem, 100% 100%, 1.05rem 100%, 0 calc(100% - 1.05rem));
  backdrop-filter: blur(8px);
}

body.stage-redesign .language-role::before {
  background:
    linear-gradient(90deg, rgba(216, 200, 170, 0.08) 0 1px, transparent 1px 21px),
    repeating-linear-gradient(180deg, transparent 0 0.7rem, rgba(216, 200, 170, 0.045) 0.74rem, transparent 0.78rem 1.55rem);
  opacity: 0.28;
}

body.stage-redesign .language-role::after {
  content: "";
  position: absolute;
  inset: 0.45rem;
  z-index: 1;
  border: 1px solid rgba(216, 200, 170, 0.075);
  border-radius: 3px;
  pointer-events: none;
}

body.stage-redesign .card-raw {
  --thinking-accent: var(--language-room-raw);
  --thinking-border: rgba(240, 176, 109, 0.74);
  --thinking-glow: rgba(240, 176, 109, 0.2);
  color: var(--language-room-raw);
  transform: translateY(1.15rem);
}

body.stage-redesign .card-warden {
  --thinking-accent: var(--language-room-warden);
  --thinking-border: rgba(225, 208, 111, 0.76);
  --thinking-glow: rgba(225, 208, 111, 0.2);
  color: var(--language-room-warden);
  transform: translateY(-0.35rem);
}

body.stage-redesign .card-public {
  --thinking-accent: var(--language-room-public);
  --thinking-border: rgba(184, 214, 204, 0.76);
  --thinking-glow: rgba(184, 214, 204, 0.18);
  color: var(--language-room-public);
  transform: translateY(1.15rem);
}

body.stage-redesign .language-role.is-thinking {
  border-color: var(--thinking-border);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 0 0 1px rgba(216, 200, 170, 0.08),
    0 0 42px var(--thinking-glow),
    var(--language-room-shadow);
}

body.stage-redesign .card-chrome {
  top: 0.95rem;
  left: 0.95rem;
  right: 0.95rem;
  grid-template-columns: auto 1fr;
  align-items: start;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(216, 200, 170, 0.095);
}

body.stage-redesign .panel-subtitle {
  grid-column: 1 / -1;
  color: rgba(216, 200, 170, 0.5);
}

body.stage-redesign .card-index {
  width: 2.05rem;
  color: currentColor;
  opacity: 0.76;
}

body.stage-redesign .panel-tag {
  color: currentColor;
}

body.stage-redesign .text-card h2 {
  color: var(--language-room-ink);
  font-size: 2.15rem;
  line-height: 1;
}

body.stage-redesign .role-presence {
  position: absolute;
  right: 0.9rem;
  top: 5.35rem;
  bottom: 3.3rem;
  z-index: 2;
  width: 3.9rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.45rem;
  align-items: stretch;
  opacity: 0.72;
  pointer-events: none;
}

body.stage-redesign .role-presence span {
  display: block;
  align-self: stretch;
  border-radius: 999px;
  background:
    linear-gradient(180deg, transparent, currentColor 16%, rgba(255, 255, 255, 0.68) 50%, currentColor 84%, transparent);
  opacity: 0.2;
  transform: scaleY(0.72);
  animation: languageRoleBreath 4.8s ease-in-out infinite;
}

body.stage-redesign .role-presence span:nth-child(2) {
  animation-delay: -1.4s;
}

body.stage-redesign .role-presence span:nth-child(3) {
  animation-delay: -2.6s;
}

body.stage-redesign .role-presence-warden {
  width: 2.6rem;
  gap: 0.28rem;
}

body.stage-redesign .role-presence-warden span {
  opacity: 0.28;
  transform: scaleY(0.9);
  animation-duration: 3.2s;
}

body.stage-redesign .role-presence-public span {
  opacity: 0.17;
  animation-duration: 6.4s;
}

body.stage-redesign .card-inner {
  inset: 0;
  padding: 6.15rem 5.35rem 3.1rem 1.35rem;
}

body.stage-redesign .card-warden .card-inner {
  padding-right: 4.15rem;
}

body.stage-redesign .text-output-shell {
  align-items: center;
  padding-left: 0.25rem;
}

body.stage-redesign .warden-panel .text-output-shell {
  align-items: flex-start;
  padding-top: 0.45rem;
}

body.stage-redesign .text-output {
  color: var(--language-room-ink);
  text-shadow:
    0 0 0.5px rgba(241, 234, 219, 0.36),
    0 0 22px rgba(0, 0, 0, 0.18);
}

body.stage-redesign .text-output.large,
body.stage-redesign .raw-body,
body.stage-redesign .public-body {
  font-size: 2.45rem;
  line-height: 1.12;
}

body.stage-redesign .raw-body {
  color: #f3d2a6;
}

body.stage-redesign .code-body {
  color: #e7d876;
}

body.stage-redesign .public-body {
  color: #d6eee6;
}

body.stage-redesign .card-public .text-output.large,
body.stage-redesign .card-public .public-body {
  font-size: 2.08rem;
  line-height: 1.16;
}

body.stage-redesign .text-output.medium,
body.stage-redesign .warden-panel .text-output.medium,
body.stage-redesign[data-ui-lang="zh"] .warden-panel .code-body {
  font-size: 1.32rem;
  line-height: 1.42;
}

body.stage-redesign .card-footer {
  left: 0.95rem;
  right: 0.95rem;
  bottom: 0.82rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(216, 200, 170, 0.08);
  color: rgba(216, 200, 170, 0.54);
}

body.stage-redesign .scan-beam {
  width: 2px;
  background: linear-gradient(180deg, transparent, currentColor, #f1eadb, currentColor, transparent);
  box-shadow:
    0 0 10px currentColor,
    0 0 44px rgba(241, 234, 219, 0.26);
}

body.stage-redesign .text-card.blacked-out .card-inner::after {
  inset: 17% 8% 18%;
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(3, 4, 3, 0.9), rgba(3, 4, 3, 0.98)),
    repeating-linear-gradient(180deg, rgba(199, 90, 67, 0.16) 0 2px, transparent 2px 10px);
  color: rgba(240, 176, 109, 0.78);
}

body.stage-redesign .theater-audience-panel {
  grid-template-columns: minmax(15rem, 0.86fr) 8.5rem minmax(25rem, 1.6fr);
  min-height: 9.3rem;
  padding: 0.95rem;
  border-radius: var(--stage-card-radius);
  border-color: rgba(216, 200, 170, 0.18);
  background:
    linear-gradient(90deg, rgba(199, 90, 67, 0.12), rgba(216, 200, 170, 0.035) 34%, rgba(184, 214, 204, 0.055)),
    rgba(8, 9, 7, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(241, 234, 219, 0.04),
    0 22px 58px rgba(0, 0, 0, 0.44);
  backdrop-filter: blur(8px);
}

body.stage-redesign .theater-audience-panel.active {
  border-color: rgba(199, 90, 67, 0.64);
  box-shadow:
    inset 0 1px 0 rgba(241, 234, 219, 0.05),
    0 0 34px rgba(199, 90, 67, 0.18),
    0 22px 58px rgba(0, 0, 0, 0.44);
}

body.stage-redesign .theater-audience-panel.active .decision-grid {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(199, 90, 67, 0.08), rgba(216, 200, 170, 0.025));
  box-shadow: none;
}

body.stage-redesign .audience-request-title {
  color: var(--language-room-ink);
  font-size: 1.45rem;
  line-height: 1.12;
}

body.stage-redesign .request-copy {
  color: rgba(216, 200, 170, 0.66);
  font-size: 0.95rem;
  line-height: 1.42;
}

body.stage-redesign .countdown-wrap {
  min-width: 0;
  min-height: 7rem;
  border-radius: 4px;
  border-color: rgba(216, 200, 170, 0.14);
  background:
    linear-gradient(180deg, rgba(216, 200, 170, 0.04), rgba(216, 200, 170, 0.012)),
    rgba(3, 4, 3, 0.44);
}

body.stage-redesign .countdown {
  color: var(--language-room-ink);
  font-size: 2.45rem;
}

body.stage-redesign .decision-grid {
  gap: 0.55rem;
}

body.stage-redesign .option-button {
  min-height: 4.85rem;
  padding: 0.76rem 0.82rem;
  gap: 0.42rem;
  border-radius: 4px;
  border-color: rgba(216, 200, 170, 0.16);
  background: rgba(216, 200, 170, 0.035);
  color: var(--language-room-ink);
}

body.stage-redesign .option-button:hover,
body.stage-redesign .option-button:focus-visible {
  border-color: rgba(240, 176, 109, 0.64);
  background: rgba(240, 176, 109, 0.09);
}

body.stage-redesign .option-button.is-selected,
body.stage-redesign .option-button.is-default-selected {
  border-color: rgba(199, 90, 67, 0.72);
  background: rgba(199, 90, 67, 0.13);
}

body.stage-redesign .default-policy {
  color: rgba(216, 200, 170, 0.62);
}

body.stage-redesign .corner-handle,
body.stage-redesign .lang-button {
  border-radius: 4px;
}

@keyframes languageRoomNodeBreath {
  0%, 100% {
    opacity: 0.22;
    transform: scaleY(0.84);
  }
  48% {
    opacity: 0.48;
    transform: scaleY(1);
  }
}

@keyframes languageRoleBreath {
  0%, 100% {
    opacity: 0.16;
    transform: scaleY(0.58);
  }
  48% {
    opacity: 0.52;
    transform: scaleY(1);
  }
}

@keyframes languageRoomSignalTravel {
  to {
    background-position: 0 0, 1.55rem 0;
  }
}

@media (max-width: 1100px) {
  body.stage-redesign .stage-app-shell {
    padding: 5rem 1rem 1rem;
  }

  body.stage-redesign .language-room-field {
    inset: 5rem 1rem 11rem;
    opacity: 0.42;
  }

  body.stage-redesign .episode-ribbon {
    position: static;
    width: auto;
    padding-left: 0.75rem;
  }

  body.stage-redesign .language-room-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  body.stage-redesign .language-room-link {
    display: none;
  }

  body.stage-redesign .card-raw,
  body.stage-redesign .card-warden,
  body.stage-redesign .card-public {
    transform: none;
  }

  body.stage-redesign .language-role {
    min-height: 22rem;
  }

  body.stage-redesign .theater-audience-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  body.stage-redesign .stage-app-shell {
    padding-top: 8.7rem;
  }

  body.stage-redesign .language-room-field {
    display: none;
  }

  body.stage-redesign .language-role {
    min-height: 20rem;
  }

  body.stage-redesign .text-card h2 {
    font-size: 1.62rem;
  }

  body.stage-redesign .card-chrome {
    grid-template-columns: 1fr;
    gap: 0.32rem;
  }

  body.stage-redesign .card-index {
    display: none;
  }

  body.stage-redesign .role-presence {
    top: 5.1rem;
    bottom: 2.9rem;
    width: 2.25rem;
    gap: 0.22rem;
    opacity: 0.42;
  }

  body.stage-redesign .card-inner,
  body.stage-redesign .card-warden .card-inner {
    padding: 5.75rem 3.55rem 2.9rem 1rem;
  }

  body.stage-redesign .text-output.large,
  body.stage-redesign .raw-body,
  body.stage-redesign .public-body {
    font-size: 1.62rem;
  }

  body.stage-redesign .card-public .text-output.large,
  body.stage-redesign .card-public .public-body {
    font-size: 1.42rem;
    line-height: 1.22;
  }

  body.stage-redesign .text-output.medium,
  body.stage-redesign .warden-panel .text-output.medium,
  body.stage-redesign[data-ui-lang="zh"] .warden-panel .code-body {
    font-size: 1rem;
    line-height: 1.46;
  }

  body.stage-redesign .theater-audience-panel {
    min-height: 0;
    padding: 0.82rem;
  }

  body.stage-redesign .audience-request-title {
    font-size: 1.12rem;
  }

  body.stage-redesign .countdown-wrap {
    min-height: 5.2rem;
  }

  body.stage-redesign .option-button {
    min-height: 4.25rem;
  }
}
