:root{color-scheme:dark;--ink:#e8e4dc;--muted:#aaa99f;--gold:#d9b77d;--line:#ffffff20;--paper:#f6f0e5;--bg:#0b1113}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button,.button,select{background:#172226;border:1px solid #ffffff35;border-radius:6px;color:var(--ink);padding:10px 15px;text-decoration:none;min-height:44px}button:hover,.button:hover{background:#243337}.primary{background:var(--gold);border-color:var(--gold);color:#141a1b;font-weight:650}.primary:hover{background:#efcd95}header.top{border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;gap:18px;align-items:center}.brand{text-decoration:none;font:19px/1.2 Georgia,serif;letter-spacing:.04em}.brand small{display:block;font:10px/1.7 system-ui;letter-spacing:.24em;color:var(--gold)}nav{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;letter-spacing:.08em}nav a{text-decoration:none}nav a:hover{color:var(--gold)}main{max-width:1280px;margin:auto;padding:36px 24px 64px}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--gold);text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(34px,5.5vw,66px);margin:12px 0 18px;max-width:950px}h2{font-size:clamp(28px,3.8vw,42px)}p.intro{max-width:780px;font-size:18px;color:#bdbfb9}.intro em{color:var(--ink)}.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.section-head p{color:var(--muted);font-size:13px}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.chapter-card{display:block;text-decoration:none;border:1px solid var(--line);background:#121b1e;transition:transform .2s,border-color .2s}.chapter-card:hover{transform:translateY(-3px);border-color:var(--gold)}.thumb{aspect-ratio:5/3;background-size:var(--cols) var(--rows);background-position:var(--x) var(--y);background-repeat:no-repeat;background-image:var(--art);background-color:#18272a}.chapter-card .card-text{padding:18px 20px 22px}.chapter-card small{font-size:10px;letter-spacing:.15em;color:var(--gold)}.chapter-card h3{font-size:23px;margin:9px 0 12px}.chapter-card p{color:var(--muted);font-size:13px;margin:0}.reader-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.reader-head h1{font-size:clamp(30px,4vw,52px);margin-bottom:12px}.reader-head p{margin:0}.reader-head .prose-link{white-space:nowrap;font-size:13px;color:var(--gold)}.reader-shell{max-width:1100px;margin:auto}.stage{position:relative;isolation:isolate;background:#111d20;border:1px solid #ffffff25;border-radius:8px;overflow:hidden}.frame{position:relative;aspect-ratio:5/3;overflow:hidden;background:#17272c;max-height:64vh}.art{position:absolute;inset:0;background-size:var(--cols) var(--rows);background-position:var(--x) var(--y);background-image:var(--art);background-repeat:no-repeat;transform:scale(1.035);animation:camera 30s ease-in-out infinite alternate;will-change:transform}.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b1113 0%,transparent 35%);pointer-events:none}.scene-label{position:absolute;top:18px;left:20px;background:#0b1113c9;border:1px solid #ffffff25;padding:6px 10px;border-radius:4px;font-size:10px;letter-spacing:.12em;color:#e4d4b7}.frame-note{position:absolute;bottom:17px;left:20px;right:20px;font:italic 14px/1.4 Georgia,serif;color:#e4e0d5;opacity:.8}.text-space{padding:8px clamp(18px,4vw,40px) 24px;min-height:180px;display:flex;flex-direction:column;justify-content:center;position:relative}.beat-label{font:10px/1.5 system-ui;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:2px 0 10px}.bubble{position:relative;max-width:880px;color:#eee9df;font:clamp(18px,2.2vw,23px)/1.65 Georgia,serif;min-height:75px;white-space:pre-wrap}.bubble.dialogue{border-radius:18px;background:var(--paper);color:#142027;padding:18px 24px;font:clamp(18px,2vw,22px)/1.6 system-ui;box-shadow:0 8px 20px #0002;margin-top:4px;max-width:800px}.bubble.dialogue::before{content:"";position:absolute;top:-13px;left:32px;border-left:17px solid transparent;border-right:0 solid transparent;border-bottom:18px solid var(--paper)}.bubble.right{align-self:flex-end}.bubble.right::before{left:auto;right:32px;border-left:0;border-right:17px solid transparent}.beat-enter{animation:beat-in .28s ease-out}.controls{padding:18px 0 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.controls .counter{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;margin-left:auto}.progress-row{display:flex;align-items:center;gap:16px;padding:8px 0}.progress-row label{font-size:12px;color:var(--muted)}input[type=range]{accent-color:var(--gold);flex:1;min-width:80px;height:28px}.preferences{display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:10px 0}.preferences label{display:flex;gap:8px;align-items:center}.preferences input[type=checkbox]{accent-color:var(--gold);width:17px;height:17px}.preferences select{padding:4px 8px;font-size:12px;min-height:34px}.hint,.status{font-size:12px;color:var(--muted);margin:8px 0}.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.chapter-nav a{display:block;text-decoration:none}.chapter-nav a:last-child{text-align:right}.chapter-nav small{display:block;color:var(--gold);font-size:10px;letter-spacing:.12em;margin-bottom:6px}.chapter-nav span{font:21px/1.3 Georgia,serif}details{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}summary{cursor:pointer;color:var(--gold);font-size:13px;min-height:44px}.transcript{max-width:780px;font:18px/1.8 Georgia,serif;color:#cdcfc7}.transcript .scene-divider{margin-top:32px;color:var(--gold);font:11px system-ui;letter-spacing:.14em}.end-card{background:#182429;border:1px solid #d9b77d55;border-radius:6px;padding:25px;margin-top:18px}.end-card h2{font-size:28px;margin:0 0 12px}.end-card a{display:inline-block;margin:8px 12px 0 0}[hidden]{display:none!important}footer{border-top:1px solid var(--line);max-width:1232px;margin:0 auto;padding:28px 24px 40px;color:var(--muted);font-size:12px}footer p{max-width:900px}footer a{margin-right:20px}.resume{border-left:2px solid var(--gold);padding:12px 18px;background:#172226;max-width:800px;margin:24px 0}.resume a{color:var(--gold)}.error{padding:24px;border:1px solid #d99d7d;background:#2a1b17}.no-motion .art{animation:none}.no-motion .beat-enter{animation:none}@keyframes camera{from{transform:scale(1.035) translate(-.35%,0)}to{transform:scale(1.085) translate(.35%,-.6%)}}@keyframes beat-in{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:1500px){.frame{max-height:none}}@media(max-width:800px){.chapter-grid{grid-template-columns:repeat(2,1fr)}.reader-head{display:block}.reader-head .prose-link{display:inline-block;margin-top:12px}header.top{align-items:flex-start}.reader-head h1{font-size:36px}.frame{max-height:none}.text-space{min-height:215px}.bubble{font-size:20px}.controls{gap:8px}.controls button{padding:9px 12px}.controls .counter{width:100%;margin:2px 0}.hint{display:none}.chapter-nav span{font-size:18px}}@media(max-width:500px){header.top{padding:16px;display:block}header.top nav{margin-top:16px;gap:18px}.brand{font-size:19px}main{padding:26px 16px 46px}h1{font-size:40px}.chapter-grid{grid-template-columns:1fr 1fr;gap:12px}.chapter-card .card-text{padding:13px 12px}.chapter-card h3{font-size:19px}.chapter-card small{font-size:9px}.chapter-card p{font-size:11px}.section-head{display:block}.section-head p{margin-bottom:22px}.reader-head h1{font-size:31px}.frame-note{font-size:11px}.scene-label{font-size:9px;top:10px;left:12px}.text-space{padding:5px 16px 22px;min-height:230px}.bubble,.bubble.dialogue{font-size:18px;line-height:1.65}.bubble.dialogue{padding:16px}.controls button{font-size:13px;flex:1}.controls #next{flex:1.5}.preferences{gap:14px}.chapter-nav{gap:16px}.progress-row{gap:10px}.end-card{padding:18px}.hero-links .button{font-size:13px;padding:11px}.reader-shell{margin:0 -3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.art{will-change:auto}}

.art,.thumb{background-image:none}.art svg,.thumb svg{width:100%;height:100%;display:block}
.stage{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:stretch}.frame{width:100%;height:55vh;min-height:410px;max-height:620px;aspect-ratio:auto}.text-space{padding:28px 26px;min-height:0}.frame::after{background:linear-gradient(0deg,#0b111388,transparent 28%)}.frame-note{font-size:12px;color:#f1e8d7;opacity:.95}.bubble,.bubble.dialogue{font-size:20px;line-height:1.65}.bubble.dialogue{padding:18px}.beat-label{margin-bottom:16px}@media(max-width:800px){.stage{display:block}.frame{height:auto;min-height:0;max-height:none;aspect-ratio:5/3}.text-space{padding:20px 20px 24px;min-height:220px}.bubble,.bubble.dialogue{font-size:19px}.frame-note{font-size:11px}}@media(max-width:500px){.text-space{padding:18px 16px 22px}.bubble,.bubble.dialogue{font-size:18px}}
