/* Optical alignment pass, keeping the existing composition and motion targets. */
.narrow-break{display:none}.install-card>p{text-wrap:pretty}
header{max-width:1180px}footer.section{max-width:1020px}
nav{gap:24px}.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:40px;line-height:20px}.nav-cta span{margin-left:0;display:inline-flex;align-items:center}
.button{min-height:48px;line-height:20px;gap:22px}.button>span{display:inline-flex;align-items:center}
.cta-arrow{width:14px;height:14px;flex:none;display:block;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.install-card{display:flex;flex-direction:column}.install-card .code,.install-card .start-example{min-height:72px;box-sizing:border-box}.install-card>a{margin-top:auto;align-self:flex-start;line-height:20px}.code button{min-width:34px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;line-height:18px}.copy-status{line-height:18px}
.story-title,.story-bottom{padding-left:28px;padding-right:28px}.story-conversation{padding-left:28px;padding-right:28px}.story-pending{left:28px}.story-bottom{align-items:center;gap:12px;line-height:16px}
.demo-caption{align-items:center;line-height:18px}.demo-caption button{line-height:18px}.scene-tabs button{line-height:18px}.section-heading p{margin-inline:auto;max-width:620px}
@media(max-width:767px){header{width:calc(100% - 32px)}nav{gap:12px}.nav-cta{min-height:36px;gap:12px;line-height:18px;padding:9px 13px}.nav-cta .cta-arrow{width:12px;height:12px}.button{min-height:46px;gap:18px}.hero-copy .description{max-width:330px;margin-inline:auto;text-wrap:balance}.story-title,.story-bottom{padding-left:20px;padding-right:20px}.story-conversation{padding-left:20px;padding-right:20px}.story-pending{left:20px}.install-card .code,.install-card .start-example{min-height:68px}.install-card h3{line-height:1.5}.demo-caption{align-items:flex-start}.footer-top{gap:20px}.footer-top>div{line-height:20px}}
@media(max-width:359px){.tagline{font-size:21px;letter-spacing:-.03em}.install .section-heading h2{font-size:26px;letter-spacing:-.035em;line-height:1.5}.install-card{padding-inline:20px}.install-card h3{font-size:18px}.story-step strong{font-size:13px}.footer-top{flex-direction:column;gap:18px}.footer-top>div{justify-content:flex-start;gap:20px}.footer-bottom{gap:14px;line-height:1.6}}
@media(max-width:359px){.narrow-break{display:block}.install-card>p br{display:none}}
/* Selective vertical tightening; horizontal geometry and demo reading areas stay intact. */
.hero{padding-top:168px;padding-bottom:56px}.preview-wrap{margin-top:54px}
.features{padding-top:90px}.continuity-stage{margin-top:48px}
.install{padding-top:112px}.install .section-heading{margin-bottom:44px}
.closing{min-height:440px;margin-top:40px}
footer.section{padding-top:30px;padding-bottom:20px}.footer-bottom{margin-top:27px}
@media(max-width:767px){.hero{padding-top:135px;padding-bottom:28px}.preview-wrap{margin-top:44px}.features{padding-top:64px}.continuity-stage{margin-top:28px}.install{padding-top:70px}.install .section-heading{margin-bottom:28px}.closing{min-height:370px;margin-top:16px}footer.section{padding-top:23px;padding-bottom:20px}.footer-bottom{margin-top:27px}}
/* Continuous typing / streaming story. Fixed viewport; earlier messages remain scrollable. */
.demo-process{text-align:center;margin-top:16px;font-size:11px;line-height:20px;color:#858a96}
.messages{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48484d transparent;padding-top:14px;padding-bottom:12px}
.stream-log{display:flex;flex-direction:column;gap:18px}.stream-message{flex:none;white-space:pre-wrap;overflow-wrap:anywhere}.stream-message.user{margin:0 0 0 auto}.stream-message.assistant{padding:0;min-height:1.9em}.stream-message:empty{display:none}
.stream-status{flex:none;min-height:34px;padding:8px 40px 0;font-size:11px;line-height:18px;color:#9bb8cf}
.titlebar,.chat-tabs,.composer,.story-title,.story-bottom,.story-composer{flex-shrink:0}
#composer-text{height:48px;line-height:20px;overflow-wrap:anywhere}.has-input{color:#e2e3e8}
.is-typing:after,.is-streaming:after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;background:#aecce5;vertical-align:-.1em;animation:stream-caret .85s steps(1) infinite}
[data-running="false"] .is-typing:after,[data-running="false"] .is-streaming:after{animation-play-state:paused}
[data-phase="thinking"] .stream-status:after,[data-phase="thinking"] #story-context:after{content:" ···";animation:stream-caret .7s steps(2) infinite}
.context-label{font-size:11px;color:#7d8491;margin-bottom:15px}.context-item{display:flex;gap:13px;padding:23px 0;border-top:1px solid #ffffff14;color:#7f8590}.context-item strong{font-size:21px;font-weight:500;line-height:1.5}.context-item small{display:block;min-height:22px;margin-top:8px;font-size:12px;line-height:1.8}.context-led{padding-top:6px;font-size:12px}.context-item.current{color:#b5d8f3}.context-item.stored:not(.current){color:#abb0ba}.context-note{font-size:12px;line-height:1.8;color:#7d8491;margin:18px 0 0}
.hero-context-ledger .context-label,.hero-context-ledger .context-note{display:none}.hero-context-ledger .context-item{padding:7px 4px;gap:8px;border:0}.hero-context-ledger strong{font-size:11px}.hero-context-ledger small{font-size:9px;line-height:1.5;min-height:14px;margin-top:2px}.hero-context-ledger .context-led{font-size:9px;padding-top:4px}.hero-context-ledger{margin:-7px 0 7px}
.story-detail{height:410px;min-height:410px}.story-conversation{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48484d transparent;padding-top:20px;padding-bottom:16px}.story-conversation .stream-message.user{font-size:13px;line-height:1.8}.story-conversation .stream-message.assistant{font-size:16px;line-height:1.9}.story-composer{display:flex;align-items:flex-end;gap:12px;margin:0 28px 14px;padding:12px 14px;background:#2b2b2e;border:1px solid #ffffff12;border-radius:12px;font-size:12px;color:#90939d}.stream-input{height:40px;line-height:20px;flex:1;min-width:0;overflow-wrap:anywhere}.stream-send{flex:none;display:grid;place-items:center;background:#dfe1e7;color:#27282b;border-radius:50%;width:23px;height:23px}.story-bottom{height:49px}.story-bottom>span:first-child{max-width:76%;font-size:10px;line-height:16px}.story-title>span:last-child{font-family:inherit;font-size:10px}
@keyframes stream-caret{50%{opacity:0}}
@media(max-width:767px){.stream-status{padding:6px 18px 0;font-size:10px;min-height:36px;line-height:16px}.messages{padding-top:10px;padding-bottom:12px}.stream-log{gap:16px}#composer-text{height:40px}.demo-process{font-size:9px;margin-top:10px}.context-ledger{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.context-label{grid-column:1/-1;margin-bottom:4px;font-size:10px}.context-item{padding:12px 0;gap:7px}.context-item strong{font-size:14px}.context-item small{font-size:10px;line-height:1.6;min-height:32px;margin-top:5px}.context-led{font-size:9px;padding-top:4px}.context-note{grid-column:1/-1;margin:0;font-size:11px}.context-note br{display:none}.story-detail{height:410px;min-height:410px}.story-conversation .stream-message.user{font-size:12px}.story-conversation .stream-message.assistant{font-size:15px}.story-composer{margin:0 20px 12px;font-size:11px;padding:10px 12px}.story-bottom{height:50px}.story-bottom>span:first-child{font-size:9px}.story-title{padding-top:15px;padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.is-typing:after,.is-streaming:after{display:none}}
[data-running="false"][data-phase="thinking"] .stream-status:after,[data-running="false"][data-phase="thinking"] #story-context:after{animation-play-state:paused}
