/* Opening scene: retained from the approved single-file V0.6 prototype. */
body.szl-scene-home{overflow:hidden;background:#e8efd9}
.szl-scene-home .site-header,.szl-scene-home .site-footer,.szl-scene-home #to-top{display:none}
.szl-scene-home #content{height:100vh;height:100dvh}
.szl-scene-home .scene{--ink:#28523c;--green:#39764a;--soft:#e5efd6;--paper:#fff9ea;--line:#cbd8bf;--gold:#e4b358;--round:"YouYuan","幼圆","Microsoft YaHei","PingFang SC",sans-serif;--body:"Microsoft YaHei","PingFang SC",sans-serif;font-family:var(--body);color:var(--ink)}
.szl-scene-home .scene [hidden]{display:none!important}
.scene{position:relative;isolation:isolate;width:100%;height:100vh;height:100dvh;overflow:hidden}.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,252,239,.06),transparent 35%,transparent 76%,rgba(44,70,40,.12))}.scene-title{position:absolute;left:57%;top:4.5%;transform:translateX(-50%);white-space:nowrap;text-align:center;pointer-events:none}.scene-title h1{margin:0;color:#275e45;font:800 clamp(46px,4vw,76px)/1.2 var(--round);letter-spacing:.055em;text-shadow:0 1px 10px rgba(255,253,235,.95)}.scene-title p{margin:3px 0 0;color:#285940;font:600 clamp(11px,.78vw,15px)/1.5 var(--body);letter-spacing:.11em;text-shadow:0 1px 8px #fffdec}
.scene-menu{position:absolute;right:5%;top:5%;z-index:10;min-width:155px;text-align:right}.menu-toggle{padding:7px 2px;border:0;border-bottom:1px solid currentColor;background:none;color:#245d42;font-size:15px;font-weight:700;letter-spacing:.18em;text-shadow:0 1px 7px #fffbea}.menu-toggle span,.side-menu-toggle span{display:inline-block;margin-left:8px;font-size:18px;line-height:1;vertical-align:-1px;transition:transform .2s}.menu-toggle[aria-expanded=true] span,.side-menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.scene-nav{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin-top:20px;padding:2px 12px 2px 0;border-right:1px solid rgba(43,102,67,.55);animation:nav-open .24s ease both}.scene-nav button{display:block;width:100%;padding:8px 0;border:0;background:none;color:#225b41;text-align:right;text-shadow:0 1px 7px #fffbea;font-size:14px;font-weight:700;letter-spacing:.07em;animation:nav-item .22s ease both}.scene-nav button:nth-child(2){animation-delay:40ms}.scene-nav button:nth-child(3){animation-delay:80ms}.scene-nav button:nth-child(4){animation-delay:120ms}.scene-nav button:nth-child(5){animation-delay:160ms}.scene-nav button:nth-child(6){animation-delay:200ms}.scene-nav button:hover,.scene-nav button:focus-visible{text-decoration:underline;text-underline-offset:5px}@keyframes nav-open{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-item{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden}.leaves i{position:absolute;width:11px;height:7px;background:#ffe380;border-radius:90% 5% 90% 5%;opacity:0;box-shadow:0 0 10px #ffedbd;animation:drift 12s linear infinite}.leaves i:nth-child(1){left:31%;top:15%}.leaves i:nth-child(2){left:25%;top:25%;animation-delay:-4s;width:8px;height:5px}.leaves i:nth-child(3){left:40%;top:22%;animation-delay:-8s}.leaves i:nth-child(4){left:19%;top:18%;animation-delay:-6s;width:7px;height:5px}@keyframes drift{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:.72}80%{opacity:.55}100%{opacity:0;transform:translate(95px,110px) rotate(260deg)}}
.hotspot{position:absolute;z-index:4;border:0;background:none;color:#fff8d9}.hotspot:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:2px solid #fffde3;border-radius:50%;background:#eabb5a;box-shadow:0 0 0 8px rgba(255,251,209,.15),0 0 15px #fff4af;animation:glimmer 4s ease-in-out infinite}.hotspot span{position:absolute;left:50%;top:calc(50% + 25px);transform:translate(-50%,6px);padding:7px 10px;border-radius:8px;background:rgba(34,77,50,.9);white-space:nowrap;font-size:12px;opacity:0;transition:opacity .2s,transform .2s}.hotspot:hover span,.hotspot:focus-visible span{opacity:1;transform:translate(-50%,0)}.hotspot:hover:before,.hotspot:focus-visible:before{box-shadow:0 0 0 13px rgba(255,251,209,.27),0 0 19px #fff4af}.door{left:5%;top:45%;width:15%;height:32%}.tree{left:25%;top:22%;width:24%;height:24%}.mailbox{left:29%;top:45%;width:11%;height:24%}.tree:before{left:42%;top:52%}@keyframes glimmer{0%,100%{opacity:.65;transform:scale(.85)}50%{opacity:1;transform:scale(1.13)}}
.path-entry{position:absolute;z-index:4;left:50%;bottom:7.5%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;min-height:55px;padding:10px 23px;border:1px solid rgba(255,253,222,.95);border-radius:13px;background:rgba(253,250,224,.93);color:#275f41;box-shadow:0 10px 24px rgba(51,75,43,.24);font-size:15px;font-weight:700;letter-spacing:.07em;white-space:nowrap;transition:transform .2s,background .2s}.path-entry:hover{transform:translate(-50%,-4px);background:#fffbe5}.path-entry span{font-size:21px}.scene-hint{position:absolute;left:50%;bottom:3.5%;transform:translateX(-50%);color:#fffef1;font-size:11px;font-weight:700;letter-spacing:.2em;text-shadow:0 2px 7px #425a38;white-space:nowrap}

.scene-nav a{display:block;width:100%;padding:8px 0;border:0;background:none;color:#225b41;text-align:right;text-shadow:0 1px 7px #fffbea;font-size:14px;font-weight:700;letter-spacing:.07em;animation:nav-item .22s ease both;text-decoration:none}
.scene-nav a:nth-child(2){animation-delay:40ms}.scene-nav a:nth-child(3){animation-delay:80ms}.scene-nav a:nth-child(4){animation-delay:120ms}.scene-nav a:nth-child(5){animation-delay:160ms}.scene-nav a:nth-child(6){animation-delay:200ms}
.scene-nav a:hover,.scene-nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.hotspot:hover{color:#fff8d9}.path-entry:hover{color:#275f41}
@media(prefers-reduced-motion:reduce){.leaves i,.hotspot:before,.scene-nav,.scene-nav a{animation:none!important}.path-entry,.hotspot span{transition:none!important}}
