:root{color-scheme:dark;--ink:#f5edda;--muted:#c8d0bd;--gold:#e7cc8b;--forest:#112d2c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--forest);color:var(--ink);font-family:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif;line-height:1.9}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #f9dc8a;outline-offset:7px}a:hover{color:#fff3bd}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:#112d2c;padding:10px}.skip:focus{top:10px}.site-header{position:absolute;z-index:5;left:5.5%;right:5.5%;top:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:600;letter-spacing:.1em;font-size:21px;white-space:nowrap}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.4em;opacity:.7;margin-top:-4px}.site-header nav,footer nav{display:flex;gap:28px;align-items:center;font-size:13px;letter-spacing:.08em}.nav-go{border-bottom:1px solid #f1d99788;padding:6px 0}.opening{height:max(780px,100svh);max-height:1100px;position:relative;isolation:isolate;background:#172d27}.opening-art{position:absolute;inset:0;z-index:-3}.opening-art img{width:100%;height:100%;object-fit:cover;object-position:58% center}.opening-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#061b2673 0,transparent 48%),linear-gradient(0deg,#112d2c 0,transparent 17%,transparent 80%,#081b2544)}.forest-invitation{position:absolute;top:23%;left:8%;width:38%;max-width:520px}.eyebrow{font-family:system-ui,sans-serif;font-size:11px;letter-spacing:.21em;font-weight:400;color:var(--gold);margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(66px,6.6vw,106px);line-height:1.17;letter-spacing:.035em;font-weight:500;margin-bottom:28px;text-shadow:0 2px 24px #08212588}h1 em{font-style:normal}h2{font-size:clamp(32px,3.4vw,53px);font-weight:500;line-height:1.5;letter-spacing:.07em;margin-bottom:28px}.invitation{font-size:18px;line-height:2;letter-spacing:.1em;color:#e4e8d9}.actions{margin:28px 0 15px}.button{display:inline-flex;align-items:center;gap:36px;padding:14px 26px;background:#e8d7a9;color:#24382e;border-radius:3px 18px 3px 18px;font-family:system-ui,sans-serif;font-size:14px;letter-spacing:.12em;box-shadow:0 4px 22px #071d2733;transition:background .18s,transform .18s}.button:hover{background:#f3e5bd;color:#19372c;transform:translateY(-2px)}.quiet-link{display:block;font-size:12px;color:#c6d4c8;margin-top:18px}.opening-footnote{position:absolute;bottom:40px;left:8%;font:11px system-ui,sans-serif;letter-spacing:.2em;color:#c4cdbb}.deep-forest{position:relative;background-color:#112d2c;background-image:linear-gradient(0deg,#112d2c 0,transparent 10%,transparent 90%,#112d2c),linear-gradient(#112d2c66,#112d2666),url('assets/forest-trail.webp');background-size:100% 100%,100% 100%,100% auto;background-repeat:no-repeat;background-position:center top}.chapter{position:relative;max-width:1160px;margin:auto;min-height:580px;padding:120px 70px;display:flex;gap:100px;align-items:center}.chapter-copy{max-width:540px;position:relative}.chapter p:not(.eyebrow){font-size:16px;line-height:2.15;color:#d6decc;letter-spacing:.04em}.text-link{font:13px system-ui,sans-serif;color:#e5cf9c;letter-spacing:.05em;display:inline-block;padding:10px 0;border-bottom:1px solid #d5c59044}.letter-chapter{padding-top:130px}.letter{flex:1;min-width:280px;max-width:350px;transform:rotate(3deg);color:#4c503d;background:linear-gradient(135deg,#e4ddbd,#f0e6c8);padding:30px 35px;border-radius:2px;box-shadow:5px 16px 35px #07191644}.letter summary{list-style:none;cursor:pointer}.letter summary span{display:block;font:11px/2 system-ui,sans-serif;letter-spacing:.1em}.letter strong{font-size:37px;display:block;font-weight:400;margin:25px 0}.letter .letter-address{color:#68705b}.letter div{padding-top:24px}.letter div p{font-size:14px!important;color:#505742!important}.letter a{font-size:13px;border-bottom:1px solid}.sign{text-align:right}.path-chapter{padding-left:16%;}.path-whisper{align-self:flex-end;padding-bottom:30px;color:#a5bca3;transform:rotate(-3deg)}.path-whisper span{font-size:30px;color:#e1cd94}.path-whisper p{font-size:13px!important}.story-chapter{align-items:center}.sample{flex:1;min-width:250px;border-top:1px solid #cfb97b55;border-bottom:1px solid #cfb97b55;padding:35px 10px}.sample h3{font-size:25px;font-weight:400;line-height:1.6}.sample p{font-size:14px!important}.sample .eyebrow{display:block;font-size:10px}.math-chapter{justify-content:center;text-align:center;min-height:580px}.forest-note{max-width:510px;text-align:left;margin:25px auto 0}.forest-note summary{cursor:pointer;text-align:center;color:var(--gold);font:12px system-ui,sans-serif;padding:18px}.forest-note p{font-size:14px!important}.novel-chapter{padding-left:18%;min-height:560px}.novel-chapter small{display:block;margin-top:24px;font:11px system-ui,sans-serif;color:#9db7ab}.farewell{display:block;text-align:center;min-height:500px;padding-top:70px}.farewell h2{font-size:55px}.tower-link{display:block;font:12px system-ui,sans-serif;color:#b5c8b5;margin-top:38px}footer{text-align:center;padding:30px 20px 50px;background:#112d2c}footer p{font:11px system-ui,sans-serif;color:#91a99c;margin:18px}footer nav{justify-content:center;flex-wrap:wrap;font-size:11px;gap:25px}.forest-listening{margin:6px 0!important}.forest-listen-toggle{background:transparent!important;color:#d7dcbf!important;border-color:#b5c2a84d!important;font-size:11px!important;padding:5px 12px!important}.forest-audio-options{background:#14332e!important;color:#e8e3c9!important}.forest-audio-status{font-size:10px!important;color:#e2d9bc!important}.forest-audio-options[hidden]{display:none!important}
@media(min-width:1700px){.opening-art img{object-position:center 65%}.forest-invitation{left:12%}}
@media(max-width:800px){.site-header{top:18px;left:6%;right:6%;gap:16px}.brand{font-size:17px}.site-header nav{gap:15px;font-size:11px}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.opening{height:900px;max-height:none;min-height:100svh;background:#102e30}.opening-art{top:250px;bottom:0}.opening-art img{object-position:64% center}.opening-shade{background:linear-gradient(180deg,#112d2c 0,#112d2c 21%,transparent 43%,transparent 82%,#112d2c 100%)}.forest-invitation{top:108px;left:7%;width:86%;max-width:none}.forest-invitation .eyebrow{font-size:10px;margin-bottom:18px}h1{font-size:57px;line-height:1.22;margin-bottom:16px}h1 br{display:none}.invitation{font-size:14px;line-height:1.9;max-width:225px}.actions{margin:20px 0 12px}.button{font-size:12px;padding:12px 20px;gap:20px}.quiet-link{font-size:10px;margin-top:12px}.opening-footnote{left:7%;bottom:22px;font-size:10px}.deep-forest{background-size:100% 100%,100% 100%,auto 100%;background-position:center}.chapter{display:block;min-height:0;padding:80px 8%;}.chapter h2{font-size:32px;line-height:1.6;margin-bottom:24px}.chapter p:not(.eyebrow){font-size:14px;line-height:2.15}.chapter .eyebrow{font-size:10px;margin-bottom:22px}.letter{margin:55px auto 0;max-width:320px;min-width:0;padding:25px 30px;transform:rotate(2deg)}.path-whisper{text-align:right;margin-top:55px;padding:0 10px}.sample{display:block;margin-top:55px;padding:28px 5px}.math-chapter{text-align:left}.forest-note summary{text-align:left;padding-left:0}.novel-chapter small{line-height:1.8}.farewell{text-align:center;padding-top:65px}.farewell h2{font-size:40px}.desktop-break{display:none}footer nav{gap:18px}}
@media(max-width:420px){.opening{height:890px}.opening-art{top:290px}.opening-art img{object-position:62% center}.site-header nav a:first-child{display:none}.forest-invitation{top:100px}h1{font-size:48px}.invitation{font-size:13px}.forest-invitation .eyebrow{letter-spacing:.08em}.chapter h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The scene has its own fading edge, independent of expanding text. */
.opening-shade{background:linear-gradient(180deg,#071e27b8 0,transparent 155px),linear-gradient(90deg,#061b2673 0,transparent 48%),linear-gradient(0deg,#112d2c 0,transparent 17%)}
.deep-forest{isolation:isolate;background:radial-gradient(ellipse at 85% 64%,#27413966,transparent 42%),radial-gradient(ellipse at 12% 86%,#203e3866,transparent 38%),#112d2c}
.deep-forest:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:150vw;background:linear-gradient(#112d2c6b,#112d2c91),url('assets/forest-trail.webp') center top/100% auto no-repeat;mask-image:linear-gradient(180deg,transparent,#000 9%,#000 64%,transparent 100%);pointer-events:none}
@media(min-width:801px){.path-chapter{padding-left:30%;gap:35px}.path-chapter .chapter-copy{max-width:440px}.letter-chapter .chapter-copy{padding-left:30px}.sample{background:radial-gradient(ellipse,#102f2bd9 0,#102f2b80 50%,transparent 75%);padding:40px 24px}.story-chapter .chapter-copy{max-width:480px}}
@media(max-width:800px){.opening-shade{background:linear-gradient(180deg,#112d2c 0,#112d2c 21%,transparent 43%,transparent 82%,#112d2c 100%)}.deep-forest:before{height:1800px;background-size:auto 100%;background-position:56% top;mask-image:linear-gradient(180deg,transparent,#000 7%,#000 55%,transparent)}.chapter-copy{background:radial-gradient(ellipse,#112d2c80,transparent 75%)}.sample{background:radial-gradient(ellipse,#112d2c99,transparent 75%)}}
@media(max-width:800px){.opening{height:calc(430px + 56.28vw + 70px);min-height:0}.opening-art{top:430px;bottom:auto;aspect-ratio:1672/941;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 83%,transparent)}.opening-art img{height:100%;object-fit:contain;object-position:center}.opening-shade{background:none}.opening-footnote{bottom:25px}.forest-invitation{top:108px}.quiet-link{margin-top:10px}}
@media(max-width:420px){.opening{height:calc(405px + 56.28vw + 70px)}.opening-art{top:405px}.forest-invitation{top:100px}}

.site-header nav{color:#fff3dc;text-shadow:0 1px 12px #071e27b0}
@media(max-width:800px){.opening{height:calc(150vw + 120px);min-height:690px;background:#08242e}.opening-art{top:auto;bottom:0;aspect-ratio:2/3;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 91%,transparent)}.opening-art img{object-fit:contain;object-position:center}.opening-shade{background:linear-gradient(0deg,#112d2c,transparent 10%)}.forest-invitation{top:108px}.opening-footnote{bottom:20px}}
@media(max-width:420px){.forest-invitation{top:100px}.forest-invitation .eyebrow{margin-bottom:15px}.actions{margin-top:16px}.quiet-link{margin-top:8px}}


/* R4: retain the latest immersive cover; share only complete narrative faces. */
@font-face{font-family:ForestStory;src:url('play/assets/bert-narrative-medium.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:ForestCover;src:url('assets/ForestSerifV18.woff') format('woff');font-style:normal;font-weight:200;font-display:swap}
h1,.brand{font-family:ForestCover,'Songti SC','Noto Serif CJK SC',serif;font-weight:200}
h2,.sample h3,.letter>div,.path-whisper,.sample>p,.novel-chapter .chapter-copy>p:not(.eyebrow){font-family:ForestStory,'Songti SC','Noto Serif CJK SC',serif;font-weight:500}
.forest-invitation .forest-listening button{min-height:44px;border:0!important;border-bottom:1px solid #b5c2a866!important;border-radius:0;background:transparent!important;box-shadow:none;font-size:12px!important}
.forest-invitation .forest-audio-options{background:transparent!important}
/* Short landscape: entry remains early; opening grows naturally if music opens. */
@media(min-width:560px) and (max-height:520px){
 .site-header{top:12px;left:5%;right:5%;gap:18px}.brand{font-size:17px}.site-header nav{font-size:11px;gap:15px}
 .opening{height:auto;min-height:360px;max-height:none}
 .opening-art{inset:0;aspect-ratio:auto;mask-image:none}.opening-art img{object-fit:cover;object-position:60% center}
 .opening-shade{background:linear-gradient(90deg,#071e27bf 0,#071e2780 34%,transparent 65%),linear-gradient(0deg,#112d2c 0,transparent 18%)}
 .forest-invitation{position:relative;top:auto;left:auto;width:46%;max-width:480px;margin-left:7%;padding:76px 0 52px}
 .forest-invitation .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:9px}
 h1{font-size:clamp(36px,5.6vw,50px);line-height:1.15;margin-bottom:8px}h1 br{display:none}
 .invitation{font-size:13px;line-height:1.7;max-width:280px;letter-spacing:.06em;margin-bottom:0}
 .actions{margin:14px 0 8px}.button{font-size:12px;min-height:44px;padding:10px 18px;gap:16px}
 .quiet-link{font-size:10px;margin-top:8px}.opening-footnote{left:7%;bottom:12px;font-size:10px}
}
