* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  background: var(--color-bg-deep);
  color: var(--color-text);
  font: var(--type-body)/1.65 var(--font-body);
}
a { color: inherit; }
code { overflow-wrap: anywhere; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link {
  position: fixed; inset: var(--space-3) auto auto var(--space-3); z-index: 20;
  padding: var(--space-3) var(--space-4); transform: translateY(-180%);
  background: var(--color-action); color: var(--color-action-ink); border-radius: var(--radius-sm);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: var(--focus-width) solid var(--color-focus); outline-offset: var(--space-1); }
.site-header {
  position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-4); width: min(calc(100% - 2 * var(--gutter)), var(--container)); margin-inline: auto;
  min-height: 4.5rem; border-bottom: var(--border) solid var(--color-border);
}
.brand {
  display: inline-flex; min-height: 2.75rem; align-items: center;
  font: var(--type-brand)/1 var(--font-display); text-decoration: none;
}
.review-switcher { display: flex; gap: var(--space-2); align-items: center; font: var(--type-label)/1 var(--font-mono); }
.review-switcher[hidden] { display: none; }
.review-switcher a {
  display: grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem;
  border: var(--border) solid var(--color-border); border-radius: 50%; text-decoration: none;
}
.review-switcher a[aria-current="page"] { background: var(--color-action); color: var(--color-action-ink); border-color: transparent; }
.hero, .demo-scene, .final-cta { width: min(calc(100% - 2 * var(--gutter)), var(--container)); margin-inline: auto; }
.hero { min-height: min(42rem, calc(100dvh - 4.5rem)); display: grid; align-content: center; padding-block: var(--space-8); }
.eyebrow, .scene-index, .phase-status, .result-label, .tool-name, .progress-label {
  margin: 0; color: var(--color-action-hover); font: var(--type-label)/1.4 var(--font-mono);
  letter-spacing: .08em; text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 13ch; margin-bottom: var(--space-5); font: var(--type-display)/.92 var(--font-display); letter-spacing: -.04em; text-wrap: balance; }
.hero-copy { max-width: 48rem; margin-bottom: var(--space-6); color: var(--color-muted); font-size: var(--type-lead); }
.primary-link, .deep-link, .replay {
  display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-5); border-radius: var(--radius-md); font-weight: 700; text-decoration: none;
}
.primary-link { width: fit-content; background: var(--color-action); color: var(--color-action-ink); }
.deep-link { border: var(--border) solid var(--color-border-strong); }
.replay { border: var(--border) solid var(--color-border-strong); background: transparent; color: var(--color-text); cursor: pointer; }
.scene-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.demo-scene { min-height: 100dvh; padding-block: var(--space-9); display: grid; align-items: center; }
.scene-heading { max-width: 48rem; margin-bottom: var(--space-6); }
.scene-heading h2 { margin: var(--space-2) 0 var(--space-3); font: var(--type-section)/1 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.scene-heading > p:last-child { color: var(--color-muted); }
.stage {
  min-width: 0; padding: var(--space-5); background: var(--color-surface);
  border: var(--border) solid var(--color-border); border-radius: var(--radius-lg);
}
.prompt {
  position: relative; min-width: 0; margin-bottom: var(--space-5); padding: 0 calc(var(--space-8) + var(--space-2)) var(--space-5) 0;
  border-bottom: var(--border) solid var(--color-border);
}
.prompt q { display: block; max-width: 68ch; margin-top: var(--space-2); font-size: var(--type-lead); }
[data-prompt] { min-width: 0; overflow-wrap: anywhere; }
.demo-send {
  position: absolute; inset: auto 0 var(--space-5) auto; display: grid; width: 2.75rem; height: 2.75rem; place-items: center;
  border-radius: 50%; background: var(--color-surface-raised); color: var(--color-muted); transform: translateZ(0);
}
.demo-send svg { position: absolute; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.demo-send .send-arrow, .demo-send .send-check { transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
.demo-send .send-check { opacity: 0; transform: scale(.72); }
.demo-send.is-sending { background: var(--color-action); color: var(--color-action-ink); animation: send-pulse 620ms var(--ease-out) both; }
.demo-send.is-sent { background: color-mix(in oklch, var(--color-success) 22%, var(--color-surface-raised)); color: var(--color-success); }
.demo-send.is-sent .send-arrow { opacity: 0; transform: translateX(.3rem); }
.demo-send.is-sent .send-check { opacity: 1; transform: scale(1); }
[data-prompt].is-typing::after { content: ""; display: inline-block; width: .12rem; height: 1em; margin-inline-start: var(--space-1); vertical-align: -.12em; background: var(--color-action-hover); animation: caret-blink 780ms steps(1, end) infinite; }
.phase-status { min-height: 1.5rem; color: var(--color-success); }
.result { margin-top: var(--space-5); }
.result-part { margin-bottom: var(--space-5); }
.result-part:last-child { margin-bottom: 0; }
.result-label { display: block; margin-bottom: var(--space-2); color: var(--color-faint); }
.script-copy { max-width: 75ch; }
.news-title, .video-title { margin: var(--space-2) 0; font: var(--type-card)/1.15 var(--font-display); }
.source { color: var(--color-muted); }
.facts, .chips { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0; list-style: none; }
.facts li, .chips li { padding: var(--space-2) var(--space-3); background: var(--color-surface-raised); border-radius: var(--radius-sm); }
.source-link {
  display: inline-flex; min-width: 0; min-height: 2.75rem; max-width: 100%; align-items: center;
  overflow-wrap: anywhere; color: var(--color-action-hover);
}
.timer { margin: var(--space-4) 0; font: var(--type-timer)/1 var(--font-mono); font-variant-numeric: tabular-nums; }
.overrun { color: var(--color-action-hover); font-weight: 700; }
.publish-proof {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--space-5); align-items: center;
  margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--radius-md);
  background: var(--color-surface-raised); background: color-mix(in oklch, var(--color-success) 8%, var(--color-surface-raised));
}
.publish-proof strong { display: block; font: var(--type-card)/1.15 var(--font-display); }
.publish-metric { min-width: 9rem; text-align: right; }
.publish-metric span { display: block; color: var(--color-action-hover); font: var(--type-card)/1 var(--font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.publish-metric small { color: var(--color-muted); font: var(--type-label)/1.4 var(--font-mono); }
.view-wave { display: flex; width: 4.5rem; height: 2.75rem; align-items: end; gap: var(--space-1); }
.view-wave span { flex: 1; border-radius: var(--radius-sm) var(--radius-sm) 0 0; background: var(--color-action); transform: scaleY(1); transform-origin: center bottom; }
.view-wave span:nth-child(1) { height: 32%; }
.view-wave span:nth-child(2) { height: 48%; }
.view-wave span:nth-child(3) { height: 66%; }
.view-wave span:nth-child(4) { height: 82%; }
.view-wave span:nth-child(5) { height: 100%; }
.ig-wordmark { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; font-style: italic; font-weight: 700; letter-spacing: -.05em; }
.ig-product { margin-inline-start: var(--space-2); color: var(--color-faint); font: var(--type-label)/1 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; }
.ig-nav { display: flex; align-items: center; gap: var(--space-2); }
.ig-nav a { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; gap: var(--space-3); padding: var(--space-2); border-radius: var(--radius-sm); text-decoration: none; }
.ig-nav svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ig-nav span { font-size: var(--type-small); font-weight: 600; }
.verified-badge { display: inline-grid; width: 1rem; height: 1rem; place-items: center; border-radius: 50%; background: var(--color-action); color: var(--color-action-ink); font-size: .625rem; line-height: 1; vertical-align: .1em; }
.ai-trace {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2);
  margin: var(--space-4) 0 var(--space-5); padding: 0; list-style: none;
}
.ai-trace li {
  display: flex; min-width: 0; gap: var(--space-3); align-items: flex-start; padding: var(--space-3);
  border-radius: var(--radius-sm); background: var(--color-surface-raised); color: var(--color-faint);
  opacity: .64; transform: translateY(.2rem); transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out), color 220ms var(--ease-out);
}
.trace-state { position: relative; width: .625rem; height: .625rem; margin-top: .3rem; flex: 0 0 auto; border: .125rem solid currentColor; border-radius: 50%; }
.trace-state::after { content: ""; position: absolute; inset: .0625rem; border-radius: inherit; background: currentColor; opacity: 0; transform: scale(.4); transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out); }
.ai-trace strong, .ai-trace small { display: block; min-width: 0; overflow-wrap: anywhere; }
.ai-trace strong { color: inherit; font-size: var(--type-small); line-height: 1.35; }
.ai-trace small { margin-top: var(--space-1); color: var(--color-faint); font: .625rem/1.35 var(--font-mono); letter-spacing: .035em; text-transform: uppercase; }
.ai-trace li.is-active { color: var(--color-action-hover); opacity: 1; transform: none; }
.ai-trace li.is-active .trace-state { animation: trace-pulse 900ms var(--ease-out) infinite; }
.ai-trace li.is-active .trace-state::after, .ai-trace li.is-complete .trace-state::after { opacity: 1; transform: scale(1); }
.ai-trace li.is-complete { color: var(--color-success); opacity: 1; transform: none; }
.publish-proof.ig-publish-profile { display: block; padding: 0; overflow: hidden; background: var(--color-surface); }
.ig-publish-head { display: flex; min-height: 4rem; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: var(--border) solid var(--color-border); }
.ig-publish-head > div:nth-child(2) { min-width: 0; }
.ig-publish-head strong, .ig-publish-head span { display: block; }
.ig-publish-head strong { overflow-wrap: anywhere; font-family: var(--font-body); font-size: var(--type-body); }
.ig-publish-head span { color: var(--color-muted); font-size: var(--type-small); }
.ig-publish-head button { width: 2.75rem; height: 2.75rem; margin-left: auto; flex: 0 0 2.75rem; border: 0; background: transparent; color: inherit; font-weight: 800; letter-spacing: .1em; }
.publish-avatar { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; flex: 0 0 auto; border: .1875rem solid transparent; border-radius: 50%; background: linear-gradient(var(--color-surface), var(--color-surface)) padding-box, var(--ig-gradient) border-box; font-size: .75rem; font-weight: 900; }
.ig-account-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0; padding: var(--space-4); border-bottom: var(--border) solid var(--color-border); text-align: center; }
.ig-account-stats dt { font-weight: 800; font-variant-numeric: tabular-nums; }
.ig-account-stats dd { margin: 0; color: var(--color-muted); font-size: var(--type-small); }
.ig-reels-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .125rem; background: var(--color-border); }
.reel-tile { position: relative; display: grid; aspect-ratio: 4 / 5; place-items: center; overflow: hidden; color: white; }
.reel-tile::before, .reel-tile::after { content: ""; position: absolute; border-radius: 50%; }
.reel-tile::before { width: 78%; aspect-ratio: 1; right: -18%; bottom: -18%; background: color-mix(in oklch, var(--color-bg-deep) 74%, transparent); transform: rotate(-18deg); }
.reel-tile::after { width: 36%; aspect-ratio: 1; left: 10%; top: 18%; border: .25rem solid color-mix(in oklch, white 78%, transparent); }
.reel-old { background: linear-gradient(145deg, var(--reel-a), var(--reel-b)); }
.reel-old.alt { background: linear-gradient(145deg, var(--reel-c), var(--reel-d)); }
.reel-new { background: var(--ig-gradient); }
.reel-tile > * { position: relative; z-index: 1; }
.reel-tile > span:not(.reel-badge), .reel-tile > strong { position: absolute; right: var(--space-3); bottom: var(--space-3); font: 700 var(--type-small)/1 var(--font-body); font-variant-numeric: tabular-nums; text-shadow: 0 .0625rem .25rem rgb(0 0 0 / 45%); }
.reel-tile svg { width: 2.25rem; height: 2.25rem; fill: currentColor; }
.reel-badge { position: absolute; top: var(--space-3); left: var(--space-3); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: rgb(0 0 0 / 62%); font: 700 .625rem/1.4 var(--font-mono); letter-spacing: .08em; }
.ig-insights { display: grid; grid-template-columns: minmax(0, 1fr) 7rem; gap: var(--space-5); align-items: end; padding: var(--space-4); }
.ig-insights strong, .ig-insights small { display: block; }
.ig-insights strong { max-width: 48ch; line-height: 1.35; }
.ig-insights small { margin-top: var(--space-1); color: var(--color-muted); }
.ig-insights .view-wave { width: 100%; }
.engagement-row { display: flex; flex-wrap: wrap; gap: var(--space-4); padding: 0 var(--space-4) var(--space-4); color: var(--color-muted); font-size: var(--type-small); font-variant-numeric: tabular-nums; }
.engagement-row span { display: inline-flex; align-items: center; gap: var(--space-2); }
.engagement-row svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.publish-cta { border: 0; }
.final-cta { padding-block: var(--space-11); text-align: center; }
.final-cta h2 { max-width: 18ch; margin-inline: auto; font: var(--type-section)/1 var(--font-display); }
.final-cta p { max-width: 42rem; margin-inline: auto; color: var(--color-muted); }
.js .result-part { opacity: 0; transform: translateY(var(--space-3)); }
.js .demo-scene[data-complete="true"] .result-part { opacity: 1; transform: none; }
.js .publish-proof { opacity: 0; transform: translateY(var(--space-3)); }
.js .demo-scene[data-complete="true"] .publish-proof { opacity: 1; transform: none; }
@keyframes send-pulse { 0% { transform: scale(.92); } 55% { transform: scale(1.08); } 100% { transform: scale(1); } }
@keyframes caret-blink { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
@keyframes trace-pulse { 0%, 100% { opacity: .55; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.08); } }
@media (hover: hover) {
  .primary-link:hover { background: var(--color-action-hover); }
  .deep-link:hover, .replay:hover, .review-switcher a:hover { border-color: var(--color-action-hover); }
}
@media (max-width: 48rem), (max-height: 43.75rem), (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero, .demo-scene { min-height: auto; }
  .hero { padding-block: var(--space-8); }
  .demo-scene { display: block; padding-block: var(--space-8); }
  .stage { position: static !important; max-height: none !important; overflow: visible !important; }
}
@media (max-width: 35rem) {
  .site-header { align-items: flex-start; padding-block: var(--space-3); }
  h1 { font-size: var(--type-display-mobile); }
  .review-switcher { gap: var(--space-1); }
  .stage { padding: var(--space-4); }
  .ig-nav span { display: none; }
  .ai-trace { grid-template-columns: 1fr; }
  .scene-actions > * { width: 100%; }
  .publish-proof { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); }
  .view-wave { grid-column: 1 / -1; width: 100%; height: 2rem; }
  .ig-account-stats dd { font-size: .6875rem; }
  .ig-insights { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .js .result-part { opacity: 1; transform: none; }
  .js .publish-proof { opacity: 1; transform: none; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
