.replay-page{background:var(--bg);letter-spacing:-.005em}
.replay-page .site-header,.replay-page .site-footer{max-width:1600px;margin-inline:auto}
.replay-page .site-footer{background:var(--bg);padding-block:36px}
.replay-page .menu-toggle{background:transparent;border:0;padding:10px 0;color:var(--ink)}
.replay-skip{position:absolute;top:12px;left:var(--gutter);transform:translateY(-200%);padding:12px 18px;background:var(--ink);color:var(--bg);z-index:50}
.replay-skip:focus{transform:none}
.replay-main{padding:28px var(--gutter) 72px;max-width:1600px;margin-inline:auto}
.replay-breadcrumb a{font-size:15px;color:var(--accent)}
.replay-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-top:26px}
.replay-heading h1{font-size:clamp(28px,3.2vw,40px);line-height:1.15;letter-spacing:-.035em}
.replay-model{font-size:15px;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.replay-model-select{display:flex;flex-direction:column;gap:6px;flex:0 0 260px;font-size:15px}
.replay-page select,.replay-page input[type=number]{min-height:44px;padding:9px 12px;border:1px solid #d7d9d2;border-radius:0;background:#fff;color:var(--ink);max-width:100%}
.replay-summary{max-width:65ch;margin-top:24px}
.replay-outcome{margin-top:10px;color:var(--muted);max-width:65ch}
.replay-status{font-size:15px;min-height:24px;margin-top:22px;color:var(--muted)}
.replay-status:empty{min-height:0;margin-top:0}
.replay-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px;margin-top:30px;align-items:start}
.replay-viewer{min-width:0}
.replay-viewer:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.replay-controls{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;background:var(--surface);padding:16px}
.replay-page button{min-height:44px;padding:9px 13px;background:#fff;color:var(--ink);border:1px solid #d7d9d2;transition:background .18s ease,color .18s ease}
.replay-page button:not(:disabled):hover{background:#e8ecef;color:var(--accent)}
.replay-page button:not(:disabled):active{background:#dfe5e8}
.replay-transport{display:flex;gap:8px}
.replay-transport .replay-play{min-width:84px;background:var(--ink);color:#fff;border-color:var(--ink)}
.replay-transport .replay-play:not(:disabled):hover{background:var(--accent);color:#fff}
.replay-speed{display:flex;align-items:center;gap:10px;font-size:15px;margin-left:auto}
.replay-speed select{padding-inline:10px;min-height:44px;font-size:15px}
.replay-scrubber{display:flex;align-items:center;gap:18px;width:100%}
.replay-scrubber input{min-width:0;flex:1;accent-color:var(--accent);height:28px;cursor:pointer}
.replay-scrubber output{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.replay-frame-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:26px}
.replay-frame-heading h2,.replay-timeline h2,.replay-notes h2,.replay-noscript h2{font-size:22px;line-height:1.2;letter-spacing:-.025em}
.replay-frame-heading>p{font-size:14px;color:var(--muted)}
.replay-metadata{display:flex;flex-wrap:wrap;gap:12px 28px;margin:18px 0 22px}
.replay-metadata>div{display:flex;flex-direction:column;gap:3px}
.replay-metadata dt{font-size:14px;color:var(--muted)}
.replay-metadata dd{margin:0;font-size:16px;font-variant-numeric:tabular-nums}
.replay-scene{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.replay-image-well{height:clamp(330px,34vw,500px);background:var(--surface);display:grid;place-items:center;position:relative;overflow:hidden}
.replay-image-well img{width:100%;height:100%;object-fit:contain}
.replay-image-well img[hidden]{display:none}
.replay-image-well>p{padding:30px;font-size:15px;text-align:center;max-width:40ch;color:var(--muted)}
.replay-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.45}
.replay-open-image{display:inline-block;font-size:14px;color:var(--accent);margin-top:10px}
.replay-open-image[hidden]{display:none}
.replay-transcript{display:flex;flex-direction:column;gap:26px;min-width:0}
.replay-transcript h3{font-size:16px;line-height:1.3;letter-spacing:0;margin-bottom:9px}
.replay-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.6}
.replay-intervention{background:var(--surface);padding:18px}
.replay-intervention[hidden],.replay-observation[hidden]{display:none}
.replay-observation{font-size:15px}
.replay-observation summary{cursor:pointer;min-height:44px;padding-block:9px;color:var(--accent)}
.replay-observation p{font-size:15px;color:var(--muted);margin-top:10px}
.replay-timeline{min-width:0;background:#fff;padding:20px}
.replay-timeline-heading>p{font-size:14px;color:var(--muted);margin-top:8px}
.replay-jump{margin-top:20px;font-size:15px}
.replay-jump>div{display:flex;gap:8px;margin-top:7px}
.replay-jump input{min-width:0;width:100%;flex:1}
.replay-event-list{list-style:none;margin:20px -8px 0;padding:0 8px;max-height:640px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;position:relative}
.replay-event-list li{margin:0 0 8px;padding:0}
.replay-event-list button{border:0;text-align:left;background:var(--bg);width:100%;padding:12px;font-size:14px;display:flex;flex-direction:column;gap:5px;line-height:1.4}
.replay-event-list button[aria-current=step]{background:#e7ecf3;color:var(--ink)}
.replay-event-list .replay-event-title{font-weight:500}
.replay-event-list .replay-event-kind{color:var(--muted)}
.replay-event-list .replay-event-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted);overflow-wrap:anywhere}
.replay-notes{max-width:90ch;margin-top:64px}
.replay-notes>p{margin-top:18px;max-width:65ch}
.replay-notes>ul{margin-block:20px;max-width:65ch}
.replay-notes>ul:empty{display:none}
.replay-notes li+li{margin-top:10px}
.replay-record-links{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px;color:var(--accent);margin-top:24px}
.replay-sources{font-size:14px;margin-top:24px}
.replay-sources summary{padding-block:10px;cursor:pointer}
.replay-sources li{overflow-wrap:anywhere}
.replay-source-hash{display:block;color:var(--muted);margin-top:4px}
.replay-noscript{margin-top:48px;max-width:75ch}
.replay-noscript>p{margin-top:18px}
.replay-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.replay-workspace{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.replay-controls{gap:14px}.replay-speed{margin-left:0}.replay-speed select{max-width:190px}.replay-scene{gap:20px}.replay-image-well{height:380px}.replay-timeline{padding:16px}}
@media(max-width:960px){.replay-workspace{grid-template-columns:1fr;gap:36px}.replay-timeline{padding:20px}.replay-event-list{max-height:360px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:start}.replay-event-list li{margin:0}.replay-event-list button{min-height:116px}.replay-jump{max-width:320px}.replay-image-well{height:440px}.replay-speed{margin-left:auto}}
@media(max-width:650px){.replay-main{padding-top:18px;padding-bottom:48px}.replay-heading{flex-direction:column;gap:24px;margin-top:22px}.replay-model-select{flex:auto;width:100%}.replay-model-select select{width:100%}.replay-heading h1{font-size:30px}.replay-summary{margin-top:22px}.replay-workspace{margin-top:24px}.replay-controls{padding:12px}.replay-transport{width:100%;justify-content:space-between}.replay-transport button{font-size:14px;padding-inline:10px}.replay-speed{margin-left:0;justify-content:space-between;width:100%}.replay-scrubber{gap:10px}.replay-scrubber output{font-size:13px}.replay-frame-heading{gap:12px}.replay-frame-heading h2{font-size:20px}.replay-metadata{gap:14px 24px}.replay-metadata>div{min-width:calc(50% - 24px)}.replay-scene{grid-template-columns:1fr;gap:28px}.replay-image-well{height:420px}.replay-transcript{gap:24px}.replay-timeline{padding:16px}.replay-event-list{display:block;max-height:440px}.replay-event-list li{margin-bottom:8px}.replay-event-list button{min-height:0}.replay-notes{margin-top:48px}}
@media(prefers-reduced-motion:reduce){.replay-event-list{scroll-behavior:auto}}
