.sanctuary-entrance,.sanctuary-world{--garden-ink:#25473d;--garden-paper:#f5f4e9;color:var(--garden-ink)}.sanctuary-entrance{isolation:isolate;background:#e5eddf;border:1px solid #d3ddcb;border-radius:24px;min-height:700px;position:relative;overflow:hidden}.sanctuary-entrance-sky{z-index:-2;background:radial-gradient(at 55% 15%,#faf9ed 0%,#e9efe0 37%,#cddfc8 100%);position:absolute;inset:0}.sanctuary-entrance-sky>span{opacity:.65;background:url(/images/sanctuary-cloud.svg) 50%/contain no-repeat;width:430px;height:270px;animation:24s ease-in-out infinite alternate sanctuary-drift;position:absolute;top:8%;left:-10%}.sanctuary-entrance-sky>span:nth-child(2){opacity:.9;width:600px;height:360px;animation-delay:-14s;top:-8%;left:auto;right:-16%}.sanctuary-entrance-sky>span:nth-child(3){opacity:.4;width:350px;animation-delay:-9s;top:32%;left:32%}.sanctuary-entrance-top{z-index:2;justify-content:space-between;align-items:center;gap:20px;padding:25px 30px;display:flex;position:relative}.sanctuary-entrance-top>span:first-child{font:8px var(--mono);letter-spacing:.12em;color:#647d65}.sanctuary-status{white-space:nowrap;color:#496348;align-items:center;gap:8px;font-size:11px;line-height:1.4;display:inline-flex}.sanctuary-status>i{background:#879386;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 4px #7a8b7510}[data-status=live]>.sanctuary-entrance-top .sanctuary-status>i,.sanctuary-world[data-status=live] .sanctuary-status>i{background:#639342;animation:3s ease-out infinite sanctuary-heartbeat;box-shadow:0 0 0 4px #63934215}[data-status=paused] .sanctuary-status>i,[data-status=reconnecting] .sanctuary-status>i,[data-status=connecting] .sanctuary-status>i{background:#ba8c3d}.sanctuary-entrance-title{text-align:center;z-index:1;margin:17px 0 0;position:relative}.sanctuary-entrance-title h3{letter-spacing:-.075em;color:#2f5140;margin:0;font-size:clamp(76px,9.7vw,138px);font-weight:400;line-height:1}.sanctuary-entrance-title h3>span{color:#95ad78}.sanctuary-entrance-title p{letter-spacing:.015em;color:#698264;margin:18px 0 0;font-size:15px}.sanctuary-portrait-stage{justify-content:center;align-items:flex-end;gap:16px;height:344px;margin-top:12px;display:flex;position:relative}.sanctuary-hill{z-index:-1;pointer-events:none;position:absolute}.sanctuary-hill-back{background:#cadbb7;border-radius:50%;width:130%;height:400px;top:75%;left:-40%;transform:rotate(-7deg);box-shadow:inset 0 2px #e6edcf}.sanctuary-hill-front{background:#b9cfa8;border-radius:50%;width:125%;height:310px;top:91%;left:30%;transform:rotate(-8deg);box-shadow:inset 0 2px #d9e4c1}.sanctuary-model{text-align:center;width:280px;margin:0;position:relative}.sanctuary-model>img{object-fit:contain;filter:drop-shadow(6px 12px 9px #4e70521b);width:100%;height:300px;transition:transform .65s cubic-bezier(.2,.7,.3,1);display:block}.sanctuary-model-moss{transform:translateY(-8px)rotate(-5deg)}.sanctuary-model-fern{transform:translateY(5px)rotate(6deg)}.sanctuary-model:hover>img{transform:translateY(-7px)rotate(3deg)}.sanctuary-model-fern:hover>img{transform:translateY(-7px)rotate(-3deg)}.sanctuary-model figcaption{letter-spacing:-.025em;color:#3f6146;font-size:21px;position:absolute;bottom:7px;left:0;right:0}.sanctuary-model-moss figcaption{transform:rotate(5deg)}.sanctuary-model-fern figcaption{transform:rotate(-6deg)}.sanctuary-entrance-bottom{z-index:1;flex-direction:column;align-items:center;gap:18px;margin:39px 0 29px;display:flex;position:relative}.sanctuary-enter{color:#f3f3e4;background:#294b3b;border-radius:50px;align-items:center;gap:38px;padding:18px 23px 18px 28px;font-size:15px;transition:background .25s,transform .25s,box-shadow .25s;display:flex;box-shadow:0 6px 20px #3b59331a}.sanctuary-enter svg{transition:transform .3s}.sanctuary-enter:hover svg{transform:translate(2px,-2px)}.sanctuary-entrance-caption{font:7px var(--mono);letter-spacing:.1em;color:#627d58}.sanctuary-page{background:#c7d9ac;min-height:100dvh}.sanctuary-world{z-index:1000;isolation:isolate;overscroll-behavior:none;background:#b4c395;height:100dvh;position:fixed;inset:0;overflow:hidden}.sanctuary-world-canvas{position:absolute;inset:0}.sanctuary-world-canvas>iframe{background:#b4c395;border:0;width:100%;height:100%;display:block}.sanctuary-world[data-entering=true] .sanctuary-world-canvas{animation:2.5s cubic-bezier(.2,.65,.3,1) both sanctuary-arrive}.sanctuary-world-bar{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));pointer-events:none;z-index:2;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.sanctuary-world-bar>div{align-items:center;gap:12px;display:flex}.sanctuary-world-bar>div>span{letter-spacing:-.05em;color:#294b3b;text-shadow:0 1px 10px #f7f5e9;font-size:22px}.sanctuary-world-bar button{pointer-events:auto;color:#3a5842;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f4eae8;border:1px solid #ffffefaa;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 2px 14px #34543b0a}.sanctuary-world-bar .sanctuary-status{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f4eae8;border:1px solid #ffffef88;border-radius:25px;padding:10px 14px}.sanctuary-world-dock{bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));pointer-events:none;z-index:2;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute}.sanctuary-residents{scrollbar-width:none;pointer-events:auto;gap:7px;max-width:65%;display:flex;overflow:auto}.sanctuary-residents>button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#3f6246;background:#f5f4e9e8;border:1px solid #ffffefaa;border-radius:30px;flex-shrink:0;align-items:center;gap:2px;height:50px;padding:3px 17px 3px 4px;font-size:13px;transition:background .2s;display:flex}.sanctuary-residents>button>img{object-fit:contain;width:39px;height:42px}.sanctuary-residents>button:hover,.sanctuary-residents>button[aria-pressed=true]{background:#e3efc8;border-color:#98b783}.sanctuary-camera-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#f5f4e9e8;border:1px solid #ffffefaa;border-radius:28px;flex:none;align-items:center;gap:2px;padding:3px;display:flex}.sanctuary-camera-controls>button{color:#3d6045;border-radius:50%;place-items:center;width:44px;height:42px;padding:0;display:grid}.sanctuary-camera-controls>button:hover{background:#dce6d0}.sanctuary-camera-controls>span{background:#c4d1b9;width:1px;height:18px;margin:0 3px}.sanctuary-world button:disabled{cursor:default}.sanctuary-loading{color:#526d48;pointer-events:none;background:#f5f4e9e8;border-radius:28px;padding:14px 22px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sanctuary-waiting{position:absolute;inset:0}.sanctuary-waiting>img{object-fit:cover;filter:saturate(.5)brightness(.75);width:100%;height:100%}.sanctuary-waiting>div{color:#f4f3e9;background:#23463122;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sanctuary-waiting p{letter-spacing:-.04em;margin:24px 0 12px;font-size:clamp(28px,5vw,50px)}.sanctuary-waiting span{color:#e3e9d6;font-size:12px}.sanctuary-clouds{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sanctuary-cloud-wash{background:#f7f7ef;animation:2.5s both sanctuary-wash;position:absolute;inset:0}.sanctuary-cloud{will-change:transform,opacity;object-fit:fill;opacity:0;width:125vw;max-width:none;height:115vh;position:absolute}.sanctuary-cloud-left{animation:2.5s cubic-bezier(.25,.5,.4,1) both sanctuary-cloud-left;top:-26%;left:-50%}.sanctuary-cloud-right{animation:2.5s cubic-bezier(.25,.5,.4,1) both sanctuary-cloud-right;top:5%;right:-45%}.sanctuary-cloud-front{width:160vw;height:110vh;animation:2.5s cubic-bezier(.25,.5,.4,1) both sanctuary-cloud-front;bottom:-48%;left:-25%}@keyframes sanctuary-drift{to{transform:translate(55px)}}@keyframes sanctuary-heartbeat{0%{box-shadow:0 0 0 2px #63934225}65%,to{box-shadow:0 0 0 7px #63934200}}@keyframes sanctuary-arrive{0%,20%{filter:blur(3px);transform:scale(1.28)}to{filter:blur();transform:scale(1)}}@keyframes sanctuary-wash{0%{opacity:.85}18%{opacity:1}60%,to{opacity:0}}@keyframes sanctuary-cloud-left{0%{opacity:.7;transform:translate(15%,15%)scale(.75)}22%{opacity:1}to{opacity:0;transform:translate(-38%,-40%)scale(2)}}@keyframes sanctuary-cloud-right{0%{opacity:.7;transform:translate(-15%,-5%)scale(.8)}22%{opacity:1}to{opacity:0;transform:translate(40%,20%)scale(2.2)}}@keyframes sanctuary-cloud-front{0%{opacity:.6;transform:translateY(-30%)scale(.65)}25%{opacity:1}to{opacity:0;transform:translateY(50%)scale(2.5)}}@media (max-width:700px){.sanctuary-entrance{border-radius:20px;min-height:570px}.sanctuary-entrance-top{align-items:center;gap:10px;padding:20px 19px}.sanctuary-entrance-top>span:first-child{letter-spacing:.06em;max-width:90px;font-size:7px;line-height:1.8}.sanctuary-status{gap:7px;font-size:10px}.sanctuary-entrance-title{margin:24px 0 0}.sanctuary-entrance-title h3{font-size:clamp(57px,13.9vw,95px)}.sanctuary-entrance-title p{margin-top:14px;font-size:12px}.sanctuary-portrait-stage{gap:0;height:263px;margin-top:17px}.sanctuary-model{width:49%;max-width:225px}.sanctuary-model>img{width:100%;height:240px}.sanctuary-model-moss{transform:translate(4px,-8px)rotate(-6deg)}.sanctuary-model-fern{transform:translate(-5px,6px)rotate(7deg)}.sanctuary-model figcaption{font-size:18px;bottom:5px}.sanctuary-model-moss figcaption{transform:rotate(6deg)}.sanctuary-model-fern figcaption{transform:rotate(-7deg)}.sanctuary-hill-back{width:170%;top:80%;left:-50%}.sanctuary-hill-front{width:155%;top:96%;left:20%}.sprig-one{font-size:33px;bottom:9px;left:6%}.sprig-two{font-size:25px;bottom:-20px;right:6%}.sanctuary-entrance-bottom{gap:19px;margin:30px 0 27px}.sanctuary-enter{gap:34px;padding:17px 23px 17px 27px;font-size:14px}.sanctuary-entrance-caption{letter-spacing:.075em;font-size:6px}.sanctuary-world-bar{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));gap:8px}.sanctuary-world-bar>div{gap:9px}.sanctuary-world-bar>div>span{font-size:19px}.sanctuary-world-bar .sanctuary-status{padding:10px 11px;font-size:9px}.sanctuary-world-dock{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:12px}.sanctuary-residents{gap:6px;max-width:50%}.sanctuary-residents>button{justify-content:center;width:48px;height:48px;padding:2px}.sanctuary-residents>button>span{display:none}.sanctuary-camera-controls>button{width:42px;height:40px}.sanctuary-cloud{width:170vw}.sanctuary-cloud-left{left:-90%}.sanctuary-cloud-right{right:-75%}.sanctuary-cloud-front{width:230vw;left:-65%}}@media (max-width:360px){.sanctuary-entrance-top{padding:17px 14px}.sanctuary-entrance-title h3{font-size:13.5vw}.sanctuary-entrance{min-height:545px}.sanctuary-portrait-stage{height:240px}.sanctuary-model>img{height:215px}.sanctuary-world-bar>div>span{font-size:16px}.sanctuary-world-bar .sanctuary-status{padding:10px;font-size:8px}}@media (prefers-reduced-motion:reduce){.sanctuary-entrance *,.sanctuary-world *{transition:none!important;animation:none!important}.sanctuary-clouds{display:none}}.sanctuary-entrance{background:0 0;border:0;border-radius:0;min-height:665px;overflow:hidden}.sanctuary-entrance-sky{opacity:.9;background:radial-gradient(at 60% 58%,#e5eddb99,#0000 65%);inset:0 -5%}.sanctuary-entrance-sky>span{opacity:.4}.sanctuary-entrance-top{padding:0 0 24px}.sanctuary-entrance-title{text-align:left;margin:8px 0 0}.sanctuary-entrance-title h3{font-size:clamp(76px,8.5vw,122px)}.sanctuary-entrance-title p{margin-top:18px}.sanctuary-portrait-stage{margin-top:6px}.sanctuary-hill-back{width:110%;height:220px;box-shadow:none;background:radial-gradient(at 45% 20%,#d3e0c3 0%,#d3e0c388 35%,#0000 68%);top:68%;left:-8%;transform:rotate(-4deg)}.sanctuary-hill-front{width:85%;height:190px;box-shadow:none;background:radial-gradient(at 55% 20%,#bdcfa655 0%,#ccd9b933 35%,#0000 68%);top:82%;left:22%}.sanctuary-entrance-bottom{flex-direction:row;justify-content:space-between;gap:25px;margin:36px 0 0}.sanctuary-entrance-caption{letter-spacing:.09em;font-size:8px}.sprig-one{font-size:35px;bottom:12px;left:12%}.sprig-two{color:#99af82;bottom:-7px;right:17%}.sanctuary-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}@media (max-width:700px){.sanctuary-entrance{border-radius:0;min-height:550px;overflow:hidden}.sanctuary-entrance-top{gap:18px;padding:0 0 20px}.sanctuary-entrance-top>span:first-child{max-width:145px;font-size:7px}.sanctuary-entrance-title{margin:12px 0 0}.sanctuary-entrance-title h3{font-size:clamp(61px,15.1vw,94px)}.sanctuary-entrance-title p{margin-top:15px;font-size:13px}.sanctuary-portrait-stage{height:270px;margin-top:13px}.sanctuary-entrance-bottom{margin:29px 0 0;display:block}.sanctuary-enter{justify-content:space-between;width:100%;padding:18px 23px;font-size:15px}.sanctuary-entrance-caption{display:none}.sanctuary-hill-back{width:130%;top:70%;left:-15%}.sanctuary-hill-front{width:110%;top:86%;left:10%}.sprig-one{font-size:28px;bottom:14px;left:4%}.sprig-two{font-size:23px;bottom:3px;right:13%}.sanctuary-bottom{margin-top:20px}}.sanctuary-entrance-sky>span{-webkit-mask-image:radial-gradient(#000 25%,#0000 70%);mask-image:radial-gradient(#000 25%,#0000 70%)}.sanctuary-enter{touch-action:manipulation;background:linear-gradient(135deg,#355742,#1f3d32);border:1px solid #56745d;border-radius:22px;gap:17px;width:auto;min-height:76px;padding:11px 21px 11px 13px;box-shadow:inset 0 1px #ffffff24,0 5px #1a32291a,0 12px 24px #294b3b12}.sanctuary-enter:hover{background:linear-gradient(135deg,#3d614b,#244636);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff30,0 7px #1a322912,0 15px 28px #294b3b20}.sanctuary-enter:focus-visible{outline-offset:5px;outline:3px solid #779b5e}.sanctuary-enter:active{transform:translateY(1px)}.sanctuary-door{background:#c9d9a310;border-radius:14px;flex:none;place-items:center;width:49px;height:52px;display:grid;overflow:hidden}.sanctuary-door svg{width:29px;height:38px;overflow:visible}.sanctuary-enter:hover .sanctuary-door svg{transform:none}.door-frame{stroke:#c7d5a6;stroke-width:1.5px;stroke-linecap:round}.door-light{fill:#dce8ad}.door-leaf{fill:#5e7c52;stroke:#a9c18d;stroke-width:1px;transform-origin:7px 20px;transition:transform .45s cubic-bezier(.2,.65,.3,1);transform:translate(2px)scaleX(.72)}.sanctuary-door circle{fill:#eff0c7}:is(.sanctuary-enter:hover .door-leaf,.sanctuary-enter:focus-visible .door-leaf){transform:translate(2px)scaleX(.35)}.sanctuary-enter-copy{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.sanctuary-enter-copy strong{letter-spacing:-.02em;font-size:16px;font-weight:500;line-height:1.2}.sanctuary-enter-copy small{letter-spacing:.015em;color:#c0d0b6;font-size:11px;font-weight:400;line-height:1.3}.sanctuary-enter-arrow{color:#c7d5a6;flex:none;margin-left:9px}.sanctuary-enter:hover .sanctuary-enter-arrow{transform:translate(3px)}@media (max-width:700px){.sanctuary-entrance-bottom{justify-content:center;align-items:center;margin:24px 0 0;display:flex}.sanctuary-enter{border-radius:21px;justify-content:flex-start;gap:13px;width:min(100%,310px);min-height:76px;padding:10px 17px 10px 11px}.sanctuary-enter-copy strong{font-size:15px}.sanctuary-enter-arrow{margin-left:auto}.sanctuary-door{width:44px}}@media (prefers-reduced-motion:reduce){.sanctuary-enter,.sanctuary-enter svg,.door-leaf{transition:none}.sanctuary-enter:hover{transform:none}}.sanctuary-wandering{--walker-size:clamp(185px,22vw,270px);contain:layout style;display:block;container-type:inline-size}.sanctuary-walker{width:var(--walker-size);transform:translate3d(var(--walk-x,0px),var(--walk-y,0px),0) scale(var(--depth,1));transform-origin:50% 85%;will-change:transform;pointer-events:auto;margin:0;position:absolute;bottom:16px;left:0}.sanctuary-walker-moss{--coat:#286d81;--shade:#205466;--outline:#143f4e;--highlight:#83c3c3;--walk-x:calc((100cqw - var(--walker-size))*.24)}.sanctuary-walker-fern{--coat:#326c57;--shade:#234d43;--outline:#193f38;--highlight:#a8c89a;--walk-x:calc((100cqw - var(--walker-size))*.75)}.sanctuary-walker svg{width:100%;height:auto;display:block;overflow:visible}.sanctuary-walker figcaption{text-align:center;letter-spacing:-.025em;color:#4d694d;font-size:18px;position:absolute;bottom:0;left:0;right:0}.sanctuary-walker .moss-lift{transform:translateY(calc(var(--hop,0)*-18px)) scale(calc(1 + var(--squash,0)*.5),calc(1 - var(--squash,0)));transform-origin:0 0}.sanctuary-walker .moss-shadow{transform:scaleX(calc(1 - var(--hop,0)*.3));opacity:calc(.16 - var(--hop,0)*.07);transform-origin:2px 5px}.sanctuary-walker .moss-body{transform-origin:0 0;transform:translateY(calc(var(--bounce,0)*-1.3px)) rotate(calc(var(--step,0)*1.6deg + var(--tilt,0)*1deg)) scaleY(calc(1 + var(--breath,0)))}.sanctuary-walker .moss-crest{transform-origin:-6px -65px;animation:5s ease-in-out infinite caretaker-crest}.sanctuary-walker .moss-eyes{transform-origin:0 -48px;animation:6.4s infinite caretaker-blink}.sanctuary-walker .moss-pupil{transform:translate(calc(var(--gaze-x,0)*1px),calc(var(--gaze-y,0)*1px));transition:transform .35s}.sanctuary-walker .moss-cheeks{opacity:.1;transition:opacity .4s}.sanctuary-walker[data-mood=delighted] .moss-cheeks{opacity:.42}.sanctuary-walker .moss-mouth{fill:none}.sanctuary-walker[data-mood=delighted] .moss-mouth{fill:#64744c}.sanctuary-walker-fern .moss-eyes{animation-delay:-2.7s}.sanctuary-walker-fern .moss-crest{animation-delay:-1.8s}.sanctuary-walker .moss-foot-left{transform-origin:-14px 0;transform:translate(calc(var(--step,0)*4px),calc(var(--left-lift,0)*-4px)) rotate(calc(var(--step,0)*-10deg))}.sanctuary-walker .moss-foot-right{transform-origin:14px 0;transform:translate(calc(var(--step,0)*-4px),calc(var(--right-lift,0)*-4px)) rotate(calc(var(--step,0)*10deg))}.sanctuary-walker .moss-arm-left{transform-origin:-23px -28px;transform:rotate(calc(var(--step,0)*-11deg + var(--hop,0)*18deg))}.sanctuary-walker .moss-arm-right{transform-origin:23px -28px;transform:rotate(calc(var(--step,0)*11deg - var(--wave,0)*65deg - var(--hop,0)*18deg))}.sanctuary-wandering[data-running=false] .sanctuary-walker *{animation-play-state:paused!important}.sanctuary-walker-visit{cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:45%;width:100%;padding:0;display:block}.sanctuary-walker-visit:focus-visible{outline-offset:-10px;outline:2px solid #789365}:is(.sanctuary-walker:has(.sanctuary-walker-visit:hover) figcaption,.sanctuary-walker:has(.sanctuary-walker-visit:focus-visible) figcaption){text-underline-offset:5px;text-decoration:underline}@keyframes caretaker-crest{0%,60%,to{transform:rotate(-2deg)}75%{transform:rotate(7deg)}86%{transform:rotate(-4deg)}}@keyframes caretaker-blink{0%,43%,47%,76%,80%,to{transform:scaleY(1)}44%,46%,77%,79%{transform:scaleY(.07)}}@media (max-width:700px){.sanctuary-wandering{--walker-size:clamp(145px,45vw,225px)}.sanctuary-walker figcaption{font-size:16px}.sanctuary-walker{bottom:14px}}@media (prefers-reduced-motion:reduce){.sanctuary-walker *{transition:none!important;animation:none!important}}
