:root {
  --c-bg: #fafbf8;
  --c-text: #202b24;
  --c-accent: #28663e;
  --ui-border: #cbd6cc;
  --ui-muted: #526458;
  --button-text: #fff;
  color-scheme: light;
}
:root[data-theme='dark'] {
  --c-bg: #080d09;
  --c-text: #e2e9df;
  --c-accent: #b4dc98;
  --ui-border: #374535;
  --ui-muted: #b7c5b0;
  --button-text: #10190c;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--c-bg); color: var(--c-text); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
button { font: inherit; }
a { color: inherit; }
.talk-bar { max-width: 1560px; margin: auto; padding: 16px 24px; display: flex; gap: 20px; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--ui-border); font-size: 12px; }
.talk-actions, .credit-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.credit-actions { margin-top: 20px; }
.continue, #theme-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 18px; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 1.4; text-decoration: none; }
.continue { background: var(--c-accent); color: var(--button-text); }
#theme-toggle { background: var(--c-bg); color: var(--c-text); border: 1px solid var(--ui-border); cursor: pointer; }
.credit { max-width: 1560px; margin: 20px auto 0; padding: 24px; border-top: 1px solid var(--ui-border); font-size: 12px; line-height: 1.85; color: var(--ui-muted); }
.inference-flow[data-v-53159bc6] { margin-top: 14px; }
.phase-spine[data-v-53159bc6] { position: sticky; top: 0; background: var(--c-bg); z-index: 2; margin-top: 16px; }
.phase-stage[data-v-53159bc6] { grid-template-columns: minmax(245px, .55fr) minmax(0, 1.65fr); min-height: clamp(470px, calc(100vh - 290px), 680px); padding: 24px 0; }
.phase-copy p[data-v-53159bc6] { color: var(--ui-muted); }
.phase-buttons button[data-v-53159bc6], .flow-header[data-v-53159bc6], .phase-facts dt[data-v-53159bc6], .flow-footer[data-v-53159bc6] { color: var(--ui-muted); }
.phase-buttons button.active[data-v-53159bc6] { color: var(--c-accent); }
.svg-label[data-v-53159bc6], .wire-label[data-v-53159bc6] { fill: var(--ui-muted) !important; }
.svg-value[data-v-53159bc6] { fill: var(--c-text) !important; }
.diagram-shell[data-v-53159bc6] { stroke: color-mix(in srgb, var(--c-accent) 65%, var(--c-bg)) !important; }
.flow-footer button[data-v-53159bc6] { min-height: 44px; padding: 12px 8px; }
.flow-footer button[data-v-53159bc6]:disabled { opacity: .45; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 4px; }
@media (max-width: 900px) {
  .phase-stage[data-v-53159bc6] { grid-template-columns: 1fr; min-height: auto; padding: 24px 0; }
  .phase-copy h2[data-v-53159bc6] { margin-top: 12px; }
}
@media (max-width: 700px) {
  .talk-bar { padding: 16px; flex-wrap: wrap; }
  .talk-actions { width: 100%; }
  .talk-actions .continue { flex: 1; }
  .credit { padding: 20px 16px; }
  .credit-actions { align-items: stretch; flex-direction: column; }
  .credit-actions > a { min-height: 44px; display: flex; align-items: center; }
}
