.rev{--r-sea:#0f2536;--r-gold:#e9bd76;--r-muted:#9fb4c3;display:grid;grid-template-columns:minmax(0,1fr) 440px;height:min(max(660px,calc(100vh - 40px)),940px);background:var(--r-sea);border-block:1px solid var(--line)}
.rev:focus{outline:none}
.rev-stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;background:radial-gradient(ellipse at 50% 40%,#173550 0%,#0f2536 70%)}
.rev-art{display:flex;align-items:center;justify-content:center;padding:20px 20px 0;min-height:0;opacity:0;transition:opacity .6s ease}
.rev-art.in{opacity:1}
.rev-art svg{width:100%;height:100%;max-height:100%}
.rev-art .cap{font:13px var(--sans);fill:var(--r-muted)}
.rev-art .cap.strong{font:400 17px var(--serif);fill:#f3e6c8}
.rev-art .cap.quote{font:italic 400 22px var(--serif);fill:var(--r-gold)}
.rev-art .greek{font:400 34px var(--serif);fill:var(--r-gold);text-anchor:middle}
.rev-scope{position:absolute;left:18px;top:16px;background:rgba(10,27,41,.75);border:1px solid #2d4d66;padding:10px 12px;font-size:11px;color:var(--r-muted)}
.rev-scope:empty{display:none}
.scope-row{display:flex;align-items:center;gap:4px;margin:3px 0}
.scope-row span{width:62px}
.scope-row i{width:9px;height:9px;border-radius:50%;border:1px solid #56718a;display:inline-block}
.scope-row i.done{background:#56718a}
.scope-row i.now{background:var(--r-gold);border-color:var(--r-gold);box-shadow:0 0 0 3px rgba(233,189,118,.25)}
.rev-scope p{margin:6px 0 0;color:var(--r-gold);font-style:italic}
.rev-time{padding:0 6px 6px}
.rev-time svg{display:block;width:100%;height:64px}
.rev-time .axis{stroke:#46708e;stroke-width:1}
.rev-time .tick{font:11px var(--sans);fill:var(--r-muted)}.rev-time .tick.strong{fill:var(--r-gold);font-weight:600}
.rev-time .future{fill:none;stroke:#46708e;stroke-dasharray:3 3}
.rev-time .hl{fill:var(--r-gold);opacity:.85}
.rev-panel{background:#fff;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line)}
.rev-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 26px;border-bottom:1px solid var(--line)}
.rev-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.rev-head div{display:flex;gap:8px}
.rev-head button{font:600 13px var(--sans);border:1px solid var(--ink);background:#fff;color:var(--ink);padding:8px 14px;min-height:40px;cursor:pointer}
.rev-head .rev-next{background:var(--ink);color:#fff}
.rev-head button:disabled{opacity:.35;cursor:default}
.rev-body{padding:22px 26px 10px;overflow-y:auto;flex:1}
.rev-dates{font-size:13px;font-weight:600;color:#8b4818;margin:0 0 8px}
.rev-body h2{font-size:clamp(1.9rem,2.6vw,2.35rem);margin:0 0 18px;outline:none}
.rev-body h3{font:600 13px var(--sans);color:var(--ink);margin:18px 0 6px}
.rev-body figure{margin:0 0 14px;padding-left:16px;border-left:2px solid var(--r-gold)}
.rev-body blockquote{margin:0;font:400 1.1rem/1.55 var(--serif);color:var(--ink)}
.rev-body figcaption{font-size:12.5px;margin-top:6px}.rev-body figcaption a,.rev-source a{color:#8b4818}
.rev-body p{font-size:15.5px;line-height:1.65;color:#334955;margin-bottom:12px}
.rev-body .rev-source{font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px}
.rev-contents{border-top:1px solid var(--line);padding:0 26px;margin:0}
.rev-contents summary{font-size:14px;padding:12px 0}
.rev-list{margin:0 0 14px;padding:0;list-style:none;counter-reset:st;max-height:40vh;overflow:auto}
.rev-list li{counter-increment:st;margin:0}
.rev-list button{display:flex;gap:10px;width:100%;text-align:left;background:none;border:0;padding:7px 0;font:14px var(--sans);color:var(--ink);cursor:pointer;border-bottom:1px solid var(--tint)}
.rev-list button::before{content:counter(st);color:var(--muted);min-width:1.6em;font-variant-numeric:tabular-nums}
.rev-list button[aria-current=step]{font-weight:700}
@media(max-width:900px){.rev{grid-template-columns:1fr;height:auto}.rev-stage{height:auto}.rev-art{aspect-ratio:800/580;padding:10px 6px 0}.rev-scope{position:static;margin:8px 12px 0;display:flex;flex-wrap:wrap;gap:4px 14px}.rev-scope p{margin:0}.rev-panel{border-left:0}.rev-head{position:sticky;bottom:0;z-index:2;background:#fff;order:3;border-top:1px solid var(--line);border-bottom:0;padding:10px 18px}.rev-body{padding:20px 18px 6px;overflow:visible}.rev-contents{padding:0 18px;order:2}}
@media(prefers-reduced-motion:reduce){.rev-art{transition:none}}
.rev-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Narrow screens: the small captions in the drawings shrink to about 6px and repeat the step text, so only headings and quotations stay. */
@media(max-width:600px){.rev-art text.cap:not(.strong):not(.quote){display:none}}
