:root { --bg:#2046df; --ink:#f3f2e9; --accent:#e4ff83; --font:'Space Grotesk',sans-serif; }
html { scroll-behavior:auto; }
body { background:var(--bg); color:var(--ink); padding-bottom:0 !important; }
.world-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px var(--gutter); position:relative; z-index:10; }
.world-header a { text-decoration:none; }
.wordmark { font-size:21px; font-weight:600; letter-spacing:-.05em; }
.wordmark > span { color:var(--accent); }
.header-location, .header-contact { font-size:14px; }
.reading-link { font-size:14px; }
.header-location { margin-left:auto; margin-right:38px; }
.world-stage { position:relative; }
#world { display:none; }
.chapter-copy { padding-inline:var(--gutter); }
.chapter { padding-block:65px; max-width:660px; }
.chapter-label { font-size:16px; margin-bottom:24px; }
.chapter h1 { font-size:clamp(66px,8.5vw,135px); letter-spacing:-.085em; line-height:.88; font-weight:700; }
.chapter h2 { font-size:clamp(42px,5.8vw,86px); letter-spacing:-.065em; line-height:1.01; font-weight:500; }
.chapter h1 span, .chapter h2 span { color:var(--accent); }
.chapter-intro { font-family:'DM Sans',sans-serif; font-size:clamp(18px,1.6vw,23px); line-height:1.55; max-width:36ch; margin-top:28px; }
.chapter-action { display:inline-flex; justify-content:space-between; align-items:center; gap:35px; padding:15px 22px; margin-top:30px; color:#172515; background:var(--accent); min-height:54px; font-size:16px; font-weight:500; text-decoration:none; transition:background-color 180ms; }
.chapter-action:hover { background:var(--ink); }
.chapter-action > span { display:inline-block; transition:transform 240ms; }
.chapter-action:hover > span { transform:translate(3px,-3px); }
.stack-line { font-size:15px; color:var(--accent); margin-top:24px; }
.small-note { font-size:14px; margin-top:25px; }
.work-notes { max-width:42ch; margin-top:25px; }
.work-notes summary { font-size:15px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; list-style:none; padding-block:10px; }
.work-notes summary::-webkit-details-marker { display:none; }
.work-notes summary > span { font-size:24px; transition:transform 200ms; }
.work-notes[open] summary > span { transform:rotate(45deg); }
.work-notes p { font-family:'DM Sans',sans-serif; font-size:15px; line-height:1.6; margin-top:15px; }
.world-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px var(--gutter) 100px; }
.scroll-hint,.chapter-count { font-size:13px; }
.chapter-nav { display:flex; gap:8px; }
.chapter-nav a { font-size:13px; text-decoration:none; padding:10px 14px; min-height:40px; transition:color 180ms,background-color 180ms; }
.chapter-nav a:hover,.chapter-nav a[aria-current='step'] { background:var(--accent); color:#172515; }
.no-script-note { padding:25px var(--gutter) 100px; font-size:15px; }
.reading-mode .chapter-copy { max-width:1200px; margin-inline:auto; }
.reading-mode .chapter { max-width:760px; }
.reading-mode .chapter h1 { font-size:clamp(66px,8vw,105px); }
.reading-mode .chapter-intro { max-width:46ch; }
.reading-mode .world-stage { padding-bottom:60px; }
.reading-mode #world { display:block; width:100%; height:300px; image-rendering:pixelated; }
.reading-mode .world-bottom .scroll-hint,.reading-mode .chapter-count { display:none; }
.reading-mode .world-bottom { justify-content:center; }
body[data-production] .comparebar { display:none; }
.world-live body[data-production] .world-bottom { bottom:30px; }

/* One held canvas, one native scroll track. The page never captures the wheel. */
.world-live .world-header { position:fixed; inset:0 0 auto; }
.world-live .world-story { position:relative; height:580svh; }
.world-live .world-stage { position:sticky; top:0; height:100svh; overflow:clip; }
.world-live #world { display:block; position:absolute; inset:0; width:100%; height:100%; image-rendering:pixelated; pointer-events:none; }
.world-live .chapter-copy { position:absolute; inset:17% auto auto 0; width:52%; max-width:790px; }
.world-live .chapter { position:absolute; inset:0 var(--gutter); padding:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); }
.world-live .chapter.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.world-live .chapter[hidden] { display:none; }
.world-live .world-bottom { position:absolute; inset:auto 0 94px; padding:0 var(--gutter); }
.world-live .work-notes[open] { background:var(--bg); padding:0 15px 16px; margin-left:-15px; }
.world-live.is-embed .world-bottom { bottom:30px; }
.world-live .chapter-action:focus-visible, .world-live .chapter-nav a:focus-visible { outline-color:var(--ink); }
@media(prefers-reduced-motion:no-preference) {
  .world-live .chapter { transition:opacity 280ms ease,transform 350ms cubic-bezier(.22,1,.36,1),visibility 280ms; }
}
@media(min-width:1600px) { .world-live .chapter-copy { top:19%; } }
@media(max-width:800px) {
  .world-header { padding-block:22px; }
  .wordmark { font-size:19px; }
  .header-location { display:none; }
  .world-live .chapter-copy { top:15%; width:65%; }
  .chapter h2 { font-size:clamp(39px,6.2vw,64px); }
  .chapter-intro { font-size:18px; }
  .scroll-hint { display:none; }
  .world-bottom { gap:10px; }
}
@media(max-width:560px) {
  .world-header { padding-inline:20px; }
  .header-contact { font-size:13px; }
  .reading-link { font-size:12px; }
  .world-header { gap:14px; }
  .world-live .world-story { height:540svh; }
  .world-live .chapter-copy { top:13%; width:100%; }
  .world-live .chapter { inset-inline:22px; }
  .chapter-label { font-size:13px; margin-bottom:18px; }
  .chapter h1 { font-size:clamp(62px,18vw,88px); }
  .chapter h2 { font-size:clamp(36px,10vw,52px); }
  .chapter-intro { font-size:16px; line-height:1.5; margin-top:20px; max-width:32ch; }
  .chapter-action { min-height:46px; margin-top:20px; font-size:14px; padding:12px 18px; }
  .stack-line { font-size:13px; margin-top:16px; max-width:30ch; }
  .small-note { font-size:13px; margin-top:18px; }
  .work-notes { margin-top:14px; }
  .work-notes summary,.work-notes p { font-size:13px; }
  .world-live .world-bottom { bottom:85px; padding-inline:15px; }
  .chapter-nav { gap:0; }
  .chapter-nav a { font-size:12px; padding:10px 12px; }
  .chapter-count { font-size:12px; }
}
@media(max-height:650px) and (min-width:561px) {
  .world-live .chapter-copy { top:19%; }
  .chapter h1 { font-size:70px; }
  .chapter h2 { font-size:45px; }
  .chapter-label { margin-bottom:14px; font-size:14px; }
  .chapter-intro { font-size:16px; margin-top:16px; }
  .chapter-action { margin-top:16px; min-height:44px; padding-block:10px; }
  .world-live .world-bottom { bottom:78px; }
}
@media(prefers-reduced-motion:reduce) {
  .world-stage { padding-bottom:30px; }
  #world { display:block; position:relative; width:100%; height:320px; image-rendering:pixelated; }
  .chapter-copy { position:relative; }
  .world-bottom { padding-bottom:100px; }
}
@media print {
  .world-header { position:static !important; }
  .world-story { height:auto !important; }
  .world-stage { position:static !important; height:auto !important; overflow:visible !important; }
  #world,.world-bottom,.comparebar,.reading-link { display:none !important; }
  .chapter-copy { position:static !important; width:100% !important; max-width:none !important; }
  .chapter { position:static !important; opacity:1 !important; visibility:visible !important; transform:none !important; padding-block:25px !important; break-inside:avoid; }
  body,.chapter { background:white !important; color:black !important; }
  .chapter h1,.chapter h2 { font-size:32pt !important; }
  .chapter h1 span,.chapter h2 span,.stack-line { color:black !important; }
}
