@charset "UTF-8";
header{background:linear-gradient(#10271e45,transparent)}
@media(max-width:800px){.day-heading .date small{white-space:nowrap;font-size:8px}}
:root{--paper:#f3efe5;--ink:#24312c;--muted:#6d756b;--line:#c9cbbd;--accent:#a44d32;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{color:inherit}::selection{background:#c9d5bf}h1,h2,h3,p{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}header{position:absolute;top:0;left:0;width:100%;z-index:5;padding:25px 4vw;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff40;font-size:11px;letter-spacing:.2em}.brand{font-family:var(--serif);font-size:22px;letter-spacing:.18em}.top-links{display:flex;gap:30px}.top-links button{background:none;border:0;padding:0;font-size:12px;letter-spacing:.1em}.cover{height:100svh;min-height:700px;position:relative;overflow:hidden;color:#fff;background:#4d665d}.cover>img{position:absolute;inset:0;animation:cover-drift 1.8s ease-out both;object-position:center}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b262b70,transparent 68%),linear-gradient(0deg,#10271ed9,transparent 40%)}.cover-text{position:absolute;z-index:1;left:7vw;top:21%;animation:arrive 1.1s .1s both}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;line-height:1.8}.cover h1{font-family:var(--serif);font-size:clamp(86px,10.8vw,180px);font-weight:500;line-height:1.12;letter-spacing:.04em;margin:23px 0 25px}.cover h1 span{display:block;margin-left:.48em}.cover-copy{font-family:var(--serif);font-size:18px;letter-spacing:.22em}.cover-bottom{position:absolute;bottom:42px;left:7vw;right:7vw;z-index:1;display:flex;justify-content:space-between;align-items:end}.cover-bottom .dates{font-size:26px;font-family:var(--serif);letter-spacing:.08em}.cover-bottom small{font-size:10px;letter-spacing:.18em}.enter{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.2em}.enter b{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff88;border-radius:50%;font-size:23px;font-weight:400;transition:transform .3s}.enter:hover b{transform:translateY(5px)}.margin{padding-left:7vw;padding-right:7vw}.intro{padding-top:110px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2{font:500 clamp(36px,4.7vw,70px)/1.4 var(--serif);margin:18px 0 32px}.intro h2 em{font-weight:400;color:var(--accent)}.intro .lead{max-width:420px;color:var(--muted);font-size:14px;line-height:2.1}.contents{border-top:1px solid var(--ink);margin-top:7px}.contents a{display:grid;grid-template-columns:35px 1fr auto;padding:15px 0;border-bottom:1px solid var(--line);align-items:center;transition:padding .25s}.contents a:hover{padding-left:10px;color:var(--accent)}.contents i{font:italic 17px var(--serif);color:var(--accent)}.contents strong{font:400 23px var(--serif)}.contents small{font-size:10px;letter-spacing:.08em}.route-open{border:0;background:none;border-bottom:1px solid var(--ink);padding:8px 0;margin-top:24px;font-size:12px}.chapter{position:relative}.chapter-head{display:flex;justify-content:space-between;align-items:end;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--ink)}.chapter-head .eyebrow{color:var(--muted)}.chapter-head span:last-child{font-size:11px;letter-spacing:.12em}.scene{position:relative;overflow:hidden;height:82vh;min-height:580px;background:#334d42}.scene img{transition:transform 1s ease;object-position:center}.scene:hover img{transform:scale(1.02)}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071d22ba,transparent 63%)}.scene-copy{position:absolute;bottom:7%;left:7vw;z-index:1;color:white}.scene-copy h2{font:400 clamp(42px,6.3vw,98px)/1.3 var(--serif);letter-spacing:.06em;margin:14px 0}.scene-copy p{font-family:var(--serif);letter-spacing:.16em;font-size:16px}.scene-folio{position:absolute;right:5vw;top:30px;z-index:1;color:white;font:italic 65px var(--serif);opacity:.9}.scene-credit{position:absolute;right:4vw;bottom:25px;color:#fff9;font-size:9px;z-index:1;letter-spacing:.16em}.day{padding:55px 0 48px;scroll-margin-top:80px}.day+.day{border-top:1px solid var(--line)}.day-heading{display:grid;grid-template-columns:130px 1fr;gap:20px;margin-bottom:25px}.day-heading .date{font:400 42px/1 var(--serif);letter-spacing:-.04em}.day-heading .date small{display:block;font:10px/1.7 var(--sans);letter-spacing:.15em;margin-top:12px;color:var(--muted)}.day h3{font:400 27px/1.4 var(--serif);margin-bottom:7px}.day-heading p{font-size:12px;color:var(--muted)}.periods{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.period{border-top:1px solid var(--line);padding-top:16px}.period-name{font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.1em;margin-bottom:8px}.period-name span{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0;margin-top:4px}.period p{font-size:13px;line-height:1.95}.sleep{margin-top:24px;display:flex;gap:20px;align-items:baseline;padding-top:16px;border-top:1px solid var(--line);font-size:12px}.sleep b{font-size:10px;letter-spacing:.12em;white-space:nowrap}.sleep p{color:var(--muted)}.sleep strong{color:var(--ink);font-weight:500}.split-scene{display:grid;grid-template-columns:1.12fr .88fr;gap:6vw;padding-top:45px;padding-bottom:70px;align-items:center}.split-scene figure{height:650px;margin:0;position:relative}.split-scene .caption{position:absolute;bottom:15px;left:20px;color:white;font-size:10px;letter-spacing:.1em;text-shadow:0 1px 6px black}.split-copy h2{font:400 clamp(44px,5vw,74px)/1.4 var(--serif);margin:25px 0}.split-copy .desc{max-width:350px;color:var(--muted);font-family:var(--serif);font-size:17px;line-height:2.1}.split-copy .miniature{width:65%;height:190px;margin-top:42px}.split-copy .mini-note{font-size:10px;color:var(--muted);margin-top:10px}.interlude{padding-top:40px;padding-bottom:65px;display:grid;grid-template-columns:1.65fr .65fr;gap:5vw;align-items:end}.interlude figure{margin:0;height:430px}.interlude h3{font:400 35px/1.5 var(--serif);margin:20px 0}.interlude p{font-size:13px;color:var(--muted)}.night{background:#142823;color:#eeeade}.night .chapter-head{border-color:#ffffff50}.night .chapter-head .eyebrow,.night .day-heading p,.night .date small,.night .period-name span,.night .sleep p{color:#b4c0b4}.night .period,.night .sleep,.night .day+.day{border-color:#ffffff30}.night .sleep strong{color:#eeeade}.night .period-name{color:#d9b698}.night .interlude p{color:#b4c0b4}.return{padding-top:80px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.return h2{font:400 clamp(45px,6vw,90px)/1.3 var(--serif);margin:20px 0}.return p{color:var(--muted);font-size:14px}.return img{height:330px}.return .sleep{display:block}.return .sleep p{margin-top:9px}.closing{background:#253b31;color:var(--paper);padding:60px 7vw 100px;display:flex;justify-content:space-between;gap:40px}.closing h2{font:400 35px var(--serif)}.closing p{font-size:11px;color:#d0d6c9;max-width:510px;margin-top:15px}.rail{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:3px;background:#f3efe5f2;backdrop-filter:blur(14px);border:1px solid #a5b09e70;border-radius:4px;padding:5px;z-index:10;box-shadow:0 6px 30px #122f231c;transition:transform .35s}.rail.visible{transform:translateX(-50%)}.rail a{font-size:11px;padding:9px 13px;white-space:nowrap;transition:background .2s}.rail a.active{background:var(--ink);color:var(--paper)}.rail button{border:0;border-left:1px solid var(--line);background:none;padding:5px 15px;font-size:11px;white-space:nowrap}dialog{background:var(--paper);color:var(--ink);border:0;max-width:1100px;width:92vw;max-height:90svh;padding:35px 40px;box-shadow:0 30px 100px #0006}dialog::backdrop{background:#10241ed9;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-head h2{font:400 32px var(--serif)}.dialog-head button{border:1px solid var(--line);background:none;padding:5px 15px}.overview-row{display:grid;grid-template-columns:75px 1fr 1.6fr;gap:20px;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.overview-row b{font-family:var(--serif);font-size:22px;font-weight:400}.overview-row small{display:block;color:var(--muted);margin-top:6px}.map-image{height:auto;object-fit:contain}.map-note{font-size:11px;color:var(--muted);margin-top:20px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.js .reveal.in{opacity:1;transform:none}.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:20}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes cover-drift{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(min-width:1600px){.margin{padding-left:max(7vw,calc((100vw - 1440px)/2));padding-right:max(7vw,calc((100vw - 1440px)/2))}}@media(max-width:800px){header{padding:20px 6vw}.top-links{gap:18px}.top-links>a{display:none}.cover{min-height:620px}.cover-text{top:24%;left:7vw}.cover h1{font-size:clamp(85px,17vw,135px)}.cover-copy{font-size:14px}.cover-bottom{bottom:34px}.cover-bottom .dates{font-size:21px}.cover-bottom small{font-size:9px}.enter{gap:10px;font-size:10px}.intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px;gap:35px}.intro h2{font-size:43px;margin-bottom:20px}.scene{height:68svh;min-height:470px}.scene-copy h2{font-size:46px}.scene-copy p{font-size:13px}.scene-folio{font-size:48px}.chapter-head span:last-child{font-size:9px}.chapter-head .eyebrow{font-size:9px}.day{padding:35px 0}.day-heading{grid-template-columns:80px 1fr;gap:16px}.day-heading .date{font-size:33px}.day h3{font-size:23px}.periods{grid-template-columns:1fr 1fr;gap:22px}.period p{font-size:12px}.sleep{display:block}.sleep p{margin-top:7px}.split-scene{grid-template-columns:1fr;padding-top:25px;padding-bottom:35px;gap:25px}.split-scene figure{height:480px}.split-copy h2{font-size:43px;margin:12px 0}.split-copy .miniature{display:none}.split-copy .mini-note{display:none}.interlude{grid-template-columns:1fr;gap:20px;padding-bottom:35px}.interlude figure{height:330px}.interlude h3{font-size:30px;margin:10px 0}.return{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:25px}.return img{height:260px}.closing{display:block}.closing>div+div{margin-top:20px}.rail{bottom:10px;max-width:96vw;overflow-x:auto}.rail a{padding:8px 9px;font-size:10px}.rail button{font-size:10px;padding:5px 10px}.overview-row{grid-template-columns:55px 1fr;gap:10px}.overview-row>div:last-child{grid-column:2}.overview-row b{font-size:20px}dialog{padding:22px;width:95vw}.dialog-head h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}@media print{header,.rail,.progress,.enter,.route-open{display:none}.cover{height:240mm;min-height:0}.scene{height:130mm;min-height:0}.js .reveal{opacity:1;transform:none}.day{break-inside:avoid}.night{background:white;color:black}.night .period-name,.night .sleep strong{color:black}.scene img{transform:none}.margin{padding-left:15mm;padding-right:15mm}}
