:root { --header-height: 90px; }
section[id] { scroll-margin-top: calc(var(--header-height) + 20px); }
nav a[aria-current="location"] { background: var(--accent); color: #fff; }
:focus-visible { outline: 3px solid #c78a18; outline-offset: 4px; }
button { font: inherit; cursor: pointer; }
button:disabled { cursor: wait; opacity: .55; }
[hidden] { display: none !important; }
.split > *, .hero-grid > *, .grid-3 > *, .runtime-layout > * { min-width: 0; }
.code { white-space: pre-wrap; overflow-wrap: anywhere; }
#runtime, #signatures { padding-top: 0; }
.runtime-layout { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: 64px; align-items: center; }
.runtime-stack { display: block; width: 100%; overflow: visible; }
.stack-node { cursor: pointer; outline: none; }
.stack-node rect { fill: var(--dark-2); stroke: #617c73; stroke-width: 1.5; }
.stack-node text { fill: var(--dark-text); font: 600 19px var(--sans); pointer-events: none; }
.stack-node .stack-sub { fill: var(--dark-muted); font: 12px var(--mono); }
.stack-node:hover rect, .stack-node[aria-pressed="true"] rect { fill: #19483d; stroke: #b8ffdc; stroke-width: 2; }
.stack-node:focus-visible rect { stroke: #ffcf73; stroke-width: 3; }
.flow-edge { stroke: #617c73; stroke-width: 2; }
.flow-edge.active { stroke: #b8ffdc; stroke-width: 4; }
.stack-detail { min-height: 300px; }
.boundary-note { border-left: 2px solid #ffcf73; padding-left: 16px; color: #e4d6b4; }
.telemetry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.telemetry-toolbar p { margin: 0; }
.icon-button { flex: 0 0 auto; display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid #617c73; border-radius: 6px; background: var(--dark-2); color: #dffced; }
.icon-button:hover { background: #19483d; }
.icon-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#telemetry-notice { min-height: 26px; font-size: 14px; }
.run-status { margin-top: 20px; padding: 16px 0; border-top: 1px solid #617c73; border-bottom: 1px solid #617c73; min-height: 202px; }
[data-workflow] h3 { min-height: 2.2em; }
.status-badge { display: inline-block; padding: 5px 10px; border: 1px solid #617c73; border-radius: 6px; font: 600 14px var(--mono); color: #dae5df; }
.status-badge[data-state="success"] { color: #b8ffdc; border-color: #70caa0; }
.status-badge[data-state="failure"] { color: #ffb5a7; border-color: #e39788; }
.status-badge[data-state="pending"], .status-badge[data-state="stale"] { color: #ffcf73; border-color: #c78a18; }
.run-meta, .run-time { font: 14px/1.65 var(--mono); color: var(--dark-muted); overflow-wrap: anywhere; }
.run-link { font-size: 14px; }
.theorem summary { line-height: 1.6; }
.theorem summary:hover { color: var(--accent); }
.theorem[open] { border-color: var(--accent); }
.theorem-tag { font: 700 14px var(--mono); color: var(--accent); margin: 0 12px 0 4px; }
.summary-hint { font-size: 13px; font-weight: 400; color: var(--muted); margin-left: 12px; }
.command-wrap { position: relative; }
.command-wrap .command { padding-top: 58px; }
.copy-button { position: absolute; top: 10px; right: 10px; }
#copy-feedback { min-height: 26px; font-size: 14px; }
.table-scroll { overflow-x: auto; max-width: 100%; }
.table-scroll table { min-width: 650px; }
@media (max-width: 860px) {
  .site-header .container { gap: 10px; }
  nav { gap: 2px; }
  nav a { padding: 6px 8px; }
  .runtime-layout { grid-template-columns: 1fr; gap: 24px; }
  .runtime-stack { max-width: 340px; margin: 0 auto; }
  .stack-detail { min-height: 330px; }
  .summary-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
