.ambient-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:#102426}
.ambient-sky:before,.ambient-sky:after{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 25% 30%,#8bd6c32b,transparent 45%),radial-gradient(ellipse at 80% 70%,#e2bd7226,transparent 40%);animation:skyDrift 22s ease-in-out infinite alternate}
.ambient-sky:after{background:radial-gradient(circle,#f6db9caa 1px,transparent 2px) 0 0/137px 149px;opacity:.35;animation:starsDrift 30s linear infinite alternate}
body.garden-theme{background:#102426;isolation:isolate}.garden-theme main{background:transparent}.garden-theme main:before{display:none}
.garden-theme[data-page]:not([data-page=home]) main{padding-top:34px;min-height:70vh}
.page-heading{width:calc(100% - 64px);max-width:1240px;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#b6cfc3}
.page-heading h1{font:500 clamp(28px,4vw,44px)/1.4 "Songti SC",serif;color:#f1dbac;margin:0}
.page-heading a{border-bottom:1px solid #e2bd7255;font-size:14px}
.page-enter{animation:pageArrive .45s cubic-bezier(.22,1,.36,1) both}
.first-visit .page-enter{animation:none}
.site-loader{display:none!important}
.first-visit .site-loader{display:grid!important}
.return-visit .site-loader{display:none!important}
.site-loader{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:20px;background:#102426;color:#efdbab;text-align:center;animation:loaderSafety 0s 5s forwards}
.site-loader img{width:78px;height:78px;border:2px solid #e2bd72;border-radius:50%;padding:4px}
.site-loader strong{font:500 32px/1.4 "Songti SC",serif;letter-spacing:6px}
.site-loader p{font-size:13px;letter-spacing:3px;color:#a9c6b9;margin:0}
.loader-orbit{width:120px;height:120px;display:grid;place-items:center;position:relative}
.loader-orbit:before{content:"";position:absolute;inset:0;border:1px solid #e2bd7233;border-top:2px solid #e2bd72;border-radius:50%;animation:orbitSpin 1.6s linear infinite}
.site-loader.is-leaving{opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.site-loader button{margin-top:16px;border:1px solid #e2bd7244;background:transparent;color:#aac8ba;border-radius:24px;padding:8px 18px;font:inherit;font-size:12px}
.ambient-paused .ambient-sky:before,.ambient-paused .ambient-sky:after{animation-play-state:paused}
@keyframes skyDrift{to{transform:translate3d(7%,-5%,0) rotate(10deg)}}
@keyframes starsDrift{to{transform:translate3d(40px,-70px,0);opacity:.65}}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes loaderSafety{to{visibility:hidden;pointer-events:none}}
@keyframes pageArrive{from{opacity:.35;transform:translateY(14px)}to{opacity:1;transform:none}}
/* Same-origin document transitions keep real URLs, browser history and reloads. */
@view-transition{navigation:auto}
main{view-transition-name:page-content}
.ambient-sky{view-transition-name:site-background}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}
::view-transition-old(page-content){animation:pageDepart .25s ease-in both;mix-blend-mode:normal}
::view-transition-new(page-content){animation:pageArrive .4s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
::view-transition-old(site-background){animation:none;opacity:0}
::view-transition-new(site-background){animation:none}
@keyframes pageDepart{to{opacity:0;transform:translateY(-10px)}}
.page-leaving{animation:none!important;transition:opacity .16s ease,transform .16s ease;opacity:.35;transform:translateY(-8px)}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.page-leaving{transition:none;transform:none}::view-transition-group(*){animation-duration:0s}}
@media(max-width:600px){.page-heading{width:calc(100% - 40px)}.ambient-sky:before{animation-duration:30s}.garden-theme[data-page]:not([data-page=home]) main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.ambient-sky:before,.ambient-sky:after,.loader-orbit:before,.page-enter{animation:none}.site-loader.is-leaving{transition:none}}
