:root{color-scheme:light;--ink:#365c50;--muted:#7d9789}*{box-sizing:border-box}body{margin:0;min-height:100svh;color:var(--ink);font-family:"Songti SC","Noto Serif SC","Microsoft YaHei",serif;background:radial-gradient(ellipse at 50% 15%,#fffaf0,#edf2e9 70%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #9db6a0;outline-offset:5px}[hidden]{display:none!important}.morning-app{max-width:1050px;padding:22px 26px 28px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;letter-spacing:2px;color:#769284}header>a,header button{padding:9px 4px;min-height:38px}.header-actions{display:flex;gap:12px}.header-actions button{font-size:13px}.title{text-align:center;margin:25px 0 23px}.eyebrow{font-size:9px;letter-spacing:4px;color:#99a99a}h1{font-weight:400;font-size:29px;letter-spacing:7px;margin:12px 0}.title p{font-size:12px;line-height:1.9;letter-spacing:2px;color:var(--muted);margin:0}.book{width:min(100%,500px);margin:auto}.page-caption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:3px;margin-bottom:13px;color:#75907e}.page-caption span:last-child{font-size:10px}.scene{position:relative;isolation:isolate;aspect-ratio:2/3;overflow:hidden;border-radius:115px 115px 12px 12px;box-shadow:0 18px 65px #3e67552e,0 0 0 1px #a9b7a330;background:#d8e8dc;touch-action:none;user-select:none;-webkit-user-select:none}.morning-background{position:absolute;inset:0;background:url('assets/morning/atlas-v1.webp') 0 0/200% 200%;transition:filter 2s}.scene[data-page="2"] .morning-background{background-position:100% 0}.scene[data-page="3"] .morning-background{background-position:0 100%}.scene[data-page="4"] .morning-background{background-position:100% 100%;filter:brightness(calc(1 + var(--bloom,0)*.09))}.morning-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#f4f9ec16,transparent 50%,#c1ddd216)}#dayCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.85}#morningArt{position:absolute;inset:0;width:100%;height:100%}[data-object]{cursor:grab}.is-dragging [data-object]{cursor:grabbing}.whisper{min-height:50px;text-align:center;font-size:12px;line-height:1.9;letter-spacing:1px;color:#789182;margin:17px 12px 7px}.continue-space{min-height:65px;display:flow-root}.continue{display:block;margin:0 auto;padding:13px 20px;font-size:12px;letter-spacing:2px;border-bottom:1px solid #a4b69d77}.next-link{display:block;text-align:center;padding:16px 6px;margin:7px 0;border:1px solid #a7ba9e77;border-radius:3px;font-size:12px;letter-spacing:2px}.book-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8ca18e}.book-bottom button{padding:10px 0;font-size:10px;letter-spacing:1px}.book-bottom button:disabled{opacity:.25}.bookmarks{display:flex;gap:9px}.bookmark{width:5px;height:5px;border:1px solid #99ad98;border-radius:50%;opacity:.35}.bookmark.current{opacity:1;background:#a4b99a}.footer-note{text-align:center;font-size:9px;letter-spacing:2px;color:#a0af9f;margin:20px 0 0}dialog{width:min(90vw,420px);padding:35px;border:1px solid #adbca5;border-radius:8px;color:#466655;background:#f4f5eb;box-shadow:0 20px 100px #274f4538}dialog::backdrop{background:#345b4e66;backdrop-filter:blur(6px)}dialog h2{font-weight:400;font-size:21px;letter-spacing:3px}dialog p{font-size:12px;line-height:1.9;color:#7b9484}.action{display:block;width:100%;text-align:left;padding:15px 0;border-bottom:1px solid #b4c2aa66;font-size:12px}#close{position:absolute;right:12px;top:8px;font-size:24px;padding:5px}.living-water{stroke-dasharray:5 9;animation:flowing-water 1s linear infinite;pointer-events:none}.dew-glimmer{animation:dew-glimmer 2.8s ease-in-out infinite alternate}.morning-passage{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}.passage-skip{position:absolute;right:15px;bottom:15px;z-index:8;border-radius:18px;background:#e6efdeaa;color:#65836c;font-size:10px;letter-spacing:2px;padding:10px 12px}.in-passage #morningArt{pointer-events:none}.guide-call{cursor:pointer}.touch-ripple{pointer-events:none;animation:touch-ripple 1.7s both;transform-box:fill-box;transform-origin:center}@keyframes flowing-water{to{stroke-dashoffset:-28}}@keyframes dew-glimmer{from{opacity:.4}to{opacity:1}}@keyframes touch-ripple{from{opacity:.75;scale:.6}to{opacity:0;scale:2.5}}@media(min-width:850px){.book{width:420px}.scene{border-radius:105px 105px 10px 10px}}@media(max-width:480px){.morning-app{padding:12px 16px 22px}header{font-size:10px;letter-spacing:1px}.title{margin:19px 0 18px}h1{font-size:25px;letter-spacing:6px}.title p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:3px}.scene{border-radius:95px 95px 9px 9px}.whisper{font-size:11px;margin-top:13px}.page-caption{margin-bottom:10px}.book-bottom button{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.completion-next{display:block;text-align:center;padding:16px 6px;margin:7px 0;border:1px solid #a7ba9e77;border-radius:3px;font-size:12px;letter-spacing:2px}

.in-passage #morningArt .leaf-boat,.in-passage #morningArt .seed-prop,.in-passage #morningArt .guide-call{visibility:hidden}
#morningArt{pointer-events:none}#morningArt [data-object],#morningArt [data-follow]{pointer-events:all}



.leaf-splash{animation:leaf-spray .8s ease-in-out infinite alternate}
.living-water{animation-duration:var(--water-speed,1s)}
@keyframes gate-glow{0%,65%,100%{opacity:0}82%{opacity:.7}}
@keyframes leaf-spray{from{opacity:.45}to{opacity:.95}}
@media(prefers-reduced-motion:reduce){.pressure-knob,.pressure-halo,.leaf-splash{animation:none!important}.pressure-seeking .pressure-halo{opacity:.45}}

.morning-follow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
.morning-follow [data-follow]{pointer-events:all;cursor:pointer;touch-action:none}
.in-passage .morning-follow{visibility:hidden;pointer-events:none}
.boat-invite{transform:translateY(20px);opacity:.65;animation:boat-invite 2.8s ease-out infinite}
.follow-queued .boat-invite{stroke:#f6df9c}
.valve-cues,.valve-glint{opacity:0;pointer-events:none}
.valve-curious .valve-cues{opacity:.75;animation:valve-turn 3.2s ease-in-out infinite}
.valve-curious .valve-glint{animation:valve-glint 3.2s ease-in-out infinite}
@keyframes valve-turn{0%,18%,100%{transform:rotate(-8deg);opacity:.35}58%,78%{transform:rotate(13deg);opacity:.9}}
@keyframes valve-glint{0%,25%,100%{opacity:.15}55%,70%{opacity:.9}}
@keyframes boat-invite{0%{opacity:.65;transform:translateY(20px) scale(.86)}85%,100%{opacity:0;transform:translateY(20px) scale(1.26)}}
@media(prefers-reduced-motion:reduce){.valve-curious .valve-cues{opacity:.7}.valve-curious .valve-glint{opacity:.45}.boat-invite{opacity:.5}}

.morning-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.water-behind{z-index:1}#morningArt{z-index:2}.water-near{z-index:3}.scene[data-page="3"] .morning-wash{background:linear-gradient(128deg,#fff2bd22,transparent 45%,#7d9d8511)}.scene[data-page="3"]:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at 55% 34%,transparent 48%,#416b4d0b 100%)}

.water-kiss{transform-box:fill-box;transform-origin:center;animation:water-kiss 1.8s ease-out infinite}@keyframes water-kiss{from{opacity:.5;transform:scale(.7)}to{opacity:0;transform:scale(2.2)}}@media(prefers-reduced-motion:reduce){.water-mote{display:none}.water-kiss{animation:none}}
