@charset "UTF-8";
:root{--paper:#f6f1e5;--ink:#3d493f;--muted:#737b6c;--accent:#ad713e;--line:#d9ddca;--scene-ink:#3c504b;--scene-muted:#5c7167;--glass:rgba(255,251,230,.65);--night:0;--animal-light:1;--px:0px;--py:0px;--serif:Georgia,'Songti SC','Noto Serif CJK SC','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[role=slider]:focus-visible{outline:2px solid #b8854b;outline-offset:6px}button:disabled{opacity:.3;cursor:default}::selection{background:#c4d3b2;color:#253c32}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px;background:var(--paper)}.skip-link:focus{top:10px}.forest{height:100svh;min-height:760px;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(#cbdacb,#f6e6c8 55%,#76aaab);color:var(--scene-ink)}#landscape,#atmosphere,.tree-layer,.light-wash{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#landscape{z-index:-5}.tree-layer{z-index:-3;mix-blend-mode:multiply;transform:translate(calc(var(--px)*.45),calc(var(--py)*.35)) scale(1.025);transform-origin:center bottom}.tree{position:absolute;pointer-events:none}.desktop-tree{width:100%;height:100%;object-fit:fill}.mobile-left,.mobile-right{display:none}.light-wash{z-index:-2;background:radial-gradient(ellipse at 50% 20%,rgba(255,245,205,.15),transparent 55%);mix-blend-mode:soft-light}#atmosphere{z-index:2}.navigation{position:absolute;z-index:9;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:30px 4.5%}.wordmark{font-family:Georgia,serif;font-size:34px;font-weight:bold;letter-spacing:-1.8px;line-height:1}.wordmark span{color:#bc8550;margin-left:3px}.navigation nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.05em}.navigation nav a,.navigation nav button{padding:10px 0}.navigation nav span{margin-left:8px}.text-button{padding:0;background:none}.hero-copy{position:absolute;top:22%;left:20%;width:60%;text-align:center;z-index:4;pointer-events:none}.hero-copy button{pointer-events:auto}.eyebrow{font-size:11px;letter-spacing:.3em;color:var(--scene-muted);display:flex;align-items:center;justify-content:center;gap:9px}.live-dot{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%}h1{font-family:var(--serif);font-size:clamp(46px,6.4vw,90px);font-weight:400;letter-spacing:.08em;line-height:1.35;margin:23px 0 18px}.full-stop{margin-left:-.14em}.hero-copy>p{font-size:13px;line-height:2;letter-spacing:.13em;margin:0;color:var(--scene-muted)}.story-invitation{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.09em;padding:12px 2px 8px;margin-top:17px;background:transparent;border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent)}.story-invitation:hover{border-bottom-color:currentColor}.book-icon{font-size:24px;line-height:12px}.creature{position:absolute;background:none;padding:0;z-index:3;transform-origin:center bottom;--look:0deg;--bounce:0px;animation:breathe var(--breathe,5.7s) ease-in-out infinite;will-change:transform}.creature img{display:block;width:100%;filter:brightness(var(--animal-light)) drop-shadow(0 3px 2px #152b2b22);transform:rotate(var(--look)) translateY(var(--bounce));transform-origin:50% 80%;transition:transform 650ms cubic-bezier(.18,1.5,.35,1);pointer-events:none;user-select:none}.creature.hello img{--bounce:-9px;--look:6deg}.creature-shadow{position:absolute;width:70%;height:8%;bottom:1%;left:15%;border-radius:50%;background:#172f3840;filter:blur(8px)}.fox{left:9.5%;bottom:17%;width:clamp(105px,12vw,190px);--breathe:6.7s}.rabbit{right:10%;bottom:17.5%;width:clamp(85px,10vw,150px);--breathe:5.2s;animation-delay:-2s}.owl{right:10.5%;top:15%;width:clamp(63px,6.2vw,99px);--breathe:7.8s;animation-delay:-4s}.perch{position:absolute;bottom:1px;height:9px;border-radius:60%;background:#625841;width:155%;left:-22%;transform:rotate(-8deg)}.hello-bubble{position:absolute;width:max-content;max-width:210px;bottom:100%;left:30%;padding:10px 14px;background:var(--paper);color:var(--ink);border:1px solid #cac5ab;border-radius:14px 14px 14px 2px;font-size:11px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none;box-shadow:0 5px 25px #172b3220}.rabbit .hello-bubble,.owl .hello-bubble{left:auto;right:20%;border-radius:14px 14px 2px 14px}.creature.hello .hello-bubble,.creature:focus-visible .hello-bubble{opacity:1;transform:translateY(0)}@keyframes breathe{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-3px) rotate(.6deg)}}.lantern{position:absolute;z-index:3;left:13%;top:27%;width:34px;height:59px;padding:0;background:none;transform-origin:50% -20px;animation:lanternSway 8s ease-in-out infinite;filter:brightness(var(--animal-light))}.lantern-wire{position:absolute;width:1px;height:55px;background:#66503b;bottom:100%;left:50%}.lantern-roof{position:absolute;width:34px;height:9px;top:5px;left:0;border-radius:90% 90% 15% 15%;background:#705339}.lantern-glass{position:absolute;top:13px;left:5px;width:25px;height:35px;border:2px solid #796042;border-radius:3px;background:rgba(255,229,154,.55)}.lantern-glass i{position:absolute;inset:8px 6px;border-radius:50%;background:#ffdc8a;box-shadow:0 0 calc(12px + var(--night)*30px) calc(var(--night)*14px) #ffbc6077;opacity:calc(.2 + var(--night)*.8)}.lantern-base{position:absolute;top:47px;width:33px;height:5px;border-radius:2px;background:#705339}.lantern.touched{animation:lanternTouch 2.5s ease-out}@keyframes lanternSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes lanternTouch{0%{transform:rotate(0)}15%{transform:rotate(16deg)}35%{transform:rotate(-10deg)}58%{transform:rotate(6deg)}80%{transform:rotate(-3deg)}100%{transform:rotate(0)}}.shell{position:absolute;left:67%;top:68%;padding:8px;background:none;z-index:3;font:32px Georgia;color:#f8d8c2;transform:rotate(-20deg);text-shadow:0 2px 3px #385768;opacity:0;pointer-events:none}.shell.exposed{opacity:1;pointer-events:auto}.time-console{position:absolute;z-index:5;bottom:82px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:190px 184px 190px;gap:42px;align-items:center}.tiny-label{display:block;font-size:9px;font-weight:500;letter-spacing:.23em;line-height:1.4}.world-note>.tiny-label,.tide-note>.tiny-label{opacity:.68;margin-bottom:13px}.world-note>span#phase{font-family:var(--serif);font-size:21px;letter-spacing:.1em}.world-note p{font-size:11px;line-height:1.9;max-width:180px;letter-spacing:.04em;margin:10px 0}.date-label{font-size:9px;letter-spacing:.16em;opacity:.65}.clock-group{display:flex;flex-direction:column;align-items:center}.time-dial{width:166px;height:166px;border-radius:50%;position:relative;touch-action:none;cursor:grab;user-select:none;background:var(--glass);border:1px solid #ffffee60;box-shadow:inset 0 0 0 5px #ffffff0b,0 10px 45px #13353912;backdrop-filter:blur(10px)}.time-dial:active{cursor:grabbing}.dial-marks{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.6}.dial-marks circle{opacity:.2}.dial-marks line{opacity:.5}.dial-marks text{font:7px var(--sans);text-anchor:middle;stroke:none;fill:currentColor;opacity:.65}.dial-hand{position:absolute;inset:5px;transform:rotate(180deg);pointer-events:none}.dial-hand i{display:block;position:absolute;width:12px;height:12px;left:calc(50% - 6px);top:2px;border-radius:50%;background:#e0ad61;border:2px solid #faf0cb;box-shadow:0 1px 7px #61422270}.dial-center{position:absolute;inset:30%;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}#timeText{font:32px Georgia;letter-spacing:-1px;font-variant-numeric:tabular-nums}#timeMode{font-size:8px;white-space:nowrap;letter-spacing:.15em;margin-top:7px}.dial-hint{font-size:9px;letter-spacing:.1em;margin-top:14px;white-space:nowrap}.now-button{background:none;font-size:10px;margin-top:9px;padding:7px 12px;border:1px solid currentColor;border-radius:30px;opacity:.85}.now-button span{padding-left:5px}.tide-note{align-self:center}.tide-note>svg{width:113px;height:25px;display:block;margin:4px 0 9px;fill:none;stroke:currentColor;stroke-width:.9}.tide-note circle{fill:#cd9b59;stroke:var(--glass)}#tideLabel{display:block;font-size:12px;letter-spacing:.06em}.tide-level{display:block;font-size:9px;margin-top:9px;letter-spacing:.08em;opacity:.68}.scene-footer{position:absolute;bottom:22px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;z-index:6;font-size:10px;letter-spacing:.06em}.scene-tools{display:flex;gap:17px}.scene-tools button{background:none;font-size:10px;padding:10px 0}.scene-tools span{opacity:.65;margin-left:5px}.time-presets{display:flex;gap:5px}.time-presets button{background:none;font-size:10px;padding:9px 12px;border-radius:20px;border:1px solid transparent;transition:background .2s}.time-presets button:hover,.time-presets button.active{border-color:currentColor;background:var(--glass)}.scroll-cue span{padding-left:13px}.scene-toast{position:absolute;z-index:20;left:50%;bottom:340px;transform:translate(-50%,8px);padding:11px 18px;border-radius:25px;background:var(--paper);color:var(--ink);box-shadow:0 5px 30px #16323820;font-size:12px;opacity:0;pointer-events:none;transition:.3s;max-width:80%;text-align:center}.scene-toast.on{opacity:1;transform:translate(-50%,0)}.places{padding:108px max(7%,calc((100vw - 1120px)/2)) 65px}.section-head{text-align:center}.section-head>.tiny-label{color:#8e927b}.section-head h2{font:400 clamp(26px,3vw,38px)/1.5 var(--serif);letter-spacing:.06em;margin:18px 0}.section-head p{font-size:12px;color:var(--muted);line-height:1.9}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:62px}.place{position:relative;border-top:1px solid var(--line);padding:22px 7px 23px;transition:transform .4s}.place:hover{transform:translateY(-5px)}.place-number{font-size:9px;letter-spacing:.12em;color:var(--muted)}.place h3{font:400 23px var(--serif);letter-spacing:.04em;margin:20px 0 14px}.place h3 small{font:italic 12px Georgia;color:var(--muted);margin-left:8px;white-space:nowrap}.place p{font-size:12px;line-height:2;color:var(--muted)}.place-link{display:flex;justify-content:space-between;font-size:10px;padding-top:21px}.place-link>span{font-size:17px}.place-art{height:97px;position:relative;margin:26px 0 18px;width:110px;display:block}.campfire span{position:absolute;font:95px Georgia;color:#c78948;left:23px;top:-10px}.campfire i,.campfire b{position:absolute;width:57px;height:7px;background:#6f7452;border-radius:20px;bottom:10px;left:25px;transform:rotate(22deg)}.campfire b{transform:rotate(-22deg)}.kitchen-art i{position:absolute;bottom:10px;left:20px;width:66px;height:41px;background:#afbd98;border:2px solid #859976;border-radius:6px 6px 27px 27px}.kitchen-art b{position:absolute;bottom:56px;left:17px;width:73px;height:9px;border-radius:50%;background:#879b77}.kitchen-art b:before{content:'';position:absolute;width:17px;height:8px;background:#879b77;left:27px;bottom:8px;border-radius:4px}.kitchen-art span{position:absolute;top:-19px;left:36px;font:50px Georgia;color:#b8b19a;transform:rotate(90deg)}.roof-art i{position:absolute;bottom:7px;left:24px;width:58px;height:54px;background:#d2ba8c;border-radius:2px}.roof-art b{position:absolute;left:13px;top:3px;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:39px solid #748b7b}.roof-art span{position:absolute;width:16px;height:26px;background:#f8eab8;bottom:7px;left:45px;border-radius:10px 10px 0 0}.growing{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:44px;padding:24px 0;display:flex;align-items:center;gap:25px}.seed-icon{font:42px Georgia;color:#92a17e}.growing>div>span{font-family:var(--serif);font-size:18px}.growing i{font:9px var(--sans);background:#e8e5cd;border-radius:20px;padding:5px 9px;margin-left:12px;color:#83836d}.growing p{font-size:11px;color:var(--muted);line-height:1.7}.growing-end{margin-left:auto;font:italic 12px var(--serif);color:#929780}.belonging{text-align:center;padding:45px 20px 80px}.little-orbit{font:42px Georgia;color:#a5ad90}.belonging blockquote{font:400 clamp(18px,2.2vw,27px)/2 var(--serif);letter-spacing:.04em;margin:25px 0}.belonging button{font-size:10px;color:var(--muted);padding:10px}.closing-line{font-size:11px;color:#8d927f;margin-top:54px}.footer{display:flex;align-items:center;justify-content:space-between;margin:0 5%;padding:30px 0;border-top:1px solid var(--line)}.footer .wordmark{font-size:28px}.footer>span{font-size:10px;color:var(--muted);letter-spacing:.08em}.footer button{font-size:10px;color:var(--muted)}dialog{color:var(--ink)}dialog::backdrop{background:#142524b8;backdrop-filter:blur(12px)}.storybook{padding:0;border:0;background:#f8f2e5;width:min(1180px,94vw);height:min(760px,92svh);max-height:92svh;max-width:none;border-radius:5px;box-shadow:0 40px 100px #12292766;overflow:hidden}.book-top{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #d8d3c1}.book-brand{font:italic 14px Georgia,serif;letter-spacing:.06em}.book-top button{background:none;font-size:11px;padding:12px 0}.book-top button span{margin-left:8px}.book-spread{height:calc(100% - 119px);display:grid;grid-template-columns:57% 43%}.book-picture{position:relative;overflow:hidden;background:#e8e1cb}.book-picture img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.book-picture-note{position:absolute;bottom:16px;left:20px;color:#fff9e1;font-size:7px;letter-spacing:.2em;text-shadow:0 1px 4px #283322}.book-paper{padding:clamp(24px,4vw,60px);display:flex;flex-direction:column;justify-content:center;overflow-y:auto;background:radial-gradient(ellipse at left,#e9e1cc40,transparent 20%),#f8f2e5}.chapter{font-size:10px;letter-spacing:.18em;color:#929079}.book-paper h2{font:400 clamp(25px,3.4vw,45px)/1.55 var(--serif);letter-spacing:.04em;margin:20px 0}.story-words{font:14px/2.1 var(--serif);letter-spacing:.02em}.story-words p{margin:0 0 11px}.book-start{background:none;text-align:left;font-size:12px;margin-top:24px;padding:10px 0;border-bottom:1px solid #b3b59e}.book-start span{float:right}.book-bottom{height:57px;display:flex;gap:24px;align-items:center;padding:0 28px;border-top:1px solid #dbd7c7;font-size:10px}.book-bottom button{background:none;font-size:22px;padding:8px 14px}.book-credit{margin-left:auto;color:#8f917f}.time-about{width:min(460px,90vw);border:1px solid #d1d4bf;border-radius:8px;padding:36px;background:var(--paper)}.time-about h2{font:400 25px/1.6 var(--serif);margin:24px 0}.time-about p{font-size:12px;line-height:2;color:var(--muted)}#closeTimeAbout{position:absolute;right:10px;top:8px;background:none;font-size:22px;padding:7px}.noscript{padding:20px;text-align:center;font-size:14px}.paused .creature,.paused .lantern{animation-play-state:paused}.paused *{scroll-behavior:auto}
@media(min-width:1500px){.hero-copy{top:24%}.time-console{bottom:100px;gap:65px}.time-dial{width:184px;height:184px}.fox{left:11%;bottom:17%}.rabbit{right:11%;bottom:17%}}
@media(max-width:760px){.forest{min-height:790px;height:100svh;max-height:1050px}.navigation{padding:24px 22px}.wordmark{font-size:30px}.navigation nav{gap:19px;font-size:10px}.desktop-tree{display:none}.mobile-left,.mobile-right{display:block;height:100%;width:64%;object-fit:fill;top:0}.mobile-left{left:-18%}.mobile-right{right:-18%}.hero-copy{top:23%;left:8%;width:84%}.eyebrow{font-size:9px;letter-spacing:.19em}h1{font-size:clamp(40px,10vw,62px);margin:20px 0 14px}.hero-copy>p{font-size:11px;line-height:2;letter-spacing:.07em}.story-invitation{font-size:10px;margin-top:14px}.fox{left:1%;width:110px;bottom:22%}.rabbit{right:0;width:85px;bottom:22%}.owl{right:8%;top:12%;width:58px}.lantern{left:8%;top:18%;transform:scale(.8);width:28px}.time-console{bottom:91px;grid-template-columns:1fr 150px 1fr;gap:10px;width:calc(100% - 36px);align-items:end}.time-dial{width:146px;height:146px}.world-note{padding-bottom:40px}.world-note>.tiny-label,.tide-note>.tiny-label{font-size:7px;letter-spacing:.08em;margin-bottom:8px}.world-note>span#phase{font-size:15px;letter-spacing:.04em}.world-note p{display:none}.date-label{font-size:8px;display:block;margin-top:9px;line-height:1.6;letter-spacing:.03em}.tide-note{padding-bottom:40px;align-self:end;text-align:right}.tide-note>svg{width:72px;height:20px;margin-left:auto}#tideLabel{font-size:9px;letter-spacing:0}.tide-level{font-size:8px;letter-spacing:0;line-height:1.6}.dial-hint{font-size:8px;letter-spacing:0;margin-top:10px}.now-button{font-size:9px;padding:6px 9px}.scene-footer{left:20px;right:20px;bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.time-presets{grid-column:1/-1;grid-row:1;justify-content:center;margin-bottom:4px}.time-presets button{padding:7px 15px}.scene-tools{font-size:9px;gap:14px}.scene-tools button{font-size:9px}.scroll-cue{text-align:right;font-size:9px}.hello-bubble{max-width:160px;font-size:10px;left:20%}.scene-toast{font-size:11px;bottom:340px;width:max-content}.shell{left:68%;top:61%}.places{padding:70px 25px 35px}.section-head h2{font-size:27px}.section-head p{font-size:11px}.place-grid{grid-template-columns:1fr;gap:8px;margin-top:37px}.place{padding:20px 0 23px}.place-art{float:right;transform:scale(.75);transform-origin:top right;margin:13px 0 0;height:95px}.place h3{margin-top:17px;font-size:23px}.place-link{max-width:180px}.growing{gap:15px;margin-top:18px}.growing-end{display:none}.growing p{font-size:10px}.growing>div>span{font-size:17px}.belonging{padding:40px 20px 55px}.belonging blockquote{font-size:17px}.footer{flex-wrap:wrap;gap:18px;padding:25px 0}.footer>span{font-size:9px}.footer button{flex-basis:100%;text-align:left;font-size:9px}.storybook{width:100%;height:100svh;max-height:100svh;max-width:100%;margin:0;border-radius:0}.book-top{height:55px;padding:0 20px}.book-spread{height:calc(100% - 112px);grid-template-columns:1fr;grid-template-rows:43% 57%}.book-paper{padding:20px 29px;justify-content:flex-start}.book-paper h2{font-size:27px;line-height:1.35;margin:10px 0}.story-words{font-size:13px;line-height:1.9}.story-words p{margin-bottom:8px}.book-start{margin-top:8px;font-size:11px}.book-bottom{padding:0 16px;gap:13px}.book-picture-note{font-size:6px}.chapter{font-size:9px}.time-about{padding:30px}}
@media(max-width:370px){.forest{min-height:760px}.time-console{grid-template-columns:1fr 135px 1fr;gap:4px;width:calc(100% - 24px)}.time-dial{width:134px;height:134px}.hero-copy{top:22%}.world-note>span#phase{font-size:13px}.tiny-label{font-size:8px}.fox{width:92px}.rabbit{width:76px}.navigation nav{gap:13px}.navigation{padding:22px 17px}.book-paper{padding:15px 23px}.story-words{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tree-layer{transform:none}}
/* Final scene composition: portrait trees stay attached to their banks. */
@media(min-width:761px){.lantern{left:8.5%;top:28%;width:45px;height:119px;animation:none;filter:none}.lantern-wire,.lantern-roof,.lantern-base{display:none}.lantern-glass{top:45%;left:0;width:100%;height:38px;background:transparent;border:0}.lantern-glass i{inset:7px 13px;opacity:calc(var(--night)*.85);box-shadow:0 0 25px 13px #ffc77e66}.lantern.touched .lantern-glass i{animation:lampPulse 1.3s ease-out}.perch{background:#655638;height:5px;bottom:0;opacity:.8}}
@keyframes lampPulse{0%,100%{transform:scale(1)}40%{transform:scale(1.5)}}
@media(max-width:760px){.mobile-left,.mobile-right{width:64%;height:100%;object-fit:fill}.mobile-left{left:-3%;mask-image:linear-gradient(to right,#000 0%,#000 12%,rgba(0,0,0,.8) 23%,transparent 75%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 12%,rgba(0,0,0,.8) 23%,transparent 75%)}.mobile-right{right:-3%;mask-image:linear-gradient(to left,#000 0%,#000 12%,rgba(0,0,0,.8) 23%,transparent 75%);-webkit-mask-image:linear-gradient(to left,#000 0%,#000 12%,rgba(0,0,0,.8) 23%,transparent 75%)}.fox{left:1%;bottom:31%;width:95px}.rabbit{right:1%;bottom:31%;width:77px}.owl{right:5%;top:12%;width:52px}.perch{height:5px;width:125%;left:-10%;background:#66563c}.time-console{bottom:88px;gap:8px}.world-note,.tide-note{padding-bottom:47px}.world-note>.tiny-label,.tide-note>.tiny-label{display:none}.date-label{max-width:60px;line-height:1.9}.tide-level{max-width:82px;margin-left:auto}.hero-copy{top:24%}.hero-copy h1{margin:18px 0}.hero-copy>p{color:var(--scene-ink)}.scene-footer{color:var(--scene-ink)}.lantern{left:9%;top:19%}}
@media(max-width:760px){.time-console{display:flex;flex-direction:column;align-items:center;bottom:124px;width:100%;gap:0}.world-note{position:absolute;top:-26px;left:50%;transform:translateX(-50%);padding:0;white-space:nowrap;text-align:center}.world-note>span#phase{font:12px var(--serif);letter-spacing:.15em}.world-note .date-label{display:none}.tide-note{position:absolute;left:0;right:0;bottom:-25px;text-align:center;padding:0}.tide-note>svg,.tide-level{display:none}#tideLabel{font-size:10px;letter-spacing:.04em}.fox{bottom:31%;left:1%}.rabbit{bottom:31%;right:1%}.scene-footer{font-size:10px}.scene-tools button{padding:10px 0}.hero-copy .eyebrow{color:var(--scene-ink)}}
/* The coastal cutout has real alpha: the sky and water remain separate layers. */
.tree-layer{mix-blend-mode:normal;filter:brightness(calc(.38 + var(--animal-light)*.62)) saturate(calc(.65 + var(--animal-light)*.35))}.desktop-tree{object-fit:fill}.lantern{left:8%;top:31%;width:30px;height:62px}.lantern-glass{top:28%;left:1%;height:35px}.owl{right:9%;top:20%;width:70px}.perch{display:none}.fox{left:10%;bottom:14%;width:140px}.rabbit{right:10%;bottom:14%;width:115px}
@media(max-width:760px){.mobile-left,.mobile-right{width:150%;height:100%;mask-image:none;-webkit-mask-image:none;object-fit:fill}.mobile-left{left:-7%;clip-path:inset(0 52% 0 0)}.mobile-right{right:-7%;clip-path:inset(0 0 0 52%)}.fox{left:0;bottom:30%;width:94px}.rabbit{right:0;bottom:30%;width:78px}.owl{right:6%;top:17%;width:51px}.lantern{left:6%;top:31%;width:30px;height:55px;animation:none}.lantern-wire,.lantern-roof,.lantern-base{display:none}.lantern-glass{top:25%;width:25px;height:28px;border:0;background:none}.lantern-glass i{opacity:calc(var(--night)*.85);inset:7px;box-shadow:0 0 18px 9px #ffc77e66}}
.navigation .wordmark{background:rgba(248,244,228,.9);color:#405242;padding:9px 16px 11px;border-radius:3px;box-shadow:0 2px 14px #17291e0c}.navigation nav{background:rgba(248,244,228,.87);color:#405242;padding:0 16px;border-radius:3px;box-shadow:0 2px 14px #17291e0c}.world-note p{font-size:12px}.world-note>.tiny-label,.tide-note>.tiny-label{opacity:.85}.date-label,.tide-level{opacity:.85}.dial-hint{font-size:10px}.now-button{font-size:11px}.scene-footer,.scene-tools button,.time-presets button{font-size:11px}.world-note,#tideLabel{color:var(--scene-ink)}
@media(max-width:760px){.navigation{padding:18px 14px}.navigation .wordmark{font-size:28px;padding:8px 11px}.navigation nav{gap:14px;padding:0 10px;font-size:10px}.navigation nav span{margin-left:3px}.dial-hint{font-size:9px}.now-button{font-size:10px}.scene-footer,.scene-tools button,.time-presets button{font-size:10px}}
.storybook.leaving{animation:bookLeaves .55s cubic-bezier(.2,.7,.3,1) both}.storybook.leaving::backdrop{animation:backdropLeaves .55s ease both}@keyframes bookLeaves{to{opacity:0;transform:translateY(14px) scale(1.035)}}@keyframes backdropLeaves{to{background:transparent;backdrop-filter:blur(0)}}
@media(min-width:761px) and (max-height:780px){.forest{min-height:720px}.hero-copy{top:19%}h1{font-size:72px;margin:20px 0 15px}.time-console{bottom:66px}.scene-footer{bottom:14px}}
@media(max-width:760px) and (max-height:740px){.forest{min-height:680px}.hero-copy{top:20%}h1{font-size:42px;line-height:1.25;margin:17px 0 12px}.hero-copy>p{font-size:11px}.story-invitation{margin-top:9px}.time-console{bottom:115px}.time-dial{width:130px;height:130px}.dial-center #timeText{font-size:28px}.dial-hint{font-size:8px}.fox{width:83px}.rabbit{width:68px}.owl{top:15%;width:45px}}
.scene-tools{background:var(--glass);border-radius:24px;padding:0 14px;backdrop-filter:blur(8px)}.scroll-cue{background:var(--glass);border-radius:24px;padding:10px 14px;backdrop-filter:blur(8px)}
@media(max-width:760px){.scene-tools{width:max-content;gap:12px;padding:0 10px}.scroll-cue{justify-self:end;width:max-content;padding:9px 11px}}
/* 2026-09-22 望舒：手写体标题 */
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url(./assets/fonts/caveat-500.woff2) format('woff2')}
@font-face{font-family:'Homemade Apple';font-style:normal;font-weight:400;font-display:swap;src:url(./assets/fonts/homemade-apple-400.woff2) format('woff2')}
h1[lang=en]{font-family:'Caveat',cursive;font-weight:500;font-size:clamp(64px,8.5vw,120px);letter-spacing:.01em;line-height:1.05;margin:0 0 14px;transform:rotate(-1.5deg)}
@media(max-width:760px){h1[lang=en]{font-size:clamp(58px,16vw,84px);margin:0 0 10px}.hero-copy{top:25%}}
/* 2026-09-22 望舒：中文手写体（霞鹜文楷，子集） */
@font-face{font-family:'LXGW Hero';font-style:normal;font-weight:400;font-display:swap;src:url(./assets/fonts/lxgw-hero.woff2) format('woff2')}
.hero-copy>p{font-family:'LXGW Hero','Songti SC','Noto Serif CJK SC',serif;font-size:16px;letter-spacing:.14em;line-height:2.1;color:var(--scene-ink);opacity:.92}
@media(max-width:760px){.hero-copy>p{font-size:14px;letter-spacing:.1em}}
/* 2026-09-22 望舒：logo 去框，落在画上 */
.navigation .wordmark{background:none;box-shadow:none;padding:0;color:var(--scene-ink);text-shadow:0 1px 2px rgba(255,250,235,.55),0 0 18px rgba(255,250,235,.35)}
.navigation .wordmark span{color:#c98d55}
/* 2026-09-22 望舒：logo 换手写体 */
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(./assets/fonts/caveat-700.woff2) format('woff2')}
.navigation .wordmark{font-family:'Caveat',cursive;font-weight:700;font-size:44px;letter-spacing:.01em;color:var(--scene-ink);text-shadow:0 1px 0 rgba(255,250,235,.7),0 2px 6px rgba(255,250,235,.45),0 0 22px rgba(255,250,235,.3);transform:rotate(-2deg);transform-origin:left center}
.navigation .wordmark span{color:#c98d55;margin-left:1px}
@media(max-width:760px){.navigation .wordmark{font-size:38px}}
/* 2026-09-22 望舒：品牌名变落款 */
.signature{display:block;font-family:'Caveat',cursive;font-weight:500;font-size:26px;letter-spacing:.02em;text-align:right;margin:18px 6% 0 0;color:var(--scene-ink);opacity:.85;transform:rotate(-1.2deg);transform-origin:right center}
.signature i{font-style:normal;color:#c98d55;margin-left:1px}
@media(max-width:760px){.signature{font-size:22px;margin:14px 8% 0 0}}
/* 2026-09-22 望舒：时段标记绕在转盘外圈；回到此刻只在借来时光时出现；底部去框 */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dial-ring{position:relative;width:166px;height:166px;--r:106px}
.dial-mark{position:absolute;left:50%;top:50%;width:max-content;padding:4px 6px;margin:0;background:none;font-size:11px;letter-spacing:.14em;color:currentColor;opacity:.8;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1));transition:opacity .2s}
.dial-mark:hover,.dial-mark.active{opacity:1;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.now-button{display:none}
.borrowed .now-button{display:inline-block}
.tide-note>svg,.tide-level{display:none}
.scene-tools,.scroll-cue{background:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
@media(min-width:1500px){.dial-ring{width:184px;height:184px;--r:116px}}
@media(max-width:760px){.dial-ring{width:146px;height:146px;--r:94px}.dial-mark{font-size:10px;letter-spacing:.1em}.time-console{bottom:118px}}
@media(max-width:370px){.dial-ring{width:134px;height:134px;--r:88px}}
@media(max-width:760px) and (max-height:740px){.dial-ring{width:130px;height:130px;--r:86px}}
.scene-tools,.scroll-cue{backdrop-filter:none!important;border-radius:0!important}
.scene-footer{text-shadow:0 1px 3px rgba(0,0,0,.18)}
/* 2026-09-22 望舒：修标记碰撞 */
.tide-note{display:none!important}
.world-note>span#phase,.phase-sep,#phaseTide{font-family:var(--serif);letter-spacing:.1em}
#phaseTide,.phase-sep{font-size:.78em;opacity:.8}
.dial-ring{--r:100px}
.dial-mark{font-size:10px;letter-spacing:.1em;opacity:.7;padding:3px 5px}
@media(min-width:1500px){.dial-ring{--r:110px}}
@media(max-width:760px){.dial-ring{--r:88px}.dial-mark{font-size:9px;letter-spacing:.06em}.world-note{top:-44px!important}.world-note>span#phase{font-size:12px!important}#phaseTide{font-size:10px}.time-console{bottom:112px}}
@media(max-width:370px){.dial-ring{--r:82px}}
@media(max-width:760px) and (max-height:740px){.dial-ring{--r:80px}}
/* 2026-09-22 望舒：太阳规律，正午在顶 */
@media(max-width:760px){.world-note{top:-54px!important}}
/* 2026-09-22 望舒：时段标记靠近才浮现放大 */
.dial-mark{--near:0;opacity:calc(.12 + var(--near) * .88);transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1)) scale(calc(.82 + var(--near) * .45));transition:opacity .25s,transform .25s;text-decoration:none!important}
.dial-mark.active{opacity:1}
.dial-mark:hover{opacity:.9}
/* 2026-09-22 望舒：转盘上浮到海面，文字落到沙滩 */
@media(max-width:760px){
  .time-console{bottom:190px}
  .world-note{top:auto!important;bottom:-60px!important;left:50%;transform:translateX(-50%)}
  .now-button{margin-top:6px}
  .borrowed .world-note{bottom:-92px!important}
  .scene-tools{display:none}
  .scene-footer{grid-template-columns:1fr;justify-items:end}
}
/* 2026-09-22 望舒：恢复声音/动态，狐狸下移 */
@media(max-width:760px){
  .scene-tools{display:flex}
  .scene-footer{grid-template-columns:1fr 1fr;justify-items:stretch}
  .fox{bottom:17%!important}
}
/* 2026-09-22 望舒：沙滩上的文字分两行 */
@media(max-width:760px){
  .world-note{white-space:normal!important;width:max-content;line-height:1.6}
  .phase-sep{display:none}
  #phaseTide{display:block;margin-top:2px}
  .world-note{bottom:-72px!important}
  .borrowed .world-note{bottom:-104px!important}
}
/* 2026-09-22 望舒：底部文字跟着昼夜变色；落款往中间收、结尾一颗心 */
.scene-footer,.scene-footer button,.scene-footer a,.scene-tools span{color:var(--scene-ink)!important}
.scene-footer{text-shadow:0 1px 2px rgba(255,250,235,.35),0 1px 4px rgba(0,0,0,.12)}
.signature{margin:18px 18% 0 0;font-size:24px}
.signature i{font-style:normal;color:#d08a5a;font-size:.8em;vertical-align:.08em;margin-left:2px}
@media(max-width:760px){.signature{margin:14px 20% 0 0;font-size:21px}}
.signature i{color:inherit;font-style:italic;font-family:'Caveat',cursive;font-size:.9em;vertical-align:0}
.signature i{font-size:1em;margin-left:0}
/* 2026-09-22 望舒：手绘小心 */
.sig-heart{display:inline-block;width:.78em;height:.78em;margin-left:.06em;vertical-align:-.08em;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;transform:rotate(8deg)}
/* 2026-09-23 珂珂：桌面端恢复时钟两侧的森林历与潮汐（手机端保持合并样式） */
@media(min-width:761px){
  .tide-note{display:block!important}
  .tide-note>svg{display:block}
  .tide-level{display:block}
  .phase-sep,#phaseTide{display:none}
}
.news-art i{position:absolute;bottom:10px;left:33px;width:42px;height:48px;background:#26473a;border-radius:2px;box-shadow:inset 0 -6px 0 #1f3a2e}.news-art i:before{content:'';position:absolute;left:9px;top:12px;width:24px;height:13px;background:#f3ead8;border-radius:1px}.news-art b{position:absolute;bottom:56px;left:26px;width:56px;height:22px;background:#1f3a2e;border-radius:50% 50% 3px 3px/100% 100% 3px 3px}.news-art b:after{content:'';position:absolute;left:25px;top:-8px;width:6px;height:6px;border-radius:50%;background:#b5583a}.news-art span{position:absolute;bottom:42px;left:29px;width:50px;height:6px;background:repeating-linear-gradient(90deg,#f3ead8 0 8px,#26473a 8px 12px);border-bottom:2px solid #b5583a}@media(min-width:761px){.place-grid{grid-template-columns:repeat(4,1fr);gap:26px}}
