@font-face{font-family:Georgia;src:local(Georgia);font-display:swap}
:root{color-scheme:dark;--paper:#e8e0ce;--muted:#aaa99c;--gold:#cab584;--line:#3a3b32;--bg:#191c18}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,sans-serif;font-size:14px}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}header{height:74px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);margin:0 4vw}.brand{font:25px Georgia,serif;text-decoration:none}.header-label{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}.back{margin-left:auto;text-decoration:none;font-size:12px}.back span{color:var(--gold);margin-left:12px}main{margin:0 4vw;max-width:2000px}.heading{display:flex;align-items:center;justify-content:space-between;padding:30px 0 22px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.7px;text-transform:uppercase;color:var(--gold);margin:0 0 12px}h1{font:48px/1 Georgia,serif;font-weight:400;margin:0}.edition{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:11px;line-height:1.6}.edition b{font:43px Georgia,serif;color:var(--gold)}.stage{height:min(65vw,690px);min-height:400px;position:relative;background:#c0c6c6;overflow:hidden;isolation:isolate}canvas,#poster{width:100%;height:100%;display:block;position:absolute;inset:0}canvas{touch-action:none}#poster{object-fit:cover}#poster[hidden]{display:none}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#20271ed9;color:var(--paper);font:19px Georgia,serif;z-index:4;backdrop-filter:blur(8px);padding:40px;text-align:center}.loading[hidden]{display:none}.stage-top{position:absolute;left:22px;right:22px;top:21px;display:flex;justify-content:space-between;align-items:start;gap:12px;pointer-events:none}.badge,.stage-top button{font-size:11px;padding:9px 12px;color:#f0e9dc;background:#22291fe6;backdrop-filter:blur(12px);border:1px solid #ffffff25}.stage-top button{pointer-events:auto}.stage-top button span{margin-left:9px;color:var(--gold)}.zoom{position:absolute;right:22px;bottom:48px;display:flex;flex-direction:column;gap:1px}.zoom button{width:38px;height:38px;background:#21261eea;border:1px solid #ffffff20;color:var(--paper);font-size:22px}.zoom button:hover,.stage-top button:hover{background:#3b4132}.view-caption{position:absolute;bottom:16px;left:22px;color:#f4eedf;background:#242a20cf;padding:7px 10px;font-size:11px;max-width:calc(100% - 80px)}.below-stage{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.views{display:flex;gap:6px;flex-wrap:wrap}.views button{background:transparent;border:1px solid transparent;color:var(--muted);padding:10px 13px;font-size:12px}.views button[aria-pressed=true]{color:#171d15;background:var(--gold);border-color:var(--gold)}.views button:hover:not([aria-pressed=true]){border-color:var(--line);color:var(--paper)}.settings{display:flex;align-items:center;gap:17px;color:var(--muted);font-size:11px}.settings label{display:flex;align-items:center;gap:5px}.settings input{accent-color:var(--gold);width:14px;height:14px}.settings select{background:transparent;color:var(--paper);border:1px solid var(--line);padding:5px;font-size:11px}.settings option{background:var(--bg)}.reading{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:28px 0 38px}.reading p{line-height:1.65;margin:0 0 13px;color:var(--muted);max-width:700px}.reading .intro{font:22px/1.48 Georgia,serif;color:var(--paper);max-width:660px}.reading .controls{font-size:11px;line-height:1.9;color:#878d7d}footer{margin:0 4vw;padding:18px 0 26px;border-top:1px solid var(--line);display:flex;gap:28px;flex-wrap:wrap;color:var(--muted);font-size:11px}footer a{margin-left:auto}dialog{background:#22261f;color:var(--paper);border:1px solid #575647;padding:34px;max-width:670px;width:calc(100% - 32px);max-height:85vh}dialog::backdrop{background:#080c08b8;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:15px}.dialog-top button{background:none;border:0;color:var(--paper);font-size:28px;line-height:20px;padding:0 0 16px 15px}dialog h2{font:31px Georgia,serif;margin:7px 0 22px}dialog h3{font:20px Georgia,serif;margin:24px 0 10px}dialog p,dialog li{font-size:13px;line-height:1.7;color:#c1c1b3}dialog ul{padding-left:18px}dialog li{margin:7px 0}dialog a{color:var(--gold)}
.stage{height:clamp(390px,calc(100svh - 290px),740px)}@media(max-width:800px){header{height:60px;gap:15px}.brand{font-size:21px}.header-label{display:none}h1{font-size:40px}.heading{padding-top:22px}.eyebrow{font-size:8px;letter-spacing:1px}.edition{font-size:9px;gap:10px}.edition b{font-size:34px}.stage{height:57svh;min-height:370px}.stage-top{left:12px;right:12px;top:12px}.badge,.stage-top button{font-size:9px;padding:8px}.view-caption{left:12px;font-size:10px}.zoom{right:12px}.views{gap:2px}.views button{padding:10px;font-size:11px}.settings{gap:18px}.reading{grid-template-columns:1fr;gap:10px;padding-top:22px}.reading .intro{font-size:21px}.reading p{font-size:12px}footer{gap:16px}footer a{margin-left:0}.below-stage{gap:12px}dialog{padding:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.model-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 0 16px;font-size:14px}.model-picker select{background:#252b22;color:var(--paper);border:1px solid #62634f;padding:9px 34px 9px 12px;font-size:14px}.model-picker span{color:var(--muted);font-size:13px}.section-notes{position:absolute;right:22px;top:76px;display:grid;gap:8px;max-width:280px;padding:16px;background:#20271eeb;color:var(--paper);pointer-events:none;font-size:13px;line-height:1.45}.section-notes[hidden]{display:none}.section-notes b{color:var(--gold);font-weight:400}.section-notes small{color:#bdbdae;font-size:12px}.settings,.settings select,.views button{font-size:14px}.settings{flex-wrap:wrap}.reading p,dialog p,dialog li{font-size:16px}.reading .controls{font-size:13px}.reading .intro{font-size:22px}@media(max-width:800px){.section-notes{top:auto;bottom:61px;left:12px;right:auto;max-width:calc(100% - 74px);padding:10px;font-size:12px;gap:3px}.section-notes small{font-size:12px}.model-picker span{flex-basis:100%}.views button{font-size:14px}.settings{gap:12px}.reading p{font-size:16px}}
