*{box-sizing:border-box}html{background:#172c31;scrollbar-width:thin;scrollbar-color:#9f7d54 #172c31}body{margin:0;color:#f8e7cb;font-family:Georgia,serif}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait}button:focus-visible{outline:2px solid #ffe4a7;outline-offset:5px}[hidden]{display:none!important}#voyage-shell{position:fixed;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto}#experiment-controls{--experiment-footer-bg:#11252b;--experiment-footer-ink:#f8e7cb;--experiment-footer-border:#43616a;min-height:44px;position:relative;z-index:10}#experience{position:relative;min-height:0;container-type:size;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#30434a,#11252b)}#stage{position:absolute;width:min(100cqw,177.7778cqh);height:min(100cqh,56.25cqw);left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden}#world,.opening-preview,#hotspots,#transition{position:absolute;inset:0;width:100%;height:100%}.opening-preview{object-fit:cover;transition:opacity .6s}#world{opacity:0;transition:opacity .6s;touch-action:pan-y}body.loaded #world{opacity:1}body.loaded .opening-preview{opacity:0;pointer-events:none}#transition{background:#152b32;pointer-events:none;opacity:0}#hotspots{pointer-events:none}#experience header{position:absolute;top:0;left:0;right:0;padding:26px 34px;display:flex;justify-content:space-between;align-items:center;z-index:4;pointer-events:none;background:linear-gradient(#12293170,transparent)}#experience header>*{pointer-events:auto}.wordmark{font:12px Arial,sans-serif;letter-spacing:.24em;text-shadow:0 1px 8px #102831}.wordmark i{font:italic 14px Georgia,serif;letter-spacing:0;margin-left:10px}.header-actions{display:flex;gap:24px}.quiet{background:none;border:0;padding:8px 0;font:14px Arial,sans-serif;text-shadow:0 1px 6px #102831}.quiet:hover{color:#ffe2a0}.intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:3;transition:opacity .7s,visibility .7s;pointer-events:none;text-shadow:0 2px 20px #361414}.intro>*{pointer-events:auto}.intro p:first-child,#ending>p{font:12px Arial,sans-serif;letter-spacing:.25em}.intro h1{font-size:clamp(42px,6vw,86px);font-weight:400;letter-spacing:-.055em;margin:14px 0}.intro-line{font-size:18px;font-style:italic;margin:6px 0 28px}.paper-button{font-size:16px;background:#f4e2be;color:#3d392e;border:1px solid #d6ba86;padding:15px 22px;border-radius:2px;box-shadow:1px 4px 0 #532b272e;text-shadow:none;transition:background .2s}.paper-button:hover{background:#ffeaca}.paper-button span{padding-left:20px}.scroll-note{font:12px Arial,sans-serif;margin-top:22px;opacity:.8}.started .intro{opacity:0;visibility:hidden;pointer-events:none}.started .intro>*{pointer-events:none}#experience footer{position:absolute;bottom:0;left:0;right:0;min-height:130px;padding:25px 34px 16px;pointer-events:none;background:linear-gradient(transparent,#122a32bf)}#experience footer button{pointer-events:auto}.chapter-copy{max-width:70%}.chapter-copy>span{font:12px Arial,sans-serif;letter-spacing:.2em;color:#edcf96}.chapter-copy p{font-size:17px;margin:6px 0 18px;text-shadow:0 2px 7px #14292f}#experience nav{display:flex;gap:23px;align-items:center}#experience nav button{background:none;border:0;font:12px Arial,sans-serif;color:#e5dcc9a6;padding:4px 0 10px;letter-spacing:.02em}#experience nav button span{margin-left:5px}#experience nav button.active{color:#ffe5b3}#experience nav button:hover{color:#fff0cf}.ticket{position:absolute;right:34px;bottom:42px;background:#ecdbb7;color:#3c4b47;border:1px solid #dcc494;clip-path:polygon(3% 0,97% 0,100% 12%,98% 18%,100% 25%,98% 32%,100% 39%,98% 46%,100% 53%,98% 60%,100% 67%,98% 74%,100% 81%,98% 88%,100% 95%,97% 100%,3% 100%,0 88%,2% 81%,0 74%,2% 67%,0 60%,2% 53%,0 46%,2% 39%,0 32%,2% 25%,0 18%,2% 12%);padding:12px 20px;font-size:17px;transform:rotate(-3deg);box-shadow:2px 4px 4px #13282c50}.ticket span{display:block;font:9px Arial,sans-serif;letter-spacing:.22em;margin-bottom:5px}.ticket i{font-style:normal;padding-left:20px}.ticket:hover{transform:rotate(0)}.ticket[aria-pressed=true]{background:#f6c76e}.progress{height:1px;background:#eee1c524;margin-top:8px}.progress i{display:block;height:1px;background:#ebcc93;width:0}.hotspot{position:absolute;pointer-events:auto;background:none;border:0;padding:0;transform:translate(-50%,-50%);min-width:40px;min-height:40px;border-radius:50%;color:transparent}.hotspot:hover,.hotspot:focus-visible{outline:1px dashed #f2d69bb0;outline-offset:5px}.hotspot:disabled{cursor:default}.entrance-hit{border-radius:45% 45% 2% 2%}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#scroll-track{height:1300vh}#ending{position:absolute;left:50%;top:13%;transform:translateX(-50%);text-align:center;width:90%;pointer-events:none;text-shadow:0 2px 8px #122a32}#ending h2{font-size:clamp(24px,3vw,42px);font-weight:400;letter-spacing:-.04em;margin:12px 0}#ending button{pointer-events:auto}#error{position:absolute;inset:0;background:#193038ed;display:grid;place-content:center;text-align:center;z-index:10}#mobile-puzzle{display:none}body.backstage .hotspot,body.backstage #ending{display:none}body:not(.started) #experience footer{opacity:0;pointer-events:none}body:not(.started) #experience footer button{pointer-events:none}body:not(.started) #experience header{opacity:.85}
@media(max-width:700px){#experience header{padding:20px}.wordmark{font-size:11px;letter-spacing:.17em}.wordmark i{display:none}.header-actions{gap:16px}#restart span{display:none}.intro h1{font-size:48px}.intro p:first-child{font-size:10px}.intro-line{font-size:16px}.scroll-note{max-width:240px;line-height:1.7}.intro{background:linear-gradient(#142b32b0,transparent,#142b3266)}#experience footer{padding:22px 20px 16px;min-height:125px}.chapter-copy p{font-size:16px;line-height:1.4}.chapter-copy{max-width:65%}#experience nav{gap:17px}#experience nav button{font-size:11px}#experience nav button span{display:none}.ticket{right:18px;bottom:47px;padding:11px 14px;font-size:15px}.ticket i{padding-left:10px}#mobile-puzzle{position:absolute;top:calc(50% + 30vw);left:0;right:0;text-align:center;display:block;padding:10px 20px;background:linear-gradient(transparent,#172c31)}#mobile-puzzle p{font-size:14px;margin:5px 0 10px}.mobile-discs{display:flex;gap:20px;justify-content:center;margin:8px}.mobile-discs button{border:0;background:none;padding:0;width:50px;height:50px}.mobile-discs img{width:100%;height:100%;transition:transform .3s}#mobile-enter{font-size:14px;padding:10px 15px}body.theatre-active #experience footer .chapter-copy{display:none}#ending{top:18%}#ending>p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.ticket{transform:none}}

.entrance-hit{color:#ffeac7;display:flex;align-items:flex-start;justify-content:center;padding-top:25%;text-shadow:0 2px 5px #30110d;font:600 clamp(14px,1.55vw,23px) Georgia,serif;letter-spacing:.1em}.entrance-hit span{position:absolute;top:24%;left:50%;transform:translateX(-50%)}#door-help{position:absolute;left:50%;bottom:150px;transform:translateX(-50%);padding:16px 24px;background:#f3e3c3;color:#3b362e;border:1px solid #c5a975;box-shadow:0 5px 22px #12252b80;text-align:center;font:16px/1.5 Georgia,serif;z-index:6;pointer-events:none}.finale-active #ending{top:8%}.finale-active #ending h2{font-size:clamp(23px,2.5vw,34px)}.finale-active .chapter-copy{max-width:100%}.finale-active #ending>p{display:none}@media(max-width:700px){#door-help{width:85%;bottom:155px;font-size:15px}.entrance-hit{font-size:14px}.finale-active #ending{top:16%}}

.ending-actions{display:flex;gap:22px;align-items:center;justify-content:center}.ending-actions .paper-button{font-size:14px;padding:10px 15px;pointer-events:auto}@media(max-width:700px){.ending-actions{gap:16px}.ending-actions .quiet{font-size:12px}.ending-actions .paper-button{font-size:13px;padding:8px 12px}}

/* Leave a clear row between the mobile puzzle and story navigation. */
@media(max-width:700px){body.theatre-active #stage{top:42%}#mobile-puzzle{top:calc(42% + 30vw)}}

/* Keep story controls reachable before the visitor chooses cookie settings. */
body:has([data-testid='consent-banner-root']) #experience footer{top:64px;bottom:auto;min-height:0;padding-top:12px;background:linear-gradient(#122a32bf,transparent)}
body:has([data-testid='consent-banner-root']) .chapter-copy{display:none}
body:has([data-testid='consent-banner-root']) .ticket{top:0;bottom:auto}
@media(max-width:700px){body:has([data-testid='consent-banner-root']) #mobile-puzzle{top:120px;background:#172c31ed}}
