.astra-replay-page { --astra-lime:#d5f36b; --astra-orange:#f77b4d; --astra-purple:#6b4292; overflow-x:visible; padding-top:76px; color-scheme:light; }
.astra-replay-page a { color:inherit; text-underline-offset:4px; }
.astra-replay-page button { font:inherit; cursor:pointer; }
.astra-replay-page :is(a,button,summary):focus-visible { outline:3px solid var(--white); outline-offset:5px; }
.astra-replay-page :is(h1,h2,h3,dt) { font-family:'Space Grotesk',sans-serif; }
.astra-replay-page :is(p,li,dd) { line-height:1.6; }
.astra-replay-page :is(section,details,main) { scroll-margin-top:100px; }
.astra-skip { position:fixed; left:18px; top:-90px; z-index:1100; background:var(--neon); color:#111!important; padding:14px; }
.astra-skip:focus { top:12px; }
.astra-wrap { position:relative; z-index:1; max-width:1240px; margin:auto; padding:0 28px; }
.astra-hero { display:grid; grid-template-columns:0.92fr 1.08fr; align-items:center; gap:48px; padding:66px 0 68px; }
.astra-hero-copy { min-width:0; }
.astra-event { font-size:14px; font-weight:600; margin-bottom:21px; }
.astra-event span { display:block; font-weight:400; color:var(--gray); }
.astra-hero h1 { font-size:clamp(36px,4.4vw,62px); line-height:1.04; letter-spacing:-2.6px; max-width:12ch; margin-bottom:26px; }
.astra-proof-sentence { max-width:46ch; font-size:17px; color:var(--gray); }
.astra-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:28px; }
.astra-primary { display:inline-flex; justify-content:center; align-items:center; padding:14px 19px; background:var(--astra-lime); color:#111!important; border:2px solid #111; border-radius:3px; box-shadow:4px 4px 0 #111; text-decoration:none; font-weight:700; font-size:14px; line-height:1.4; }
.astra-primary:hover { background:#e2ff88; box-shadow:2px 2px 0 #111; }
.astra-secondary { font-size:14px; font-weight:600; }
.astra-replay { min-width:0; padding:0; }
.astra-player { aspect-ratio:16/9; background:#111; border:2px solid var(--white); border-radius:3px; box-shadow:7px 7px 0 var(--astra-orange); overflow:hidden; }
.astra-play { position:relative; width:100%; height:100%; display:block; border:0; background:#111; color:#fff; }
.astra-play img { width:100%; height:100%; object-fit:cover; display:block; }
.astra-play-mark { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:66px; height:66px; border-radius:50%; border:2px solid #fff; background:#111; color:#fff; padding-left:3px; font-size:25px; }
.astra-play:hover .astra-play-mark { background:var(--astra-purple); }
.astra-play-caption { position:absolute; left:0; right:0; bottom:0; background:#111; padding:8px 13px; display:flex; justify-content:space-between; font-size:13px; text-align:left; }
.astra-player iframe { display:block; width:100%; height:100%; border:0; }
.astra-replay h2 { font-size:18px; line-height:1.35; margin:23px 0 9px; max-width:42ch; }
.astra-speakers { font-size:13px; color:var(--gray); }
.astra-replay-note { font-size:12px; color:var(--gray); margin-top:7px; }
.astra-section { border-top:2px solid var(--white); padding:44px 0 48px; }
.astra-section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:24px; }
.astra-section-heading>p,.astra-section-heading>h2 { margin:0; }
.astra-section>h2 { margin:0 0 16px; }
.astra-section-heading>p,.astra-next>div>p:first-child { font-size:14px; color:var(--gray); }
.astra-section h2,.astra-bridge h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-1px; }
.astra-proof-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; list-style:none; }
.astra-proof-list a { text-decoration:none; display:block; }
.astra-proof-list a:hover strong { text-decoration:underline; text-underline-offset:3px; }
.astra-proof-list span { display:block; font-family:'JetBrains Mono',monospace; font-size:12px; margin-bottom:13px; }
.astra-proof-list strong { display:block; font-family:'Space Grotesk',sans-serif; font-size:19px; line-height:1.2; margin-bottom:10px; }
.astra-proof-list p { font-size:14px; color:var(--gray); }
.astra-human-note { font-size:13px; color:var(--gray); margin-top:28px; }
.astra-section-intro { max-width:74ch; margin-bottom:26px; color:var(--gray); }
.astra-system { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--gray-dark); border-left:1px solid var(--gray-dark); }
.astra-system>div { padding:22px; border-right:1px solid var(--gray-dark); border-bottom:1px solid var(--gray-dark); background:var(--dark); }
.astra-system dt { font-size:18px; font-weight:700; margin-bottom:7px; }
.astra-system dd { font-size:14px; color:var(--gray); }
.astra-original-map { margin-top:23px; font-size:14px; }
.astra-original-map span { display:block; color:var(--gray); font-size:12px; margin-top:5px; }
.astra-resource { padding:50px 0; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; border-top:2px solid var(--white); }
.astra-free { font-size:13px; color:var(--gray); margin-bottom:9px; }
.astra-small { font-size:12px!important; color:var(--gray); max-width:48ch; }
.astra-next { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:70px; }
.astra-next h2 { margin:12px 0 18px; }
.astra-next>div>p:last-child { color:var(--gray); }
.astra-archive { border-top:1px solid var(--gray-dark); border-bottom:1px solid var(--gray-dark); padding:23px 0; }
.astra-archive summary { cursor:pointer; font-size:15px; font-weight:600; }
.astra-archive ul { padding:20px 0 0 22px; font-size:14px; }
.astra-archive li+li { margin-top:9px; }
.astra-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 0 42px; font-size:12px; color:var(--gray); }
@media(max-width:900px) { .astra-hero { gap:30px; } .astra-hero h1 { font-size:45px; } .astra-proof-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .astra-resource,.astra-next { gap:30px; } }
@media(max-width:640px) { .astra-wrap { padding:0 22px; } .astra-hero { grid-template-columns:1fr; padding:35px 0 42px; gap:36px; } .astra-hero h1 { max-width:14ch; font-size:43px; letter-spacing:-1.9px; margin-bottom:21px; } .astra-event { margin-bottom:17px; font-size:12px; } .astra-proof-sentence { font-size:16px; } .astra-actions { margin-top:23px; gap:20px; } .astra-primary { font-size:13px; padding:13px 14px; } .astra-replay h2 { font-size:17px; } .astra-section { padding:32px 0; } .astra-section-heading { margin-bottom:24px; } .astra-proof-list { grid-template-columns:1fr; gap:19px; } .astra-proof-list li { display:grid; grid-template-columns:1fr 1.15fr; gap:17px; } .astra-proof-list span { font-size:11px; margin-bottom:7px; } .astra-proof-list strong { font-size:16px; margin:0; } .astra-proof-list p { font-size:13px; } .astra-human-note { font-size:12px; margin-top:24px; } .astra-system { grid-template-columns:1fr; } .astra-system>div { padding:18px; } .astra-section-intro { font-size:15px; } .astra-resource,.astra-next { grid-template-columns:1fr; padding:32px 0; gap:28px; } .astra-prompt-sheet { padding:24px; } .astra-prompt-sheet h3 { font-size:28px; } .astra-footer { align-items:flex-start; } .astra-footer p { text-align:right; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .astra-replay-page *, .astra-replay-page *::before, .astra-replay-page *::after { animation:none!important; transition:none!important; } }

html[data-design] .astra-replay-page .astra-play:focus-visible { outline: 4px solid #d5f36b; outline-offset: -6px; box-shadow: inset 0 0 0 8px #111; }

/* Requested CTA hierarchy: one prompt offer, course links at the top and close. */
.astra-course-top { display:inline-flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid var(--white); border-radius:3px; font-size:14px; font-weight:600; text-decoration:none; }
.astra-course-top:hover { background:var(--dark); text-decoration:underline; }
.astra-resource { grid-template-columns:1.4fr 1fr; gap:32px; padding:32px 0; }
.astra-resource h2 { font-size:28px; line-height:1.15; margin:7px 0 10px; letter-spacing:-0.7px; }
.astra-resource>div>p:not(.astra-free) { max-width:58ch; font-size:15px; color:var(--gray); }
.astra-resource-action { justify-self:end; }
.astra-resource-action .astra-small { margin-top:14px; }
.astra-next { margin:8px 0 36px; padding:36px; gap:36px; border:2px solid var(--white); border-top:8px solid var(--astra-orange); background:var(--dark); }
.astra-course-main { gap:12px; font-size:17px; text-align:center; margin-bottom:20px; padding:18px 22px; }
@media(max-width:640px) { .astra-resource { grid-template-columns:1fr; gap:20px; } .astra-resource-action { justify-self:start; } .astra-next { padding:25px 22px; grid-template-columns:1fr; } .astra-course-main { width:100%; font-size:15px; } }

/* The same ungated lesson resource, readable or portable. */
.astra-player iframe { width:100%; height:100%; border:0; display:block; }
.astra-takeaways { padding-left:24px; max-width:850px; }
.astra-takeaways li { margin-bottom:16px; }
.astra-example { padding:18px 24px; margin:28px 0; background:var(--dark); }
.astra-example p { margin:10px 0; }
.astra-copy-text { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.65 ui-monospace,monospace; padding:22px; border:1px solid var(--gray-dark); background:var(--dark); color:var(--white); margin:20px 0; }
.astra-file { display:inline-block; padding:14px; font-size:14px; }
.astra-transcript { margin-top:28px; border-top:1px solid var(--gray-dark); padding-top:20px; }
.astra-transcript summary { cursor:pointer; font-size:19px; font-weight:700; padding:12px 0; }
.astra-transcript h3 { margin-top:26px; }
.astra-transcript-text { max-height:620px; overflow:auto; }
.astra-qa h3 { margin-top:24px; margin-bottom:8px; font-size:20px; }
.astra-qa p { max-width:850px; }
.astra-replay-page [role="status"] { min-height:1.6em; font-size:14px; margin-top:14px; }
.astra-replay-page pre:focus-visible { outline:3px solid var(--white); outline-offset:3px; }
.astra-replay-page button:disabled { cursor:wait; opacity:.75; }
@media(max-width:640px) { .astra-copy-text { padding:16px; font-size:13px; } .astra-transcript-text { max-height:480px; } .astra-example { padding:16px; } .astra-transcript .astra-primary { max-width:100%; } }

.astra-related { padding:26px 0 42px; font-size:14px; color:var(--gray); }

/* Make delivery available before the optional resource preview. */
.astra-copy-secondary { background:transparent; border:1px solid currentColor; border-radius:3px; color:inherit; padding:12px 16px; font-size:14px; }
.astra-delivery { margin:20px 0 24px; }
.astra-proof-list p,.astra-system dd { font-size:16px; }
@media(max-width:640px) { .astra-delivery :is(button,a) { max-width:100%; } }
.astra-section-heading>h2 { max-width:100%; overflow-wrap:anywhere; }
