:root{color-scheme:light;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:#243e4a}
body{margin:0;font:16px/1.8 var(--sans);color:#213b45;overflow-x:clip}
h1,h2,h3,p,figure{margin:0}
a{color:inherit;text-decoration:none}
button{color:inherit;font:inherit;border:0;cursor:pointer;background:none}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{opacity:.35;cursor:default}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img,canvas{display:block;max-width:100%}
button,small{font-size:14px}small{line-height:1.6}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-150%);background:#f7f1dd;color:#293b3b;padding:10px 18px;z-index:100}
.skip-link:focus{transform:none}.modal-open{overflow:hidden}

/* Color and transparent silhouettes are painted only when world state changes. */
.world{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;isolation:isolate;background:var(--sky-bottom,#d4e6d7)}
.world-sky{position:absolute;inset:0;background:linear-gradient(var(--sky-top,#477fa4),var(--sky-bottom,#d4e6d7) 65%)}
.world::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 68%,#08191a30);z-index:12}
.sun-disc{position:absolute;left:var(--sun-x,42%);top:var(--sun-y,20%);width:46px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff4cf,var(--sun-color,#ffebbc) 65%,#ebd4a3aa);opacity:var(--sun-opacity,1);transform:translate(-50%,-50%)}
.sun-halo{position:absolute;left:var(--sun-x,42%);top:var(--sun-y,20%);width:32vw;height:32vw;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff0ba26,transparent 67%);opacity:var(--sun-opacity,1)}
.moon-disc{position:absolute;left:var(--moon-x,24%);top:var(--moon-y,20%);width:34px;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse at 64% 56%,#afbac744,transparent 22%),radial-gradient(ellipse at 30% 36%,#aebcc033,transparent 27%),radial-gradient(circle at 38% 34%,#f4f0d9,#cccfd4);opacity:var(--moon-opacity,0)}
.world-sky,.sun-disc,.sun-halo,.moon-disc{z-index:0}
.cloud-layer{position:absolute;z-index:1;aspect-ratio:2/1;opacity:var(--cloud-opacity,.75)}
.cloud-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:1}
.cloud-frame:nth-child(2){opacity:0}
.clouds-far{width:73vw;left:39%;top:1%;animation:cloud-drift-far 430s linear infinite alternate}
.clouds-mid{width:66vw;left:-29%;top:16%}
.clouds-near{width:81vw;left:60%;top:27%;animation:cloud-drift-near 310s linear infinite alternate}
@keyframes cloud-drift-far{to{transform:translate3d(-18vw,0,0)}}
@keyframes cloud-drift-near{to{transform:translate3d(-26vw,0,0)}}
.world-terrain,.far-terrain{position:absolute;inset:-2%;transform-origin:56% 70%}
.world-terrain{z-index:3;transform:translate3d(calc(var(--camera-x,0%) + var(--pointer-x,0px)*.22),calc(var(--camera-y,0%) + var(--pointer-y,0px)*.22),0) scale(var(--camera-scale,1))}
.far-terrain{z-index:2;transform:translate3d(calc(var(--camera-x,0%)*.28),calc(var(--camera-y,0%)*.24),0) scale(calc(1 + (var(--camera-scale,1) - 1)*.3));transform-origin:50% 60%}
.painting{position:absolute;left:50%;top:50%;width:max(104vw,184.791svh);height:auto;aspect-ratio:1672/941;transform:translate3d(calc(-50% + var(--mobile-pan,0px)),-50%,0)}
.terrain-frame,.foreground-frame,.window-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:1}
.terrain-frame:nth-child(2),.foreground-frame:nth-child(2),.window-frame:nth-child(2){opacity:0}
.foreground-decor{position:absolute;inset:0;z-index:5;transform-origin:50% 100%;opacity:calc(var(--near-presence,1)*(1 - var(--about-quiet,0)*.84))}
.foreground-decor.wind-gust{animation:foreground-gust 2s ease-in-out 1}
@keyframes foreground-gust{0%,100%{transform:translate3d(0,0,0) rotate(0)}45%{transform:translate3d(2px,0,0) rotate(.24deg)}}
.window-corner{position:absolute;inset:0;opacity:var(--window-presence,0);transform:translate3d(0,calc((1 - var(--window-presence,0))*24px),0);z-index:9}
#environment-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}
.camera-leaf{position:fixed;right:-5vw;top:3svh;width:45vw;height:50svh;overflow:hidden;contain:paint;opacity:0;pointer-events:none;z-index:21}
.camera-leaf>canvas{width:100%;height:100%;max-width:none}
html[data-quality="medium"] .far-terrain,html[data-quality="low"] .far-terrain,html[data-quality="medium"] .clouds-mid,html[data-quality="low"] .clouds-mid,html[data-quality="low"] .clouds-near{display:none}
html[data-quality="low"] .cloud-layer,html[data-quality="low"] .foreground-decor.wind-gust{animation:none}
html[data-quality="low"] .camera-leaf{display:none}

/* Navigation and the existing six scene objects. */
.site-header{position:fixed;z-index:25;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px var(--gutter);color:var(--world-ink,#213b45);text-shadow:0 1px 5px #d7e6dc40}
.site-header::before{content:"";position:absolute;inset:0;background:linear-gradient(#ece6d347,transparent);opacity:var(--header-presence,0);pointer-events:none;z-index:-1}
.wordmark{font:500 15px/1.5 var(--sans);letter-spacing:.2em;min-height:44px;display:flex;align-items:center}
.desktop-nav{display:flex;align-items:center;gap:clamp(12px,2.7vw,42px);position:absolute;left:50%;transform:translateX(-50%)}
.desktop-nav a{position:relative;font-size:14px;letter-spacing:.13em;padding:12px 0}
.nav-indicator{position:absolute;left:0;bottom:7px;width:1px;height:1px;background:currentColor;transform-origin:left;transform:translate3d(var(--nav-x,0px),0,0) scaleX(var(--nav-width,1));opacity:var(--nav-alpha,0);pointer-events:none}
.menu-toggle{display:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0;width:23px}
.chapter{position:relative;min-height:100svh;display:flex;align-items:center;padding:100px var(--gutter);isolation:isolate}
.chapter-content{width:min(1040px,100%);margin:auto;position:relative}
.hero{height:100svh;padding:0;align-items:flex-start;justify-content:center}
.hero-copy{position:absolute;top:24%;left:46%;transform:translateX(-50%);text-align:center;width:max-content;max-width:90%;color:var(--world-ink,#213b45)}
.eyebrow{font:400 13px/1.8 var(--sans);letter-spacing:.36em;padding-left:.36em}
.hero h1{font:400 clamp(76px,8.5vw,140px)/1.45 var(--serif);letter-spacing:.24em;padding-left:.24em;margin:12px 0}
.hero-subtitle{font:400 16px/1.8 var(--serif);letter-spacing:.18em;padding-left:.18em}
.scroll-invitation{position:absolute;bottom:75px;left:50%;width:44px;height:52px;transform:translateX(-50%);display:grid;place-items:center;color:#fff8df}
.scroll-invitation span{width:1px;height:30px;background:currentColor;position:relative}
.scroll-invitation span::after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.landmark{display:flex;align-items:center;gap:18px;margin-bottom:28px;color:#fff9e9;text-shadow:0 2px 5px #152d3080}
.chapter-index{font:12px/1.5 var(--sans);letter-spacing:.1em;opacity:.85}
.landmark h2{font:400 clamp(30px,3.8vw,50px)/1.5 var(--serif);letter-spacing:.15em}
.trail-content{padding-left:5%}
.field-notes{display:flex;align-items:flex-start;gap:40px;max-width:850px}
.field-note{width:30%;position:relative;background:#eee7cf;padding:35px 27px 28px;min-height:218px;box-shadow:1px 8px 14px #15251930;transform:rotate(-3deg);color:#485443}
.field-note::after{content:"";position:absolute;inset:10px;pointer-events:none;border:1px solid #acaa8626}
.field-note:nth-child(2){margin-top:55px;transform:rotate(3deg);background:#e5e3c9}
.field-note:nth-child(3){margin-top:18px;transform:rotate(-1deg);background:#e8dcc1}
.field-note p{font:20px/1.8 var(--serif)}.field-note small{display:block;font-size:12px;margin-top:65px;color:#6b735e}
.note-pin{position:absolute;left:50%;top:12px;width:5px;height:5px;border-radius:50%;background:#717c53}
.gallery-content{width:min(930px,100%)}
.photo-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:42px 44px;padding:18px 25px 10px;position:relative}
.photo-line::before,.photo-line::after{content:"";position:absolute;left:-4%;right:-4%;height:24px;border-top:2px solid #dac9a19c;border-radius:50%;pointer-events:none}
.photo-line::before{top:10px;transform:rotate(1deg)}.photo-line::after{top:calc(50% + 9px)}
.hanging-photo{position:relative;background:#f0ead8;padding:10px 10px 8px;box-shadow:2px 8px 14px #10241f38;transform:rotate(var(--slant,0deg));transition:transform .5s cubic-bezier(.22,1,.36,1);transform-origin:50% -12px;min-width:0}
.hanging-photo::before{content:"";position:absolute;width:13px;height:32px;background:linear-gradient(90deg,#a5936e,#c8b38a 47%,#978460);top:-22px;left:50%;border-radius:2px;z-index:2}
.hanging-photo:nth-child(2){margin-top:22px}.hanging-photo:nth-child(5){margin-top:10px}
.photo-button{display:block;position:relative;width:100%;aspect-ratio:1.5;padding:0;overflow:hidden;background:#a8b7ae}
.empty-photo{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(150deg,#b4c4ba,#a3b6b0 50%,#829c99);color:#edf0df}
.hanging-photo:nth-child(2n) .empty-photo{background:linear-gradient(130deg,#d2ccb2,#b9bda5)}.hanging-photo:nth-child(3n) .empty-photo{background:linear-gradient(150deg,#aebbc1,#7e9ba8)}
.empty-photo span{font:13px var(--serif);letter-spacing:.06em;opacity:.85}
.photo-button:disabled{cursor:default}
.photo-button img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.photo-button img.is-decoded{opacity:1}
.photo-sequence{position:absolute;bottom:9px;right:10px;color:#f7f0dbbb;font:12px var(--sans)}
.hanging-photo figcaption{font:13px/1.7 var(--serif);color:#6b705d;text-align:center;margin-top:8px;overflow-wrap:anywhere}
.gallery-hint{color:#f5efdb;font-size:12px;text-align:center;margin-top:15px;text-shadow:0 1px 4px #153327}
.mobile-hint{display:none}
.photo-seat{width:100%;min-width:0;aspect-ratio:var(--seat-ratio,1.5);visibility:hidden;pointer-events:none}
.hanging-photo.is-measuring{transition:none!important;visibility:hidden}.hanging-photo.is-restoring{transition:none!important}
.picnic-content{width:min(990px,100%);padding-top:8vh}
.picnic-cloth{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;align-items:end;padding:32px 46px 42px;isolation:isolate}
.picnic-cloth::before{content:"";position:absolute;z-index:-1;inset:25% -20px -15px;background-color:#c5bba0;background-image:repeating-linear-gradient(0deg,#9b8e7433 0 1px,transparent 1px 30px),repeating-linear-gradient(90deg,#9b8e7433 0 1px,transparent 1px 30px);border:8px solid #d8cdb280;box-shadow:0 6px 12px #1b302c28;transform:rotate(-2deg);clip-path:polygon(2% 0,98% 2%,100% 98%,0 100%)}
.keepsake{color:#414c3c;transition:transform .4s;min-width:0;transform:rotate(-3deg)}.keepsake:nth-child(2){transform:rotate(2deg)}
.object-space{margin:0 auto 18px;width:90%;height:155px;background:linear-gradient(120deg,#e2decb,#c4cab9);box-shadow:3px 5px 8px #30403430;border:8px solid #e5ddc7}
.object-tall{height:186px;width:65%;background:linear-gradient(125deg,#b2b9a3,#939f87);border:0;border-radius:2px}
.object-flat{height:125px;width:95%;background:#dbceb1;border-width:3px;box-shadow:3px 5px 0 #a59673}
.keepsake h3{font:400 18px/1.7 var(--serif);overflow-wrap:anywhere}.keepsake p{font-size:12px;margin-top:8px}
.quiet-signature{margin:auto;text-align:center;color:var(--world-ink,#f8f1df);text-shadow:0 2px 5px #14333370}
.quiet-signature h2{font:400 clamp(48px,6vw,76px)/1.5 var(--serif);letter-spacing:.15em;padding-left:.15em}
.quiet-signature p{font:16px/1.8 var(--serif);letter-spacing:.13em;margin-top:20px}.quiet-signature .signature-domain{font:13px/1.8 var(--sans);letter-spacing:.23em;margin-top:15px}

/* Camera work changes scene variables; stationary scenes need no style updates. */
html.cinema{scroll-behavior:auto;scroll-padding:0}
.cinema main{height:var(--journey-height,600svh);position:relative}
.cinema .chapter{position:fixed;inset:0;min-height:0;height:100svh;width:100%;visibility:hidden;pointer-events:none;isolation:auto;overflow:clip}
.cinema .chapter.is-near{visibility:visible}.cinema .chapter.is-current{pointer-events:auto}
.cinema .chapter-content{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(var(--scene-scale,1))}
.cinema .landmark .chapter-index{opacity:var(--index-alpha,0);transform:translate3d(0,var(--index-y,0px),0)}
.cinema .landmark h2{opacity:var(--title-alpha,0);transform:translate3d(0,var(--title-y,0px),0)}
.cinema .field-notes,.cinema .photo-line,.cinema .picnic-cloth,.cinema .book-station{opacity:var(--object-alpha,0)}
.cinema .field-notes,.cinema .photo-line{transform:translate3d(0,var(--object-y,0px),0)}
.cinema .picnic-cloth{transform:translate3d(0,var(--object-y,0px),0) perspective(1400px) rotateX(10deg)}
.cinema .hero-copy,.cinema .quiet-signature{opacity:var(--object-alpha,0);transform:translate3d(var(--hero-x,0px),var(--scene-y,0px),0) scale(var(--scene-scale,1))}
.cinema .hero-copy{--hero-x:-50%}
.cinema .scroll-invitation,.cinema .gallery-hint{opacity:var(--object-alpha,0)}
.cinema:not(.world-ready)[data-initial-scene="home"] #home,.cinema:not(.world-ready)[data-initial-scene="recent"] #recent,.cinema:not(.world-ready)[data-initial-scene="gallery"] #gallery,.cinema:not(.world-ready)[data-initial-scene="things"] #things,.cinema:not(.world-ready)[data-initial-scene="notes"] #notes,.cinema:not(.world-ready)[data-initial-scene="about"] #about{visibility:visible;--object-alpha:1;--title-alpha:1;--index-alpha:1}

/* One physical desk book; mobile uses only affine transforms and cover opacity. */
.notes .writing-content{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;max-width:none;transform:none}
.writing-content .landmark{position:absolute;left:22%;top:40%;margin:0;opacity:calc(1 - var(--book-open,0)*.85)}
.book-station{position:absolute;left:50%;top:calc(91.5% - var(--book-open,0)*13.5%);width:min(720px,86vw);height:min(440px,58svh);perspective:1800px;transform-origin:50% 50%;transform:translate3d(calc(-75% + var(--book-open,0)*25%),calc(-50% - var(--book-open,0)*9svh),0) perspective(1600px) rotateX(calc(64deg - var(--book-open,0)*34deg)) scale(calc(.53 + var(--book-open,0)*.47));z-index:5}
.desk-book-object{width:100%;height:100%;position:relative;transform-style:preserve-3d;display:grid;grid-template-columns:1fr 1fr}
.desk-book-left,.desk-book-page{background:#ece5cf;padding:38px 32px;position:relative;min-width:0}
.desk-book-left{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:var(--book-open,0);background-image:linear-gradient(90deg,transparent 88%,#53493433)}
.desk-book-left p{font:26px/1.8 var(--serif);letter-spacing:.13em}.desk-book-left small{font-size:11px;letter-spacing:.2em;margin-top:25px}
.desk-book-page{display:flex;flex-direction:column;background-image:linear-gradient(90deg,#53493426,transparent 12%),repeating-linear-gradient(transparent 0 33px,#76836c24 33px 34px);color:#455547;overflow:auto;overscroll-behavior:contain;box-shadow:2px 5px 8px #10292324}
.desk-book-page>span{font-size:12px;color:#7e866f}.desk-book-page h3{font:400 24px/1.6 var(--serif);margin-top:40px}
.desk-book-page>p{font:18px/2 var(--serif);margin-top:25px;white-space:pre-line;overflow-wrap:anywhere}
.book-close{position:absolute;right:12px;top:10px;z-index:2}
.book-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:auto;padding-top:22px}
.desk-book-cover{position:absolute;top:0;bottom:0;left:50%;width:50%;border-radius:2px 8px 8px 2px;border:1px solid #919b7977;background:#687d68;background-image:repeating-linear-gradient(0deg,#3046320a 0 1px,transparent 1px 4px);color:#ede7ce;box-shadow:inset 6px 0 12px #304b4340,3px 3px 0 #d2c9ad;transform-origin:left;transform:rotateY(calc(var(--book-open,0)*-176deg));backface-visibility:hidden}
.desk-book-cover>span{position:absolute;top:50px;right:38px;writing-mode:vertical-rl;font:29px/1.8 var(--serif);letter-spacing:.15em}
.desk-book-cover>small{position:absolute;left:25px;bottom:24px;letter-spacing:.08em;font-size:13px}
.book-station.is-open .desk-book-cover{pointer-events:none}.book-station:not(.is-open) .desk-book-page{pointer-events:none}

.world-controls{position:fixed;z-index:26;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px var(--gutter) calc(16px + env(safe-area-inset-bottom));color:#fff7e2;text-shadow:0 1px 4px #071c25;background:linear-gradient(transparent,#122e3030);pointer-events:none}
.world-controls button{pointer-events:auto;min-height:44px;padding:8px 4px}
.time-toggle{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.07em}.time-symbol{font-size:20px;line-height:1}
.time-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.environment-label{font-size:12px}.time-status{font-size:10px;opacity:.8}
.time-toggle small{font-size:10px;opacity:.7;letter-spacing:.13em;margin-left:6px}.playback-controls{display:flex;gap:25px}
.playback-controls button{font-size:12px;letter-spacing:.07em}
.scene-rail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:24;display:flex;flex-direction:column;gap:2px;color:#fff6df}
.scene-rail a{width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.scene-rail a::after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.45}
.scene-rail a[aria-current]::after{opacity:1;outline:1px solid currentColor;outline-offset:5px}
.scene-rail span{position:absolute;right:37px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;text-shadow:0 1px 4px #18362f}
.scene-rail a:hover span,.scene-rail a:focus-visible span{opacity:1}
.skip-intro{position:fixed;right:var(--gutter);bottom:90px;z-index:50;min-height:44px;font-size:12px;letter-spacing:.1em;color:var(--world-ink,#213b45)}

/* Native dialogs keep focus trapping; backdrop dimming is a plain color. */
dialog{color:#35423d;border:0}dialog::backdrop{background:#0c202a8c}
.small-dialog{padding:52px 36px 32px;width:min(400px,calc(100% - 36px));max-height:calc(100svh - 36px);background:#eee8d7;border-radius:3px;box-shadow:0 8px 24px #071b3238}
.icon-button{width:44px;height:44px;min-width:44px;display:grid;place-items:center;font:26px/1 var(--serif);border:1px solid #8d947b4d;border-radius:50%;background:#f5f0df77}
.icon-button:hover{background:#dadfc977}.small-dialog>.icon-button{position:absolute;top:14px;right:14px}
.chapter-menu nav{display:flex;flex-direction:column;gap:8px}.chapter-menu nav a{font:24px/1.8 var(--serif);padding:6px 12px}
.chapter-menu nav a:first-child{font:13px/1.8 var(--sans);letter-spacing:.2em;margin-bottom:8px}
.time-dialog h2{font:400 23px/1.7 var(--serif)}.time-dialog>p{font-size:12px;margin:7px 0 24px;color:#737968}
.time-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.time-options button{border:1px solid #9f9f823d;border-radius:3px;padding:13px 10px;text-align:left;min-height:50px}
.time-options button[aria-pressed="true"]{background:#637c66;color:#fbf5df}.time-options small{font-size:10px;margin-left:7px}
.setting-label{font-size:12px!important;margin:22px 0 10px!important;letter-spacing:.15em}
.climate-options{display:flex;gap:6px;flex-wrap:wrap}.climate-options button{padding:8px 12px;border:1px solid #9f9f8255;border-radius:3px;min-height:42px}
.climate-options button[aria-pressed="true"]{background:#637c66;color:#fff5df}.climate-note{font-size:11px!important;line-height:1.8;margin:20px 0 0!important}
.small-dialog.time-dialog{width:min(440px,calc(100% - 36px));padding-top:42px}
.object-dialog{z-index:60;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:30px;inset:0;background:transparent;overflow:auto}
.object-dialog[open]{display:grid;place-items:center}
.lightbox-sheet{width:min(920px,100%);background:transparent;padding:0;color:#f5edda;transform-origin:center}
.lightbox-header,.lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;opacity:var(--photo-ui,0)}
.lightbox-header{margin-bottom:16px}.lightbox-header>span{font-size:12px;letter-spacing:.14em}
.lightbox-stage{height:auto;min-height:140px;display:grid;place-items:center;position:relative;overflow:visible;touch-action:pan-y}
.lightbox-stage>span{font:17px var(--serif);color:#f4f1df}
#photo-portal{width:100%;display:grid;place-items:center;perspective:1000px}
#photo-portal .hanging-photo{width:min(720px,100%);padding:16px 16px 20px;transform:none;transform-origin:center;margin:0!important;flex:none;transition:none}
#photo-portal .hanging-photo::before{display:none}
#photo-portal .photo-button{height:min(57svh,580px);aspect-ratio:auto;cursor:default}
#photo-portal .hanging-photo figcaption{font-size:16px;margin-top:18px}
#photo-portal .photo-button img{object-fit:contain}
.lightbox-footer{margin-top:14px}.lightbox-footer p{font:16px/1.8 var(--serif);overflow-wrap:anywhere;color:#f5edda}
.photo-meta{display:flex;gap:15px;flex-wrap:wrap}.photo-meta span{font:12px/1.8 var(--sans);color:#ddd8c7}.lightbox-buttons{display:flex;gap:10px;flex-shrink:0}
.status-message{position:fixed;left:50%;bottom:96px;transform:translate(-50%,8px);z-index:60;background:#f0e9d8;color:#34463a;font-size:13px;padding:10px 20px;border-radius:3px;box-shadow:0 4px 12px #15382d30;opacity:0;pointer-events:none;max-width:calc(100% - 40px);width:max-content;transition:opacity .3s,transform .3s}
.status-message.visible{opacity:1;transform:translate(-50%,0)}
.no-script{padding:15px 25px;background:#e7e4cf;color:#35423c;text-align:center;font-size:14px}

@media(hover:hover) and (pointer:fine){
 .hanging-photo:not(.is-empty):hover{transform:rotate(0deg) translateY(-4px)}.keepsake:hover{transform:translateY(-6px) rotate(0)}
}
@media(max-width:1000px){
 .desktop-nav{gap:18px}.field-notes{gap:24px}.field-note{padding:29px 21px}.picnic-cloth{gap:26px;padding-left:20px;padding-right:20px}.scene-rail{right:9px}
}
@media(max-height:760px) and (min-width:761px){
 .chapter{padding-top:90px;padding-bottom:75px}.gallery-content{width:min(800px,85vw)}.photo-line{gap:30px 40px}.landmark{margin-bottom:15px}.photo-button{aspect-ratio:1.8}.hero-copy{top:20%}.hero h1{font-size:92px}
}
@media(max-width:760px){
 html{scroll-padding-top:76px}.site-header{padding:18px 24px;text-shadow:0 1px 4px #18342d45}
 .desktop-nav,.scene-rail,.far-terrain,.clouds-mid,.camera-leaf{display:none}.menu-toggle{display:block}
 .at-window .wordmark,.at-window .menu-toggle{color:#f7f1dd;text-shadow:0 1px 3px #24302f80}
 .chapter{padding:85px 26px 88px}.hero{padding:0}.chapter-content{width:100%}
 .hero-copy{top:26%;left:50%}.hero h1{font-size:84px}.hero-subtitle{font-size:14px;letter-spacing:.1em}.eyebrow{font-size:12px}
 .painting{width:184.791svh}.world-terrain{transform:translate3d(var(--camera-x,0%),var(--camera-y,0%),0) scale(var(--camera-scale,1))}
 .world::after{background:linear-gradient(transparent 60%,#071b2a38)}
 .sun-disc{width:34px}.moon-disc{width:28px}.sun-halo{width:50vw;height:50vw}
 .clouds-far{width:135vw;left:15%;top:8%}.clouds-near{width:110vw;left:60%;top:34%}
 .foreground-decor.wind-gust{animation:none}
 .landmark{margin-bottom:27px;gap:14px}.landmark h2{font-size:32px}.trail-content{padding-left:0}
 .field-notes{flex-direction:column;gap:22px;max-width:300px;margin:0 auto}
 .field-note{width:78%;min-height:130px;padding:23px 22px 17px;box-shadow:1px 4px 6px #15251928}
 .field-note small{margin-top:20px}.field-note p{font-size:18px}.field-note:nth-child(2){margin:0 0 0 auto}.field-note:nth-child(3){margin-top:0}
 .gallery-content{width:100%;max-width:none}
 .photo-line{display:flex;overflow-x:auto;overflow-y:hidden;gap:26px;margin:0 -26px;padding:30px 40px 28px;scroll-snap-type:x mandatory;scroll-padding-inline:40px;scrollbar-width:thin;scrollbar-color:#e4d8b888 transparent;touch-action:pan-x pan-y}
 .photo-line::before{width:210%;right:auto;top:23px;left:0}.photo-line::after{display:none}
 .hanging-photo{flex:0 0 70vw;max-width:300px;scroll-snap-align:center;margin:0!important;box-shadow:1px 4px 6px #10241f30}
 .photo-seat{flex:0 0 70vw;max-width:300px;scroll-snap-align:center}.photo-button{aspect-ratio:.95}
 .photo-line .hanging-photo figcaption{font-size:14px;margin-top:12px}.mobile-hint{display:inline}.gallery-hint{margin-top:12px}
 .picnic-content{padding-top:0}.picnic-cloth{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 22px;padding:10px 8px 25px}
 .cinema .picnic-cloth{transform:translate3d(0,var(--object-y,0px),0)}
 .keepsake:last-child{grid-column:1/-1;width:55%;justify-self:center}.picnic-cloth::before{inset:10% -12px 0;box-shadow:0 3px 6px #1b302c25}
 .object-space{height:100px;border-width:6px;box-shadow:2px 3px 4px #30403425}.object-tall{height:132px;border:0}.object-flat{height:82px;box-shadow:2px 3px 0 #a59673}
 .keepsake h3{font-size:15px}.keepsake p{font-size:11px}
 .writing-content .landmark{left:11%;top:40%}
 .book-station{width:86vw;height:min(390px,46svh);top:calc(91% - var(--book-open,0)*9%);perspective:none;transform:translate3d(calc(-32.5% - var(--book-open,0)*17.5%),calc(-50% - var(--book-open,0)*14svh),0) skewX(calc(-10deg + var(--book-open,0)*10deg)) scale(calc(.5 + var(--book-open,0)*.5),calc(.16 + var(--book-open,0)*.84))}
 .desk-book-object{grid-template-columns:1fr;transform-style:flat}.desk-book-left{display:none}
 .desk-book-cover{left:0;width:100%;transform:none;opacity:calc(1 - var(--book-open,0));box-shadow:2px 2px 0 #d2c9ad}
 .desk-book-cover>span{font-size:27px}.desk-book-page{padding:36px 26px;box-shadow:1px 3px 5px #10292325;opacity:var(--book-open,0)}.desk-book-page h3{font-size:23px}
 .quiet-signature h2{font-size:58px}.quiet-signature p{font-size:14px}
 .world-controls{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.playback-controls{gap:14px}
 .time-toggle{gap:7px;font-size:12px}.time-toggle small{font-size:9px;margin-left:2px}.playback-controls button{font-size:11px}
 .skip-intro{right:24px}.object-dialog{padding:14px}.small-dialog{box-shadow:0 5px 12px #071b3230}
 #photo-portal{perspective:none}#photo-portal .hanging-photo{padding:12px 12px 16px}#photo-portal .photo-button{height:50svh}#photo-portal .hanging-photo figcaption{font-size:14px}
 .lightbox-footer{align-items:flex-start;gap:10px;flex-wrap:wrap}.lightbox-buttons{margin-left:auto}
}
@media(max-height:720px) and (max-width:760px){
 .chapter{padding-top:77px;padding-bottom:78px}.hero{padding:0}.field-notes{gap:12px}.field-note{min-height:103px;padding:17px 20px}.field-note small{margin-top:12px}.hero h1{font-size:70px}.landmark{margin-bottom:18px}.hanging-photo,.photo-seat{flex-basis:62vw}.photo-button{aspect-ratio:1.12}.object-space{height:80px}.object-tall{height:100px}.object-flat{height:68px}.desk-book-page h3{margin-top:26px}.desk-book-page>p{margin-top:15px}
}
@media(max-width:360px){
 .hero h1{font-size:72px}.hero-subtitle{font-size:13px}.wordmark{font-size:13px}.playback-controls{gap:10px}.chapter{padding-left:22px;padding-right:22px}.hero{padding:0}.photo-line{margin-left:-22px;margin-right:-22px}.landmark h2{font-size:30px}
}
html[data-quality="low"] .field-note,html[data-quality="low"] .hanging-photo,html[data-quality="low"] .desk-book-page,html[data-quality="low"] .small-dialog{box-shadow:none}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after,body.is-hidden *,body.is-hidden *::before,body.is-hidden *::after{animation-play-state:paused!important}
body.motion-paused .camera-leaf{display:none}
body.motion-paused .foreground-decor{transform:none!important}
body.motion-paused .book-station{left:50%;top:68%;transform:translate3d(-50%,-50%,0)!important}
body.motion-paused .desk-book-cover{transform:none!important;opacity:calc(1 - var(--book-open,0))}
body.motion-paused .hanging-photo:hover{transform:rotate(var(--slant,0deg))}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
 .camera-leaf{display:none!important}.foreground-decor{transform:none!important}
 .book-station{left:50%;top:68%;transform:translate3d(-50%,-50%,0)!important}.desk-book-cover{transform:none!important;opacity:calc(1 - var(--book-open,0))}
}
@media print{
 .world,.world-controls,.site-header,.scene-rail,.scroll-invitation,.skip-intro,.camera-leaf{display:none}
 body{color:#233e35;background:#f4f1e5}.cinema main{height:auto}
 .chapter,.cinema .chapter{position:relative;inset:auto;min-height:220px;height:auto;padding:30px;visibility:visible!important;overflow:visible;pointer-events:auto;break-inside:avoid}
 .cinema .chapter *{opacity:1!important;transform:none!important}.hero-copy{position:static;transform:none;margin:auto}.hero{min-height:340px;align-items:center}
 .landmark,.quiet-signature,.gallery-hint{color:#233e35;text-shadow:none}.photo-line{display:grid;grid-template-columns:repeat(3,1fr)}.hanging-photo{width:auto}.field-note{box-shadow:none}
 .notes .writing-content{position:relative;height:520px}.writing-content .landmark{position:static}.book-station{position:relative;left:auto;top:auto;width:100%;height:450px}.desk-book-cover{display:none}
}
