/* Cover-derived invitation, a deeper shared camera, and discoverable garden boughs. */
:root{--invitation-paper:url('assets/invitation-v10/parchment-ribbon-v10.webp');--seal-surface:radial-gradient(circle at 33% 24%,#e94d83,#a51e5a 65%,#681643)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.scroll-arrival{width:min(920px,91vw)}.invitation-hint{font-size:20px;color:#ffdfa1;letter-spacing:.035em;text-shadow:0 3px 0 #33213c,0 6px 15px #070719;margin-bottom:30px}.banner-invitation{position:relative;min-height:260px;display:grid;place-items:center;perspective:1200px;filter:drop-shadow(0 20px 24px #080b18b3)}.invitation-closed{position:absolute;inset:0;background:var(--invitation-paper) center/100% auto no-repeat;z-index:3;transition:transform 1.5s cubic-bezier(.2,.8,.15,1),opacity 1s .3s;transform-origin:center 10%}.paper-fold{position:absolute;left:8%;right:8%;height:36%;top:25%;background:linear-gradient(105deg,#d6a45e,#fff0bb 12%,#f8df9f 74%,#cf934f);border:1px solid #b3784288;box-shadow:0 5px 8px #7c4b3844;clip-path:polygon(0 0,100% 0,100% 15%,50% 100%,0 15%)}.fold-lower{top:auto;bottom:24%;rotate:180deg;opacity:.88}.invitation-twine{position:absolute;inset:14% auto 14% calc(50% - 3px);width:6px;background:linear-gradient(90deg,#9b663e,#ffe5a7 50%,#a27342);border-radius:3px;box-shadow:1px 1px 2px #79472e88}.invitation-inside{position:relative;z-index:2;width:100%;min-height:220px;display:grid;place-items:center;opacity:0;transform:scaleY(.18) rotateX(35deg);transition:transform 1.65s .1s cubic-bezier(.2,.8,.15,1),opacity .65s .3s}.invitation-inside .scroll-lettering{display:block;max-width:none;width:100%;font-size:0;opacity:1;transform:none;transition:none;filter:drop-shadow(0 8px 0 #3b183a77)}.invitation-inside .scroll-lettering img{width:100%;height:auto;max-width:none}.inside-stars{position:absolute;top:-18px;right:5%;color:#ffe14c;font-size:38px;rotate:18deg;opacity:0;text-shadow:0 2px 0 #7b3854;transition:opacity .5s 1s}.wax-seal{position:absolute;top:calc(50% - 65px);left:calc(50% - 65px);width:130px;height:130px;padding:0;border:0;background:none;border-radius:50%;z-index:8;cursor:pointer;filter:drop-shadow(0 8px 5px #49283b88);transition:filter .3s}.wax-seal:focus-visible{outline:3px solid #ffe16d;outline-offset:8px}.wax-seal:hover{filter:drop-shadow(0 8px 5px #49283b88) brightness(1.09)}.seal-half{position:absolute;inset:0;background-image:var(--seal-surface);background-size:100% 100%;background-repeat:no-repeat;border-radius:47%;transition:transform 1.1s cubic-bezier(.2,.8,.15,1),opacity .7s .3s;pointer-events:none}.seal-left{clip-path:polygon(0 0,53% 0,48% 13%,54% 27%,46% 40%,53% 56%,47% 72%,54% 86%,49% 100%,0 100%)}.seal-right{clip-path:polygon(53% 0,100% 0,100% 100%,49% 100%,54% 86%,47% 72%,53% 56%,46% 40%,54% 27%,48% 13%)}.seal-imprint{position:absolute;inset:19%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#60133e;pointer-events:none;text-shadow:0 1px 0 #f784aa,0 -1px 1px #5d123a;font-family:"Quest Display",sans-serif;transition:opacity .35s,transform .8s}.seal-imprint svg{width:32px;height:32px;fill:#771845;filter:drop-shadow(0 1px 0 #f189af)}.seal-imprint b{font-weight:400;font-size:17px;line-height:.97;letter-spacing:.02em;display:block}.intro-revealed .invitation-closed{transform:rotateX(-80deg) translateY(-60px);opacity:0;pointer-events:none}.intro-revealed .invitation-inside{opacity:1;transform:none}.intro-revealed .inside-stars{opacity:1}.intro-revealed .seal-left{transform:translate(-88px,80px) rotate(-34deg);opacity:0}.intro-revealed .seal-right{transform:translate(96px,64px) rotate(28deg);opacity:0}.intro-revealed .seal-imprint{opacity:0;transform:translateY(30px) rotate(-15deg)}.intro-revealed .wax-seal{pointer-events:none}.intro-revealed .wax-seal:focus-visible{outline:none}.discovery-tagline{font-size:clamp(22px,3.3vw,43px);color:#ffe348;letter-spacing:.025em;-webkit-text-stroke:1.2px #432046;paint-order:stroke fill;text-shadow:-2px -2px 0 #fff6d5,2px -2px 0 #fff6d5,-2px 2px 0 #fff6d5,2px 2px 0 #fff6d5,0 5px 0 #442043,0 9px 14px #101125;margin-top:12px}.enter-village{font-size:19px;background:linear-gradient(#28d0d9,#00aabc);color:#fff6cf;border:2px solid #432047;text-shadow:0 2px 0 #4b3150;box-shadow:0 3px 0 #fff0c9,0 7px 0 #432047}.intro-feedback{font-size:12px}.journey-brand{width:335px}.journey-header nav button{font-size:15px}.journey-story{bottom:27px;width:min(720px,calc(100% - 48px));padding:14px 26px 16px}.journey-story h1{font:400 33px/1.04 "Quest Display",sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#ffe04f;-webkit-text-stroke:1.1px #472048;paint-order:stroke fill;text-shadow:-1px -1px 0 #fff8df,1px -1px 0 #fff8df,-1px 1px 0 #fff8df,1px 1px 0 #fff8df,0 3px 0 #472048;margin:0 0 10px}.journey-story>p:not(.journey-chapter){font-size:13px;line-height:1.5}.journey-chapter{color:#a12b70;font-size:10px}.journey-actions{display:none}.journey-story:before{background:linear-gradient(105deg,#e7bd7b,#fff2c7 9%,#fff5d8 70%,#edca8b);box-shadow:0 4px 0 #9d704466,inset 0 3px 5px #fff9d888;border-color:#b78550}.path-entry{position:absolute;z-index:35;left:calc(50% - 75px);bottom:160px;width:150px;height:125px;padding:0;background:none;border:0;border-radius:50%;font-size:0!important;color:transparent;cursor:pointer;isolation:isolate}.path-entry:before,.path-entry:after{content:"";position:absolute;left:calc(50% - 12px);top:28%;width:15px;height:26px;border:2px solid #ffe997;border-radius:70% 60% 60% 80%;rotate:-18deg;background:#ffed9c18;box-shadow:0 0 14px #ffec9788;opacity:.26;transition:opacity .5s,translate .6s}.path-entry:after{left:calc(50% + 8px);top:9%;rotate:17deg;width:12px;height:22px;opacity:.18}.path-entry:hover:before,.path-entry:hover:after{opacity:.9;translate:0 -7px}.path-entry:focus-visible{outline:2px dashed #ffe891;outline-offset:-5px;background:#ffefb01a}.path-entry:focus-visible:after{content:attr(aria-label);position:absolute;top:auto;bottom:-15px;left:50%;translate:-50% 0;rotate:none;width:max-content;max-width:230px;height:auto;opacity:1;border:1px solid #b28e58;border-radius:6px;box-shadow:0 3px 0 #37253a66;background:#fff0c9;color:#442747;font:400 15px "Quest Display",sans-serif;padding:8px 13px}.path-back{position:absolute;right:22px;bottom:25px;z-index:56;min-width:49px;min-height:49px;padding:6px 11px;background:#34233be8;color:#ffe7a4;border:1px solid #c5a46b;border-radius:50%;box-shadow:0 4px 0 #18352e77}.path-back>span:first-child{font-size:25px;line-height:1}.path-back-caption{position:absolute;right:0;bottom:58px;width:max-content;max-width:160px;padding:7px 11px;background:#33273dec;border:1px solid #c4a268;border-radius:6px;font-size:11px;opacity:0;pointer-events:none}.path-back:hover .path-back-caption,.path-back:focus-visible .path-back-caption{opacity:1}.fork-signs{top:48%;gap:90px}.fork-signs button{font-size:22px}.prototype-note{font-size:9px}.journey-map summary{font-size:12px}
#journey-viewport{--cam-x:0px;--cam-y:0px;--cam-z:-90px;--cam-yaw:0deg;--cam-tilt:0deg;--frame-opacity:1}
#journey-viewport #scene-camera{transform:translate3d(var(--cam-x),var(--cam-y),var(--cam-z)) rotateX(var(--cam-tilt)) rotateY(var(--cam-yaw));transition:transform 3.25s cubic-bezier(.22,.66,.14,1)}
#journey-viewport[data-stop=gate]{--cam-z:250px;--cam-y:42px;--cam-tilt:-2deg;--frame-opacity:.85}
#journey-viewport[data-stop=trail]{--cam-z:580px;--cam-y:62px;--cam-tilt:-2deg;--frame-opacity:.22}
#journey-viewport[data-stop=fork]{--cam-z:690px;--cam-y:65px;--cam-tilt:-1deg;--frame-opacity:.08}
#journey-viewport[data-stop=bridge]{--cam-z:700px;--cam-x:clamp(210px,35vw,450px);--cam-y:45px;--cam-yaw:6deg;--cam-tilt:-1deg;--frame-opacity:0}
#journey-viewport[data-stop=garden]{--cam-z:700px;--cam-x:clamp(-450px,-35vw,-210px);--cam-y:45px;--cam-yaw:-6deg;--cam-tilt:-1deg;--frame-opacity:0}
.foreground-arch,.foreground-flowers{opacity:var(--frame-opacity);transition:opacity 2.5s}.journey-scenery{transform:translateZ(-250px) scale(1.26)}.village-gate{bottom:38%;transition:transform 3s ease,opacity 1.7s ease;transform-origin:center bottom}#journey-viewport[data-stop=gate] .village-gate{transform:translateZ(-70px) scale(1.1)}#journey-viewport[data-stop=trail] .village-gate{visibility:visible;transform:translateZ(350px) scale(2.6);pointer-events:none;opacity:0}
.discovery-thicket{position:absolute;transform-style:preserve-3d;isolation:isolate}.discovery-thicket>.world-friend{inset:0;width:100%;height:100%;bottom:auto;left:0;right:auto;transform:none;rotate:0;filter:drop-shadow(0 8px 4px #1a2e3566);z-index:1}.discovery-thicket>.world-friend:before{bottom:8px}.discovery-thicket>.world-friend img{height:100%;width:100%;object-fit:contain;object-position:center bottom}.thicket-branch{display:block;position:absolute;z-index:3;top:17%;left:-48%;width:168%;height:90%;transform-origin:8% 65%;pointer-events:none!important;will-change:transform;filter:drop-shadow(0 9px 7px #19342a99)}.thicket-branch>i{display:block;position:absolute;inset:0;background:var(--journey-branch-a) center/contain no-repeat;rotate:19deg;pointer-events:none}.thicket-branch[data-thicket-side=right]{left:auto;right:-51%;top:29%;transform-origin:92% 65%}.thicket-branch[data-thicket-side=right]>i{background-image:var(--journey-branch-b);scale:-1 1;rotate:-18deg}.discovery-thicket [data-discovery-caption]{z-index:6;bottom:-19px;width:max-content;max-width:180px;white-space:normal;text-align:center;font-size:13px;line-height:1.2;padding:6px 10px;border:1px solid #a77845;box-shadow:0 3px 0 #77533177;opacity:1;background:#ffedbd;pointer-events:none}.discovery-thicket.is-focused .thicket-branch,.discovery-thicket.discovered .thicket-branch{opacity:.1}.foliage-static .discovery-thicket.is-focused .thicket-branch,.foliage-static .discovery-thicket.discovered .thicket-branch{opacity:.1}.discovery-thicket:not(.is-near):not(.is-focused):not(.discovered) .world-friend img{filter:brightness(.83)}.thicket-mouse{left:23%;bottom:37%;width:140px;height:195px;transform:translateZ(-260px)}.thicket-badger{right:24%;bottom:37%;width:175px;height:190px;transform:translateZ(-260px)}.thicket-owl{left:24%;bottom:52%;width:110px;height:120px;transform:translateZ(-310px)}.thicket-raven{right:20%;bottom:52%;width:115px;height:124px;transform:translateZ(-310px)}.thicket-troll{left:7%;bottom:43%;width:220px;height:250px;transform:translateZ(-370px)}.thicket-gnome{right:7%;bottom:43%;width:180px;height:230px;transform:translateZ(-370px)}.destination-friends .discovery-thicket>.world-friend{opacity:1;visibility:visible;pointer-events:auto}.destination-friends .discovery-thicket{opacity:0;visibility:hidden;pointer-events:none}#journey-viewport[data-stop=bridge] .thicket-troll,#journey-viewport[data-stop=garden] .thicket-gnome{opacity:1;visibility:visible;pointer-events:auto}.world-friend span{font-family:"Quest Display",sans-serif}.journey-content-view .view-title{font-family:"Quest Display",sans-serif;color:#492149;text-transform:uppercase}
@media(max-width:1050px){.journey-brand{width:290px}.journey-header nav button{font-size:12px}.journey-story{width:min(630px,calc(100% - 64px));bottom:35px;padding:13px 20px}.journey-story h1{font-size:29px}.path-entry{bottom:180px}.thicket-mouse{width:120px;height:170px}.thicket-badger{width:145px;height:165px}.thicket-owl{width:95px;height:105px}.thicket-raven{width:100px;height:110px}.thicket-troll{width:175px;height:210px}.thicket-gnome{width:150px;height:200px}}
@media(max-width:600px){.scroll-arrival{width:92vw}.invitation-hint{font-size:15px;max-width:260px;margin:0 auto 18px}.banner-invitation{min-height:205px}.invitation-inside{min-height:170px}.invitation-closed{background-size:120% auto}.paper-fold{left:5%;right:5%;top:29%;height:29%}.fold-lower{top:auto;bottom:28%}.invitation-twine{inset:22% auto 22% calc(50% - 2px);width:4px}.wax-seal{width:103px;height:103px;left:calc(50% - 51.5px);top:calc(50% - 51.5px)}.seal-imprint{inset:19%}.seal-imprint svg{width:25px;height:25px}.seal-imprint b{font-size:14px}.intro-revealed .seal-left{transform:translate(-57px,60px) rotate(-32deg)}.intro-revealed .seal-right{transform:translate(57px,50px) rotate(28deg)}.discovery-tagline{font-size:27px;line-height:1.1;max-width:300px;margin:10px auto 21px;-webkit-text-stroke:1px #432046}.enter-village{font-size:15px}.intro-feedback{font-size:11px;max-width:290px;margin:23px auto 0}.journey-brand{width:270px}.journey-header nav button{font-size:10px}.journey-story{bottom:64px;width:calc(100% - 30px);padding:13px 17px}.journey-story h1{font-size:26px;line-height:1.04;margin-bottom:10px}.journey-story>p:not(.journey-chapter){font-size:12px;line-height:1.45}.journey-chapter{font-size:8px}.path-entry{left:calc(50% - 48px);width:96px;height:105px;bottom:220px}.path-entry:before{opacity:.46}.path-entry:after{opacity:.35}.path-back{right:16px;bottom:14px;min-width:44px;min-height:44px}.path-back>span:first-child{font-size:23px}.path-back-caption{display:none}.journey-map{bottom:14px}.journey-map summary{font-size:10px}.fork-signs{top:39%;gap:15px}.fork-signs button{font-size:15px}.thicket-mouse{left:18%;bottom:36%;width:90px;height:135px;transform:translateZ(-220px)}.thicket-badger{right:16%;bottom:36%;width:110px;height:135px;transform:translateZ(-220px)}.thicket-owl{left:20%;bottom:55%;width:78px;height:92px;transform:translateZ(-240px)}.thicket-raven{right:16%;bottom:55%;width:78px;height:92px;transform:translateZ(-240px)}.thicket-troll{left:-28%;bottom:39%;width:137px;height:175px;transform:translateZ(-260px)}.thicket-gnome{right:-28%;bottom:39%;width:125px;height:175px;transform:translateZ(-260px)}.discovery-thicket [data-discovery-caption]{font-size:11px;max-width:140px}.village-gate{bottom:39%}#journey-viewport[data-stop=gate] .village-gate{transform:translateZ(-60px) scale(.95)}#journey-viewport{--cam-z:-70px}#journey-viewport[data-stop=gate]{--cam-z:140px;--cam-y:20px;--cam-tilt:-2deg}#journey-viewport[data-stop=trail]{--cam-z:340px;--cam-y:25px;--cam-tilt:-2deg}#journey-viewport[data-stop=fork]{--cam-z:420px;--cam-y:30px;--cam-tilt:-1deg}#journey-viewport[data-stop=bridge]{--cam-z:460px;--cam-x:60vw;--cam-y:20px;--cam-yaw:7deg}#journey-viewport[data-stop=garden]{--cam-z:460px;--cam-x:-60vw;--cam-y:20px;--cam-yaw:-7deg}}
@media(max-height:640px) and (min-width:601px){.banner-invitation{min-height:180px}.invitation-inside{min-height:160px}.scroll-arrival{max-width:700px}.wax-seal{width:100px;height:100px;top:calc(50% - 50px);left:calc(50% - 50px)}.seal-imprint b{font-size:13px}.seal-imprint svg{width:24px;height:24px}.discovery-tagline{font-size:28px;margin:7px 0 16px}.journey-story h1{font-size:25px}.journey-story{padding:10px 22px;bottom:22px}.path-entry{bottom:145px;height:90px}}
#journey-app[data-motion=still] .invitation-inside,#journey-app[data-motion=still] .invitation-closed,#journey-app[data-motion=still] .thicket-branch{transition:none!important}#journey-app[data-motion=still] .intro-revealed .seal-half{opacity:0;transform:none}@media(prefers-reduced-motion:reduce){.invitation-inside,.invitation-closed,.thicket-branch{transition:none!important}.intro-revealed .seal-half{opacity:0;transform:none}}
:root{--seal-surface:url("assets/invitation-v10/wax-seal-v10.webp")}
/* Pass pointer input through camera/decorative planes to actual scene controls. */
#scene-camera{pointer-events:none}#scene-camera .world-friend,#scene-camera #village-gate{pointer-events:auto}#scene-camera #village-gate:disabled{pointer-events:none}.destination-friends .discovery-thicket>.world-friend{visibility:inherit}
.journey-story h1,.discovery-tagline{-webkit-text-stroke:2.4px #3d1e45;paint-order:stroke fill;text-shadow:0 3px 0 #6c3557;filter:drop-shadow(-1px 0 0 #fff5d6) drop-shadow(1px 0 0 #fff5d6) drop-shadow(0 -1px 0 #fff5d6)}
.journey-scenery{transform:translateZ(-500px) scale(1.5)}
.thicket-mouse,.thicket-badger{bottom:43%}.thicket-troll,.thicket-gnome{bottom:48%}
@media(max-width:600px){.thicket-mouse,.thicket-badger{bottom:43%}.thicket-troll,.thicket-gnome{bottom:46%}}
/* The thicket's invisible depth plane must never intercept its native button. */
.discovery-thicket{pointer-events:none!important}.discovery-thicket>.world-friend{pointer-events:auto!important}
@media(max-width:600px){.fork-signs{top:51%}}
#scene-camera *{pointer-events:none!important}#scene-camera button{pointer-events:auto!important}#scene-camera button:disabled{pointer-events:none!important}
.discovery-thicket>[data-discovery-caption]{position:absolute;left:50%;translate:-50% 0;z-index:8;display:inline-block;pointer-events:none}
/* Fork choices have their own reserved row, outside every character hit area. */
.journey-reading-dock{position:absolute;left:50%;bottom:27px;translate:-50% 0;width:min(720px,calc(100% - 48px));z-index:50;display:grid;gap:12px;pointer-events:none}
.journey-reading-dock>.journey-story{position:relative;left:auto;bottom:auto;translate:none;width:100%;pointer-events:none}
.journey-reading-dock>.fork-signs{position:static;left:auto;top:auto;translate:none;width:min(510px,100%);display:flex;gap:14px;margin:auto;align-items:stretch;pointer-events:none}
.journey-reading-dock>.fork-signs button{flex:1;min-width:0;min-height:48px;width:50%;padding:8px 14px;font-size:17px;gap:10px;rotate:-1.5deg;box-shadow:0 3px 0 #805332,0 5px 8px #183a324d;pointer-events:auto}
.journey-reading-dock>.fork-signs button+button{rotate:1.5deg;box-shadow:0 3px 0 #566a3f,0 5px 8px #183a324d}
@media(max-width:1050px){.journey-reading-dock{width:min(630px,calc(100% - 64px));bottom:35px}}
@media(max-width:600px){.journey-reading-dock{width:calc(100% - 30px);bottom:64px;gap:10px}.journey-reading-dock>.fork-signs{gap:12px}.journey-reading-dock>.fork-signs button{font-size:14px;padding:8px 11px;min-height:46px;gap:6px}}
@media(max-height:640px) and (min-width:601px){.journey-reading-dock{bottom:22px;gap:9px}.journey-reading-dock>.fork-signs button{min-height:44px;font-size:15px}}
.journey-reading-dock>.journey-story{grid-row:2}.journey-reading-dock>.fork-signs{grid-row:1}
#journey-viewport #scene-camera{transition-duration:1.45s}
.path-entry:before{opacity:.56}.path-entry:after{opacity:.4}.path-entry:hover:before,.path-entry:hover:after{opacity:1}
@media(max-width:600px){.path-entry{left:calc(50% - 32px);top:25%;bottom:auto;width:64px;height:64px}}
@media(max-width:350px){.village-friends>.friend-kitten{left:10%}.village-friends>.friend-puppy{right:7%}}
