body.visitor-preview-active,body.visitor-preview-active #root{min-height:100%}html:has(.visitor-preview){min-height:100%}body.visitor-preview-active{background:#fafafa;margin:0}body.visitor-preview-scroll-locked{overflow:hidden}.visitor-preview{--visitor-black:#303235;--visitor-dark-gray:#353535;--visitor-mid-gray:#777;--visitor-light-gray:#d7d7d2;--visitor-paper:#fafafa;--visitor-white:#fafafa;--entry-progress:0;--outside-opacity:1;--door-scale:1;--black-scale:1;--light-progress:0;--light-opacity:0;--light-scale:.1;min-height:100vh;color:var(--visitor-black);background:var(--visitor-paper);font-family:Arial Black,Arial,Helvetica,ui-sans-serif,system-ui,sans-serif;font-weight:800;line-height:.96;overflow:clip}.visitor-preview,.visitor-preview *{box-sizing:border-box}.visitor-preview button{color:inherit;font-family:inherit;font-weight:900}.visitor-entry-scene{z-index:3;height:100vh;position:relative}.visitor-entry-scene.is-unlocked{height:220vh}.visitor-entry-sticky{isolation:isolate;background:var(--visitor-paper);height:100vh;min-height:620px;position:sticky;top:0;overflow:hidden}.visitor-wordmark{z-index:4;max-width:94vw;opacity:var(--outside-opacity);letter-spacing:-.09em;transform:translateY(calc(var(--entry-progress) * -16vh));transform-origin:0 0;margin:0;font-size:clamp(4.5rem,14vw,13rem);font-weight:900;line-height:.74;transition:opacity 60ms linear;position:absolute;top:clamp(26px,5vh,62px);left:3vw}.visitor-door-stage{z-index:6;width:min(42vw,420px);height:min(60vh,570px);transform:translateX(-50%) scale(var(--door-scale));transform-origin:50% 64%;opacity:var(--outside-opacity);will-change:transform, opacity;transition:left .72s cubic-bezier(.2,.78,.2,1);position:absolute;top:24vh;left:50%}.visitor-preview:not([data-entry-state=outside]) .visitor-door-stage{left:34%}.visitor-door-frame{border:clamp(5px, .7vw, 10px) solid var(--visitor-black);background:var(--visitor-paper);width:100%;height:100%;box-shadow:5px 6px 0 var(--visitor-black);perspective:900px;border-radius:46% 46% 3% 3%/19% 19% 2% 2%;position:relative;transform:rotate(-.4deg)}.visitor-door-frame:before,.visitor-door-frame:after{content:"";pointer-events:none;position:absolute}.visitor-door-frame:before{border:2px dashed var(--visitor-dark-gray);border-radius:inherit;opacity:.42;inset:3% 5% 2%}.visitor-door-frame:after{border-top:3px solid var(--visitor-black);width:30%;height:8%;top:-5%;right:-4%;transform:rotate(4deg)}.visitor-door-shadow{background:var(--visitor-black);border-radius:inherit;position:absolute;inset:0}.visitor-door{z-index:2;border-radius:inherit;cursor:pointer;background:var(--visitor-paper);transform-origin:0;backface-visibility:hidden;border:0;width:100%;transition:color .18s,transform .72s cubic-bezier(.2,.78,.2,1),filter .18s;position:absolute;inset:0}.visitor-door:hover,.visitor-door:focus-visible{color:var(--visitor-mid-gray);filter:contrast(1.05)}.visitor-door:focus-visible{outline:5px solid var(--visitor-black);outline-offset:8px}.visitor-door-frame.is-open .visitor-door{transform:rotateY(-67deg)}.visitor-door-placeholder{letter-spacing:-.1em;font-size:clamp(4rem,9vw,8rem);display:block;transform:rotate(-2deg)}.visitor-knock-hint{opacity:0;width:max-content;color:var(--visitor-black);background:var(--visitor-white);border:3px solid var(--visitor-black);letter-spacing:-.05em;padding:.25em .4em;font-size:clamp(1.25rem,2.2vw,2.2rem);transition:opacity .16s,transform .16s;position:absolute;bottom:18%;right:-18%;transform:translateY(10px)rotate(2deg)}.visitor-door:hover .visitor-knock-hint,.visitor-door:focus-visible .visitor-knock-hint{opacity:1;transform:translateY(0)rotate(2deg)}.visitor-door-frame.is-resisting{animation:.48s cubic-bezier(.36,.07,.19,.97) visitor-door-resistance}.visitor-closed-prompt{opacity:0;width:max-content;max-width:80vw;color:var(--visitor-black);background:var(--visitor-white);border-bottom:4px solid var(--visitor-black);padding:.35em .5em;font-size:clamp(1rem,2vw,1.7rem);line-height:1.1;transition:opacity .18s,transform .18s;position:absolute;bottom:-12%;left:50%;transform:translate(-50%,12px)}.visitor-closed-prompt.is-visible{opacity:1;transform:translate(-50%)}.visitor-black-threshold{z-index:3;background:var(--visitor-black);height:40vh;transform:scale(var(--black-scale));transform-origin:50% 100%;will-change:transform;border-radius:48% 52% 0 0/24% 28% 0 0;position:absolute;bottom:-19vh;left:-8vw;right:-8vw}.visitor-light-circle{z-index:8;border:5px solid var(--visitor-black);width:32vmin;height:32vmin;opacity:var(--light-opacity);background:var(--visitor-white);transform:scale(var(--light-scale));transform-origin:50%;will-change:transform, opacity;border-radius:50%;position:absolute;top:-10vmin;right:-10vmin}.visitor-lamp-placeholder{z-index:9;opacity:var(--light-opacity);color:var(--visitor-black);background:var(--visitor-white);border:3px solid var(--visitor-black);letter-spacing:-.08em;padding:.15em .25em;font-size:clamp(1.2rem,3vmin,2.8rem);position:absolute;top:4vh;right:4vw;transform:rotate(2deg)}.visitor-reply{z-index:7;width:min(38vw,610px);color:var(--visitor-white);mix-blend-mode:difference;letter-spacing:-.055em;font-size:clamp(1.35rem,2.7vw,3.2rem);line-height:1.02;position:absolute;top:19vh;right:3vw}.visitor-thinking{color:var(--visitor-black);background:var(--visitor-light-gray);border:3px solid var(--visitor-black);mix-blend-mode:normal;padding:.25em .35em;display:inline-grid;position:relative;overflow:hidden}.visitor-thinking-sweep{background:linear-gradient(100deg,#0000 20%,#fafafae6 46%,#0000 70%);animation:.72s ease-in-out infinite visitor-thinking-sweep;position:absolute;inset:0;transform:translate(-120%)}.visitor-reply-main,.visitor-invite-line{gap:.16em;display:grid}.visitor-reply-line{display:block}.visitor-reply-character{opacity:.08;transition:opacity .18s}.visitor-reply-character.is-visible{opacity:1}.visitor-invite-line{opacity:0;margin-top:.75em;transition:opacity .24s,transform .24s;transform:translateY(12px)}.visitor-invite-line.is-visible{opacity:1;transform:translateY(0)}.visitor-screen-reader-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:pre;width:1px;height:1px;position:absolute;overflow:hidden}.visitor-minimal-hint{z-index:5;color:var(--visitor-white);letter-spacing:.02em;mix-blend-mode:difference;font-size:clamp(1rem,1.5vw,1.4rem);position:absolute;bottom:2.5vh;left:3vw}.visitor-inside{z-index:4;background:var(--visitor-white);position:relative}.visitor-chapter{border-top:5px solid var(--visitor-black);align-content:center;min-height:110vh;padding:clamp(64px,9vw,140px) max(4vw,28px);display:grid;position:relative;overflow:hidden}.visitor-chapter:nth-child(2n){background:var(--visitor-paper)}.visitor-chapter-number{letter-spacing:-.1em;font-size:clamp(3rem,8vw,8rem);position:absolute;top:3vw;right:4vw}.visitor-chapter h2{letter-spacing:-.09em;text-transform:uppercase;max-width:13ch;margin:0 0 .55em;font-size:clamp(4rem,11vw,11rem);line-height:.8}.visitor-stagger-item{opacity:0;transition:opacity .6s,transform .76s cubic-bezier(.2,.8,.2,1);transform:translateY(54px)rotate(.4deg)}.visitor-stagger-item:nth-child(2){transition-delay:70ms}.visitor-stagger-item:nth-child(3){transition-delay:.14s}.visitor-stagger-item:nth-child(4){transition-delay:.21s}.visitor-chapter.is-visible .visitor-stagger-item{opacity:1;transform:translateY(0)rotate(0)}.visitor-copy,.visitor-final-copy{letter-spacing:-.06em;max-width:24ch;margin-left:auto;font-size:clamp(1.8rem,4.7vw,5.2rem);line-height:.98}.visitor-copy p,.visitor-final-copy p,.visitor-memory-boundary p,.visitor-room-outline p,.visitor-leaving-copy p{margin:.2em 0}.visitor-threshold-mark{border:6px solid var(--visitor-black);letter-spacing:-.1em;text-align:center;width:55%;padding:.15em;font-size:clamp(3rem,8vw,8rem);position:absolute;bottom:9%;left:-2%;transform:rotate(-4deg)}.visitor-room-sketch{border:5px solid var(--visitor-black);border-radius:48% 52% 4% 3%/6% 8% 3% 4%;grid-template-columns:1fr 1.35fr 1fr;align-items:end;gap:4vw;min-height:48vh;margin-top:5vh;padding:5vw;display:grid;position:relative}.visitor-chair,.visitor-table{border:5px solid var(--visitor-black);letter-spacing:-.08em;place-items:center;min-height:24vh;font-size:clamp(2rem,5vw,5rem);display:grid}.visitor-chair-left{transform:rotate(-2deg)}.visitor-chair-right{transform:rotate(2deg)}.visitor-table{border-radius:50%;min-height:17vh}.visitor-paper-stack{outline:none;width:min(82vw,980px);min-height:62vh;margin:3vh auto 0;position:relative}.visitor-paper-stack:focus-visible{outline:5px dashed var(--visitor-black);outline-offset:14px}.visitor-paper{border:5px solid var(--visitor-black);background:var(--visitor-paper);filter:blur(2px);letter-spacing:-.1em;place-items:center;width:44%;min-height:42vh;font-size:clamp(3rem,7vw,7rem);transition:filter .26s,transform .5s;display:grid;position:absolute}.visitor-paper-one{top:4%;left:5%;transform:rotate(-6deg)}.visitor-paper-two{top:0;left:30%;transform:rotate(3deg)}.visitor-paper-three{top:9%;right:2%;transform:rotate(8deg)}.visitor-paper-stack:hover .visitor-paper,.visitor-paper-stack:focus-within .visitor-paper{filter:blur(6px)}.visitor-paper-stack:hover .visitor-paper-one,.visitor-paper-stack:focus-within .visitor-paper-one{transform:translate(-10%)rotate(-10deg)}.visitor-paper-stack:hover .visitor-paper-three,.visitor-paper-stack:focus-within .visitor-paper-three{transform:translate(10%)rotate(12deg)}.visitor-memory-boundary{z-index:5;opacity:0;max-width:27ch;color:var(--visitor-white);background:var(--visitor-black);letter-spacing:-.055em;padding:.65em;font-size:clamp(1.35rem,3.2vw,3.4rem);line-height:1.02;transition:opacity .24s,transform .36s;position:absolute;bottom:0;right:4%;transform:translateY(28px)rotate(1deg)}.visitor-paper-stack:hover .visitor-memory-boundary,.visitor-paper-stack:focus-within .visitor-memory-boundary{opacity:1;transform:translateY(0)rotate(1deg)}.visitor-room-grid{border-top:5px solid var(--visitor-black);border-left:5px solid var(--visitor-black);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.visitor-room-outline{border-right:5px solid var(--visitor-black);border-bottom:5px solid var(--visitor-black);min-height:36vh;padding:3vw;font-size:clamp(1.4rem,3vw,3rem);line-height:1}.visitor-room-outline strong{letter-spacing:-.09em;margin-bottom:.65em;font-size:clamp(2.5rem,6vw,6rem);display:block}.visitor-room-outline.is-closed{color:var(--visitor-white);background:var(--visitor-black)}.visitor-final-chapter{min-height:130vh;color:var(--visitor-white);background:var(--visitor-black)}.visitor-final-copy{margin-bottom:12vh}.visitor-exit-grid{border-top:4px solid var(--visitor-white);border-left:4px solid var(--visitor-white);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.visitor-exit-grid button{border:0;border-right:4px solid var(--visitor-white);border-bottom:4px solid var(--visitor-white);min-height:170px;color:var(--visitor-white);cursor:pointer;background:0 0;padding:.7em;font-size:clamp(1.7rem,3.5vw,3.8rem);line-height:.92;transition:color .16s,background .16s}.visitor-exit-grid button:hover:not(:disabled),.visitor-exit-grid button:focus-visible:not(:disabled){color:var(--visitor-black);background:var(--visitor-white)}.visitor-exit-grid button:focus-visible{outline:5px dashed var(--visitor-white);outline-offset:-12px}.visitor-exit-grid button:disabled{opacity:.42;cursor:not-allowed}.visitor-leaving-copy{max-width:20ch;color:var(--visitor-white);letter-spacing:-.06em;margin:10vh 0 0 auto;font-size:clamp(2rem,5vw,5.2rem);line-height:.95}@keyframes visitor-door-resistance{0%,to{transform:translate(0)rotate(-.4deg)}20%{transform:translate(-9px)rotate(-1.3deg)}42%{transform:translate(7px)rotate(.7deg)}66%{transform:translate(-4px)rotate(-.8deg)}84%{transform:translate(2px)rotate(-.1deg)}}@keyframes visitor-thinking-sweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@media (width<=760px){.visitor-entry-sticky{min-height:560px}.visitor-door-stage{width:min(62vw,360px);height:min(52vh,500px);top:27vh}.visitor-reply{width:52vw;top:16vh;right:5vw}.visitor-room-grid,.visitor-exit-grid,.visitor-room-sketch{grid-template-columns:1fr}.visitor-chair,.visitor-table{min-height:14vh}.visitor-exit-grid button{min-height:110px}}@media (prefers-reduced-motion:reduce){.visitor-preview *,.visitor-preview :before,.visitor-preview :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.visitor-stagger-item{opacity:1;transform:none}}
