*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font:16px/1.6 var(--body)}.review-wrap{max-width:1252px;margin:56px auto;padding:0 18px}.review header{max-width:760px;margin:0 0 28px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.1em;text-transform:uppercase}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.04em;line-height:1.15}h1{font-size:42px;margin:16px 0}#context{color:var(--muted)}button,summary{cursor:pointer}button{font:13px/1.4 var(--body);color:var(--muted);background:none;border:0;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}button:disabled{opacity:.4;cursor:default}button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.terminal-demo>iframe{display:block;border:0;width:100%;height:420px}.terminal-demo-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.terminal-demo-note{font-size:12px;color:var(--muted);margin:0 0 8px}.terminal-demo-transcript{font-size:13px;color:var(--muted);max-width:760px}.terminal-demo-transcript summary{min-height:30px}.terminal-demo-transcript p{font-size:14px;margin-top:8px}.terminal-demo-dialog{position:fixed;inset:0;margin:auto;width:min(1200px,92vw);max-height:92dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);background:var(--bg);color:var(--fg);padding:24px}.terminal-demo-dialog::backdrop{background:rgb(0 0 0 / .7)}.terminal-demo-dialog>button{position:sticky;top:0;z-index:1;background:var(--bg);padding:10px 12px}.terminal-demo-dialog h2{font-size:28px;line-height:1.2;margin:0 0 12px}.terminal-demo-dialog iframe{width:100%;height:700px;border:0}.inspect-controls{display:none;gap:16px}.inspect-transcript{display:none;font-size:14px;color:var(--muted);padding-top:10px}.inspect .inspect-controls{display:flex}.inspect .inspect-transcript{display:block}.demo [data-player] .terminal-pair{cursor:default}.demo .human-label{display:block;font-size:11px;color:var(--terminal-muted);margin:0 0 4px}.demo .human-request{white-space:pre-wrap;margin-bottom:12px}.demo .prompt{align-items:flex-start}.demo .prompt-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.demo .cursor{display:inline-block;width:7px;height:14px;vertical-align:-2px}.demo .tool-result{margin-bottom:12px}.demo .inspect-controls button{padding-right:12px}.inspect-transcript summary{min-height:44px}.demo [data-player] .staged-terminal{overflow:hidden}@media(max-width:760px){.review-wrap{margin:28px auto}.review h1{font-size:32px}.terminal-demo-dialog{padding:12px}.terminal-demo-dialog h2{font-size:24px}.terminal-demo-dialog iframe{height:750px}}@media(prefers-reduced-motion:reduce){.typing,.cursor{animation:none!important}}

.review nav{display:flex;gap:24px;margin-top:20px}.review nav a{font-size:14px;color:var(--muted);text-underline-offset:5px;min-height:44px}.review nav a[aria-current]{color:var(--accent)}.excerpt-label{font:11px/1.4 var(--body);color:var(--terminal-muted);margin-bottom:3px}.review #context{font-size:13px}.review #context,.review .eyebrow{margin-bottom:10px}

/* No autonomous CSS timers: stage samples these phases from playback time. */
.demo [data-player] .cursor{opacity:var(--cursor-visible,1);transition:none;animation:none}
.demo [data-player] .codex .activity .spinner{opacity:var(--activity-dot,1);transition:none}
.demo [data-player] .claude .activity-text{color:var(--terminal-ink);background:linear-gradient(100deg,var(--terminal-ink) 0%,var(--terminal-ink) 43%,#fafafa 50%,var(--terminal-ink) 57%,var(--terminal-ink) 100%);background-size:250% 100%;background-position:var(--activity-sheen,100%) 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media(prefers-reduced-motion:reduce){.demo [data-player] .cursor,.demo [data-player] .codex .activity .spinner{opacity:1}.demo [data-player] .claude .activity-text{background:none;-webkit-text-fill-color:currentColor}}

.review nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.review nav a{min-height:32px;line-height:1.4;padding:4px 0}.review header{max-width:100%}.review #context{max-width:760px}#scene-label{font:13px/1.5 var(--body);color:var(--muted);margin:0 0 10px}#scene-label:empty{display:none}.demo [data-player] .terminal-pair[data-count="1"]{grid-template-columns:1fr;max-width:880px}.demo [data-player] .terminal-pair[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.demo [data-player] .terminal-pair[data-count="3"] .staged-terminal[data-active="true"]{outline:1px solid #666;outline-offset:-1px}@media(max-width:1000px){.demo [data-player] .terminal-pair[data-count="3"]{grid-template-columns:1fr}}@media(max-width:760px){.review nav{grid-template-columns:1fr}.demo [data-player] .terminal-pair{grid-template-columns:1fr}}

.scene-choice{display:grid;gap:6px;max-width:440px;color:var(--muted);font-size:13px;margin-top:20px}.scene-choice select{width:100%;min-height:44px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:8px 12px;font:14px var(--body)}.scene-choice select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Entered text is input, not a ghost suggestion; labels share one header line. */
.demo [data-player] .prompt-text{color:var(--terminal-ink);font-weight:400}
.demo [data-player] .cursor{background:var(--terminal-ink)}
.demo [data-player] .runtime-title{flex-wrap:nowrap;align-items:baseline;gap:8px}
.demo [data-player] .runtime-title>span{width:auto;white-space:nowrap;font-size:11px}
.demo [data-player] .runtime-title>span:last-child{margin-left:auto;text-align:right}

/* Authored teaching chrome, separate from the transcript. One clock-driven note. */
.demo [data-player] .staged-terminal{container-type:inline-size}
.demo [data-player] .staged-terminal[data-annotations="true"]{height:476px}
/* Fixed outer terminal and full transcript viewport; callouts cover only older history. */
.terminal-body{position:relative;flex:1;min-height:0}
.demo [data-player] .terminal-body .terminal-content{position:absolute;inset:0;min-height:0;overflow:auto}
.teaching-note{position:absolute;top:0;right:0;width:50%;height:50%;z-index:1;display:flex;align-items:center;padding:16px;border-left:2px solid var(--accent);border-radius:3px;background:#24221e;color:var(--fg);font:26px/1.2 var(--body);letter-spacing:0;opacity:var(--note-opacity,1);pointer-events:none}
.note-compact{display:none}
@container(max-width:560px){.note-long{display:none}.note-compact{display:inline}}
@container(max-width:420px){.teaching-note{padding:10px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.teaching-note{opacity:1}}
.demo [data-player] .tool-call .openrig-verb{color:var(--accent);font-weight:600}
.command-key{font-size:12px;color:var(--muted);margin:0 0 12px}.command-key strong{color:var(--accent);font-weight:500}
@media(max-width:600px){.demo [data-player] .staged-terminal[data-annotations="true"]{height:356px}}

.comparison-link{margin:0 0 12px;font-size:13px}.comparison-link a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.comparison-link a:hover{color:var(--accent)}.comparison-link a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Submitted input has one treatment in either harness; live prompts and outputs stay distinct. */
.demo [data-player] .request{background:#383838;padding:10px 12px 10px 26px;margin-bottom:14px}
.demo [data-player] .request:before{left:8px;top:10px}

/* Authored page teaching text; scene placement is conveyed by the chooser. */
#description{max-width:65ch;font-size:18px;line-height:1.6;margin:0 0 14px}
#description code{font-size:.9em}
#shelf-status{max-width:760px;margin:0 0 24px;padding:14px 16px;border-left:2px solid var(--accent);color:var(--muted)}
#shelf-status strong{color:var(--fg);font-weight:500}
#shelf-status p{margin:6px 0 0;font-size:14px}
@media(max-width:760px){#description{font-size:16px}}

/* Website teaching transcript only. Keep harness metadata and teaching notes calibrated. */
.card-embed .demo [data-player] .terminal-content{font-size:13px;line-height:19px}
/* Keep the lead and both specialists together at compact laptop widths.
   Match reservedDemoHeight; two-pane layouts retain their own 760px boundary. */
@media (min-width:800px) and (max-width:1000px){
 .card-embed .demo [data-player] .terminal-pair[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .card-embed .demo [data-player] .terminal-pair[data-count="3"] .staged-terminal{padding-left:12px;padding-right:12px}
}
