/* R2: one old postal road, changing light. All rules stay on public forest pages.
   No images, canvas, reader state, route names, or game styles are replaced. */
.forest-r2{--paper:#f5f1e5;--paper-light:#fffaf0;--ink:#294337;--muted:#52684e;--line:#c5ceb2;background:#f5f1e5;background-image:radial-gradient(ellipse 75% 480px at 96% 14%,#dce2c950,transparent 80%),linear-gradient(180deg,#f3f0e3,#f7f2e6 70%,#eeeeda);line-height:1.9}
.forest-r2::before{opacity:.09}
.forest-r2 p{overflow-wrap:break-word;line-break:strict}
.forest-r2 h1,.forest-r2 h2,.forest-r2 h3{overflow-wrap:break-word;text-wrap:pretty}
.forest-r2 .wrap{width:min(1180px,calc(100% - max(48px,env(safe-area-inset-left) + 24px) - max(48px,env(safe-area-inset-right) + 24px)))}
.forest-r2 .site-header{border-bottom-color:#b5c4a34d;gap:24px}
.forest-r2 .nav{gap:clamp(16px,2.2vw,30px)}
.forest-r2 .nav a{min-height:44px;display:inline-flex;align-items:center}
.forest-r2 .nav .nav-letter{border-radius:28px 14px 28px 14px;padding-inline:19px}
.forest-r2 .button{border-radius:28px 15px 28px 15px;line-height:1.65;box-shadow:0 5px 18px #1c362a0d}
.forest-r2 .text-link{line-height:1.8;text-underline-offset:.22em;border-bottom-color:#a28b538f}
.forest-r2 :is(a,button,summary,input):focus-visible{outline:3px solid #aa7c29;outline-offset:5px}
.forest-r2 .quiet{color:#52684e;font-size:14px;line-height:1.9}
.forest-r2 .eyebrow{letter-spacing:.1em;line-height:1.9}
.forest-r2 .eyebrow::before{width:28px;background:linear-gradient(90deg,transparent,currentColor)}
/* The canopy fades into the first sheet of paper, then returns along the road. */
.forest-r2 .forest-threshold{min-height:max(850px,100svh);background:#254a37}
.forest-r2 .forest-threshold::before{height:310px;background:radial-gradient(ellipse 90% 100% at 50% 0,#17392bed 0,#17392bc9 29%,#17392b70 55%,#17392b00 100%)}
.forest-r2 .forest-threshold::after{content:'';position:absolute;inset:auto 0 -1px;height:180px;z-index:-1;background:linear-gradient(180deg,#f5f1e500 0,#83936a24 18%,#dce0c67a 55%,#f5f1e5 100%);pointer-events:none}
.forest-r2 .forest-panorama{object-position:56% 47%}
.forest-r2 .forest-veil{background:linear-gradient(90deg,#173b2beb 0,#173b2bd6 25%,#294d2c73 48%,#294d2c00 77%),linear-gradient(0deg,#284b32c9,transparent 38%)}
.forest-r2 .forest-opening{padding-top:clamp(190px,23vh,245px);padding-bottom:225px}
.forest-r2 .forest-invitation{max-width:660px}
.forest-r2 .forest-invitation h1{font-size:clamp(45px,5.2vw,76px);line-height:1.4;letter-spacing:.035em;text-shadow:0 4px 28px #173b2b66}
.forest-r2 .world-signature{color:#edf0d2;font-size:17px;letter-spacing:.04em}
.forest-r2 .forest-invitation .forest-deck{font-size:21px;line-height:1.9;margin-top:28px;color:#fff6d8}
.forest-r2 .forest-murmur{font-size:18px;line-height:2;color:#edf0d2;margin-top:22px}
.forest-r2 .forest-invitation .actions{margin-top:30px;gap:18px 26px}
.forest-r2 .forest-invitation .button{background:#e6e6ba;color:#284534;border-color:#e6e6ba;box-shadow:0 8px 26px #112e2740}
.forest-r2 .forest-invitation .button:hover{background:#f0ecc8}
.forest-r2 .forest-whisper,.forest-r2 .forest-address{font-size:13px;color:#e1e7c8;line-height:1.9}
.forest-r2 .forest-traveller{right:14%;bottom:155px;width:225px;height:240px}
.forest-r2 .forest-traveller .hero-bird{width:220px;max-width:100%;height:auto;aspect-ratio:307 / 323;filter:drop-shadow(4px 13px 7px #142e2738)}
.forest-r2 .traveller-aside{font-size:16px;color:#fff4d6;bottom:18px;right:-106px}
.forest-r2 .scroll-trail{bottom:31px;color:#344f3c;font-size:13px;text-shadow:0 1px 12px #f5f1e5;gap:0}
.forest-r2 .scroll-trail span{font-size:23px}
.forest-r2 .letter-stop{position:relative;isolation:isolate;padding-block:75px 115px;gap:clamp(40px,7vw,100px)}
.forest-r2 .letter-stop::before{content:'';position:absolute;inset:10% -1% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 50%,#dadfc24d,transparent 63%)}
.forest-r2 .letter-intro{max-width:450px}
.forest-r2 .letter-intro h2{font-size:clamp(30px,3.2vw,42px);line-height:1.6;margin-bottom:24px}
.forest-r2 .letter-intro p:not(.eyebrow){color:#3e5842;font-size:16px;line-height:2.05}
.forest-r2 .open-letter{transform:rotate(-2deg)}
.forest-r2 .open-letter summary{background:linear-gradient(159deg,#fffaf0 0 50%,#dbd0aa 50.25% 50.4%,#f3ead4 50.7%);border-color:#c5c4a3;box-shadow:0 17px 38px #4b563414,2px 3px 0 #e5dfc84a}
.forest-r2 .open-letter[open]{transform:none}
.forest-r2 .unfolded-letter{background:linear-gradient(135deg,#fffaf0,#f7f0dc);border-color:#c5c4a3}
.forest-r2 .desk-note{color:#526b49;font-size:16px}
/* Distant moss and gold continue the paper temperature across both section edges. */
.forest-r2 .forest-roads{isolation:isolate;background:#2d503c;padding-block:160px 150px}
.forest-r2 .forest-roads::before{z-index:-1;background:linear-gradient(180deg,#f5f1e5,#e5e7d6 24px,#b6c6a6 62px,#6f8a65 108px,#2d503c00 165px),radial-gradient(ellipse 90% 64% at 3% 42%,#a9b47320,transparent 72%),radial-gradient(ellipse at 100% 70%,#8e986b22,transparent 65%)}
.forest-r2 .forest-roads::after{content:'';position:absolute;inset:auto 0 0;height:145px;z-index:-1;background:linear-gradient(180deg,#2d503c00,#80936c7a 36%,#dce1c8 78%,#f5f1e5);pointer-events:none}
.forest-r2 .forest-roads .section-heading{margin-bottom:38px;align-items:center}
.forest-r2 .forest-roads h2{font-size:clamp(32px,3.5vw,46px);line-height:1.5;letter-spacing:.035em}
.forest-r2 .forest-roads .section-heading>p{font-size:16px;line-height:2.05;color:#eef0d9;max-width:380px}
.forest-r2 .forest-roads .eyebrow{color:#dce4bf}
.forest-r2 .scene-frame{border-radius:46% 46% 8px 8px / 8% 8% 8px 8px;box-shadow:0 18px 44px #112d2740;outline:1px solid #c8d4a326;outline-offset:9px}
.forest-r2 .scene-corner{background:#213e2fef;font-size:12px;letter-spacing:.035em;line-height:1.7}
.forest-r2 .scene-caption{padding-top:30px}
.forest-r2 .scene-caption h3{font-size:27px;line-height:1.6;margin-top:5px}
.forest-r2 .scene-caption p{font-size:16px;color:#e4e9cd;max-width:630px;line-height:1.95}
.forest-r2 .scene-caption small{font-size:13px;color:#d5e0bc}
.forest-r2 .scene-controls{flex-wrap:wrap;justify-content:flex-end;max-width:310px}
.forest-r2 .scene-controls button{border-color:#b5c99a8f;color:#f4f0d7;min-width:46px;min-height:46px}
.forest-r2 .scene-controls button[aria-pressed=true]{background:#e4e4b8;color:#2a4535;border-color:#e4e4b8}
.forest-r2 .trail-footnotes{color:#e3e8ce;border-top-color:#d1d9b33d;gap:36px;margin-top:35px;padding-top:22px;font-size:16px}
.forest-r2 .trail-footnotes span{color:#c0d2aa}
/* A folded page of mathematics: optional, beside the story rather than above it. */
.forest-r2 .forest-mathematics{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding-block:26px 70px;align-items:start}
.forest-r2 .math-leaf-heading{position:relative}
.forest-r2 .math-leaf-heading h2{font-size:29px;font-weight:500;line-height:1.65}
.forest-r2 .math-leaf-heading .eyebrow{margin-bottom:14px;font-size:12px}
.forest-r2 .math-leaf-mark{display:block;color:#96a16d;font:75px/1.1 Georgia,serif;margin:10px 0 0 50px;transform:rotate(-15deg)}
.forest-r2 .math-leaf-copy{font-size:16px;line-height:2.05;max-width:660px;color:#3e5741}
.forest-r2 .math-leaf-copy>p{line-height:2.05}
.forest-r2 .math-fold{border-block:1px solid #acb99366;margin-top:22px;padding-block:2px}
.forest-r2 .math-fold summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:10px 2px;font-size:15px;color:#405a3e;list-style:none}
.forest-r2 .math-fold summary::-webkit-details-marker{display:none}
.forest-r2 .math-fold summary>span{font-size:23px;color:#7e8e60;line-height:1}
.forest-r2 .math-fold[open] summary>span{transform:rotate(45deg)}
.forest-r2 .math-fold-body{padding:8px 0 24px;font-size:16px;line-height:2}
.forest-r2 .math-fold-body p+p{margin-top:1.1em}
.forest-r2 .math-fold-body .clarity-help{font-size:14px;line-height:1.95;color:#52684e;padding-left:16px;border-left:2px solid #c3c69e;margin-block:22px 8px}
.forest-r2 .math-fold-body .text-link{font-size:15px}
/* The road-side conversation and the book share the same pool of afternoon light. */
.forest-r2 .wayside{isolation:isolate;padding-block:65px 90px;gap:70px;position:relative}
.forest-r2 .wayside::before{content:'';position:absolute;inset:0 -1%;z-index:-1;background:radial-gradient(ellipse at 77% 55%,#dfe5ce88,transparent 68%);pointer-events:none}
.forest-r2 .wayside-theatre{border:0;padding:36px 32px 30px;background:linear-gradient(108deg,#e0e6cc99,#edf0dd35 75%,transparent);border-radius:0 0 35% 0 / 0 0 4% 0}
.forest-r2 .wayside-theatre::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,#9cab7d77,#afba9566,transparent);pointer-events:none}
.forest-r2 .wayside-theatre #wayside-lines p{line-height:2;font-size:18px}
.forest-r2 .wayside-theatre>small{font-size:13px;color:#52684e;line-height:1.85}
.forest-r2 .aside-stamp{color:#536d48;font-size:12px}
.forest-r2 .wayside-bottom p{color:#52684e;font-size:14px}
.forest-r2 .pocket-section{padding-block:30px 105px;gap:85px}
.forest-r2 .pocket-copy>p:not(.eyebrow):not(.lead){max-width:100%;color:#435c45;font-size:16px;line-height:2}
.forest-r2 .pocket-copy h2{line-height:1.6;font-size:36px}
.forest-r2 .pocket-copy .lead{font-size:22px;line-height:1.9}
.forest-r2 .featured-sample-label{color:#52684e}
.forest-r2 .featured-sample-title{font-size:28px;line-height:1.6;margin-bottom:14px}
.forest-r2 .featured-sample-title a{box-decoration-break:clone;text-decoration:underline;text-decoration-color:#aeb88a;text-decoration-thickness:1px;text-underline-offset:6px}
.forest-r2 .book-still{background:radial-gradient(ellipse 70% 50% at 47% 50%,#cbd7b85c,transparent 76%)}
.forest-r2 .book{box-shadow:14px 9px 0 -5px #e2dcc3,16px 11px 0 -5px #9a9e7c,20px 20px 34px #39493120}
.forest-r2 .players-letter{border-top:0;padding-block:70px 85px;position:relative;gap:70px}
.forest-r2 .players-letter::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#abb88d99 20%,#abb88d66 70%,transparent);pointer-events:none}
.forest-r2 .players-letter h2{font-size:36px;line-height:1.7}
.forest-r2 .players-letter-body{font-size:17px;line-height:2.05;color:#3e5741}
.forest-r2 .novel-stop{isolation:isolate;padding-block:50px 90px;gap:70px;position:relative}
.forest-r2 .novel-stop::before{content:'';position:absolute;inset:0 -1%;z-index:-1;background:radial-gradient(ellipse at 85% 45%,#e4d9b866,transparent 65%);pointer-events:none}
.forest-r2 .novel-stop>div>p:not(.eyebrow){font-size:16px;line-height:2;color:#435c45}
.forest-r2 .novel-glimpse{font-size:21px;line-height:2.1;padding-left:28px;border-left:1px solid #c4bf976b;color:#566341}
.forest-r2 .novel-glimpse small{font-size:14px;color:#52684e}
.forest-r2 .distant-tower{border:0;border-radius:0;padding:42px 38px;margin-block:0 75px;background:linear-gradient(90deg,transparent,#e1e6ce80 25%,#dfe5ca77 75%,transparent)}
.forest-r2 .distant-tower-art{opacity:.85}
.forest-r2 .cloud-sendoff{min-height:610px;isolation:isolate}
.forest-r2 .cloud-sendoff::before{background:linear-gradient(180deg,#f5f1e5 0,#f5f1e58f 45px,#f5f1e500 145px),linear-gradient(90deg,#263f35e8,#39463496 48%,#39463419 85%)}
.forest-r2 .cloud-sendoff .wrap{padding-block:160px 100px}
.forest-r2 .cloud-sendoff h2{font-size:clamp(32px,3.4vw,46px);line-height:1.65}
.forest-r2 .edition-strip{border:0;background:transparent;padding-block:24px;color:#52684e;font-size:13px;line-height:1.9}
.forest-r2 .site-footer{border-top-color:#b8c39e6b;padding-block:32px max(38px,env(safe-area-inset-bottom) + 24px)}
/* Companion pages: preserve all reader and editing elements, soften only their setting. */
.forest-r2:not(.forest-home) .page-heading{padding-block:40px 58px;isolation:isolate}
.forest-r2:not(.forest-home) .page-heading::after{width:55%;right:0;top:0;height:100%;background:radial-gradient(ellipse at 65% 30%,#dce3c378,transparent 72%)}
.forest-r2 .page-heading h1{font-size:clamp(35px,5.3vw,62px);line-height:1.6;font-weight:500;letter-spacing:.035em}
.forest-r2 .page-heading .intro{font-size:19px;line-height:2;max-width:700px}
.forest-r2 .back{font-size:14px;color:#52684e}
.forest-r2 .character{position:relative;border-top-color:#b3c09966;padding-block:48px}
.forest-r2 .character-image::before{background:radial-gradient(ellipse,#dbe3c7aa,#e8ead98a 64%,transparent 71%);border-radius:44% 55% 46% 54%}
.forest-r2 .character-copy p{color:#405b44;font-size:16px;line-height:2.05}
.forest-r2 .character-header small{font-size:12px;color:#52684e;line-height:1.8}
.forest-r2 .h-note{background:radial-gradient(ellipse at 10% 35%,#dce4c78f,transparent 75%);border-block:1px solid #b6c39c66;padding:42px 35px}
.forest-r2 .author-note p,.forest-r2 .about-opening .prose{color:#405b44;line-height:2.05}
.forest-r2 .letter-paper{background:linear-gradient(110deg,#fffaf0,#f7f1df);border-color:#cbc5a8;box-shadow:8px 9px 0 -3px #e2dfc5,0 18px 35px #4653340a}
.forest-r2 .letter-body{font-size:19px;line-height:2.15}
.forest-r2 .postal-index{font-size:14px;line-height:2.15;color:#52684e}
.forest-r2 .letter-body .signed{color:#647a56}
.forest-r2 .editor-note{font-size:14px;line-height:1.95;background:#e4e9d580}
.forest-r2 .letter-after .foldable{font-size:16px}
.forest-r2 .letter-after .foldable summary{font-size:16px;line-height:1.85}
.forest-r2 .reading-layout{grid-template-columns:220px minmax(0,1fr);gap:65px}
.forest-r2 .reading-menu p,.forest-r2 .reader .chapter-kicker{font-size:13px;letter-spacing:.06em}
.forest-r2 .route-tabs button{min-height:50px;line-height:1.8;border-bottom-color:#b6c49b66}
.forest-r2 .route-tabs button[aria-pressed=true]{background:linear-gradient(90deg,#dce5cc,#e5eadb66)}
.forest-r2 .reader{max-width:760px;padding-left:36px;border-left-color:#bac69e66;background:transparent}
.forest-r2 .reader-prose{font-size:18px;line-height:2.15;max-width:38em;color:#294337}
.forest-r2 .reader.large .reader-prose{font-size:21px}
.forest-r2 .reader-note,.forest-r2 .sample-facts,.forest-r2 .sample-disclosure,.forest-r2 .sample-metaphor{font-size:14px;line-height:1.95;color:#52684e}
.forest-r2 .novel-layout{grid-template-columns:220px minmax(0,760px);gap:65px;justify-content:space-between}
.forest-r2 .novel-contents{font-size:15px;line-height:1.85;padding-right:18px;border-right:1px solid #bdc69f66}
.forest-r2 .novel-contents li{margin-block:3px}
.forest-r2 .novel-prose{font-size:18px;line-height:2.15;max-width:38em;color:#294337}
.forest-r2 .novel-prose.large{font-size:21px}
.forest-r2 .novel-prose h2{font-size:29px;font-weight:500;line-height:1.7;margin-bottom:30px}
.forest-r2 .novel-prose article{padding-bottom:68px;scroll-margin-top:24px}
.forest-r2 .novel-prose .chapter-end{font-size:14px}
.forest-r2 .bottom-nav{border-top-color:#b6c39c66;flex-wrap:wrap}
.forest-r2 .play-examples{gap:40px;max-width:900px;padding-bottom:60px}
.forest-r2 .play-examples article{padding-left:25px;border-left:1px solid #b6c49b88}
.forest-r2 .play-examples p{font-size:17px;line-height:2.05}
.forest-r2 .forest-guide{padding-block:65px 70px;max-width:900px;border-top:1px solid #b6c39c66;position:relative}
.forest-r2 .forest-guide-heading{max-width:640px;margin-bottom:36px}
.forest-r2 .forest-guide-heading h2{font-size:32px;line-height:1.7;font-weight:500;margin-bottom:20px}
.forest-r2 .forest-guide-heading>p:not(.eyebrow){font-size:17px;line-height:2}
.forest-r2 .guide-observations{list-style:none;counter-reset:observation;padding:0;margin:0;max-width:790px}
.forest-r2 .guide-observations li{counter-increment:observation;position:relative;padding:0 0 28px 48px;margin-bottom:20px}
.forest-r2 .guide-observations li::before{content:counter(observation,decimal-leading-zero);position:absolute;left:0;top:4px;color:#7a8c5c;font-size:14px}
.forest-r2 .guide-observations h3{font-size:23px;line-height:1.7;font-weight:500;margin-bottom:14px}
.forest-r2 .guide-observations p{font-size:17px;line-height:2.1;color:#3e5741}
.forest-r2 .guide-source-note{font-size:14px;line-height:1.95;color:#52684e;max-width:790px;padding-left:48px}
.forest-r2 .guide-source-note .text-link{display:flex;width:fit-content;margin-top:10px;font-size:15px}
@media(min-width:1800px){.forest-r2 .forest-panorama{object-position:50% 44%}.forest-r2 .forest-traveller{right:23%}}
@media(max-width:1100px){.forest-r2 .wrap{width:calc(100% - 64px)}.forest-r2 .forest-invitation{max-width:580px}.forest-r2 .forest-traveller{right:13%;width:190px;height:205px}.forest-r2 .forest-traveller .hero-bird{width:190px}.forest-r2 .traveller-aside{right:-92px;font-size:14px}.forest-r2 .wayside,.forest-r2 .pocket-section,.forest-r2 .players-letter,.forest-r2 .novel-stop{gap:45px}.forest-r2 .forest-mathematics{gap:45px}.forest-r2 .novel-layout,.forest-r2 .reading-layout{gap:35px}.forest-r2 .nav{gap:15px}}
@media(max-width:760px){
 .forest-r2 .wrap{width:calc(100% - max(22px,env(safe-area-inset-left) + 12px) - max(22px,env(safe-area-inset-right) + 12px))}
 .forest-r2 .site-header{padding-block:14px;gap:9px;min-height:126px}
 .forest-r2 .brand{font-size:20px;gap:10px}.forest-r2 .brand small{font-size:10px;letter-spacing:.11em}
 .forest-r2 .nav{width:100%;gap:3px 15px;justify-content:flex-start;flex-wrap:wrap;font-size:13px;line-height:1.65}
 .forest-r2 .nav a{padding-block:9px}.forest-r2 .nav .nav-letter{padding:6px 12px;min-height:42px}
 .forest-r2 .forest-threshold{min-height:0}
 .forest-r2 .forest-threshold::before{height:260px;background:linear-gradient(180deg,#254a37 0,#254a37 112px,#254a37ba 150px,#254a3700 260px)}
 .forest-r2 .forest-threshold::after{height:112px;background:linear-gradient(180deg,#f5f1e500,#c5cfac80 56%,#f5f1e5)}
 .forest-r2 .forest-panorama{top:108px;height:405px;object-position:55% center}
 .forest-r2 .forest-veil{background:linear-gradient(180deg,#254a3710 150px,#254a3770 260px,#254a37 430px),linear-gradient(90deg,#254a3799,transparent 85%)}
 .forest-r2 .forest-opening{padding-top:300px;padding-bottom:135px}
 .forest-r2 .forest-invitation h1{font-size:clamp(33px,8.2vw,51px);letter-spacing:.02em;line-height:1.45}
 .forest-r2 .world-signature{font-size:14px;line-height:1.9;margin-top:10px;letter-spacing:.02em}
 .forest-r2 .forest-invitation .forest-deck{font-size:18px;margin-top:23px;line-height:1.9}
 .forest-r2 .forest-murmur{font-size:17px;line-height:2;margin-top:18px}
 .forest-r2 .forest-invitation .actions{gap:13px 20px;margin-top:27px}
 .forest-r2 .forest-invitation .button{font-size:15px;min-height:52px}.forest-r2 .forest-invitation .text-link{font-size:15px}
 .forest-r2 .forest-whisper,.forest-r2 .forest-address{font-size:13px}
 .forest-r2 .forest-traveller{top:167px;right:11%;bottom:auto;width:115px;height:122px}
 .forest-r2 .forest-traveller .hero-bird{width:115px}.forest-r2 .traveller-aside,.forest-r2 .scroll-trail{display:none}
 .forest-r2 .letter-stop{grid-template-columns:1fr;padding-block:34px 66px;gap:25px}.forest-r2 .letter-intro{max-width:none}
 .forest-r2 .letter-intro h2{font-size:31px;line-height:1.65}.forest-r2 .letter-intro p:not(.eyebrow){font-size:16px}
 .forest-r2 .post-desk{padding:10px 4px}.forest-r2 .open-letter{max-width:490px}.forest-r2 .open-letter summary{min-height:240px;padding:25px}
 .forest-r2 .envelope-caption{font-size:13px;letter-spacing:.025em;max-width:calc(100% - 55px)}.forest-r2 .envelope-name{font-size:36px;margin-top:32px}
 .forest-r2 .envelope-seal{width:48px;height:64px;right:22px;top:35px;font-size:32px}.forest-r2 .unfolded-letter{padding:27px;font-size:17px}
 .forest-r2 .desk-note{font-size:16px;line-height:1.95}
 .forest-r2 .forest-roads{padding-block:115px 112px}.forest-r2 .forest-roads::before{background:linear-gradient(180deg,#f5f1e5,#e5e7d6 17px,#b6c6a6 44px,#6f8a65 76px,#2d503c00 115px),radial-gradient(ellipse at 3% 45%,#a9b4731f,transparent 72%)}
 .forest-r2 .forest-roads::after{height:108px}.forest-r2 .forest-roads .section-heading{display:block;margin-bottom:30px}
 .forest-r2 .forest-roads h2{font-size:32px}.forest-r2 .forest-roads .section-heading>p{max-width:none;font-size:16px;line-height:2;margin-top:23px}
 .forest-r2 .scene-frame{aspect-ratio:1.6 / 1;border-radius:42% 42% 5px 5px / 5% 5% 5px 5px;outline-offset:5px}
 .forest-r2 .scene-corner{font-size:12px;max-width:calc(100% - 28px);left:14px;top:15px;letter-spacing:0;padding-inline:11px}
 .forest-r2 .scene-caption{display:block;padding-top:23px}.forest-r2 .scene-caption h3{font-size:25px}.forest-r2 .scene-caption p{font-size:16px;line-height:1.95}
 .forest-r2 .scene-controls{justify-content:flex-start;max-width:none;gap:9px;margin-top:22px}
 .forest-r2 .trail-footnotes{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:23px;font-size:16px}.forest-r2 .trail-footnotes p{margin:0;display:flex;gap:16px}.forest-r2 .trail-footnotes span{margin:0;flex:none;padding-top:2px;font-size:13px}
 .forest-r2 .forest-mathematics{grid-template-columns:1fr;gap:21px;padding-block:24px 48px}.forest-r2 .math-leaf-heading h2{font-size:28px}.forest-r2 .math-leaf-heading .eyebrow{margin-bottom:10px}.forest-r2 .math-leaf-mark{display:none}
 .forest-r2 .math-leaf-copy{font-size:16px;line-height:2}.forest-r2 .math-fold{margin-top:21px}.forest-r2 .math-fold summary{font-size:16px;min-height:54px}
 .forest-r2 .wayside{grid-template-columns:1fr;padding-block:42px 60px;gap:27px}.forest-r2 .wayside-heading h2{font-size:30px;line-height:1.65}
 .forest-r2 .wayside-theatre{padding:29px 17px 25px}.forest-r2 .wayside-theatre #wayside-lines p{font-size:17px;line-height:2;gap:9px;grid-template-columns:2.8em 1fr}
 .forest-r2 .wayside-theatre>small{font-size:13px}.forest-r2 .wayside-bottom{gap:12px}
 .forest-r2 .pocket-section{padding-block:15px 60px;gap:20px}.forest-r2 .pocket-copy h2{font-size:31px}.forest-r2 .pocket-copy .lead{font-size:21px}.forest-r2 .pocket-copy>p:not(.eyebrow):not(.lead){font-size:16px;line-height:2}
 .forest-r2 .featured-sample-title{font-size:25px}.forest-r2 .book-still{max-width:100%;min-height:463px}.forest-r2 .loose-leaf{right:0}
 .forest-r2 .players-letter{grid-template-columns:1fr;gap:24px;padding-block:45px 60px}.forest-r2 .players-letter h2{font-size:31px;line-height:1.7}.forest-r2 .players-letter-body{font-size:16px;line-height:2.05}
 .forest-r2 .novel-stop{grid-template-columns:1fr;gap:32px;padding-block:32px 55px}.forest-r2 .novel-stop h2{font-size:31px}.forest-r2 .novel-glimpse{font-size:19px;line-height:2.05;padding-left:19px}
 .forest-r2 .distant-tower{padding:30px 17px;margin-bottom:35px;grid-template-columns:1fr}.forest-r2 .distant-tower h2{font-size:28px}.forest-r2 .distant-tower .eyebrow{font-size:12px;letter-spacing:.03em}
 .forest-r2 .cloud-sendoff{min-height:570px}.forest-r2 .cloud-sendoff .wrap{padding-block:205px 60px}.forest-r2 .cloud-sendoff::before{background:linear-gradient(180deg,#f5f1e5 0,#f5f1e57a 50px,#f5f1e500 145px),linear-gradient(0deg,#263f35f2,#39463469 80%,#39463400)}
 .forest-r2 .cloud-sendoff h2{font-size:30px;line-height:1.7}.forest-r2 .edition-strip{flex-wrap:wrap;gap:7px;padding-block:22px;font-size:13px}
 .forest-r2 .site-footer{display:block}.forest-r2 .footer-links{gap:7px 18px;font-size:14px}
 .forest-r2:not(.forest-home) .page-heading{padding-block:28px 42px}.forest-r2 .page-heading h1{font-size:35px;line-height:1.6}.forest-r2 .page-heading .intro{font-size:18px;line-height:2}
 .forest-r2 .about-opening{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.forest-r2 .about-opening .large-line{font-size:27px}
 .forest-r2 .character{padding-block:32px;grid-template-columns:100px minmax(0,1fr);gap:18px}.forest-r2 .character:nth-child(even){grid-template-columns:100px minmax(0,1fr);gap:18px}.forest-r2 .character:nth-child(even) .character-image{order:0}
 .forest-r2 .character-image{width:100%;max-width:100%;height:190px}.forest-r2 .character-image svg{width:100%;max-width:100%;height:190px}.forest-r2 .character-header{display:block}.forest-r2 .character-header h2{font-size:27px}.forest-r2 .character-header small{display:block;margin-top:8px;font-size:12px;letter-spacing:.04em}.forest-r2 .character-copy p{font-size:16px;line-height:2}.forest-r2 .character-quote{font-size:17px;line-height:1.95;padding-left:13px}
 .forest-r2 .h-note{grid-template-columns:50px minmax(0,1fr);gap:18px;padding:30px 16px}.forest-r2 .h-signature{font-size:62px}.forest-r2 .h-note h2{font-size:24px}
 .forest-r2 .letter-layout{grid-template-columns:1fr;gap:25px}.forest-r2 .letter-aside{position:static;padding-top:0}.forest-r2 .letter-aside blockquote{font-size:21px;margin-bottom:18px}.forest-r2 .postal-index{font-size:14px}.forest-r2 .letter-paper{padding:30px 25px}.forest-r2 .letter-body{font-size:18px;line-height:2.1}.forest-r2 .letter-head h2{font-size:23px}.forest-r2 .letter-actions{align-items:flex-start;gap:18px}
 .forest-r2 .reading-layout,.forest-r2 .novel-layout{display:block}.forest-r2 .reading-menu{position:static}.forest-r2 .reader{padding-left:0;border:0;margin-top:30px;max-width:100%}.forest-r2 .reader h3{font-size:29px;line-height:1.65}
 .forest-r2 .reader-prose{font-size:18px;line-height:2.1;max-width:100%}.forest-r2 .reader.large .reader-prose{font-size:21px}.forest-r2 .reading-tools{flex-wrap:wrap}.forest-r2 .route-tabs button{font-size:15px;min-height:52px}
 .forest-r2 .novel-contents{position:static;border-right:0;border-bottom:1px solid #bdc69f66;padding:0 0 16px;margin-bottom:32px}.forest-r2 .novel-contents a{min-height:46px;font-size:16px;line-height:1.85}.forest-r2 .novel-contents summary{font-size:18px}
 .forest-r2 .novel-prose{font-size:18px;line-height:2.1;max-width:100%}.forest-r2 .novel-prose.large{font-size:21px}.forest-r2 .novel-prose h2{font-size:26px;line-height:1.75}.forest-r2 .novel-prose article{padding-bottom:50px}
 .forest-r2 .play-examples{gap:35px}.forest-r2 .play-examples article{padding-left:18px}.forest-r2 .play-examples h2{font-size:27px}.forest-r2 .play-examples p{font-size:17px;line-height:2.05}
 .forest-r2 .forest-guide{padding-block:45px 50px}.forest-r2 .forest-guide-heading h2{font-size:28px}.forest-r2 .guide-observations li{padding-left:34px;padding-bottom:22px;margin-bottom:16px}.forest-r2 .guide-observations h3{font-size:22px}.forest-r2 .guide-observations p{font-size:17px;line-height:2.1}.forest-r2 .guide-source-note{padding-left:34px}
}
@media(max-width:370px){
 .forest-r2 .wrap{width:calc(100% - max(17px,env(safe-area-inset-left) + 10px) - max(17px,env(safe-area-inset-right) + 10px))}
 .forest-r2 .nav{gap:2px 12px;font-size:13px}.forest-r2 .forest-opening{padding-top:310px}.forest-r2 .forest-traveller{top:184px;width:102px;height:110px}.forest-r2 .forest-traveller .hero-bird{width:102px}
 .forest-r2 .forest-invitation h1{font-size:32px}.forest-r2 .forest-invitation .forest-deck{font-size:17px}.forest-r2 .forest-murmur{font-size:16px}.forest-r2 .world-signature{font-size:13px}
 .forest-r2 .character,.forest-r2 .character:nth-child(even){grid-template-columns:1fr;gap:14px}.forest-r2 .character-image{width:160px;height:200px;margin:auto}.forest-r2 .character-image svg{height:200px}
 .forest-r2 .forest-mathematics h2{font-size:27px}.forest-r2 .open-letter summary{padding:22px}.forest-r2 .unfolded-letter{padding:22px}.forest-r2 .book-still{padding-right:0}.forest-r2 .book{width:242px}.forest-r2 .loose-leaf{right:0;width:145px}
 .forest-r2 .cloud-sendoff h2{font-size:27px}.forest-r2 .page-heading h1{font-size:31px}.forest-r2 .letter-paper{padding-inline:21px}.forest-r2 .guide-observations li,.forest-r2 .guide-source-note{padding-left:30px}
}
@media(prefers-reduced-motion:reduce){.forest-r2{scroll-behavior:auto}.forest-r2 *{scroll-behavior:auto;animation:none!important;transition:none!important}.forest-r2 .open-letter{transform:none}.forest-r2 .button:hover{transform:none}}
/* R3: compact only the short mobile invitation. Keep R2 art, prose, links and gradients.
   Viewport placement estimates are source reasoning, not browser or phone measurements. */
@media screen and (max-width:760px) and (max-height:740px){
 .forest-r2 .forest-opening{padding-top:260px;padding-bottom:112px}
 .forest-r2 .forest-traveller{top:167px;width:80px;height:85px}
 .forest-r2 .forest-traveller .hero-bird{width:80px}
 .forest-r2 .forest-invitation .eyebrow{margin-bottom:14px}
 .forest-r2 .world-signature{margin-top:8px}
 .forest-r2 .forest-invitation .forest-deck{margin-top:18px;line-height:1.8}
 .forest-r2 .forest-murmur{margin-top:10px;line-height:1.8}
 .forest-r2 .forest-murmur br{display:none}
 .forest-r2 .forest-invitation .actions{margin-top:16px}
}
@media print{.forest-r2{background:white;color:black}.forest-r2 .forest-threshold::after,.forest-r2 .forest-roads::after,.forest-r2 .forest-roads::before,.forest-r2 .letter-stop::before,.forest-r2 .wayside::before,.forest-r2 .novel-stop::before,.forest-r2 .math-leaf-mark{display:none}.forest-r2 .forest-opening,.forest-r2 .cloud-sendoff .wrap{padding:20px 0}.forest-r2 .forest-threshold{min-height:0}.forest-r2 .forest-roads{background:white;color:black;padding-block:20px}.forest-r2 .forest-mathematics{display:block;padding-block:20px}.forest-r2 .forest-guide{padding-block:20px}.forest-r2 .math-fold-body{display:block}.forest-r2 .reader-prose,.forest-r2 .novel-prose{color:black}.forest-r2 .reading-layout,.forest-r2 .novel-layout{display:block}.forest-r2 .nav,.forest-r2 .reading-tools,.forest-r2 .novel-reading-tools{display:none}}
