@font-face{font-family:Onest;src:url('/assets/onest-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;src:url('/assets/onest-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193}
:root{--ink:#173933;--cream:#fff1d0;--gold:#e2c489;--forest:#172f30;--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;font-family:Onest,Arial,sans-serif;background:var(--forest);color:var(--cream)}
/* Keep the fading scaled forest from widening the mobile viewport behind a dialog. */
html{overflow:hidden}
*{box-sizing:border-box}body{margin:0;min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #fff0b8;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance;font-weight:400}p{text-wrap:pretty}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The illustration stays at its original aspect ratio. All UI is a separate layer. */
.forest{position:relative;isolation:isolate;overflow:hidden;height:100dvh;min-height:400px;background:var(--forest);transition:opacity .65s var(--ease),transform 1.1s var(--ease)}
.forest-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-4;transition:opacity 1.8s ease}
.forest-night{opacity:0;z-index:-3}[data-time=night] .forest-night{opacity:1}
.scene-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(#071c2366,transparent 42%,transparent 58%,#071f25c4 100%)}
.sunbeams{position:absolute;inset:-10%;z-index:-1;background:linear-gradient(116deg,transparent 25%,#fff0a509 31%,transparent 36%,transparent 61%,#ffeca50d 64%,transparent 68%);mix-blend-mode:screen;animation:light-breathe 12s ease-in-out infinite;pointer-events:none}
.frame{position:absolute;inset:12px;z-index:7;border:1px solid #d4b27880;background-image:url('/assets/frame-tl.svg'),url('/assets/frame-tr.svg'),url('/assets/frame-bl.svg'),url('/assets/frame-br.svg');background-position:left top,right top,left bottom,right bottom;background-size:86px 86px;background-repeat:no-repeat;pointer-events:none;opacity:.8}.frame::after{content:'';position:absolute;inset:5px;border:1px solid #d4b27826}
.scene-header{position:absolute;left:7%;right:7%;top:5.5%;display:flex;justify-content:space-between;align-items:center;z-index:5}
.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1;text-decoration:none;color:inherit;letter-spacing:-.025em;text-shadow:0 2px 12px #152a2c}.wordmark span{display:block;font:10px Onest,Arial,sans-serif;margin-top:10px;color:#f0e6ce}
.theme-toggle{border:1px solid #e1cfa940;background:#102d2f8c;border-radius:30px;padding:10px 14px;font-size:11px;line-height:1.4;display:flex;align-items:center;gap:7px;transition:background .2s}.theme-toggle:hover{background:#254843}
.invitation{position:absolute;left:15%;right:15%;top:11%;text-align:center;z-index:3;pointer-events:none;text-shadow:0 2px 18px #142f30,0 1px 5px #142c2c}
.occasion{font-size:11px;line-height:1.5;margin:0 0 15px;color:#f1dfb9}
h1{font:clamp(36px,4.1vw,52px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0}.invitation-copy{font-size:12px;line-height:1.65;margin:15px 0 0;color:#f4e9ce}
/* Cyclic depth carousel: side doors recede as whole objects, never stretch. */
.doors{--side-x:clamp(135px,17vw,220px);--door-height:min(35dvh,350px);position:absolute;bottom:21%;left:6%;right:6%;height:calc(var(--door-height) + 80px);z-index:4;touch-action:pan-y;user-select:none}
.door{position:absolute;left:50%;bottom:0;width:calc(var(--door-height)/2 + 64px);padding:0;border:0;background:none;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;color:var(--cream);transform:translateX(-50%);transform-origin:50% 88%;transition:transform .85s var(--ease),filter .8s,opacity .8s;will-change:transform;isolation:isolate}
.door.is-current{z-index:3;filter:brightness(1.08);opacity:1}.door.is-left{z-index:1;transform:translateX(calc(-50% - var(--side-x))) translateY(-35px) scale(.77);filter:brightness(.76);opacity:.88}.door.is-right{z-index:2;transform:translateX(calc(-50% + var(--side-x))) translateY(-35px) scale(.77);filter:brightness(.76);opacity:.88}
.portal{display:block;position:relative;height:var(--door-height);width:auto;aspect-ratio:1/2;flex:0 0 auto;filter:drop-shadow(0 15px 9px #10242180);transition:filter .45s;transform-origin:50% 100%}.door-art{display:block;position:absolute;inset:0;background-image:url('/assets/doors-v7.webp');background-size:300% 100%;background-repeat:no-repeat;background-position:0 0}.door-marketing .door-art{background-position:50% 0}.door-ai .door-art{background-position:100% 0}
.portal-light{position:absolute;inset:12% 18% 7%;background:#ffdf9d;opacity:.15;border-radius:50% 50% 2px 2px;box-shadow:0 0 35px 15px #ffdd8c80;transition:opacity .5s}.is-current .portal-light{opacity:.38}.door:hover .portal,.door:focus-visible .portal{filter:drop-shadow(0 0 17px #ffe5a770)}.door:hover .portal-light{opacity:.65}.door-caption{display:flex;align-items:center;flex-direction:column;height:80px;flex:0 0 80px;white-space:nowrap;text-shadow:0 2px 12px #071f25,0 1px 5px #071f25;transition:opacity .4s;padding-top:7px}.door:not(.is-current) .door-caption{opacity:0;pointer-events:none}.door-name{font:27px/1.2 Georgia,serif;letter-spacing:-.02em}.door-description{font-size:11px;margin-top:5px;color:#f1e2bd}.door-enter{font-size:11px;color:#ffe4a8;margin-top:8px}.door-enter span{margin-left:7px}
.carousel-controls{position:absolute;bottom:14.4%;left:50%;transform:translateX(-50%);height:48px;display:flex;align-items:center;justify-content:center;gap:24px;z-index:6}.carousel-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid #e0c5898c;border-radius:50%;background:#1333379c;color:var(--cream);font:23px/1 Georgia,serif;transition:background .2s,transform .3s}.carousel-arrow:hover{background:#49665c;transform:scale(1.06)}.carousel-middle{min-width:130px;text-align:center}.carousel-dots{display:flex;align-items:center;justify-content:center;gap:0}.carousel-dot{width:28px;height:27px;background:none;border:0;padding:10px}.carousel-dot::after{content:'';display:block;width:6px;height:6px;border:1px solid #e9d3a3;border-radius:50%;transition:background .3s,box-shadow .3s}.carousel-dot[aria-current=true]::after{background:#ffdfa1;box-shadow:0 0 9px #ffe4a1}.swipe-hint{font-size:9px;color:#efe4c9}
.help-request{position:absolute;bottom:8.5%;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;white-space:nowrap;background:#13353b85;border:1px solid #e0c7a14d;border-radius:40px;padding:12px 20px;font-size:12px;z-index:6;transition:background .3s,border-color .3s}.help-request:hover{background:#2b5353;border-color:#d2bb8c}.help-spark{font-size:21px;color:#ffe3ac;line-height:1}
.scene-footer{position:absolute;bottom:3.8%;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;color:#e9dfc9;font-size:10px;z-index:6}.forest-hint{display:flex;align-items:center;gap:9px}.forest-hint i{width:4px;height:4px;display:inline-block;border-radius:50%;background:#fff5c1;box-shadow:0 0 8px 3px #d6a94a}.scene-footer button{border:0;background:none;padding:9px 0;font-size:10px;color:inherit}
.wandering-light{position:absolute;top:51%;left:47%;width:5px;height:5px;border-radius:50%;background:#fff8d1;box-shadow:0 0 10px 4px #f7d370,0 0 25px 9px #e8be6444;z-index:6;animation:wander 11s ease-in-out infinite;pointer-events:none}.firefly-dust{position:absolute;inset:0;pointer-events:none;z-index:2}.firefly-dust i{position:absolute;left:18%;top:66%;width:3px;height:3px;border-radius:50%;background:#ffe8aa;box-shadow:0 0 10px 3px #f9cc7277;animation:drift 13s ease-in-out infinite}.firefly-dust i:nth-child(2){left:80%;top:45%;animation-delay:-3s}.firefly-dust i:nth-child(3){left:72%;top:71%;animation-delay:-7s}.firefly-dust i:nth-child(4){left:31%;top:56%;animation-delay:-5s}.firefly-dust i:nth-child(5){left:58%;top:39%;animation-delay:-10s}
@keyframes wander{0%,100%{transform:translate(-45px,-10px)}35%{transform:translate(75px,8px)}70%{transform:translate(10px,-38px)}}@keyframes drift{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(25px,-35px);opacity:1}}@keyframes light-breathe{50%{opacity:.35;transform:translateX(1%)}}
#firefly{position:fixed;left:0;top:0;width:8px;height:8px;border-radius:50%;background:#fff9cd;box-shadow:0 0 10px 4px #ffdf84,0 0 26px 9px #edc45b75;transform:translate3d(var(--cursor-x,-100px),var(--cursor-y,-100px),0);margin:-4px 0 0 -4px;z-index:40;pointer-events:none;opacity:0;transition:opacity .2s,box-shadow .2s}#firefly i,#firefly b{position:absolute;width:10px;height:5px;border-radius:80% 0;background:#fff4bb9c;top:-3px;left:-6px;transform:rotate(25deg);animation:wing .12s ease-in-out infinite alternate}#firefly b{left:5px;transform:scaleX(-1) rotate(25deg)}#firefly.is-hovered{box-shadow:0 0 15px 7px #ffe69b,0 0 35px 14px #edc45b80}.has-pointer:not(.is-still) #firefly{opacity:1}.has-pointer:not(.is-still) .forest,.has-pointer:not(.is-still) .forest button,.has-pointer:not(.is-still) .forest a{cursor:none}.dialog-open #firefly{display:none}.is-still #firefly{display:none}@keyframes wing{to{opacity:.4;scale:.7}}
/* Loading is tied to settled assets; fog provides the reveal, not a fake timer. */
.mist-intro{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;background:#bdcdc5c7;backdrop-filter:blur(22px);transition:opacity 1.1s ease,backdrop-filter 1.1s ease;isolation:isolate;color:#294941}.fog{position:absolute;inset:-45%;background:radial-gradient(ellipse at 20% 40%,#e6e9d4ec,transparent 45%),radial-gradient(ellipse at 70% 60%,#9bb4ace6,transparent 48%);filter:blur(35px);z-index:-1;animation:fog-drift 16s ease-in-out infinite alternate;transition:transform 1.6s var(--ease),opacity 1.4s}.fog-two{transform:scaleX(-1);animation-direction:alternate-reverse;opacity:.8}.intro-content{text-align:center;position:relative;padding:24px;transition:opacity .5s}.intro-light{display:inline-block;width:7px;height:7px;background:#fff4b8;border-radius:50%;box-shadow:0 0 25px 12px #fff0b07a;margin:0 0 25px}.intro-brand{font:21px Georgia,serif;margin:0 0 20px}.intro-content h2{font:40px/1.13 Georgia,serif;letter-spacing:-.03em;margin:0 0 34px}.loading-progress{width:180px;height:2px;background:#365f4930;margin:0 auto 14px;overflow:hidden}.loading-progress>span{display:block;height:100%;width:var(--progress,0%);background:#385b4b;transition:width .3s}.loading-number{font:15px Georgia,serif;font-variant-numeric:tabular-nums}#loading-status{font-size:11px;margin:15px 0 28px}#enter-forest{border:0;background:none;padding:12px;color:#37574b;font-size:10px;text-decoration:underline;text-underline-offset:5px}.is-ready .mist-intro{opacity:0;backdrop-filter:blur(0);pointer-events:none}.is-ready .mist-intro .fog-one{transform:translateX(-45%);opacity:0}.is-ready .mist-intro .fog-two{transform:translateX(45%);opacity:0}.is-ready .intro-content{opacity:0}@keyframes fog-drift{to{translate:7% 5%}}
/* Worlds use one full-bleed painting and a deliberately small glass questionnaire. */
.world-open .forest{opacity:0;transform:scale(1.04);pointer-events:none}.world-scene{position:fixed;inset:0;z-index:10;isolation:isolate;background:#173f46;animation:world-reveal 1s var(--ease)}.world-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-3;animation:landscape-arrive 1.8s var(--ease)}.world-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#102e3322,transparent 40%,#102f3333),linear-gradient(transparent 55%,#102d3577)}.world-mood{position:absolute;inset:0;z-index:-1;pointer-events:none;background:#1c234b;opacity:0;mix-blend-mode:multiply;transition:opacity 1.8s}[data-time=night] .world-mood{opacity:.28}.world-intro{position:absolute;left:7%;top:9%;max-width:40%;color:#fff6dc;text-shadow:0 2px 18px #163e40}.world-brand{font:25px Georgia,serif;margin:0 0 40px}.world-intro h2{font:clamp(36px,4.2vw,64px)/1.04 Georgia,serif;letter-spacing:-.035em;margin:0 0 18px}.world-intro>p:last-child{font-size:13px;line-height:1.7;max-width:32ch;margin:0}.world-loading{position:absolute;inset:45% 0 auto;text-align:center;z-index:15;font-size:13px}.world-loading:not([hidden]){background:#163c46bb;padding:18px}
@keyframes world-reveal{from{opacity:0}to{opacity:1}}@keyframes landscape-arrive{from{transform:scale(1.05)}to{transform:scale(1)}}
dialog{position:fixed;inset:0 7% 0 auto;margin:auto 0;width:min(440px,42vw);max-width:none;max-height:calc(100dvh - 60px);padding:0;border:1px solid #ffffff80;border-radius:27px;background:linear-gradient(130deg,#fffdf2c9,#f1f7eeb3 60%,#f8fff1c7);color:var(--ink);box-shadow:inset 1px 1px 0 #ffffffb3,inset -1px -1px 0 #d6e5d2b0,0 25px 85px #0c303742;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);overflow:auto;overscroll-behavior:contain;color-scheme:light}dialog::backdrop{background:transparent}dialog[open]{animation:glass-arrive .7s .45s var(--ease) both}.dialog-inner{padding:22px 30px 28px;position:relative}.dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.text-button{background:none;border:0;padding:10px 0;color:#355d51;font-size:11px}.close-dialog{border:0;background:none;font:25px/1 Georgia,serif;padding:6px 8px;color:#47665d}.dialog-topline{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#4f6b5e;margin:0 0 17px}.dialog-topline #topic-label{color:#2d5c4c}dialog h2{font:34px/1.1 Georgia,serif;letter-spacing:-.03em;margin:0 0 20px}fieldset{border:0;margin:0;padding:0;min-width:0}.field-intro{font-size:12px;line-height:1.65;color:#3a5d51;margin:0 0 20px}label{display:block;font-size:11px;line-height:1.5;margin:15px 0 8px}textarea,input:not([type=checkbox]){display:block;width:100%;padding:13px;border:1px solid #6d91816e;border-radius:12px;background:#fafff5a1;color:#153e30;outline:none;font-size:14px;line-height:1.55;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:115px;max-height:220px}textarea:focus,input:focus{border-color:#436e59;box-shadow:0 0 0 3px #527e5b1c}textarea::placeholder,input::placeholder{color:#547264}.field-note{display:block;font-size:9px;line-height:1.5;color:#4d6d5d;margin-top:8px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:10px;line-height:1.6;color:#355a48;margin-top:20px}.consent input{margin:2px 0 0;accent-color:#284e40;flex-shrink:0;width:17px;height:17px}.form-actions{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-top:23px}.primary-button{display:flex;align-items:center;justify-content:center;gap:25px;border:1px solid #264b40;background:#264b40;color:#fff2d1;padding:14px 21px;border-radius:30px;font-size:12px;transition:background .2s,transform .2s;margin-left:auto}.primary-button:hover{background:#385e4e}.primary-button:active{transform:scale(.98)}.primary-button span{font-size:17px}.donation-note{font-size:9px;line-height:1.5;color:#4f6d5e;text-align:center;margin:18px 0 0}.preview-notice{font-size:10px;line-height:1.5;color:#4b644d;background:#ffffff60;border:1px solid #718b6929;border-radius:8px;padding:9px 11px;margin:18px 0 0}.form-error{font-size:12px;line-height:1.5;color:#8c3028;padding:10px 0}.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}dialog button:focus-visible{outline-color:#3e6c55}#draft-block{margin-bottom:22px}#request-draft{font-size:12px;min-height:96px}#form-result h3{font:27px/1.15 Georgia,serif;margin:20px 0 12px}#form-result p{font-size:12px;line-height:1.65;color:#385e4b}#result-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:12px/1.7 Onest,sans-serif;background:#ffffff60;border-radius:12px;padding:16px;margin:20px 0}#return-forest{width:100%}.result-light{width:8px;height:8px;border-radius:50%;background:#b38a3d;box-shadow:0 0 18px #d4a74d80;margin-top:20px}.noscript{position:fixed;bottom:0;background:#e9efdd;color:#173c30;padding:20px;z-index:50;width:100%}@keyframes glass-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:900px){.scene-header{left:8%;right:8%}.invitation{top:15%}.occasion{font-size:10px}h1{font-size:46px}.world-intro{left:6%;max-width:40%}.world-intro h2{font-size:42px}dialog{right:4%;width:47vw}.dialog-inner{padding:18px 23px 24px}}
@media(max-width:650px){
  .forest{min-height:400px}.forest-background{object-position:50% 55%}.frame{inset:6px;background-size:56px 56px}.frame::after{inset:4px}.scene-header{top:4.5%;left:9%;right:9%;align-items:flex-start}.wordmark{font-size:25px}.wordmark span{font-size:8px;margin-top:8px;max-width:110px;line-height:1.5}.theme-toggle{font-size:9px;padding:8px 10px;max-width:116px;min-height:36px;text-align:left;line-height:1.4}.invitation{top:14.5%;left:7%;right:7%}.occasion{font-size:9px;max-width:235px;margin:0 auto 12px;line-height:1.6}h1{font-size:34px;letter-spacing:-.035em}.invitation-copy{font-size:10px;margin-top:12px;line-height:1.6}.doors{--side-x:27vw;--door-height:32dvh;left:0;right:0;bottom:23.5%;height:calc(var(--door-height) + 72px)}.door{width:calc(var(--door-height)/2 + 30px)}.door.is-left{transform:translateX(calc(-50% - var(--side-x))) translateY(-24px) scale(.74)}.door.is-right{transform:translateX(calc(-50% + var(--side-x))) translateY(-24px) scale(.74)}.door-caption{height:72px;flex-basis:72px;padding-top:6px}.door-name{font-size:24px}.door-description{font-size:10px;margin-top:5px}.door-enter{font-size:10px;margin-top:6px}.carousel-controls{bottom:16.8%;gap:17px;height:44px}.carousel-middle{min-width:118px}.carousel-arrow{width:40px;height:40px;font-size:21px}.help-request{bottom:9.7%;font-size:11px;gap:9px;padding:11px 15px;max-width:90%}.help-spark{font-size:18px}.scene-footer{bottom:3.8%;left:9%;right:9%;font-size:8px;gap:12px}.forest-hint{max-width:145px;line-height:1.5;gap:6px}.scene-footer button{font-size:8px;max-width:110px;text-align:right}.intro-content h2{font-size:34px}.world-background{object-position:38% 50%}.world-shade{background:linear-gradient(#0c333f35,transparent 30%,#123a4370)}.world-intro{top:5%;left:8%;max-width:84%}.world-brand{font-size:20px;margin:0 0 16px}.world-intro h2{font-size:34px;margin-bottom:10px;max-width:13ch}.world-intro>p:last-child{font-size:11px;line-height:1.5;max-width:28ch}dialog{left:5%;right:5%;top:auto;bottom:max(15px,env(safe-area-inset-bottom));width:90%;max-height:65dvh;margin:0;border-radius:24px}.dialog-inner{padding:14px 21px 22px}.dialog-navigation{margin-bottom:11px}.dialog-topline{font-size:9px;margin-bottom:13px}dialog h2{font-size:28px;margin-bottom:15px}.field-intro{font-size:11px;line-height:1.6;margin-bottom:16px}label{font-size:10px;margin-top:12px}textarea,input:not([type=checkbox]){font-size:16px;padding:11px}textarea{min-height:105px;max-height:180px}.form-actions{margin-top:18px}.primary-button{font-size:11px;padding:12px 18px}.preview-notice{font-size:9px;margin-top:14px}.donation-note{font-size:8px;margin-top:15px}.field-note{font-size:8px}#request-draft{font-size:14px}
}
@media(max-height:740px) and (min-width:651px){.scene-header{top:5%}.invitation{top:13%}h1{font-size:43px}.occasion{font-size:9px;margin-bottom:10px}.invitation-copy{font-size:10px;margin-top:10px}.doors{--door-height:35dvh;bottom:23%;height:calc(var(--door-height) + 65px)}.door-caption{height:65px;flex-basis:65px}.door-name{font-size:24px}.door-description,.door-enter{font-size:10px;margin-top:4px}.carousel-controls{bottom:15%}.help-request{bottom:8%;padding:9px 18px}.scene-footer{bottom:2.7%}.world-intro h2{font-size:44px}dialog{max-height:calc(100dvh - 30px)}.dialog-inner{padding:15px 25px 21px}.dialog-navigation{margin-bottom:10px}}
@media(max-height:700px) and (max-width:650px){.scene-header{top:4.5%}.wordmark{font-size:22px}.wordmark span{font-size:7px}.theme-toggle{font-size:8px;min-height:32px}.invitation{top:15%}.occasion{font-size:8px;margin-bottom:8px}h1{font-size:32px}.invitation-copy{font-size:9px;margin-top:8px}.doors{--door-height:31dvh;bottom:23%;height:calc(var(--door-height) + 65px)}.door-caption{height:65px;flex-basis:65px}.door-name{font-size:21px}.door-description{font-size:9px}.door-enter{font-size:9px;margin-top:5px}.carousel-controls{bottom:15%;height:38px}.carousel-arrow{width:36px;height:36px}.swipe-hint{font-size:8px}.help-request{bottom:7.7%;font-size:10px;padding:9px 13px}.scene-footer{bottom:1.8%;font-size:7px}.scene-footer button{font-size:7px}.world-intro{top:4%}.world-brand{font-size:17px;margin-bottom:13px}.world-intro h2{font-size:29px}.world-intro>p:last-child{font-size:10px}dialog{max-height:66dvh;bottom:10px}.dialog-inner{padding:12px 18px 18px}}
@media(max-height:480px){.invitation-copy{display:none}.invitation{top:12%}.occasion{margin-bottom:6px}h1{font-size:30px}.doors{--door-height:31dvh;bottom:23%;--side-x:130px}.door-name{font-size:21px}.help-request{bottom:6.5%;padding:7px 14px}.carousel-controls{bottom:14%;height:34px}.carousel-arrow{width:34px;height:34px}.scene-footer{bottom:1%;font-size:8px}.scene-footer button{font-size:8px}.world-intro h2{font-size:34px}.world-brand{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#firefly{display:none!important}.forest,.forest button,.forest a{cursor:auto!important}}
.is-still *, .is-still *::before, .is-still *::after{animation-play-state:paused!important;transition-duration:0s!important}.is-still .wandering-light{opacity:.65}

@media(max-height:700px) and (max-width:650px){.invitation-copy{display:none}.invitation{top:15%}h1{font-size:29px}}

/* v7: quiet clearing and a mist screen with only a large counter. */
.scene-header{justify-content:flex-end;top:6%}.theme-toggle{display:grid;place-items:center;width:46px;height:46px;padding:10px;min-width:46px;border-color:#e1cfa94d}.theme-sun,.theme-moon{grid-area:1/1}.theme-moon{display:none}[data-time=night] .theme-sun{display:none}[data-time=night] .theme-moon{display:block}
.invitation{top:13%;left:8%;right:8%}h1{font-size:clamp(38px,4.5vw,62px);letter-spacing:-.035em}.doors{--door-height:min(44dvh,450px);height:calc(var(--door-height) + 58px);bottom:22%;--side-x:clamp(150px,17vw,230px)}.door-caption{height:58px;flex-basis:58px;padding-top:2px}.door-name{font-size:29px}.carousel-controls{bottom:15%;height:46px}.carousel-middle{min-width:112px}.help-request{bottom:8%}
body:not(.is-ready) .forest>:not(.forest-background):not(.scene-shade){visibility:hidden}.mist-intro{background:#c4d5cc3d;backdrop-filter:blur(2px);color:#fffae9}.fog{inset:-35%;background:radial-gradient(ellipse at 25% 60%,#e1e9d7a3,transparent 49%),radial-gradient(ellipse at 75% 45%,#bfd1c7ab,transparent 48%);filter:blur(27px)}.fog-two{opacity:.65}.intro-content{padding:0}.loading-number{font:400 clamp(100px,15vw,176px)/1 Onest,Arial,sans-serif;letter-spacing:-.065em;text-shadow:0 3px 35px #274d4b66;display:block;padding-right:.065em}.loading-fireflies{position:absolute;inset:0;pointer-events:none}.loading-fireflies i{position:absolute;left:18%;top:32%;width:5px;height:5px;background:#fff8c0;border-radius:50%;box-shadow:0 0 8px 3px #ffdf8f,0 0 22px 7px #ffcd6377;animation:mist-flight 5s ease-in-out infinite;opacity:.9}.loading-fireflies i:nth-child(2){left:77%;top:28%;animation-delay:-2.4s;width:3px;height:3px}.loading-fireflies i:nth-child(3){left:65%;top:68%;animation-delay:-1s}.loading-fireflies i:nth-child(4){left:32%;top:74%;animation-delay:-3.7s;width:3px;height:3px}.loading-fireflies i:nth-child(5){left:85%;top:57%;animation-delay:-2s}.loading-fireflies i:nth-child(6){left:11%;top:61%;animation-delay:-4.1s;width:3px;height:3px}.loading-fireflies i:nth-child(7){left:42%;top:22%;animation-delay:-.7s}.loading-fireflies i:nth-child(8){left:55%;top:82%;animation-delay:-3.1s;width:3px;height:3px}.loading-fireflies i:nth-child(9){left:68%;top:43%;animation-delay:-1.8s;width:3px;height:3px}@keyframes mist-flight{0%,100%{transform:translate(0,0);opacity:.45}40%{transform:translate(38px,-26px);opacity:1}70%{transform:translate(-15px,-55px);opacity:.7}}
@media(max-width:650px){.scene-header{top:5%;right:9%}.theme-toggle{min-width:42px;width:42px;height:42px;padding:9px}.invitation{top:16%;left:5%;right:5%}h1{font-size:38px}.doors{--door-height:40dvh;--side-x:28vw;bottom:23%;height:calc(var(--door-height) + 55px)}.door-caption{height:55px;flex-basis:55px;padding-top:0}.door-name{font-size:25px}.carousel-controls{bottom:15%;gap:15px}.help-request{bottom:8%;font-size:11px}.world-intro{top:7%}.loading-number{font-size:110px}}
@media(max-height:700px) and (max-width:650px){.invitation{top:15%}h1{font-size:34px}.doors{--door-height:37dvh;bottom:24%;height:calc(var(--door-height) + 48px)}.door-caption{height:48px;flex-basis:48px}.door-name{font-size:23px}.carousel-controls{bottom:14%;height:36px}.help-request{bottom:5.7%}.theme-toggle{min-width:38px;width:38px;height:38px}.world-intro{top:6%}}
@media(max-height:740px) and (min-width:651px){.invitation{top:11%}h1{font-size:43px}.doors{--door-height:42dvh;bottom:22%;height:calc(var(--door-height) + 50px)}.door-caption{height:50px;flex-basis:50px}.door-name{font-size:25px}.carousel-controls{bottom:13%}.help-request{bottom:5%}}

.frame{inset:0;border:0;background-image:url('/assets/frame-tl-v7.svg'),url('/assets/frame-tr-v7.svg'),url('/assets/frame-bl-v7.svg'),url('/assets/frame-br-v7.svg');background-size:150px 150px;opacity:1}.frame::after{display:none}@media(max-width:650px){.frame{inset:0;background-size:88px 88px}}
/* The rectangular sprite includes its own seam light; keep the meadow below it clear. */
.portal-light{display:none}.door.is-left,.door.is-right{opacity:1}.door-self .door-art{translate:-6.5% 0}.door-ai .door-art{translate:6.5% 0}
