html:has(body.headens-entered) {
  height: 100% !important;
  overflow: hidden !important;
}

body.headens-entered {
  height: 100% !important;
  overflow: hidden !important;
}

body.headens-entered #app,
body.headens-entered .app-container {
  height: auto !important;
  min-height: 100svh;
}

body.headens-entered #lenis-wrapper {
  position: fixed !important;
  inset: 0 !important;
  height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  overscroll-behavior-y: auto;
}

body.headens-entered #lenis-content {
  height: auto !important;
  min-height: 100svh;
}

#work.stacking-section {
  min-height: 100svh;
}

#work.featured-work-stack {
  position: relative !important;
  top: auto !important;
}

.headens-story {
  --headens-story-accent: var(--accent-strong, #F5C400);
  --headens-story-control-accent: var(--headens-yellow, #F5C400);
  --headens-story-highlight: var(--headens-yellow, #F5C400);
  --headens-story-highlight-ink: var(--accent-ink, #0D1117);
  --headens-story-canvas: var(--canvas, #080808);
  --headens-story-text: var(--text, #f5f5f1);
  --headens-story-muted: var(--text-muted, #a7a7a0);
  --headens-story-border: var(--border, #4c4c48);
  --headens-story-model-slot: 100%;
  position: relative;
  color: var(--headens-story-text);
  background: var(--headens-story-canvas);
  isolation: isolate;
  user-select: text;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  block-size: calc(var(--headens-story-count) * 100svh);
  font-family: "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

.headens-story .headens-story__viewport {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding-inline: calc(6.5vw + var(--headens-crt-safe-inline, 0px));
  padding-block: calc(clamp(1.5rem, 3svh, 2.5rem) + var(--headens-crt-safe-block, 0px));
  padding-top: calc(clamp(1.5rem, 3svh, 2.5rem) + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-top));
  padding-right: calc(6.5vw + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-right));
  padding-bottom: calc(clamp(1.5rem, 3svh, 2.5rem) + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-bottom));
  padding-left: calc(6.5vw + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-left));
  overflow: clip;
  touch-action: pan-y pinch-zoom;
}

.headens-story .headens-story__model-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  touch-action: pan-y pinch-zoom;
}

.headens-story .headens-story__canvas {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  opacity: 1;
  pointer-events: none;
  touch-action: pan-y pinch-zoom;
}

.headens-story .headens-story__terminal {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow-x: clip;
  overflow-y: visible;
  border: 1px solid transparent;
  background: transparent;
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

.headens-story .headens-story__model-stage {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  justify-self: stretch;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-block-size: var(--headens-story-model-slot);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}

.headens-story .headens-story__ascii-decoration {
  position: absolute;
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--headens-story-border);
  font: 400 0.875rem/1 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "calt" 0;
  letter-spacing: 0;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

.headens-story .headens-story__ascii-frame {
  inset: 0;
  z-index: 5;
  max-width: none;
  overflow: visible;
}

.headens-story .headens-story__ascii-frame-rail,
.headens-story .headens-story__ascii-frame-corner {
  max-width: none;
}

.headens-story .headens-story__ascii-frame-rail--top,
.headens-story .headens-story__ascii-frame-rail--bottom {
  left: 1ch;
  right: 1ch;
  width: auto;
  height: 1em;
}

.headens-story .headens-story__ascii-frame-rail--top {
  top: 0;
}

.headens-story .headens-story__ascii-frame-rail--bottom {
  bottom: 0;
}

.headens-story .headens-story__ascii-frame-rail--left,
.headens-story .headens-story__ascii-frame-rail--right {
  top: 0.5em;
  bottom: 0.5em;
  width: 1ch;
  height: auto;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.headens-story .headens-story__ascii-frame-rail--left {
  left: 0;
}

.headens-story .headens-story__ascii-frame-rail--right {
  right: 0;
}

.headens-story .headens-story__ascii-frame-corner {
  z-index: 1;
  width: 1ch;
  height: 1em;
  overflow: hidden;
}

.headens-story .headens-story__ascii-frame-corner--top-left {
  top: 0;
  left: 0;
}

.headens-story .headens-story__ascii-frame-corner--top-right {
  top: 0;
  right: 0;
}

.headens-story .headens-story__ascii-frame-corner--bottom-right {
  right: 0;
  bottom: 0;
}

.headens-story .headens-story__ascii-frame-corner--bottom-left {
  bottom: 0;
  left: 0;
}

.headens-story .headens-story__ascii-rule--header,
.headens-story .headens-story__ascii-rule--status,
.headens-story .headens-story__ascii-rule--row {
  right: 0;
  left: 0;
  width: 100%;
  height: 1em;
}

.headens-story .headens-story__ascii-rule--header {
  bottom: -0.5em;
}

.headens-story .headens-story__ascii-rule--status,
.headens-story .headens-story__ascii-rule--row {
  top: -0.5em;
}

.headens-story .headens-story__terminal-bar {
  position: relative;
  z-index: 5;
  min-height: 44px;
  display: grid;
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid transparent;
  color: var(--headens-story-muted);
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.headens-story .headens-story__terminal-label:nth-child(2) {
  text-align: center;
}

.headens-story .headens-story__terminal-label:last-child {
  text-align: right;
}

.headens-story .headens-story__terminal-label--status {
  color: var(--headens-story-accent);
  font-weight: 600;
}

.headens-story .headens-story__states,
.headens-story .headens-story__progress,
.headens-story .headens-story__tags,
.headens-story .headens-story__detail-tags {
  margin: 0;
  padding: 0;
  list-style: none;
}

.headens-story .headens-story__states {
  position: relative;
  z-index: 2;
  display: grid;
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.headens-story .headens-story__state {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  align-items: stretch;
  gap: clamp(1.5rem, 3.2vw, 3rem);
  padding: clamp(1.5rem, 3vw, 3rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  clip-path: inset(0 0 100% 0);
}

.headens-story .headens-story__state--active,
.headens-story .headens-story__state--outgoing,
.headens-story .headens-story__state--incoming {
  opacity: 1;
  visibility: visible;
}

.headens-story .headens-story__state--active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  clip-path: none;
}

.headens-story .headens-story__prompt {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-content: start;
  gap: clamp(1rem, 2vw, 2.5rem);
  overflow-wrap: anywhere;
  scroll-padding-block: 1rem;
}

.headens-story .headens-story__prompt-index {
  padding-top: 0.1rem;
  color: var(--headens-story-muted);
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

.headens-story .headens-story__prompt-content {
  min-width: 0;
  max-width: 68ch;
  display: grid;
  align-content: start;
  gap: 1rem;
  overflow-wrap: anywhere;
}

.headens-story .headens-story__eyebrow,
.headens-story .headens-story__count,
.headens-story .headens-story__tag,
.headens-story .headens-story__detail-tag {
  margin: 0;
  color: var(--headens-story-accent);
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.04em;
}

.headens-story .headens-story__eyebrow {
  text-transform: uppercase;
}

.headens-story .headens-story__eyebrow::before,
.headens-story .headens-story__signal-heading::before {
  content: "{";
}

.headens-story .headens-story__eyebrow::after,
.headens-story .headens-story__signal-heading::after {
  content: "}";
}

.headens-story .headens-story__heading {
  margin: 0;
  max-width: 60ch;
  font-family: "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: clamp(1.125rem, 1.35vw, 1.25rem);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-wrap: balance;
}

.headens-story .headens-story__dialog-title {
  margin: 0;
  max-width: 60ch;
  font-family: "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

.headens-story .headens-story__body,
.headens-story .headens-story__detail-paragraph {
  margin: 0;
  max-width: 68ch;
  color: var(--headens-story-text);
  font-family: "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
}

.headens-story .headens-story__tags,
.headens-story .headens-story__detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 1rem;
}

.headens-story .headens-story__tag,
.headens-story .headens-story__detail-tag {
  border: 0;
  padding: 0;
}

.headens-story .headens-story__tag::before,
.headens-story .headens-story__detail-tag::before {
  content: "[";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__tag::after,
.headens-story .headens-story__detail-tag::after {
  content: "]";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__signal {
  position: relative;
  min-width: 0;
  align-self: stretch;
  padding-left: clamp(1.25rem, 2.5vw, 2.5rem);
  border-left: 0;
  overflow-wrap: anywhere;
  scroll-padding-block: 1rem;
}

.headens-story .headens-story__signal-content {
  min-width: 0;
  overflow-wrap: anywhere;
}

.headens-story [data-headens-ascii-role="signal-divider-vertical"] {
  display: block;
  top: 0;
  bottom: 0;
  left: -0.5ch;
  width: 1ch;
  height: 100%;
  max-width: none;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.headens-story [data-headens-ascii-role="signal-divider-horizontal"] {
  display: none;
}

.headens-story .headens-story__signal-heading,
.headens-story .headens-story__signal-label,
.headens-story .headens-story__signal-body,
.headens-story .headens-story__signal-footer {
  margin: 0;
}

.headens-story .headens-story__signal-heading,
.headens-story .headens-story__signal-index {
  color: var(--headens-story-accent);
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.04em;
}

.headens-story .headens-story__signal-heading {
  padding-bottom: 0.75rem;
  text-transform: uppercase;
}

.headens-story .headens-story__signal-items {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  list-style: none;
}

.headens-story .headens-story__signal-item {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.5rem;
  padding: 0.7rem 0;
  border-top: 0;
}

.headens-story .headens-story__ascii-rule--row {
  color: color-mix(in srgb, var(--headens-story-border) 72%, transparent);
}

.headens-story .headens-story__signal-label {
  color: var(--headens-story-text);
  font: 500 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

.headens-story .headens-story__signal-body {
  margin-top: 0.3rem;
  color: var(--headens-story-muted);
  font: 400 1rem/1.5 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

.headens-story .headens-story__signal-footer {
  max-width: 100%;
  margin-top: 0.75rem;
  color: var(--headens-story-accent);
  font: 400 1rem/1.5 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

.headens-story .headens-story__signal-footer::before {
  content: "{NOTE // ";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__signal-footer::after {
  content: "}";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__cta,
.headens-story .headens-story__detail-trigger,
.headens-story .headens-story__progress-button,
.headens-story .headens-story__dialog-close {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  color: var(--headens-story-text);
  background: transparent;
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.04em;
  cursor: pointer;
  touch-action: manipulation;
}

.headens-story .headens-story__cta,
.headens-story .headens-story__detail-trigger {
  position: relative;
  justify-self: start;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  padding: 0 0.55rem;
  color: var(--headens-story-highlight-ink);
  background: var(--headens-story-highlight);
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
}

.headens-story .headens-story__cta::before,
.headens-story .headens-story__detail-trigger::before {
  content: "> ";
}

.headens-story .headens-story__cta::after,
.headens-story .headens-story__detail-trigger::after {
  content: "█";
  animation: headens-terminal-caret 900ms steps(1, end) infinite;
}

.headens-story .headens-story__cta:active,
.headens-story .headens-story__detail-trigger:active,
.headens-story .headens-story__progress-button:active,
.headens-story .headens-story__dialog-close:active {
  opacity: 0.72;
}

.headens-story .headens-story__cta:focus-visible,
.headens-story .headens-story__detail-trigger:focus-visible,
.headens-story .headens-story__progress-button:focus-visible,
.headens-story .headens-story__dialog-close:focus-visible {
  outline: solid 3px var(--headens-story-control-accent);
  outline-offset: 3px;
}

.headens-story .headens-story__status {
  position: relative;
  z-index: 5;
  min-height: 52px;
  display: grid;
  grid-column: 1 / -1;
  grid-row: 3;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 0.25rem 1rem;
  border-top: 1px solid transparent;
}

.headens-story .headens-story__status::after {
  content: "> WHEEL / SELECT";
  color: var(--headens-story-muted);
  font: 400 0.875rem/1.4 "SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.04em;
}

.headens-story .headens-story__progress {
  display: grid;
  grid-template-columns: repeat(var(--headens-story-count), 44px);
  gap: 8px;
  justify-content: start;
}

.headens-story .headens-story__progress-button {
  width: 44px;
  padding: 0;
  color: var(--headens-story-muted);
}

.headens-story .headens-story__progress-button::before {
  content: "[";
}

.headens-story .headens-story__progress-button::after {
  content: "]";
}

.headens-story .headens-story__progress-button[aria-current="step"] {
  color: var(--headens-story-control-accent);
  background: transparent;
  font-weight: 700;
}

.headens-story .headens-story__dialog {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-top)) calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-right)) calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-bottom)) calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-left));
  background: color-mix(in srgb, var(--headens-story-canvas) 90%, transparent);
}

.headens-story .headens-story__dialog[hidden] {
  display: none;
}

.headens-story .headens-story__dialog-panel {
  position: relative;
  width: min(54rem, 100%);
  max-height: min(44rem, 90vh);
  overflow: visible;
  border: 1px solid transparent;
  background: var(--headens-story-canvas);
}

.headens-story .headens-story__dialog-scroll {
  position: relative;
  width: 100%;
  max-height: min(44rem, 90vh);
  overflow: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.headens-story .headens-story__dialog-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  padding: 0 0.75rem;
  color: var(--headens-story-control-accent);
  text-transform: uppercase;
}

.headens-story .headens-story__dialog-title {
  margin-right: 5rem;
  color: var(--headens-story-text);
  font-size: clamp(1.125rem, 1.35vw, 1.25rem);
  text-transform: uppercase;
}

.headens-story .headens-story__dialog-title::before {
  content: "{DETAIL_BUFFER // ";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__dialog-title::after {
  content: "}";
  color: var(--headens-story-muted);
}

.headens-story .headens-story__dialog-content {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}

.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__eyebrow,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__heading,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__body,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__tag,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-heading,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-index,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-label,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-body,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-footer {
  animation: headens-terminal-reveal-a 220ms steps(4, end) both;
}

.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__eyebrow,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__heading,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__body,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__tag,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-heading,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-index,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-label,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-body,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-footer {
  animation: headens-terminal-reveal-b 220ms steps(4, end) both;
}

.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-heading,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-index,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-label,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-body,
.headens-story[data-reveal-phase="a"] .headens-story__state--active .headens-story__signal-footer,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-heading,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-index,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-label,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-body,
.headens-story[data-reveal-phase="b"] .headens-story__state--active .headens-story__signal-footer {
  animation-delay: 40ms;
}

@keyframes headens-terminal-reveal-a {
  0% {
    opacity: 0;
    transform: translate3d(0, 0.35rem, 0);
  }
  32% {
    opacity: 0.46;
    transform: translate3d(0.18rem, 0, 0);
  }
  58% {
    opacity: 0.2;
    transform: translate3d(-0.08rem, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes headens-terminal-reveal-b {
  0% {
    opacity: 0;
    transform: translate3d(0, -0.25rem, 0);
  }
  32% {
    opacity: 0.38;
    transform: translate3d(-0.16rem, 0, 0);
  }
  58% {
    opacity: 0.18;
    transform: translate3d(0.08rem, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes headens-terminal-caret {
  0%,
  48% {
    opacity: 1;
  }
  49%,
  100% {
    opacity: 0;
  }
}

@keyframes headens-terminal-command {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
    letter-spacing: 0.04em;
  }
  34% {
    transform: translate3d(0.12rem, 0, 0);
    letter-spacing: 0.08em;
  }
  67% {
    transform: translate3d(-0.06rem, 0, 0);
    letter-spacing: 0.02em;
  }
}

@media (hover: hover) and (pointer: fine) {
  .headens-story .headens-story__cta:hover,
  .headens-story .headens-story__detail-trigger:hover,
  .headens-story .headens-story__cta:focus-visible,
  .headens-story .headens-story__detail-trigger:focus-visible {
    animation: headens-terminal-command 160ms steps(4, end);
  }

  .headens-story .headens-story__progress-button:hover,
  .headens-story .headens-story__dialog-close:hover {
    color: var(--headens-story-control-accent);
  }
}

@media (min-width: 1024px) {
  .headens-story .headens-story__terminal {
    height: 80%;
    grid-template-columns: minmax(0, 24fr) minmax(0, 52fr) minmax(0, 24fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .headens-story .headens-story__model-stage {
    grid-column: 2;
    grid-row: 2;
  }

  .headens-story .headens-story__states {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .headens-story .headens-story__state {
    grid-template-columns: minmax(0, 24fr) minmax(0, 52fr) minmax(0, 24fr);
    gap: 0;
    padding: 0;
    overflow: hidden;
  }

  .headens-story .headens-story__prompt,
  .headens-story .headens-story__signal {
    align-self: center;
    max-height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding: clamp(1rem, 2vw, 2rem);
  }

  .headens-story .headens-story__prompt {
    grid-column: 1;
  }

  .headens-story .headens-story__signal {
    grid-column: 3;
  }

  .headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) .headens-story__terminal,
  .headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) .headens-story__state {
    grid-template-columns: minmax(0, 1fr) 0 minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .headens-story {
    --headens-story-model-slot: 30svh;
  }

  .headens-story .headens-story__viewport {
    min-height: 100svh;
    align-items: stretch;
    padding-inline: calc(1rem + var(--headens-crt-safe-inline, 0px));
    padding-block: calc(1rem + var(--headens-crt-safe-block, 0px));
    padding-top: calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-top));
    padding-right: calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-right));
    padding-bottom: calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-bottom));
    padding-left: calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-left));
  }

  .headens-story .headens-story__terminal {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: [header] auto [copy-start] minmax(0, 1fr) [model-start] var(--headens-story-model-slot) [model-end] minmax(0, 1fr) [content-end] auto [footer];
    overflow-x: clip;
    overflow-y: visible;
  }

  .headens-story .headens-story__model-stage {
    grid-column: 1;
    grid-row: model-start / model-end;
  }

  .headens-story .headens-story__terminal-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.25rem 0.75rem;
    padding: 0.35rem 0.5rem;
    font-size: 0.875rem;
  }

  .headens-story .headens-story__terminal-label:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: left;
  }

  .headens-story .headens-story__terminal-label:last-child {
    grid-column: 2;
    grid-row: 1;
  }

  .headens-story .headens-story__states {
    grid-column: 1;
    grid-row: copy-start / content-end;
    min-height: 0;
    overflow: hidden;
  }

  .headens-story .headens-story__state {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) var(--headens-story-model-slot) minmax(0, 1fr);
    align-content: start;
    gap: 0;
    padding: 0;
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior-y: auto;
  }

  .headens-story .headens-story__prompt {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: 1rem;
    min-height: 0;
    padding: clamp(0.35rem, 1.5svh, 1rem) clamp(0.5rem, 2vw, 1rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  .headens-story .headens-story__prompt-content {
    gap: 0.75rem;
  }

  .headens-story .headens-story__heading {
    font-size: clamp(1rem, 4.5vw, 1.125rem);
  }

  .headens-story .headens-story__tags {
    display: flex;
  }

  .headens-story .headens-story__signal {
    grid-column: 1;
    grid-row: 3;
    min-height: 0;
    padding: clamp(0.35rem, 1.5svh, 1rem) clamp(0.5rem, 2vw, 1rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    border-top: 0;
    border-left: 0;
  }

  .headens-story [data-headens-ascii-role="signal-divider-vertical"] {
    display: none;
  }

  .headens-story [data-headens-ascii-role="signal-divider-horizontal"] {
    display: block;
    top: -0.5em;
    right: 0;
    left: 0;
    width: 100%;
    height: 1em;
  }

  .headens-story .headens-story__signal-body {
    display: block;
  }

  .headens-story .headens-story__signal-heading {
    padding-bottom: 0.5rem;
  }

  .headens-story .headens-story__signal-item {
    padding-block: 0.5rem;
  }

  .headens-story .headens-story__status {
    grid-row: content-end / footer;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
  }

  .headens-story .headens-story__status::after {
    display: none;
  }

  .headens-story .headens-story__progress {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(44px, 1fr));
    gap: 8px;
  }

  .headens-story .headens-story__progress-button {
    width: 100%;
  }

  .headens-story .headens-story__count {
    grid-column: 1 / -1;
  }

  .headens-story .headens-story__dialog {
    padding: calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-top)) calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-right)) calc(1rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-bottom)) calc(1rem + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-left));
  }

  .headens-story .headens-story__dialog-panel {
    max-height: 100%;
  }

  .headens-story .headens-story__dialog-scroll {
    max-height: 100%;
    padding: 1.25rem;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .headens-story .headens-story__terminal-bar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.5rem;
  }

  .headens-story .headens-story__terminal-label:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
  }

  .headens-story .headens-story__terminal-label:last-child {
    grid-column: 3;
    grid-row: 1;
  }

  .headens-story .headens-story__status {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem;
  }

  .headens-story .headens-story__progress {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: repeat(6, minmax(44px, 1fr));
  }

  .headens-story .headens-story__count {
    grid-column: 1;
    grid-row: 1;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .headens-story .headens-story__viewport {
    padding-inline: calc(6.5vw + var(--headens-crt-safe-inline, 0px));
    padding-block: calc(2rem + var(--headens-crt-safe-block, 0px));
    padding-top: calc(2rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-top));
    padding-right: calc(6.5vw + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-right));
    padding-bottom: calc(2rem + var(--headens-crt-safe-block, 0px) + env(safe-area-inset-bottom));
    padding-left: calc(6.5vw + var(--headens-crt-safe-inline, 0px) + env(safe-area-inset-left));
  }

  .headens-story .headens-story__terminal {
    height: 100%;
    max-height: 44rem;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    grid-template-rows: auto minmax(0, 66fr) minmax(0, 34fr) auto;
  }

  .headens-story .headens-story__model-stage {
    grid-column: 2;
    grid-row: 2;
  }

  .headens-story .headens-story__states {
    grid-column: 1 / -1;
    grid-row: 2 / 4;
    min-height: 0;
    overflow: hidden;
  }

  .headens-story .headens-story__state {
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    grid-template-rows: minmax(0, 66fr) minmax(0, 34fr);
    align-content: start;
    gap: 0;
    padding: 0;
    overflow: hidden;
  }

  .headens-story .headens-story__prompt {
    grid-column: 1;
    grid-row: 1;
    gap: 1.5rem;
    min-height: 0;
    padding: 1.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }

  .headens-story .headens-story__signal {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 0;
    padding: 1rem 1.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    border-top: 0;
    border-left: 0;
  }

  .headens-story [data-headens-ascii-role="signal-divider-vertical"] {
    display: none;
  }

  .headens-story [data-headens-ascii-role="signal-divider-horizontal"] {
    display: block;
    top: -0.5em;
    right: 0;
    left: 0;
    width: 100%;
    height: 1em;
  }

  .headens-story .headens-story__status {
    grid-row: 4;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .headens-story .headens-story__status::after {
    display: none;
  }

  .headens-story .headens-story__progress {
    justify-self: end;
  }

  .headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) .headens-story__terminal,
  .headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) .headens-story__state {
    grid-template-columns: minmax(0, 1fr) 0;
  }
}

@media (orientation: landscape) and (max-height: 620px) {
  .headens-story {
    --headens-story-model-slot: 24svh;
  }
}

@media (pointer: coarse) {
  .headens-story .headens-story__progress-button {
    min-width: 44px;
    max-width: 100%;
    min-height: 44px;
  }
}

.headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) {
  --headens-story-model-slot: 0svh;
}

.headens-story[data-model-runtime-status="unavailable"] .headens-story__model-canvas,
.headens-story[data-model-runtime-status="unavailable"]:not([data-native-image-visible="true"]) .headens-story__model-stage {
  display: none;
}

/* Prepared native stickers occupy the existing stage; the wave owns
   their visibility and the browser owns WebP playback. */
.headens-story[data-native-image-visible="true"] .headens-story__model-stage {
  position: relative;
  z-index: 3;
  pointer-events: none;
}

.headens-story .headens-story__model-stage > .headens-story__native-image {
  position: absolute;
  inset: 0;
}

.headens-story .headens-story__native-image {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--headens-story-muted);
}

.headens-story .headens-story__native-image[hidden] {
  display: none;
}

.headens-story .headens-story__native-image-picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: auto;
}

.headens-story .headens-story__native-image-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
  filter: invert(1);
}

html[data-theme="light"] .headens-story .headens-story__native-image-image {
  filter: none;
}

/* Icarus uses the same bounded visual stage as the hands. */
.headens-story .headens-story__icarus {
  pointer-events: none;
}

.headens-story .headens-story__state > .headens-story__icarus {
  aspect-ratio: 4 / 3;
}

.headens-story .headens-story__state > .headens-story__icarus .headens-story__icarus-picture {
  position: absolute;
  inset: 0;
}

.headens-story .headens-story__state > .headens-story__icarus .headens-story__icarus-image {
  height: 100%;
}

/* All six sprites share one logical terminal grid and on-screen cell size.
   Model-specific composition is prepared before ASCII rasterization. */
.headens-story__state > .headens-story__native-image {
  grid-column: 1 / -1;
  grid-row: auto;
  justify-self: center;
  width: min(100%, 48rem);
  height: auto;
}

.headens-story__state > .headens-story__native-image .headens-story__native-image-picture,
.headens-story__state > .headens-story__native-image .headens-story__native-image-image {
  height: auto;
}

.headens-story__state > .headens-story__native-image .headens-story__native-image-picture {
  position: relative;
  inset: auto;
}


@media (min-width: 1024px) {
  .headens-story[data-native-image-visible="true"] .headens-story__terminal,
  .headens-story[data-native-image-visible="true"] .headens-story__state {
    grid-template-columns: minmax(0, 30fr) minmax(0, 40fr) minmax(0, 30fr);
  }

  .headens-story[data-native-image-visible="true"] .headens-story__prompt,
  .headens-story[data-native-image-visible="true"] .headens-story__signal {
    padding: 1rem;
  }

  .headens-story[data-native-image-visible="true"] .headens-story__prompt,
  .headens-story[data-native-image-visible="true"] .headens-story__prompt-content {
    gap: 0.75rem;
  }

  .headens-story[data-native-image-visible="true"] .headens-story__heading {
    font-size: 1rem;
  }

  /* The first state's longer reputation copy needs one less line of spacing
     within the existing rail, without shrinking the type or the ASCII stage. */
  .headens-story[data-heart-visible="true"] .headens-story__state[data-story-index="0"] .headens-story__prompt-content {
    gap: 0.5rem;
  }

}

.headens-story[data-reduced-motion="true"],
.headens-story[data-canvas="unavailable"] {
  block-size: auto;
}

.headens-story[data-reduced-motion="true"] .headens-story__canvas {
  display: none;
}

.headens-story[data-canvas="unavailable"] .headens-story__canvas {
  display: none;
}

.headens-story[data-reduced-motion="true"] .headens-story__viewport,
.headens-story[data-reduced-motion="true"] .headens-story__terminal,
.headens-story[data-reduced-motion="true"] .headens-story__states,
.headens-story[data-canvas="unavailable"] .headens-story__viewport,
.headens-story[data-canvas="unavailable"] .headens-story__terminal,
.headens-story[data-canvas="unavailable"] .headens-story__states {
  position: relative;
  display: grid;
  height: auto;
  min-height: auto;
  overflow: visible;
}

.headens-story[data-reduced-motion="true"] .headens-story__states,
.headens-story[data-canvas="unavailable"] .headens-story__states {
  gap: clamp(2rem, 5vw, 4rem);
}

.headens-story[data-reduced-motion="true"] .headens-story__state {
  position: relative;
  inset: auto;
  grid-area: auto;
  opacity: 0.72;
  visibility: visible;
  pointer-events: auto;
  clip-path: none;
  transition: opacity 160ms linear;
}

.headens-story[data-canvas="unavailable"] .headens-story__state {
  position: relative;
  inset: auto;
  grid-area: auto;
  opacity: 0.72;
  visibility: visible;
  pointer-events: auto;
  clip-path: none;
  transition: opacity 160ms linear;
}

.headens-story[data-reduced-motion="true"] .headens-story__state--active {
  opacity: 1;
}

.headens-story[data-canvas="unavailable"] .headens-story__state--active {
  opacity: 1;
}

.headens-story[data-reduced-motion="true"] .headens-story__eyebrow,
.headens-story[data-reduced-motion="true"] .headens-story__heading,
.headens-story[data-reduced-motion="true"] .headens-story__body,
.headens-story[data-reduced-motion="true"] .headens-story__tag,
.headens-story[data-reduced-motion="true"] .headens-story__signal-heading,
.headens-story[data-reduced-motion="true"] .headens-story__signal-index,
.headens-story[data-reduced-motion="true"] .headens-story__signal-label,
.headens-story[data-reduced-motion="true"] .headens-story__signal-body,
.headens-story[data-reduced-motion="true"] .headens-story__signal-footer,
.headens-story[data-canvas="unavailable"] .headens-story__eyebrow,
.headens-story[data-canvas="unavailable"] .headens-story__heading,
.headens-story[data-canvas="unavailable"] .headens-story__body,
.headens-story[data-canvas="unavailable"] .headens-story__tag,
.headens-story[data-canvas="unavailable"] .headens-story__signal-heading,
.headens-story[data-canvas="unavailable"] .headens-story__signal-index,
.headens-story[data-canvas="unavailable"] .headens-story__signal-label,
.headens-story[data-canvas="unavailable"] .headens-story__signal-body,
.headens-story[data-canvas="unavailable"] .headens-story__signal-footer {
  animation: none;
}

.headens-story[data-reduced-motion="true"] .headens-story__cta::after,
.headens-story[data-reduced-motion="true"] .headens-story__detail-trigger::after,
.headens-story[data-canvas="unavailable"] .headens-story__cta::after,
.headens-story[data-canvas="unavailable"] .headens-story__detail-trigger::after {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .headens-story {
    block-size: auto;
  }

  .headens-story .headens-story__canvas {
    display: none;
  }

  .headens-story .headens-story__viewport,
  .headens-story .headens-story__terminal,
  .headens-story .headens-story__states {
    position: relative;
    display: grid;
    height: auto;
    min-height: auto;
    overflow: visible;
  }

  .headens-story .headens-story__states {
    gap: clamp(2rem, 5vw, 4rem);
  }

  .headens-story .headens-story__state {
    position: relative;
    inset: auto;
    grid-area: auto;
    opacity: 0.72;
    visibility: visible;
    pointer-events: auto;
    clip-path: none;
    transition: opacity 160ms linear;
  }

  .headens-story .headens-story__state--active {
    opacity: 1;
  }

  .headens-story .headens-story__eyebrow,
  .headens-story .headens-story__heading,
  .headens-story .headens-story__body,
  .headens-story .headens-story__tag,
  .headens-story .headens-story__signal-heading,
  .headens-story .headens-story__signal-index,
  .headens-story .headens-story__signal-label,
  .headens-story .headens-story__signal-body,
  .headens-story .headens-story__signal-footer {
    animation: none;
  }

  .headens-story .headens-story__cta::after,
  .headens-story .headens-story__detail-trigger::after {
    animation: none;
  }

  .headens-story .headens-story__cta:hover,
  .headens-story .headens-story__detail-trigger:hover,
  .headens-story .headens-story__cta:focus-visible,
  .headens-story .headens-story__detail-trigger:focus-visible {
    animation: none;
  }
}

.headens-story[data-reduced-motion="true"] .headens-story__canvas,
.headens-story[data-reduced-motion="true"] .headens-story__model-canvas,
.headens-story[data-reduced-motion="true"] .headens-story__model-stage {
  display: none;
}

.headens-story[data-reduced-motion="true"] .headens-story__terminal {
  max-height: none;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto;
}

.headens-story[data-reduced-motion="true"] .headens-story__terminal-bar,
.headens-story[data-reduced-motion="true"] .headens-story__states,
.headens-story[data-reduced-motion="true"] .headens-story__status {
  grid-column: 1;
  grid-row: auto;
}

.headens-story[data-reduced-motion="true"] .headens-story__state {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  overflow: visible;
}

.headens-story[data-reduced-motion="true"] .headens-story__prompt,
.headens-story[data-reduced-motion="true"] .headens-story__signal {
  grid-column: 1;
  grid-row: auto;
  align-self: stretch;
  max-height: none;
  overflow: visible;
}

.headens-story[data-canvas="unavailable"] .headens-story__model-canvas,
.headens-story[data-canvas="unavailable"] .headens-story__model-stage {
  display: none;
}

.headens-story[data-canvas="unavailable"] .headens-story__terminal,
.headens-story[data-canvas="unavailable"] .headens-story__state {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
}

.headens-story[data-canvas="unavailable"] .headens-story__terminal {
  max-height: none;
}

.headens-story[data-canvas="unavailable"] .headens-story__terminal-bar,
.headens-story[data-canvas="unavailable"] .headens-story__states,
.headens-story[data-canvas="unavailable"] .headens-story__status,
.headens-story[data-canvas="unavailable"] .headens-story__prompt,
.headens-story[data-canvas="unavailable"] .headens-story__signal {
  grid-column: 1;
  grid-row: auto;
}

@media (prefers-reduced-motion: reduce) {
  .headens-story .headens-story__canvas,
  .headens-story .headens-story__model-canvas,
  .headens-story .headens-story__model-stage {
    display: none;
  }

  .headens-story .headens-story__terminal {
    max-height: none;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }

  .headens-story .headens-story__terminal-bar,
  .headens-story .headens-story__states,
  .headens-story .headens-story__status {
    grid-column: 1;
    grid-row: auto;
  }

  .headens-story .headens-story__state {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    overflow: visible;
    transition: none;
  }

  .headens-story .headens-story__prompt,
  .headens-story .headens-story__signal {
    grid-column: 1;
    grid-row: auto;
    align-self: stretch;
    max-height: none;
    overflow: visible;
  }
}

/* Brain geometry is reduced before ASCII sampling, not via a CSS scale. */
.headens-story .headens-story__state > .headens-story__brain {
  aspect-ratio: 4 / 3;
}

/* Small screens read each active state in one scroll region. The native model
   follows the complete prompt instead of cutting it into a short nested rail. */
@media (max-width: 767px) {
  .headens-story .headens-story__viewport {
    padding-top: calc(var(--headens-story-header-offset, 0px) + 1rem + env(safe-area-inset-top));
  }
  .headens-story[data-native-layout="inline"] .headens-story__terminal {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }
  .headens-story[data-native-layout="inline"] .headens-story__model-stage {
    display: none;
  }
  .headens-story[data-native-layout="inline"] .headens-story__states {
    grid-row: 2;
  }
  .headens-story[data-native-layout="inline"] .headens-story__state {
    height: 100%;
    max-height: 100%;
    grid-template-rows: max-content 30svh max-content;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }
  .headens-story[data-native-layout="inline"] .headens-story__prompt,
  .headens-story[data-native-layout="inline"] .headens-story__signal {
    overflow: visible;
    max-height: none;
  }
  .headens-story[data-native-layout="inline"] .headens-story__state > .headens-story__native-image {
    grid-row: 2;
    width: 100%;
    height: 30svh;
    aspect-ratio: auto;
  }
  .headens-story[data-native-layout="inline"] .headens-story__native-image-picture,
  .headens-story[data-native-layout="inline"] .headens-story__native-image-image {
    height: 100%;
  }
  .headens-story[data-native-layout="inline"] .headens-story__status {
    grid-row: 3;
  }
}

/* Narrow HUD keeps intrinsic OS/STATUS widths; SESSION follows on its own row. */
@media (max-width: 479px) {
  .headens-story .headens-story__terminal-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
  }
  .headens-story .headens-story__terminal-bar > .headens-story__terminal-label {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: left;
  }
  .headens-story .headens-story__terminal-label:first-child { order: 0; }
  .headens-story .headens-story__terminal-label--status { order: 1; }
  .headens-story .headens-story__terminal-label:nth-child(2) {
    order: 2;
    flex-basis: 100%;
  }
}
