* { box-sizing: border-box; }

body.sovereign-body {
  min-height: 100vh;
  margin: 0;
  background: var(--page-bg);
  color: var(--txt);
  font-family: var(--font-body-serif);
  display: grid;
  place-items: center;
  padding: clamp(14px, 4vw, 44px);
}

button, textarea { font: inherit; }
button { cursor: pointer; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sovereign-frame {
  width: min(1360px, 100%);
  min-height: min(840px, calc(100vh - 28px));
  border: 1px solid var(--line);
  border-radius: var(--frame-radius);
  background:
    radial-gradient(120% 90% at 50% -10%, var(--accent-glow), transparent 55%),
    var(--surface);
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 4vw, 44px) clamp(22px, 6vw, 72px) 40px;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.22);
}

.sovereign-top,
.sovereign-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-family: var(--font-mono-korum);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.sovereign-brand {
  color: var(--muted);
  text-decoration: none;
}

.sovereign-brand span { color: var(--accent); }

.sovereign-session {
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.sovereign-session i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
}

.sovereign-hero {
  width: min(1000px, 100%);
  margin: auto;
  padding: clamp(42px, 8vh, 90px) 0;
}

.sovereign-eyebrow {
  margin: 0 0 18px;
  color: var(--muted);
  font-family: var(--font-mono-korum);
  font-size: 11px;
  letter-spacing: 0.3em;
}

.sovereign-hero h1 {
  margin: 0 0 34px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(52px, 8vw, 86px);
  line-height: 0.98;
  letter-spacing: -0.01em;
}

.sovereign-hero h1 span { color: var(--accent); }

.sovereign-form { display: grid; gap: 18px; }

.sovereign-intake-line {
  max-width: 820px;
  display: grid;
  grid-template-columns: 1fr 2px;
  align-items: end;
  gap: 12px;
  border-bottom: 1px solid var(--accent-line);
  padding-bottom: 12px;
}

.sovereign-intake-line textarea {
  width: 100%;
  min-height: 42px;
  max-height: 170px;
  resize: none;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--txt);
  font-family: var(--font-body-serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(21px, 3vw, 26px);
  line-height: 1.35;
}

.sovereign-intake-line textarea::placeholder { color: var(--faint); }

.sovereign-caret {
  width: 2px;
  height: 26px;
  margin-bottom: 7px;
  background: var(--accent);
  animation: korumBlink 1.1s step-end infinite;
}

.route-confirm,
.route-blurb,
.full-ledger,
.sovereign-actions {
  margin-left: min(167px, 18vw);
}

.route-confirm {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: var(--muted);
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.route-confirm strong {
  color: var(--txt);
  font-family: var(--font-mono-korum);
  font-size: 11px;
}

.route-confirm em {
  color: var(--accent);
  font-style: normal;
}

.route-confirm button {
  border: 0;
  background: transparent;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.route-confirm[hidden] { display: none; }

.sovereign-selector {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px 22px;
  align-items: stretch;
  max-width: 860px;
}

.selector-label {
  padding-top: 21px;
  color: var(--muted);
  font-family: var(--font-mono-korum);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.route-card {
  text-align: left;
  border: 0;
  border-left: 2px solid var(--line-2);
  background: transparent;
  color: var(--faint);
  padding: 18px 22px 18px 20px;
  transition: border-color var(--motion-fast), color var(--motion-fast), background var(--motion-fast);
}

.route-card.active {
  border-left-color: var(--accent);
  color: var(--txt);
  background: rgba(255, 255, 255, 0.018);
}

.route-card span {
  display: block;
  margin-bottom: 8px;
  color: inherit;
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.18em;
}

.route-card.active span { color: var(--accent); }

.route-card strong {
  font-family: var(--font-display);
  font-size: 23px;
  line-height: 1.05;
  font-weight: 500;
}

.route-blurb {
  max-width: 650px;
  color: var(--muted);
  font-size: 17px;
  font-weight: 300;
  line-height: 1.6;
}

.full-ledger {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  max-width: 850px;
  border-top: 1px solid var(--accent-line);
  transition: opacity var(--motion-med), max-height var(--motion-med);
}

.full-ledger.is-dimmed {
  opacity: 0.32;
}

.full-ledger div {
  position: relative;
  padding: 15px 16px 10px 0;
  border-top: 1px solid var(--line);
  transition: border-color var(--motion-fast), opacity var(--motion-fast), transform var(--motion-fast);
}

.full-ledger div::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--accent);
  box-shadow: 0 0 14px rgba(245, 168, 0, 0.58);
  transition: width var(--motion-med);
}

.full-ledger span {
  color: var(--faint);
  font-family: var(--font-mono-korum);
  font-size: 10px;
}

.full-ledger strong {
  display: block;
  margin: 7px 0 4px;
  color: var(--txt);
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
}

.full-ledger div:last-child span,
.full-ledger div:last-child strong { color: var(--accent); }

.full-ledger.is-processing div {
  opacity: 0.38;
}

.full-ledger.is-processing div.is-complete,
.full-ledger.is-processing div.is-active {
  opacity: 1;
}

.full-ledger.is-processing div.is-complete::before,
.full-ledger.is-processing div.is-active::before {
  width: calc(100% - 16px);
}

.full-ledger.is-processing div.is-active {
  border-top-color: var(--accent);
  transform: translateY(-2px);
}

.full-ledger.is-processing div.is-active span,
.full-ledger.is-processing div.is-active strong {
  color: var(--accent);
}

.full-ledger.is-processing div.is-active strong::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 8px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 12px rgba(245, 168, 0, 0.75);
  animation: korumPulseDot 0.9s ease-in-out infinite;
}

.full-ledger p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.4;
}

.sovereign-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.primary-cta {
  border: 0;
  border-radius: var(--radius-control);
  background: var(--accent-grad);
  color: var(--on-accent);
  padding: 16px 34px;
  font-family: var(--font-mono-korum);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.primary-cta:disabled { opacity: 0.62; cursor: wait; }

.advanced-link {
  color: var(--muted);
  font-family: var(--font-mono-korum);
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.advanced-link:hover { color: var(--accent); }

.sovereign-result {
  width: min(1000px, 100%);
  margin: 0 auto 30px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  transition: opacity var(--motion-med), transform var(--motion-med);
}

.sovereign-result.is-resolving {
  opacity: 0.86;
  transform: translateY(-3px);
}

.processing-status-line {
  margin: 0 0 14px;
  color: var(--accent);
  font-family: var(--font-mono-korum);
  font-size: 11px;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.processing-status-line::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 12px rgba(245, 168, 0, 0.72);
  animation: korumPulseDot 0.9s ease-in-out infinite;
}

.processing-orbital {
  width: min(360px, 100%);
  height: 210px;
  margin: 0 0 18px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--motion-med), transform var(--motion-med), max-height var(--motion-med);
}

.processing-orbital.is-active {
  opacity: 1;
  transform: none;
}

.processing-orbital.is-resolving {
  opacity: 0;
  max-height: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.processing-globe {
  position: relative;
  width: 210px;
  height: 210px;
  margin-left: 8px;
  filter: drop-shadow(0 20px 54px rgba(0, 0, 0, 0.5));
  perspective: 900px;
  perspective-origin: 50% 42%;
}

.processing-globe .lightning-layer,
.processing-globe .orbit-rings {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.processing-globe .orbit {
  fill: none;
  stroke: var(--muted);
  stroke-width: 1.5;
  stroke-dasharray: 4 8;
  transform-origin: center;
  animation: spin 60s linear infinite;
  opacity: 0.68;
}

.processing-globe .lightning-path {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.9;
  filter: drop-shadow(0 0 8px #fff);
  transition: opacity 0.1s;
}

.processing-globe .storm-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 136px;
  height: 78px;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-6deg);
  z-index: 5;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 42% 40%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 10%, rgba(24, 24, 24, 0.9) 34%, rgba(7, 7, 7, 0.98) 68%, rgba(0, 0, 0, 1) 100%);
  border: 1px solid rgba(232, 232, 236, 0.08);
  box-shadow:
    inset 0 0 24px rgba(255, 255, 255, 0.04),
    inset 0 -24px 42px rgba(0, 0, 0, 0.8),
    0 0 36px rgba(0, 0, 0, 0.72);
  transition: box-shadow 0.16s ease, filter 0.16s ease, transform 0.16s ease;
}

.processing-globe .storm-core::before,
.processing-globe .storm-core::after {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  mix-blend-mode: screen;
  pointer-events: none;
}

.processing-globe .storm-core::before {
  background:
    conic-gradient(from 160deg, rgba(255, 255, 255, 0.015) 0deg, rgba(255, 255, 255, 0.03) 72deg, rgba(245, 168, 0, 0.07) 110deg, rgba(10, 10, 10, 0) 180deg, rgba(255, 209, 102, 0.04) 255deg, rgba(255, 255, 255, 0.02) 360deg);
  filter: blur(16px);
  opacity: 0.7;
  animation: stormSpiral 24s linear infinite;
}

.processing-globe .storm-core::after {
  inset: 14%;
  background:
    radial-gradient(circle at 32% 36%, rgba(255, 255, 255, 0.08), transparent 26%),
    radial-gradient(circle at 58% 56%, rgba(255, 255, 255, 0.05), transparent 24%),
    radial-gradient(circle at 48% 50%, rgba(245, 168, 0, 0.04), transparent 22%);
  filter: blur(12px);
  opacity: 0.7;
  animation: stormPulse 8s ease-in-out infinite;
}

.processing-globe .storm-cloud {
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 28% 34%, rgba(255, 255, 255, 0.11), transparent 16%),
    radial-gradient(circle at 54% 44%, rgba(255, 255, 255, 0.08), transparent 20%),
    radial-gradient(circle at 62% 62%, rgba(255, 209, 102, 0.04), transparent 18%),
    radial-gradient(circle at center, rgba(12, 12, 12, 0.24), rgba(0, 0, 0, 0.86) 72%);
  filter: blur(13px);
  opacity: 0.78;
  animation: stormPulse 10s ease-in-out infinite;
  transform: scaleY(0.78);
}

.processing-globe .storm-cloud-secondary {
  inset: 8%;
  opacity: 0.44;
  filter: blur(18px);
  animation: stormSpiralReverse 17s linear infinite;
}

.processing-globe .storm-eye {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 52px;
  height: 34px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 38% 38%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.06) 12%, rgba(30, 30, 30, 0.24) 28%, rgba(4, 4, 4, 0.92) 72%);
  box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.04), 0 0 24px rgba(0, 0, 0, 0.42);
  filter: blur(1px);
}

.processing-globe .sphere-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 170px;
  height: 170px;
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 8;
  pointer-events: none;
  animation: sphereOrbit 22s linear infinite;
}

.processing-globe .sphere-container {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.82), rgba(255, 209, 102, 0.54) 18%, rgba(245, 168, 0, 0.22) 46%, rgba(14, 14, 14, 0.98) 72%);
  box-shadow:
    inset -10px -10px 18px rgba(24, 24, 24, 0.74),
    inset 5px 5px 12px rgba(255, 255, 255, 0.22),
    0 0 18px rgba(255, 209, 102, 0.13);
  animation: globeSpin 18s linear infinite;
}

.processing-globe .sphere-texture,
.processing-globe .sphere-shine {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.processing-globe .sphere-texture {
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255, 255, 255, 0.12) 20%, transparent 23% 48%, rgba(255, 255, 255, 0.08) 51%, transparent 54%),
    linear-gradient(0deg, transparent 0 34%, rgba(0, 0, 0, 0.16) 36%, transparent 39% 62%, rgba(255, 255, 255, 0.08) 64%, transparent 67%);
  opacity: 0.7;
}

.processing-globe .sphere-shine {
  background: radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.55), transparent 23%);
  mix-blend-mode: screen;
}

.processing-globe .orbit-nodes {
  position: absolute;
  inset: 0;
  z-index: 18;
  pointer-events: none;
  transform-origin: center;
  animation: spin 60s linear infinite;
}

.processing-globe .node {
  --node-color: #f5a800;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--node-color);
  opacity: 1;
  box-shadow: 0 0 13px var(--node-color);
}

.processing-globe .node.gpt { --node-color: #19c37d; }
.processing-globe .node.claude { --node-color: #d97757; }
.processing-globe .node.gemini { --node-color: #8ab4f8; }
.processing-globe .node.perplexity { --node-color: #20b8cd; }
.processing-globe .node.mistral { --node-color: #ff9d00; }

.processing-globe .node.energized {
  box-shadow: 0 0 18px var(--node-color), 0 0 34px var(--node-color);
}

.processing-globe .storm-core.impact {
  filter: brightness(1.28);
  box-shadow:
    inset 0 0 28px rgba(255, 255, 255, 0.09),
    inset 0 -24px 42px rgba(0, 0, 0, 0.8),
    0 0 42px rgba(245, 168, 0, 0.22);
}

body.activated .processing-globe .orbit,
body.activated .processing-globe .orbit-nodes {
  animation-duration: 12s !important;
}

body.activated .processing-globe .sphere-orbit {
  animation-duration: 8s !important;
}

body.activated .processing-globe .sphere-container {
  animation-duration: 3s !important;
}

body.activated .processing-globe .storm-core::before {
  animation-duration: 7s;
}

body.activated .processing-globe .storm-cloud-secondary {
  animation-duration: 6s;
}

.result-status {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

.result-status span,
.result-grid span,
.result-tags span {
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.result-status span { color: var(--accent); }
.result-status strong {
  color: var(--txt);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
}

#resultSummary {
  max-width: 760px;
  color: var(--txt-2);
  font-size: 17px;
  line-height: 1.55;
}

.result-case-file {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  max-width: 940px;
  margin: 18px 0 20px;
  border-top: 1px solid var(--accent-line);
  border-bottom: 1px solid var(--line);
}

.result-case-file[hidden] { display: none; }

.case-file-row {
  display: grid;
  grid-template-columns: minmax(118px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  min-height: 72px;
  padding: 14px 18px 14px 0;
  border-top: 1px solid var(--line);
}

.case-file-row span {
  color: var(--accent);
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.case-file-row p,
.case-file-row ul {
  margin: 0;
  color: var(--txt-2);
  font-size: 15px;
  line-height: 1.5;
}

.case-file-row ul {
  display: grid;
  gap: 6px;
  padding-left: 17px;
}

.case-file-row li::marker {
  color: var(--accent);
}

.result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 780px;
}

.result-grid div {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.result-grid span {
  display: block;
  color: var(--faint);
  margin-bottom: 6px;
}

.result-grid strong {
  overflow-wrap: anywhere;
  font-family: var(--font-mono-korum);
  font-size: 12px;
  color: var(--txt-2);
}

.result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.result-tags span {
  border: 1px solid var(--line-2);
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--muted);
}

.now-what-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr);
  gap: 18px 24px;
  max-width: 940px;
  margin-top: 20px;
  padding: 18px 0 0;
  border-top: 1px solid var(--accent-line);
}

.now-what-panel[hidden] { display: none; }

.now-what-copy {
  display: grid;
  gap: 7px;
}

.now-what-kicker,
.now-what-evidence label,
.now-what-status {
  font-family: var(--font-mono-korum);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.now-what-kicker {
  color: var(--accent);
}

.now-what-copy h2 {
  margin: 0;
  color: var(--txt);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.06;
}

.now-what-copy p {
  max-width: 660px;
  margin: 0;
  color: var(--txt-2);
  font-size: 16px;
  line-height: 1.5;
}

.now-what-evidence {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
}

.now-what-evidence[hidden] { display: none; }

.now-what-evidence label {
  color: var(--muted);
}

.now-what-evidence textarea {
  width: 100%;
  min-height: 98px;
  resize: vertical;
  border: 1px solid var(--line-2);
  border-radius: var(--radius-control);
  outline: 0;
  background: rgba(255, 255, 255, 0.025);
  color: var(--txt);
  padding: 13px 14px;
  font-family: var(--font-body-serif);
  font-size: 16px;
  line-height: 1.45;
}

.now-what-evidence textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(245, 168, 0, 0.09);
}

.now-what-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
}

.now-what-primary {
  border: 0;
  border-radius: var(--radius-control);
  background: var(--accent-grad);
  color: var(--on-accent);
  padding: 14px 22px;
  font-family: var(--font-mono-korum);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.now-what-primary:disabled {
  opacity: 0.62;
  cursor: wait;
}

.now-what-status {
  min-height: 16px;
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.now-what-status.is-error {
  color: #cf7a70;
}

.now-what-status.is-success {
  color: var(--accent);
}

.result-actions {
  margin-top: 18px;
}

.secondary-cta {
  border: 1px solid var(--line-2);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--txt-2);
  padding: 11px 18px;
  font-family: var(--font-mono-korum);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.secondary-cta:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.sovereign-bottom {
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--faint);
}

.sovereign-bottom em {
  font-family: var(--font-body-serif);
  font-size: 16px;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes sphereOrbit {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes globeSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes stormSpiral {
  from { transform: rotate(0deg) scale(1); }
  to { transform: rotate(360deg) scale(1); }
}

@keyframes stormSpiralReverse {
  from { transform: rotate(360deg) scaleY(0.78); }
  to { transform: rotate(0deg) scaleY(0.78); }
}

@keyframes stormPulse {
  0%, 100% { opacity: 0.62; transform: scale(0.98); }
  50% { opacity: 0.88; transform: scale(1.04); }
}

@keyframes korumPulseDot {
  0%, 100% { opacity: 0.52; transform: scale(0.84); }
  50% { opacity: 1; transform: scale(1); }
}

@media (max-width: 820px) {
  body.sovereign-body { display: block; padding: 0; background: var(--surface); }
  .sovereign-frame { min-height: 100vh; border: 0; border-radius: 0; }
  .sovereign-top, .sovereign-bottom { align-items: flex-start; flex-direction: column; }
  .sovereign-selector { grid-template-columns: 1fr; }
  .selector-label, .route-confirm, .route-blurb, .full-ledger, .sovereign-actions { margin-left: 0; }
  .selector-label { padding-top: 0; }
  .full-ledger, .result-grid, .result-case-file { grid-template-columns: 1fr; }
  .case-file-row { grid-template-columns: 1fr; gap: 7px; padding-right: 0; }
  .now-what-panel { grid-template-columns: 1fr; }
  .processing-orbital { height: 180px; }
  .processing-globe {
    width: 180px;
    height: 180px;
    margin-left: 0;
  }
}
